Software development uses SDLC to ensure that systems meet the requirement that support business goals and objectives. More so, the SDLC assists the project or program manager with various factors of information technology development, regardless of the scope and size of the project under development. The SLC models have a complete checklist with rules and regulations that govern the development of systems. The SDLC is also one of the ways that ensure that system developers adhere to government regulations. Indeed, the consequences of failing to follow the government regulations are wide-ranging. Nonetheless, the current paper will address different facets of SDLC models based on various computer software studies.
The research done on the SDLC model was based on analysis done on three articles. The research analyzed the content in the study about “Suitability Analysis of Various Software Development Life Cycle Models” by Mishra, Apoorva, and Deepty Dubey. The other source used in the research include the study of "A comparison between five models of software engineering" done by Munassar, Nabil, Mohammed Ali, and A. Govardhan. Lastly, the research analyzed the research about “Software Development: Agile vs. Traditional” done by Marinela Mircea Stoica Marian, and Bogdan Ghilic-Micu.
The studies address different models of SDLC. Based on the studies, different life cycle models for software development exist for developing projects and computer software. Accordingly, the different models of SDLC used apparently offer guidelines for developing software. The SDLC models are imperative because they enable the software developers to develop software and projects in a systematic manner. It enables then to deliver the system within the schedule or deadlines.
According to Mishra and Dubey, the models of SDLC have different and unique features suitable for specific software development and the type of software. Indeed, the lifecycle of software may be more efficient compared to the other depending on the development environment. Therefore, selection of the appropriate SDLC assists the project manager to regulate the development strategy of the system or software under development. Every SDLC model has its disadvantages and advantages. Therefore, it is upon the software developer to determine which models best suits a certain situation. The authors researched on different models, such as rapid application development, waterfall model, prototype model, incremental model, extreme programming, and the spiral model. Stoica et al. postulate that irrespective of the SDLC model used there are specific phases involved. Typically, the phases include:
This is the first stage of any system. During this phase, system developers identify the requirement of acquiring a system. All the feasibility studies of the system are done. The approaches to the project planning, as well as the different risks related to the system or project, are defined. The members supposed to design the system are also assigned the roles and responsibilities.
During this phase, the developers define, collect and validate the training, functional and support requirement of the system. The plans of management also commence in this phase.
In this phase, different decisions concerning how the system or project meets functional requirement are addressed. The developers also design a preliminary design emphasizing the functional features of the system.
This phase involves installation and testing of the developed system. Additionally, all the components, applications, Procedures and communications related to the documentations are integrated acquired and tested. The new or enhanced system is also installed in its area of production. The data to be used in the acquired system is converted, and different users of the system are trained. During this phase, the business processes are evaluated. Strong participation of the system users is required in this phase to verify the different components of the acquired or developed system. The users need to give their view and opinion on whether the system meets the specifications required. More so, the system is taken to the sponsor at this phase to analyze its capability and ascertain that it has met the specified requirements.
The system support includes maintenance and operations of the system. The system is already operational at this stage. The phase ensures that the system functions based on its specifications. The system is secured to make sure no unauthorized access to confidential data or information.
Nonetheless, it is worth noting that every basic activity involved in the cycle could be large in such a way that a single phase cannot handle it. As a result, the activity has to be broken into smaller steps. For instance, the software developer has to break down large software systems into multiple and distinct steps. The high-level design should start because the components of the system have to be specified in the detailed design with specified logical components.
Nevertheless, when software engineers understand the requirement before the start of software development, it becomes easier to develop the system. As noted earlier, each SDLC model has its advantages and disadvantages. More so, each model has unique features that differentiate it from other models. The analysis survey done by Mishra and Dubey depicts the suitability of the different SDLC models in different situations when developing a system.
The incremental model is epic for the process of software development. The model starts with planning. The final phase is deployment. The model is easier to debug and test when there is small iteration. The model also enhances easy management of risk because the software engineer can easily identify and handle its iteration. On the other hand, Mishra and Dubey established that spiral model is the best for large and critical projects with high risks, such as the launching of satellites. Alternatively, RAD model can easily adapt to changes. The model is also flexible because it integrates short cycles of development. As a result, the user can see the products of RAD model quickly. The model also involves the participation of the user. Therefore, the model enhances early acceptance of the user, and this reduces the general risks of the project.
Nonetheless, Mishra and Dubey note that in the industry of software development, the hybrid of all the discussed techniques and models are utilized, notwithstanding some of the modifications made to the models. Selection of the appropriate SDLC model is imperative in the software industry based on the type of the project. It enhances timely completion of the project.
In conclusion, the studies postulate that software engineers make use of the SDLC to develop systems. Therefore, it is imperative for the system analyst to select an appropriate SDLC model based on the situation of the system software under development. It helps the analyst regulate the development strategy of the system or software under development. The SDLC involves a detailed plan, which explains the process of developing, replacing, maintaining or altering the particular software. The different SDLC model used has their disadvantages and advantages. Therefore, the software engineer should decide on the best model to use based on the situation of the project.