- Systems Development Life Cycle
Systems Development Life Cycle, or Software Development Life Cycle (SDLC), relates to models or
methodologies that people use to develop systems, generallycomputer systems . Computer systems have become more complex and usually (especially with the advent ofService-Oriented Architecture ) link multiple traditional systems often supplied by different software vendors.
To manage this, a number of system development life cycle (SDLC) models have been created: waterfall, fountain, spiral, build and fix, rapid prototyping, incremental, and synchronize and stabilize. Although in the academic sense, SDLC can be used to refer to various models, SDLC is typically used to refer to a waterfall methodology.Phases
SDLC adheres to important phases that are essential for developers, such as planning, analysis, design, and implementation, and are explained in the section below. There are several SDLC Models in existence. The oldest model, that was originally regarded as “the SDLC” is the waterfall model: a sequence of stages in which the output of each stage becomes the input for the next. These stages generally follow the same basic steps but many different waterfall methodologies give the steps different names and the number of steps seems to vary between 4 and 7.
There is no definitively correct SDLC model, but the steps can be characterized and divided as follows:Initiation/Planning
To generate a high-level view of the intended project and determine the goals of the project. The feasibility study is sometimes used to present the project to upper management in an attempt to gain funding. Projects are typically evaluated in three areas of feasibility: economical, operational, and technical. Furthermore, it is also used as a reference to keep the project on track and to evaluate the progress of the MIS team (Post & Anderson, 2006)The MIS is also a complement of those phase.This phase is also called the analysis phase.
Requirements Gatherings And Analysis
The goal of systems analysis is to determine where the problem is in attempt to fix the system. This step involves breaking down the system in different pieces and drawing diagrams to analyze the situation. Analysts project goals, breaking down functions that need to be created, and attempt to engage users so that definite requirements can be defined.
Design
Functions and operations are described in detail, including screen layouts, business rules, process diagrams and other documentation. The output of this stage will describe the new system as a collection of modules or subsystems.
Build or Coding
Modular and subsystem programming code will be accomplished during this stage. This stage is intermingled with the next in that individual modules will need testing before integration to the main project.Planning in software life cycle involves setting goals, defining targets, establishing schedules, and estimating budgets for an entire software project.
Testing
The code is tested at various levels. Unit, system and user acceptance testing are often performed. This is a grey area as many different opinions exist as to what the stages of testing are and how much if any iteration occurs. Iteration is not generally part of the waterfall model, but usually some occurs at this stage.
Types of testing:
* Data set Testing
* Unit Testing
* System Testing
* Integration Testing
* User acceptance
* Black Box Testing
* White Box TestingOperations and Maintenance
The life of the system includes "akhilesh bhambri"changes and enhancements before the decommissioning or sunset of the system. Maintaining the system is an important aspect of SDLC. As key personnel change positions in the organization, new changes will be implemented, which will require system updates.
Baselines in the SDLC
Baselines are an important part of the SDLC. These baselines are established after four of the five phases of the SDLC and are critical to the iterative nature of the model (Blanchard & Fabrycky, 2006, p.31). Each baseline is considered as a milestone in the SDLC.
Functional Baseline: established after the conceptual design phase.
Allocated Baseline: established after the preliminary design phase.
Product Baseline: established after the detail design and development phase.
Updated Product Baseline: established after the production construction phase.
Few people in the modern computing world would use a strict waterfall model for their SDLC as many modern methodologies have superseded this thinking. Some will argue that the SDLC no longer applies to models like Agile computing, but it is still a term widely in use in Technology circles.
An alternative to the SDLC isRapid Application Development , which combines prototyping, Joint Application Development and implementation of CASE tools. The advantages of RAD are speed, reduced development cost, and active user involvement in the development process.
It should not be assumed that just because the waterfall model is the oldest original SDLC model that it is the most efficient system. At one time the model was beneficial mostly to the world of automating activities that were assigned to clerks and accountants. However, the world of technological evolution is demanding that systems have a greater functionality that would assist help desk technicians/administrators or information technology specialists/analysts.
Complementary to SDLC
*
Software Prototyping
*Joint Applications Design (JAD )
*Rapid Application Development (RAD)
*Extreme Programming (XP); extension of earlier work in Prototyping and RAD.
*Open Source Development
*End-user development
*Object Oriented Programming References
* Blanchard, B. S., & Fabrycky, W. J.(2006) Systems engineering and analysis (4th ed.) New Jersey: Prentice Hall.
* Cummings, Haag, , (2006), Management Information Systems for the Information Age, Toronto, McGraw-Hill Ryerson
* Computer World, 2002, Retrieved onJune 22 2006 from the World Wide Web: http://www.computerworld.com/developmenttopics/development/story/0,10801,71151,00.html
* Management Information Systems, 2005, Retrieved onJune 22 2006 from the World Wide Web: www.cbe.wwu.edu/misclasses/MIS320_Spring06_Bajwa/Chap006.ppt
* Post, G., & Anderson, D., (2006). "Management information systems: Solving business problems with information technology". (4th ed.). New York: McGraw-Hill Irwin.ee also
*
Application Lifecycle Management
*Software Lifecycle Processes External links
* [http://www.ed.gov/fund/contract/about/acs/acsocio1106.doc US Department of Education - Lifecycle Management Document]
* [http://www.house.gov/cao-opp/PDFSolicitations/SDLCPOL.pdf U.S. House of Representatives Systems Development Lifecycle]
* [http://www.isaca.org/Template.cfm?Section=Home&Template=/ContentManagement/ContentDisplay.cfm&ContentID=18676 System Development Lifecycle (SDLC) Review Document G23 from the Information Systems Audit and Control Association (ISACA)]
* [http://www.ambysoft.com/essays/agileLifecycle.html The Agile System Development Lifecycle]
* [http://www.SaaSSDLC.com Software as a Service Application Service Provider Systems Development Lifecycle]
* [http://www.pbgc.gov/docs/ITSLCM%20V2007.1.pdf Pension Benefit Guaranty Corporation - Information Technology Solutions Lifecycle Methodology]
* [http://www.gantthead.com/gig/gigDisplay.cfm?gigID=234&profileID= SDLC Industry Interest Group]
Wikimedia Foundation. 2010.