Abstract
Interfaces, database integration,
and controls are integral components of software analysis and design. In this
document, we will discuss who should be involved and the importance of these
steps. The Standardization of design approaches is also equally as important as
documenting the findings in each step. Lastly, we will discuss why obtaining
user and management sign-off during the process is critical for satisfactory
project completion.
Table of Contents
- Introduction
- Software Analysis, Component Elements
- Software Analysis, User Involvement
- Software Analysis, Documented Results
- Conclusion
Introduction
In
the design of software, interfaces convey the delivery of information to users
and other systems. Integration with data stores or database(s) is essential, if data is to be
part of the delivery content. System controls apply the necessary rules to
process and deliver the content accurately and securely. Each of these steps or components requires user interaction and their documentation is the key to
sufficiently store important metadata about the systems in which they reside.
Having signed or approved user requirements is necessary for project
completion, usage satisfaction, and business validity. Standardizing these
components and results provide both current and future employees with a model
of information and training elements.
Software Projects, Component Elements
An
interface may consist of a set of services designed to retrieve and deliver
data from a database or other data type retrieval system. An interface in this
respect is a basic component of any software to inform the user, better
enabling them to make business decisions. During the design of a software interface, the
end user audience must be involved at some point in order to display approval
or acceptance of the delivered content. Elaborating further on data delivery,
the database element is an essential component in software systems for the
purpose of storing and retrieving system data.
Modern databases have made
landmark improvements in synchronization, performance, and data security.
Without databases, users would essentially be working from a files based data
storage system, without the benefits of indexing and query results. Systems’
controls are one of the most critical pieces of all software, because they
implement the proper business rules that produce accurate results to internal
and external system dependencies. The controls are those sections of logic that
are directly related to users’ needs and system requirements.
Software Projects, User Involvement
During
the design of a software interface, the end user audience must be involved at
some point in order to display approval or acceptance of the delivered content.
Having the users validate the accuracy the data is fundamental for business
operation and record keeping. [1] A developer would
not be able to validate the data alone, unless the developer is also a primary
user of each module of the application. This scenario is rarely possible, and
thus, requires further user interaction in the design process.
Software Projects, Documented Results
A
standardized approach provides a solid basis that all team members and employees
can follow for common results and expectations. [2] In
a software project, the various phases of planning, timelines for project
release into a production environment, testing timelines, user preparation and
training, and support of the new implementation must all adhere to some level
of standardization, or the project would never be deployable. If there were no
standards in a systems project, the end users would have very little idea how
the current system functioned under normal conditions, and the system
administrators would have no idea how to deploy the software into the
production environment.
Without a standardized approach for a software project, the designs might consist of one napkin drawing, relayed to only one developer. That same set of ideas, or “napkin requirements”, may later be incorrectly delivered to another developer, who misses the entire purpose and essence of the software release. The guarantee of a successful and useful software release, in this type of environment, is greatly reduced - along with productivity and profitability of the company in which it exists. Documentation for each step of design, as well as the standards themselves, is a good “common sense" type model that enables success and the promise of profitability.
Without a standardized approach for a software project, the designs might consist of one napkin drawing, relayed to only one developer. That same set of ideas, or “napkin requirements”, may later be incorrectly delivered to another developer, who misses the entire purpose and essence of the software release. The guarantee of a successful and useful software release, in this type of environment, is greatly reduced - along with productivity and profitability of the company in which it exists. Documentation for each step of design, as well as the standards themselves, is a good “common sense" type model that enables success and the promise of profitability.
Conclusion
In this document, we have covered several essential steps in
successful software development and creation. We have discussed some reasons
and the importance of including end users in various phases of software projects.
A fully documented approach to software development can provide the benefits of
a successful and useful release as well as provide necessary training materials
for future employees. A standardized approach to software development is
important only when success is also a desirable end. When one considers all
the factors involved in a large software project, standards must be applied to
bring order to the project and timeline. [3] Thus, a
standardized and business applicable set of well tried standards is critical to
project success and long term efficiency.
References
[2] S.W. Ambler, "Agile Modeling and eXtreme Programming (XP)", March 2005
[3] Michael Morris and Andrew Dillon, “The Importance of Usability in the Establishment of Organizational Software Standards for End User Computing", 1996
No comments:
Post a Comment