by Ivan C
There are many different approaches to develop a system or software. Each approach has its own number and type of stages that define how the system will be developed. Every stage has a set of required deliverables that will be used to start the next one until the final product is completed. A more general lifecycle model includes four stages that consist of requirements, design, implementation, and testing (Lewallen). In the first phase requirements are gathered for the software. Requirements can be gathered through end users, surveys, questionnaires and other methods. This stage says what the system is going to do. The design stage includes software and hardware communication, UML, and architecture of the system. Implementation comes next after design. This phase is generally the longest phase that includes producing code by the developers. In some cases CASE tools are used to generate code that is defined from the deliverables of the design stage. The last stage proves if the system was developed correctly to fit the requirement’s needs. In the testing phase tests on the system as a whole and specific parts of the system are tested to see if it meets standards. Other types of models include the waterfall, v-shaped, incremental, and spiral. In the v-shaped model testing is of importance. Just like the waterfall approach, this model has iterations that do no overlap. From the start before any coding is completed a set of test procedures are developed. Some advantages of this approach include having a higher success rate of the project and being more suitable for small projects where requirements are more understood (Lewallen). Different life cycles can have different stages; some even have multiple stages running at the same time like the incremental approach. Each having its own set of advantages and disadvantages causes companies to choose the best approach that fits their needs regarding speed of development, cost, and probability of success of the desired system.
Lewallen, Raymond. “Software Development Life Cycle Models | Raymond Lewallen.” Code Better. 13 July 2005. Web. 11 Jan. 2012. <http://codebetter.com/raymondlewallen/2005/07/13/software-development-life-cycle-models/>.