Software Analysis, Design Activities

by Thomas Carter                                                                                       November 8, 2018

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.

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



[1] Detmar Straub and Jonathan Trower, "The Importance of User Involvement in Successful Systems: A Meta-analytical Reappraisal", March 1988

[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