Systems development life cycle: Difference between revisions
m Reverted edits by 195.195.245.20 (talk) to last version by Tanvir che |
|||
Line 67: | Line 67: | ||
== Bean on Toast == |
|||
== Systems Development Life Cycle: Building the System == |
|||
All methods undertake the seven steps listed under insourcing to different degrees: |
All methods undertake the seven steps listed under insourcing to different degrees: |
Revision as of 15:45, 19 March 2008
This article may contain unverified or indiscriminate information in embedded lists. (February 2007) |
This article needs attention from an expert on the subject. Please add a reason or a talk parameter to this template to explain the issue with the article. |
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 comprised of multiple steps:
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).
Bean on Toast
All methods undertake the seven steps listed under insourcing to different degrees:
Insourcing
Insourcing is defined as 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
- Write the test conditions - Work with the end users to develop the test scripts according to the system requirements
- 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
- Test the system using the established test scripts – 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.
- Deployment – 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.
Selfsourcing
Selfsourcing is defined as 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..
Prototyping
Prototyping is defined as 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
- 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
Outsourcing
Outsourcing is defined as 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
Systems Development Life Cycle (SLC) in the United Kingdom'
The SDLC is referred to as the Systems Life Cycle (SLC) in the United Kingdom, whereby the following names are used for each stage:
1. Terms Of Reference — the management will decide what capabilities and objectives they wish the new system to incorporate;
2. 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;
3. 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;
4. 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;
5. 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;
6. 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;
7. 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.
8. Use - obviously the system needs to actually be used by somebody, otherwise the above process would be completely useless.
9. Close - the last step in a system's life cycle is its end, which is most often forgotten when you design the system. The system can be closed, it can be migrated to another (more modern platform) or it's data can be migrated into a replacing system.
References
- Cummings, Haag, McCubbrey, Pinsonneault, Donovan, (2006), Management Information Systems for the Information Age, Toronto, McGraw-Hill Ryerson
- Computer World, 2002, Retrieved on June 22 2006 from the World Wide Web: http://www.computerworld.com/developmenttopics/development/story/0,10801,71151,00.html
- Management Information Systems, 2005, Retrieved on June 22 2006 from the World Wide Web: www.cbe.wwu.edu/misclasses/MIS320_Spring06_Bajwa/Chap006.ppt
See also
External links
- US DOJ Guidance Document
- U.S. House of Representatives Systems Development Life-Cycle (PDF)
- System Development Life Cycle (SDLC) Review Document G23 from the Information Systems Audit and Control Association (ISACA)
- The Agile System Development Lifecycle
- Software as a Service Application Service Provider Systems Development Life Cycle
This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.