Software Development Process

advertisement
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%
Download