Systems Development
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 DesignImplementationMaintenance
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) TrainingConversion –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