Software Development Life Cycle

When applying the System Development Life Cycle (SDLC) methodology, the development of an application passes through six phases from its initiation to its deployment. The SDLC’s structured and phased approach helps to keep the project within its scope and focuses on the application’s completeness and performance and, of course, security. The SDLC approach has essentially six major phases, although different versions of this methodology include as many as eight phases.

Figure 12-1 illustrates the flow of a development project through the six phases of an SDLC project. A standard practice in projects that use the SDLC approach is that each phase of a development is completed and approved before the next phase begins. Many companies believe the rigid structure of the SDLC provides for multiple checkpoints as the development proceeds. However, others cite a lack of flexibility. Should a required element be overlooked at any one phase, depending on its impact and importance to the project, the project may need to repeat a previous phase or start over at the beginning.

A flow diagram flows downward from top to bottom as follows: requirements analysis, design, coding, testing, deployment, and maintenance.

FIGURE 12-1 The six phases of the SDLC development methodology.

A commonly used adaptation of the SDLC is the Waterfall model, which like the SDLC is a sequential model that divides the development activities into phases, each of which must be completed before moving to the next phase. The name waterfall reflects the cascading flow from one phase of a project to the next.

The phases of a Waterfall model are as follows:

  • Requirements analysis—Also referred to as the Requirements Gathering phase. In this phase of a project, the detailed requirements of the proposed application or website are collected from the stakeholders, SMEs, and end users.

  • Design—In this phase, the identified requirements are analyzed to allow the development team to choose the programming language best suited to the application, which database management system is appropriate, if any, hardware modifications or additions, and staffing for the development. With these decisions made, the conceptual, logical, and data flow designs of the application are developed and approved in sequence.

  • Coding—Working with the designs produced in the preceding phase, the programming is completed. Any design flaws that require alterations to the design may cause the repetition of one or more prior phases. It is during this phase that formal documentation is also prepared.

  • Testing—The completed programming is tested in this phase to (1) verify that the programming performs the required functions successfully and (2) verify that intentionally bad data does not cause the programming to fail.

  • Deployment—Only if the testing phase completes completely successfully, the application or website can be placed into a production environment and made available to users.

  • Maintenance—Minor issues that were not caught during the testing phase can show up as users stress the application in the real world. Changes in a business’ operations or federal, state, or local laws, or its management philosophy, may require changes to the application. Small fixes or adjustments are normal maintenance activities. However, should the changes required force the application beyond its original scope, a new development project is in order.

The waterfall model and the SDLC methodology are best used when the following conditions exist:

  • The requirements of the application are well defined, clear, and compact.

  • The operating environment is stable, and the need for new technology is minimal.

  • The required staffing is available and has the appropriate training.

  • The time required for the project is short.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.116.74.135