Systems Development Life Cycle (SDLC) or sometimes just (SLC) is defined by the U.S. Department of Justice (DoJ) as a software development process, although it is also a distinct process independent of software or other Information Technology considerations. It is used by a systems analyst to develop an information system, including requirements, validation, training, and user ownership through investigation, analysis, design, implementation, and maintenance. SDLC is also known as information systems development or application development. An SDLC should result in a high quality system that meets or exceeds customer expectations, within time and cost estimates, works effectively and efficiently in the current and planned information technology infrastructure, and is cheap to maintain and cost-effective to enhance. SDLC is a systematic approach to problem solving and is composed of several phases, each comprising multiple steps:
The software concept - identifies and defines a need for the new system
A requirements analysis - analyzes the information needs of the end users
The architectural design - creates a blueprint for the design with the necessary specifications for the hardware, software, people and data resources
Coding and debugging - creates and programs the final system
System testing - evaluates the system's actual functionality in relation to expected or intended functionality.
1. Implementation 2. Testing 3. Evaluation or
1. Feasibility Study 2. Analysis 3. Design 4. Development 5. Implementation 6. Maintenance or
1. Feasibility Study 2. Analysis 3. Design 4. Implementation 5. Maintenance or
1. Feasibility Study 2. Analysis 3. Design 4. Development 5. Testing 6. Implementation 7. Maintenance or
1. Analysis (including
Feasibility Study) 2. Design 3. Development 4. Implementation 5. Evaluation or
1. Feasibility Study 2. Analysis 3. Design 4. Implementation 5. Testing 6. Evaluation 7. Maintenance
The last row represents the most commonly used Life Cycle steps (used also in AQA module exams).
Contents [hide]
1 The 'Systems Life Cycle' (UK Version)
2 Systems Development Life Cycle: Building the System
2.1 Insourcing
2.2 Selfsourcing
2.3 Prototyping
2.4 Outsourcing
3 References
4 External links
[edit] The 'Systems Life Cycle' (UK Version)
The SDLC is referred to as the Systems Life Cycle (SLC) in the United Kingdom, whereby the following names are used for each stage:
Terms Of Reference — the management will decide what capabilities and objectives they wish the new system to incorporate;
Feasibility Study — asks whether the managements' concept of their desired new system is actually an achievable, realistic goal, in-terms of money, time and end result difference to the original system. Often, it may be decided to simply update an existing system, rather than to completely replace one;
Fact Finding and Recording — how is the current system used? Often questionnaires are used here, but also just monitoring (watching) the staff to see how they work is better, as people will often be reluctant to be entirely honest through embarrassment about the parts of the existing system they have trouble with and find difficult if merely asked;
Analysis — free from any cost or unrealistic constraints, this stage lets minds run wild as 'wonder systems' can be thought-up, though all must incorporate everything asked for by the management in the Terms Of Reference section;
Design — designers will produce one or more 'models' of what they see a system eventually looking like, with ideas from the analysis section either used or discarded. A document will be produced with a description of the system, but nothing is specific — they might say 'touchscreen' or 'GUI operating system', but not mention any specific brands;
System Specification — having generically decided on which software packages to use and hardware to incorporate, you now have to be very specific, choosing exact models, brands and suppliers for each software application and hardware device;
Implementation and Review — set-up and install the new system (including writing any custom (bespoke) code required), train staff to use it and then monitor how it operates for initial problems, and then regularly maintain thereafter. During this stage, any old system that was in-use will usually be discarded once the new one has proved it is reliable and as usable.
Use - obviously the system needs to actually be used by somebody, otherwise the above process would be completely useless.
[edit] Systems Development Life Cycle: Building the System
All methods undertake the seven steps listed under insourcing to different degrees:
[edit] Insourcing
Insourcing having IT specialists within an organization to build the organization’s system by
Planning – establishing the plans for creating an information system by
Defining the system to be developed – based on the systems prioritized according to the organization’s critical success factor (CSF), a system must be identified and chosen
the project scope – a high level of system requirements must be defined and put into a project scope document
Developing the project plan - – all details from tasks to be completed, who completed them and when they were completed must be formalized
Managing and monitoring the project plan – this allows the organization to stay on track, creating project milestones and feature creeps which allow you to add to the initial plan
Analysis – the users and IT specialists collaborate to collect, comprehend, and logistically formalize business requirements by
Gathering the business requirements' – IT specialists and knowledge workers collaborate in a joint application design (JAD) and discuss which tasks to undertake to make the system most successful
Analyzing the requirements – business requirements are prioritized and put in a requirements definition document where the knowledge worker will approve and place their signatures
Design – this is where the technical blueprint of the system is created by
Designing the technical architecture – choosing amongst the architectural designs of telecommunications, hardware and software that will best suit the organization’s system and future needs
Designing the systems model – graphically creating a model from graphical user interface (GUI), GUI screen design, and databases, to placement of objects on screen
Development – executing the design into a physical system by
Building the technical architecture – purchasing the material needed to build the system
Building the database and programs – the IT specialists write programs which will be used on the system
Testing – testing the developed system
Write the test conditions – test conditions are conducted by comparing expected outcomes to actual outcomes. If these differ, a bug is generated and a backtrack to the development stage must occur.
Implementation – the systems are placed and used in the actual workforce and
The user guide is created
Training is provided to the users of the system - usually through workshops or online
Maintenance – keeping the system up to date with the changes in the organization and ensuring it meets the goals of the organization by
Building a help desk to support the system users – having a team available to aid technical difficulties and answer questions
Implementing changes to the system when necessary.
[edit] Selfsourcing
Selfsourcing having knowledge workers within an organization build the organization’s system
Align selfsourcing applications to the goals of the organization – All intentions must be related to the organization’s goals and time management is key.
Establish what external assistance will be necessary – this may be where an IT specialist in the organization may assist
Document and formalize the completed system created for future users –
Provide ongoing support - being able to maintain and make adjustments to the system as the environment changes..
[edit] Prototyping
Prototyping creating a model, which displays the necessary characteristics of a proposed system
Gathering requirements – these requirements will be stated by the knowledge workers as well as become apparent in comparison with the old or existing system
Create prototype of system – Confirm a technically proficient system by using prototypes and create basic screen and reports
Review by knowledge workers - create a model of the system that will be analyzed, inspected and evaluated by knowledge workers who will propose recommendations to have the system reach its maximum potential
Revise the prototype – if necessary
Market the idea of the new system – use the prototype to sell the new system and convince the organization of the advantages of switching up to the new system
[edit] Outsourcing
Outsourcing having a third party (outside the organization) to build the organization’s system so expert minds can create the highest quality system by.
Outsourcing for development software -
Purchasing existing software and paying the publisher to make certain modifications and paying the publisher for the right to make modifications yourself
Outsourcing the development of an entirely new unique system for which no software exists
Selecting a target system – make sure there is no confidential information critical to the organization that others should not see. If the organization is small enough, consider selfsourcing
Establish logical requirements - IT specialists and knowledge workers collaborate in a joint application design (JAD) and discuss which tasks to undertake to make the system most successful to gather business requirements
Develop a request for a proposal – a request for proposal (RFP) is created and formalized. It includes everything the home organization is looking for in the system and can be used as the legal binding contract
Evaluate request for proposed returns and choose a vendor amongst the many who have replied with different prototypes
Test and Accept a Solution – the chosen system must be tested by the home organization and a sign-off must be conducted
Monitor and Reevaluate – keep the system up to date with the changing environment and evaluate the chosen vendor’s ability and accommodate to maintain the system