80 likes | 225 Vues
The Software Development Life Cycle (SDLC) is a foundational process for developing application systems, providing a structured approach to reduce risks associated with system development. This model encompasses several critical phases: feasibility studies, requirements analysis, design, implementation, and maintenance. Each phase ensures that the proposed system aligns with organizational objectives, is well understood, and thoroughly designed before programming. In addition to the traditional SDLC, alternative development approaches like prototyping and rapid application development can enhance flexibility and responsiveness to changing user requirements.
E N D
Systems Development Life Cycle (SDLC) • A “baseline” process for the development of application systems • Contains a comprehensive set of tasks to reduce risk in developing systems • There are numerous specific SDLC models, but they typically differ primarily in the names of the phases/steps. • Basic premise behind SDLC is that you should • Make sure proposed system is feasible • Make sure you understand requirements thoroughly before proceeding to implementation • Thoroughly design the system before beginning programming • Scrutinize outputs of each phase to ensure you’re on track and should continue
SDLC Model • Requirements analysis • Design • Implementation • Maintenance
Requirements Analysis • Feasibility study • Cost/benefit analysis • Match with organizational objectives • Technical and operational feasibility • Risks • Requirements definition • What functions must the system perform? • System inputs, processing, outputs
Design • How will the system perform the functions? • Design: • Programs • System hardware and software • Database • User interface
Implementation • Building the system • Programming • Implement database • Testing • Create documentation (system and user) • Training • Conversion • Parallel • Cutover/direct • Pilot
Maintenance • Ongoing error correction • Ongoing improvements (adding new functions) • Usually most IS resources spent here
Alternative Development Approaches • Prototyping/Rapid application development • Successive iterations of system • Improve system with each iteration • Requires extensive user involvement • Good for systems where requirements are hard to define • Requires development tools that allow fast programming