SDLC


 * system development life cycle (SDLC) **

Once upon a time, software development consisted of a programmer writing code to solve a problem or automate a procedure. Nowadays, systems are so big and complex that teams of architects, analysts, programmers, testers and users must work together to create the millions of lines of custom-written code that drive our enterprises. 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. The oldest of these, and the best known, is the waterfall: a sequence of stages in which the output of each stage becomes the input for the next. These stages can be characterized and divided up in different ways, including the following:
 * **Project planning, feasibility study: ** Establishes a high-level view of the intended project and determines its goals.
 * ** Systems analysis, requirements definition ** : Refines project goals into defined functions and operation of the intended application. Analyzes end-user information needs.
 * **Systems design: ** Describes desired features and operations in detail, including screen layouts, business rules, process diagrams, pseudo code and other documentation.
 * **Implementation: ** The real code is written here.
 * **Integration and testing: ** Brings all the pieces together into a special testing environment, then checks for errors, bugs and interoperability.
 * ** Acceptance, installation, deployment ** : The final stage of initial development, where the software is put into production and runs actual business.
 * **Maintenance: ** What happens during the rest of the software's life: changes, correction, additions, moves to a different computing platform and more. This, the least glamorous and perhaps most important step of all, goes on seemingly forever.
 * **Maintenance: ** What happens during the rest of the software's life: changes, correction, additions, moves to a different computing platform and more. This, the least glamorous and perhaps most important step of all, goes on seemingly forever.

The ** Systems Development Life Cycle (SDLC) **, or //Software Development Life Cycle// in [|systems engineering] and [|software engineering] , is the process of creating or altering systems, and the models and [|methodologies] that people use to develop these systems. The concept generally refers to [|computer] or [|information systems]. In software engineering the SDLC concept underpins many kinds of [|software development methodologies]. These methodologies form the framework for planning and controlling the creation of an information system: the [|software development process]

Overview
Systems Development Life Cycle (SDLC) is a logical process used by a [|systems analyst] to develop an [|information system], including [|requirements] , [|validation] , [|training] , and user (stakeholder) ownership. Any SDLC should result in a high quality system that meets or exceeds customer expectations, reaches completion within time and cost estimates, works effectively and efficiently in the current and planned [|Information Technology] [|infrastructure], and is inexpensive to maintain and cost-effective to enhance. Computer systems are complex and often (especially with the recent rise of [|Service-Oriented Architecture] ) link multiple traditional systems potentially supplied by different software vendors. To manage this level of complexity, a number of SDLC models have been created: " [|waterfall] "; "fountain"; " [|spiral] "; "build and fix"; " [|rapid prototyping] "; " [|incremental] "; and "synchronize and stabilize". SDLC models can be described along a spectrum of agile to iterative to sequential. [|Agile methodologies], such as [|XP] and [|Scrum] , focus on light-weight processes which allow for rapid changes along the development cycle. [|Iterative] methodologies, such as [|Rational Unified Process] and [|Dynamic Systems Development Method], focus on limited project scopes and expanding or improving products by multiple iterations. Sequential or big-design-upfront (BDUF) models, such as [|Waterfall], focus on complete and correct planning to guide large projects and risks to successful and predictable results Some agile and iterative proponents confuse the term SDLC with sequential or "more traditional" processes; however, SDLC is an umbrella term for all methodologies for the design, implementation, and release of software In [|project management] a project can be defined both with a [|project life cycle] (PLC) and an SDLC, during which slightly different activities occur. According to Taylor (2004) "the project life cycle encompasses all the activities of the [|project], while the systems development life cycle focuses on realizing the product [|requirements]

History
The systems development lifecycle (SDLC) is a type of methodology used to describe the process for building [|information systems], intended to develop information systems in a very deliberate, structured and methodical way, reiterating each stage of the [|life cycle]. The systems development life cycle, according to Elliott & Strachan & Radford (2004), "originated in the 1960s to develop large scale functional [|business systems] in an age of large scale [|business conglomerates] . Information systems activities revolved around heavy [|data processing] and [|number crunching] routines". Several systems development frameworks have been partly based on SDLC, such as the [|Structured Systems Analysis and Design Method] (SSADM) produced for the [|UK government] [|Office of Government Commerce] in the 1980s. Ever since, according to Elliott (2004), "the traditional life cycle approaches to systems development have been increasingly replaced with alternative approaches and frameworks, which attempted to overcome some of the inherent deficiencies of the traditional SDLC".

SDLC Phases z
 * Initiation and Feasibility
 * Requirements Definition
 * Functional Design
 * Technical Design and Construction
 * Verification
 * Implementation
 * Maintenance & Review

[]