System development life cycle
Introduction
System development life cycle is a useful process used in developing software systems (Wolff, 1989). It includes a series of steps that begin with the reflection of the problem at hand through to the implementation and maintenance process so, to ensure the system meets the expectations of end users. There are several models and methodologies developed to accomplish a successful system development. Some may have four steps and others seven steps, but most of the steps are common, it is the approach that may differ. Below is the comparison of the seven-step model and the spiral model that has four steps.
The seven-step model
The seven step SDLC model follows a seven-step series of the process of developing a software system. These steps follow one another in a sequence beginning with a preliminary investigation, planning, design, development, testing, implementation and finally maintenance.
Preliminary investigation
The preliminary investigation is the first step of the seven-step SDLC model that involves reflection on the problem at hand and the available alternatives to solving the problem. The purpose of this step is to try and understand the best alternative that can help to solve the problem in a cost-effective manner. Preliminary investigation entails the general requirements of the system under development and not the technical specifications of the system (Kumar et al., 2013).
Planning
The planning step involves the collection of data from the users and other stakeholders so as to identify the end users of the system under development so as to develop the system from the users’ perspective. It involves specifying the users and the system requirements and the objectives of the new system based on the data collected from the field. It also entails setting aside the resources required to carry out the development activity, selecting the project team, and then assigning duties to them. In other words, this step comes up with the budget and the schedule for the project.
Design
The design phase's purpose is to transform the system requirements into technical design specifications to ease the work of the development process. There is the creation of the logical and the physical design of the system both for the databases and the user interface. The essence of coming up with those designs is so as to help the programmers to understand how to structure the system both for the backend and frontend.
Development
The development stage is where the coding of the system takes place. It entails the conversion of the design specifications into a functioning system as per the objectives outlined in the planning phase. The developers construct databases, application programs as well as the required system interfaces. Unit testing also takes place in this phase.
Testing
The testing phase is the fifth step in the seven-step model of the SDLC and entails the checking the developed system for bugs and producing test cases (Rastogi, 2015). The testing of the system takes place on several platforms available so as to ensure that the developed system is a platform, independent. After the quality assurance team confirms that there are no errors or bugs, the system then proceed to the next phase of implementation.
Implementation
The implementation phase is where the installation of the error-free system takes place as well as the training of the end users that will be working with the system. A company also discards the old system and begins to use the new system. The implementation of the system takes place under the supervision of the system analyst as he/she is the one that understands well the system requirements and objectives.
System maintenance
The system maintenance entails ongoing system support after its implementation until the system becomes obsolete. The phase takes place throughout the working life cycle of the system, and there is a correction of bugs, enhancing the system to meet emerging requirements and providing technical support to users.
The Spiral SDLC Model
The Spiral SDLC model entails the collaboration between multiple stakeholders in the concurrent process of software engineering for that software that is very risky (Bohem & Hansen, 2001). The distinguishing characteristics of this model from other SDLC models are that it involves anchor point milestones and incorporates a cyclic process of system development. It employs the cyclic nature to enhancing the understanding of the system by the developers and decreasing the risks. The anchor point milestones are for coordinating efforts among the development sub-teams and the stakeholders so as to have the required system accomplished (Bohem & Hansen, 2001). The spiral nature of this type of system development model consists of four quadrants with each quadrant having a activity that is taking place. The four phases having explanation below include identification and understanding of system requirements, risk analysis, building and testing the system and evaluating the system to confirm if it meets user requirements.
Identify and understand user needs
In the identification and understanding of the user needs the system analyst collects data in the field to understand what the users need and the features the system should embody (Rastogi, 2015). There should be the carrying out of the feasibility study to find out if there are enough resources for developing the system and if it meets some conditions such as technology and legal requirements. The system analyst prepares walkthroughs and systematically reviewed for streamlining the system requirements (Madachy et al., 2006). The walkthroughs are the peer reviews of the system that the designer of the system uses to guide the development, team.
Risks analysis
The risk analysis stage is where the system analyst guides the development team in discovering the risks that might face the development of the system. The study of the risks of the system development is for reducing costs that might arise later in the process as the mitigation of those risks later in the process can be costly (Madachy et al., 2006). It is also for finding the most appropriate strategy to use to control those risks before proceeding to the next phase. The risks help the development team to choose the method by which they will approach the development of the subsequent phases.
Building and testing
Building and testing are the third stages of the spiral SDLC model, and it involves the actual coding of the system according to the system specifications, and the approach arrived at in the previous phase. The development of the system takes place according to the expertise of the development team members. System testing also takes place in the development phase where there is testing of the various modules and entire system for bugs (Pressman, 2005). The deliverable for this step is a working system considering the user needs.
System evaluation
System evaluation is the last step of the spiral SDLC model whose concern is to let customers evaluate the developed system and get their feedback so that the further improvement of the system can take place. The development team must come up with a document of the areas corrected and the features added onto the system.
References
Boehm, B. & Hansen, W. (2001). The spiral model as a tool for evolutionary acquisition.
Kumar, N.et al. (2013). Evolving new software development life cycle model SDLC-2013. IJSCE, 3(1).
Madachy, R., et al. (2006). Spiral lifecycle increment modeling for new hybrid processes.
Mishra, A. & Dubey, D. (2013). A comparative study of different software life cycle models in different scenarios. International journal of advanced research in Computer Science and management studies, 1(5), 64.
Pressman, S. (2005). Software engineering: A practitioner's approach, (6th Ed.), McGraw-Hill Higher Education: Boston. Pp 45-67.
Rastogi, V. (2015). Software development life cycle model’s comparison, consequences. IJCSIT, 6(1), 168-172.
Wolff, J. (1989). The management of risk in system development: Project SP and the New Spiral Model. Software Engineering Journal, 4(3), 134-142.
The Texas Administrative Code (TAC) is a collection of all state office governs in Texas.
In Austin, L. M., & In Klimchuk, D. (2014). Private law and the rule of law.