Google
 
web scripts | software engineering | discrete maths | windows| programming
Welcome to RustySpigot, the Computer Science Source

main page

blog

translate
















Gotomeeting Review
Computer Science Notes
Freshlook color blends
Download Callwave
GoToWebinar Download
Printer friendly version

Abstract

The Software Life Cycle Model consists of the System Development Cycle and the System Maintenance Cycle.

Stages in the Software Life Cycle

The software life cycle (according to IEEE1074) starts with the selection of an appropriate life cycle model followed by recruitment. There are many life cycle models that can be chosen. The following stages are in the sequential order of the Waterfall Model, due to its simplicity and prevalance in software engineering.


  • Project planning and a feasibility study are required to determine first of all if a new system is needed, and if it is possible within reasonable costs and time restraints.

  • Requirement analysis is one of the first stages in the waterfall model, in which the requirements of the new system are found through interviews with potential users and management, and feedback on prototypes. It is important that those chosen to be interviewed are technically capable or the interviewer can extrapolate what the user wants form their feedback and spot possible requirement contradictions.

  • From the requirements a formal specification can be written up; normally a strict and mathematical description of what the system must achieve. These come directly from the requirements, and may follow more informal specifications. When the application is further into the development cycle it will be continuously checked against the specifications to ensure the system fulfills the its required purpose.

  • The central stage in the waterfall model is the implementation and (unit & system) testing. Implementation is the most obvious part of creating a system, but often one of the smaller sections time and cost wise. Testing is important to prevent bugs and to test the implementations against the specifications. A failure is generally considered to be when a system doesn't perform as intended, whilst a fault is a programming error that may develop into a failure. It is important testing is thorough,as the earlier a defect is detected the cheaper it is to fix. Testing generally starts during the requirement analysis stage of the software development life cycle. Testing then continues into the development and then execution stages. Unit testing typically follows implementation, followed by integration testing.

  • Acceptance, installation and deployment are the final stages of initial development where the software is put into practice and runs actual business. Choices in deployment time and back up strategies in case of system failure are essential for critical services (eg the failure of the LAS to have a back up ambulance system to switch back to after the failed system deployment).

  • Training and support of the users then increases the likelihood of correct usage of the system.

  • Maintenance can be a very expensive task, as it essentially lasts as long as the system. It may require some of the original programmers to be employed continuously to ensure the correct running of the system and for keeping it appropriately up to date. If requirements change at a late stage it can prove very expensive.

    Typically about 40% of development time is spent in the requirements stage of the life cycle, just 20% in the actual implementation and the remaining 40% in testing.

    Links & Resources

    At the time of writing (Dec 06) the following resources were useful
  • Software Develoment Process Wikipedia.org
  • Quick Study Notes Computerworld.com
  • The Mythical Man Month Fred Brooks







  • Email to a friend | Printer friendly version | Link to this page | Terms of Use | Contact
    Unless otherwise noted, content on this site is licensed under Creative Commons Attribution 2.5
    Software_Engineering/Software Life Cycle Model.htm was last modified on 2006-12-20 18:22:28