<Student Name>
<Name and Section # of course>
<Instructor Name>
Software Development Life Cycles
The software life cycle s a diagrammatic presentation of what processes are include in its making. It consists of all the activities that are required to be done on order to get the final product. Software development life cycle maps basically the same phases in different orders according to the model being followed. The different relationships that are mapped are together milestones, deliverables, mechanisms, feedbacks, etc. There are many software development life cycles that are being followed. Each model has its advantages and disadvantages over the other.
Some of the most commonly used models are explained below:
- Linear sequential model
This development process is linear and goes through the phases of development in order. The phases included in this life cycle are conception, initiation, analysis, design, construction, testing, implementation and then maintenance. This type of model is mainly used in industries that participate in manufacturing and construction.
The advantages of the linear sequential model are that it is well documented and thus does not require any special skills. Each phase has predefined goals that can easily be integrated into the project management.
The biggest drawback of this model is that it is non iterative. Also the success of the project cannot be determined until the later stages. There is no room for risks or errors.
- Prototyping model
In this software development model, a prototype is designed from start till finish. This model is an actual approximation of the final product. The model is then tested and reworked according to the changes. This is an iterative model and uses the trial and error method.
The main advantage is that the time and cost of development is reduced to a great extent. The second advantage is that there is a lot of user interaction and the user is involved in the whole development process.
The disadvantages of prototyping include that the users might constantly change the final requirements and cause confusion. Also, the development of a prototype can be very time consuming.
- Spiral model
This model is ideal for larger projects. It integrates the advantages of the waterfall model as well as the prototype model. Its advantage include that the users have an early finalized version. The user can provide constant feedback that result in a better product. The main disadvantages are that this is a very specific model and requires special skills. The completion and success of the project is determined by risk analysis.
- RUP
The RUP is a complete methodology and the main emphasis is on documentation. The development plan is very flexible and can included changes at any phase. The advantages are that the integration is very simple. The development process requires lesser time as most of the components used in this method are reused and recycled. The disadvantages are that the development process becomes very complex. The team needs to be experts in their fields.
- RAD model
The RAD model is time driven which makes it different from any other software development model. The advantages include that the prototypes are implemented with time boxes so better product is produced. The required team members are less resulting in lower costs. The disadvantages of this model are that a lot of tools and expertise is involved. Developers need to work very closely with users to generate a specific output.
The current trends of the software development include the use of agile methodology. There is a lot of emphasis on mobile computing and cloud computing because they serve as organizational models.
References
SEPM. (2013). Software Engineering. Retrieved December 12, 2013, from https://docs.google.com/document/preview?hgd=1&id=1zw2N0KiJLrsfrEy1pFWKQ1wo_b0RCd5Gue_QgIOaJiM
Sigma. (2013). 5 Software Development Trends To Look Out For In 2013. Retrieved December 12, 2013, from Explore B2B: https://exploreb2b.com/articles/5-software-development-trends-to-look-out-for-in-2013