Software Process and Problem Statements
CSSE 371, Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 3, 2004
Outline
• Cost of errors • Software lifecycle • Problem Statements
Cost to Fix Errors
1 5 25 50 125 500 Requirements Design Coding Unit Test Acceptance Test Maintenance
3
Waterfall Model
• Manufacturing life cycle model • Assumes
– multi-stage development cycle – completely separate stages – output of one stage is input for next – each stage complete before next is begun
Waterfall Stages
Requirements
Design
Coding Testing Maintenance
Advantages
• • • • Much better than chaos! Staged deliverables are possible Can modify model to allow for feedback Clearly defined stages help with
– planning, scheduling – management, organization – accountability, control
Disadvantages
• Not very practical (do not know requirements in the beginning) • No feedback, provision for modification • Customer sees nothing until last step
Spiral Model
• Incremental
– more feedback from customer
• Risk analysis
– more rigorous analysis of risk at each stage
8
Spiral Model
Synchronize-and-Stabilize
• A version of incremental model used by Microsoft
– Interview customers – Prioritize features to be added – Divide work into several builds (parallel) – Synchronize builds daily (!) – Stabilize after builds complete
Rational Unified Process Model
Phases
Process Workflow Business Modeling Requirements
Inception Elaboration Construction
In an iteration, you Transition walk through all workflows
Analysis & Design Implementation
Test
Deployment
Support Workflow Configuration Mgmt Management Environment
Preliminary Iteration(s) Iter. #1 Iter. #2 Iter. #n Iter. Iter. #n+1 #n+2 Iter. #m Iter. #m+1
Workflows group activities logically
Iterations
Cartoon of the Day
12
Agile Manifesto
• We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: – Individuals and interactions over processes and tools – Working software over comprehensive documentation – Customer collaboration over contract negotiation – Responding to change over following a plan • That is, while there is value in the items on the right, we value the items on the left more.
13
Problem Statements
• Function: What the solution must do and how it will be used • Form: The form the system must take in providing the functional features • Economy: The expected value and cost of the solution to customers and to your own organization • Time: The relationship of the solution to past, present, and future
14