Monday, February 11, 2019

System development life cycle

Introduction
System development life cycle is a useful process utilized in development 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 as 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 them proceeds 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 are 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 for the purpose of enhancing the understanding of the system by the developers and decreasing the risks. The anchor point milestones are for the purpose of 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 particular 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 so as to understand what the users need and the features the system should embody (Rastogi, 2015). There also has to 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 system reviewed for the purpose of 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 the purpose of 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 in light of 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 has to come up with a document of the areas corrected and the features added onto the system.
Comparison and contrast between the seven step SDLC model and the spiral model
Comparison
Both the seven step and the spiral models have long time frame due to the lengthy process of developing the system.
In both the seven step model and the spiral model, the users have to understand the user and system requirements before starting the development process (Mishra & Dubey, 2013). The purpose of that is because it will be difficult to incorporate those changes later in the process.
In both the seven step model and the spiral model, the development team has good control of the process regarding costs and resources due to their thorough knowledge of system requirements.
In both the seven step model and the spiral model, there is the requirement of high expertise as the requirement specifications come at the beginning before development commences.

Contrast
The spiral model has an overlapping of some phases, but the seven steps model does not have an overlapping of phases due to its sequential nature.
User incorporation in the case of the spiral model takes place throughout the entire development process whereas for the seven step model the users only have involvement during the preliminary investigation.
The costs of development in the spiral model are very high whereas costs for the seven step model are low. The iterations in the spiral model make the model require mean expenses at each iteration.
The Spiral SDLC model is more flexible than the seven step model because it allows changes to take place in the process of development (Mishra & Dubey, 2013).  In the case of the seven-step model, it is hard to incorporate changes during the process of development.  
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 models 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.

Sherry Roberts is the author of this paper. A senior editor at MeldaResearch.Com in top custom essay if you need a similar paper you can place your order from custom nursing essay.

No comments:

Post a Comment