Project Life Cycles System development life cycle • Waterfall model • Spiral model • Whirlpool model • Rugby model • OMG model Waterfall model Project proposal report project definition Functional specifications Feasibility report system study design design specifications program specifications code programming system performance tests Installation - intermediate reports - go/nogo intervals Post Implementation audit , feed-back Boehm’s Spiral Model progress through steps determine objectives, alternatives constraints Risk Analysis evaluate alternatives identify , resolve risks Risk Analysis requirements plan life cycle plan integration tests and plan Risk operational Analysis prototype 2 prototype prototype 1 simulation models Benchmarks concept of operation Software design Design detailed design validation and verification coding Plan next phases Prototype based integration tests implementation Whirlpool model project definition Project proposal report system study Functional specifications Feasibility report design design specifications program specifications code programming system performance tests Installation Post Implementation audit , feed-back After each phase a quick review of the previous phases is made OO-life cycle With the increasing complexity of the systems, the structured techniques suffer from two illusions: The analyst knows everything and understands the problem completely before implementation starts The users read the system analysis report and approve it OMG-model (Object Management Group ) Facts: System requirements are not fully known at the start knowledge of the system grows during development better develop a system incrementally start with some core functions analysis object modelling design construction coordination and reuse full system definition OMG Project Management Iterative style develop a series of solutions to a problem , each of them closer to satisfying the requirements ( also called : evolutionary development ) Incremental style Builds system functionality a little at a time. The results are not entire solutions. Matthew Pittman proposes iterative analysis and design combined with incremental development Problem is managing the reuse (by design , not by accident) How can such a project be estimated , tracked , controlled The Waterfall Model Waterfall model Project proposal report project definition Functional specifications Feasibility report system study design design specifications program specifications code programming system performance tests Installation - intermediate reports - go/nogo intervals Post Implementation audit , feed-back Project definition What do we want to accomplish ? - solve a new problem - incorporate new requirements - improve existing system Is a new system the best solution ? Who will be involved ? Organizational problem System study : functional specs Objective: What is the problem ? Responsibility: The user Execution: 1. Activities: Top-down technique just a few sentences 2. Logical operations ( processes): for each activity 3. Details and definitions: rules, actions, controls , forms 4. Detail information: object, units, begin and end, classes, names System study : functional specs 2 The problem definition report includes: For the input: form point of time and frequency origin responsibility For the output: type and layout point of time and frequency destination usage Furthermore: reasons for realization financial advantages constraints and borders of the system System study : The feasibility study Responsibility from this phase on in the ICT-department study of the existing system borders of the new system links with other systems study of different solutions division in subsystems applicability of packages estimation of personnel requirements cost-benefit analysis The report allows the steering committee to: - fix timings - final decision Design : general What must be done to solve the problem? function analysis inventory of the data elements data dictionary logical model of the system ( data analysis ) major algorithms compose the working groups planning per department Design : Detailed - interfaces with other systems - controls and checking - privacy and security aspects - hardware specifications - job flow design - Physical database design - high-level program design Detailed system and design specification Programming and Implementation Program design diagrams code tests documentation data conversion procedure development user training - Program specifications - Code Installation Installation of the hardware Install security procedures Tests in operational environment Training operations department Take-over in user department and EDPdepartment Operational - User documentation - Operations documentation Post-implementation AUDIT compare actual system with projected budget and timing evaluate actual operation cost evaluate user satisfaction evaluate security MAINTENANCE establish hardware maintenance procedures test security plan establish change management procedures