Introduction to Software Development Lifecycle Models:
Cloete (2011) explains that software development cycle phases are best described using software life cycle models. The description priority of these phases is similar to their execution priorities. Many companies use self made life cycle model but all of them follow similar phases. Described here are general and most common life cycle models. First is deliverables which are always required to produce next phase and are manufactured in earlier stages. Then first comes requirement phase, they are kept first in order to convert them in design accordingly in the design phase. After the design phase comes the implementation phase and in implementation phase implementation code is produced in order for coding phase. At last in testing modes, coding implementation deliverables are verified.
Out of much software development life cycle models below are some of the most popular models described:
Waterfall model
Waterfall model in 2007 was stated as one of the most traditional and equally common life cycle models by KORKMAZ and it was also known as linear – sequential life cycle model. The waterfall model is one of the most easy to implement and easily understood life cycle model. In a waterfall model in order to step forward towards next phase previous phase must always be completed in whole before. Another amazing feature of this model is that one can review the project by the end of every phase in order to check whether the project is on track and one can decide to continue or discard the project according to its directions. Waterfall model does not allow overlapping of phases.
Structured evolutionary prototyping models
In this model after gathering all requirements, developers first build a prototype. The prototype is then sent to end users for evaluation and in order to obtain feedbacks from end users. Based on feedbacks, developers make improvements and resend prototype to end users. The whole cycle continues until end users are satisfied and after the satisfaction, code is introduced to match final product requirements.
Prototyping steps involved in the structured evolutionary prototyping model:
- A prior project plan is designed
- High level paper model is created at partial levels
- This model works as a source for requirement specifications
- A prototype is then constructed with basic and critical attributes
- Designer improvises database, algorithm functions and user interface
The designer then explains the prototype functionality to users and allows them to evaluate, after evaluation, the user suggests problems and improvements required in project if any.
The design phase continues till the user feels satisfied
Structured Evolutionary prototyping strengths
According to Griffith (2008), “code and fix” is not an accurate way in development. It also reflects bad reputation leading to dirty and quick methods. This may bypass the maintenance, process will thus continue forever.
When to use a structured evolutionary prototyping
It is recommended the usage of this SLDC only when requirements status is unstable. It is used when improvements in user interface are required and also to demonstrate a view of project development and is thus also used to analyze design portions of the object oriented project development.
Consider it as follows:
- Requirements are not clear or unstable
- Requirement clarification stage follows waterfall model examples
- Improve user interface
- Short demonstrations
- Original and latest developments
- Analysis and object oriented design portions.
Considered Philosophies:
Structure evolutionary prototyping and waterfall models are mainly used in research process related to application development for Adhoc networks.