Software Engineering Life Cycle Online Application Development

Paper prototypes are used so changes can be made early in the development cycle, saving time and money. Rapid Application Development and working prototypes can sometimes be used to speed the delivery of an application.

The Systems Development Life Cycle is a systematic, step-by-step approach that involves comprehensive planning, Analysis, Design, Coding, Testing and Maintenance. It requires continuous review and verification to ensure that each phase of the life cycle matches the client’s business requirements. Although the SDLC is time-consuming, it produces software that is more stable and reliable; modifications are simpler to implement and errors are more easily correctable.

Rapid Application Development

In some instances, a client may have identified a broad overview of his or her business needs but may not have specified the particular details of those needs and requirements. In other instances, a client may simply require a faster development cycle than what the SDLC can provide. In such cases, Rapid Application Development (RAD) methodologies can be used to engineer software more quickly. RAD methodologies combine significant client and user involvement with prototyping in order to come up with the application that best fits the client’s needs.

Prototyping is a model that simulates a program. There are two types of prototyping: a Paper Prototype and a Working Prototype.

Paper Prototype

Paper Prototyping is a methodology used to illustrate a user interface that represents a part of a program, so that a user can experience how to interact with the application. It is a fast way to design interfaces, using pen and paper or simple digital illustrations, in order to obtain user feedback. The client, or user(s), is asked to perform tasks using paper prototypes from which engineers quickly discern what works and what doesn’t. From user feedback revisions are easily made and the Paper Prototypes are tested again. Following each test, the user interface is further refined until one is created that is usable, practical and best matches the needs of the user. By testing designs early in the development cycle, costs are reduced and time is saved because it is much cheaper and easier to modify illustrated interfaces than it is to change them after they have been programmed.

Working Prototype

A Working Prototype is an iterative development process where requirements are converted and implemented into working programs that are frequently updated based on the efforts between the client and analysts. In the final iteration of the prototyping development cycle, engineers focus on quality and maintainability of the software. This final stage of the process adds stability to the program and helps to eliminate errors so that it can be modified and enhanced over time with minimal negative impact.

The prototyping model, particularly Working Prototyping, does carry with it potential problems when juxtaposed with RAD, including implementation compromises and neglect of engineering practices. Frequently, compromises are made when creating Working Prototypes as the programmer attempts to “get the program working” for a client’s review. And commonly, Working Prototypes are produced rapidly in order to show a customer a working interface or program while neglecting engineering practices and long-term maintenance as important factors in the development process.

Although there are potential problems with the prototyping methodology, particularly with regard to building Working Prototypes, it is nonetheless an effective and important software engineering technique that can speed up the delivery of a final working program to the client.