UNIT 1: Overview and Models in System Development
What is Software Development Life Cycle (SDLC)?
- Software Development Life Cycle (SDLC) is a process used by the software industry to design, develop and test high quality software.
- A framework that describes the activities performed at each stage of a software development project.
- The SDLC aims to produce a high-quality software that meets or exceeds customer expectations, reaches completion within times and cost estimates.
- Provides basis for project planning, estimating & scheduling
- Provides framework for standard set of terminologies, activities & deliverables. Provides mechanism for project tracking & control
- Increases visibility of project progress to all stakeholders
The Seven Phases of the System-Development Life Cycle
The system-development life cycle enables users to transform a newly-developed project into an operational one.
The System Development Life Cycle, “SDLC” for short, is a multistep, iterative process, structured in a methodical way. This process is used to model or provide a framework for technical and non-technical activities to deliver a quality system which meets or exceeds a business”s expectations or manage decision-making progression.
Traditionally, the systems-development life cycle consisted of five stages. That has now increased to seven phases. Increasing the number of steps helped systems analysts to define clearer actions to achieve specific goals.
Similar to a project life cycle (PLC), the SDLC uses a systems approach to describe a process. It is often used and followed when there is an IT or IS project under development.
The SDLC highlights different stages (phrases or steps) of the development process. The life cycle approach is used so users can see and understand what activities are involved within a given step. It is also used to let them know that at any time, steps can be repeated or a previous step can be reworked when needing to modify or improve the system.
Following are the seven phases of the SDLC
This is the first phase in the systems development process. It identifies whether or not there is the need for a new system to achieve a business”s strategic objectives. This is a preliminary plan (or a feasibility study) for a company”s business initiative to acquire the resources to build on an infrastructure to modify or improve a service. The company might be trying to meet or exceed expectations for their employees, customers and stakeholders too. The purpose of this step is to find out the scope of the problem and determine solutions. Resources, costs, time, benefits and other items should be considered at this stage.
2. Systems Analysis and Requirements
The second phase is where businesses will work on the source of their problem or the need for a change. In the event of a problem, possible solutions are submitted and analyzed to identify the best fit for the ultimate goal(s) of the project. This is where teams consider the functional requirements of the project or solution. It is also where system analysis takes place—or analyzing the needs of the end users to ensure the new system can meet their expectations. Systems analysis is vital in determining what a business”s needs are, as well as how they can be met, who will be responsible for individual pieces of the project, and what sort of timeline should be expected.
There are several tools businesses can use that are specific to the second phase. They include:
- CASE (Computer Aided Systems/Software Engineering)
- Requirements gathering
- Structured analysis
3. Systems Design
The third phase describes, in detail, the necessary specifications, features and operations that will satisfy the functional requirements of the proposed system which will be in place. This is the step for end users to discuss and determine their specific business information needs for the proposed system. It”s during this phase that they will consider the essential components (hardware and/or software) structure (networking capabilities), processing and procedures for the system to accomplish its objectives.
The fourth phase is when the real work begins—in particular, when a programmer, network engineer and/or database developer are brought on to do the major work on the project. This work includes using a flow chart to ensure that the process of the system is properly organized. The development phase marks the end of the initial section of the process. Additionally, this phase signifies the start of production. The development stage is also characterized by instillation and change. Focusing on training can be a huge benefit during this phase.
5. Integration and Testing
The fifth phase involves systems integration and system testing (of programs and procedures)—normally carried out by a Quality Assurance (QA) professional—to determine if the proposed design meets the initial set of business goals. Testing may be repeated, specifically to check for errors, bugs and interoperability. This testing will be performed until the end user finds it acceptable. Another part of this phase is verification and validation, both of which will help ensure the program”s successful completion.
The sixth phase is when the majority of the code for the program is written. Additionally, this phase involves the actual installation of the newly-developed system. This step puts the project into production by moving the data and components from the old system and placing them in the new system via a direct cutover. While this can be a risky (and complicated) move, the cutover typically happens during off-peak hours, thus minimizing the risk. Both system analysts and end-users should now see the realization of the project that has implemented changes.
7. Operations and Maintenance
The seventh and final phase involves maintenance and regular required updates. This step is when end users can fine-tune the system, if they wish, to boost performance, add new capabilities or meet additional user requirements.
Take a short quiz. Click on the link below: Click on “Back” 3 times to complete when you are done.