Software Development Life Cycle (Sdlc) Essay Examples
SDLC refers to Software Development Life Cycle. It can be defined as a conceptual process that is used in project management. It describes the several stages involved in an information system development project, from an initial viability study through preservation of the completed application. SDLC always aims at developing high-quality software or hardware that can meet or even exceeds the customer’s expectations and reaches its completion within a short period and using the minimal cost.
There are several SDLC models that are frequently followed by different organizations. These include: the waterfall model that involves finishing the first phase thoroughly before commencing the next one (Seema 2012). When each phase is entirely satisfactory, it is usually reviewed to see if the project is on track and whether it is practicable to continue. This type only assumes that all requirements can be specified, and since conditions change throughout, other models were developed.
Secondly, the V-shaped model- this kind of model focuses on the implementation process in the sequential way that is similar to the waterfall model (Nabil & Govardhan 2010). The model differs from the Waterfall model in that more significance is placed on testing. It typically functions better where requirements are easily understood. Testing methods are usually written even before code writing begins. The system plan is normally generated before the beginning of the development phase that is the opposite of what happens in Waterfall. It involves the use of testing design that usually happens before coding and therefore saving time. Hence, it has high chances of success over other models such as a waterfall model.
The third model is the big bang model. This is a model where there is no particular process and formal development required to be followed, and hence it needs little planning. The lack of a particular process differs entirely from the Waterfall and V-shape model that follow specific processes. Its development always starts with the required money and efforts as the input. On the other hand, the output is the software developed which might or might not be as per the customer requirements. Typically, this type of model is followed for few projects because of the high-risk nature unlike in the Waterfall model where the risk is reduced by ensuring progress is made after satisfactory results.
Another model is the RAD model (Seema 2012). The RAD model is recommended to be used only when a system can be modularized to be delivered in the incremental way. It should be used if there is high availability of designers for modeling. Its actual systems are developed and built, and coding is done by using automation tools that are used to change processes and other data types to real prototypes. It focuses on incremental delivery working types that lead to rapid delivery to the customer. This, however, reduces the risk of non-conformance with the actual requirement hence it is more effective than the other models. However, it only works when there is skilled personnel, and this makes it more complicated and less efficient than the other types such as big bang model.
Software prototype is another model (Blanchard & Fabrycky 2006).This refers to building software applications that display the functionality of the result of development, but, not hold the precise logic of the innovative software. It assists in getting valuable feedback from customers and also helps designers understand what is expected from them. It is used mostly in transferring of too many data processing, and most of its functionality is always internal with very few user interfaces that, however, does not benefit from the prototyping. Consequently, it more flexible in use than other models such as RAD that requires skilled personnel to operate.
Blanchard, B. & Fabrycky, W. (2006).System Engineering Analysis (4th ed.). New Jersey: Prentice Hall.
Seema Sona. (2012). Analysis and Tabular Comparison of Popular SDLC Models. International Journal of Advances in Computing and Information Technology, 1(3): 277-286.
Nabil A. & Govardhan A. (2010). A Comparison between Five Models of Software Engineering. International Journal of Computer Science, 7(5): 94-101.