Advanced Higher Computing SOFTWARE DEVELOPMENT PROCESS Waterfall Stages Model 1. Analysis 2. Design 3. Implementation 4. Testing 5. Documentation 6. Evaluation 7. Maintenance Iterative Stages Model Analysis of Operational requirements System specification Software Design Implementation and testing Evaluation and maintenance Project Proposal Sometimes known as the Problem Definition Limitations of existing system Company Profile Project Requirements Migration Routes Budget Constraints Used as a basis for bids/offers for developers. Feasibility Study Technical Economic Legal Schedule Advantages for both clients and developers. System Investigation Undertaken by a System Analyst Observation Interview Document Establish and data flow inspection scope, boundaries, inputs and outputs Produces an Operational Requirements Document (ORD). Operational Requirements Document (ORD) Legally binding contract Functional Requirements Data Requirements Physical Specification Scope and Boundaries Inputs and Outputs System Prospectus ORD: Functional Requirements Used at the beginning of the design stage to identify the features to be present in the proposal software. Used to validate other stages or analysed at the end of design/implementation/etc to ensure functional requirements are being met. Used for dispute resolution between client and developer. ORD: Scope and Boundaries Scope: What the proposal software will be able to do. Boundaries: The limitations of the software (what it will not be able to do). ORD: Data Requirements The data structures which will be used. The amount of data which the software will generate and store. ORD: System Prospectus Schedule – preliminary timings and task dependencies. Proposed Documentation. Training required to use the software. Development Phase System Design: Flow chart Data Flow Diagram Jackson Structured Programming Pseudocode Checked to make sure it matches specification and customer requirements. Implementation and Testing Coding and Testing Design and Test HCI Set up Hardware Convert legacy files Complete documentation and Manuals Train Staff Testing Dry runs Structured Walkthroughs White box (Structural Testing) Black box (Functional Testing) Module >Sub System > Complete System Adopting a New System Pilot conversion Phased conversion Direct conversion (Sudden Death) Parallel conversion Maintenance Corrective Adaptive Perfective Preventative Evaluation (Questions) Does it meet the specification? It is what the client want? Is it fit for purpose? Waterfall Model Analysis 3% Specification 3% Coding 7% Design 5% Testing 15% Operational and Maintenance 67%