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
3 Cost to Fix Errors Requirements Design Coding Unit Test Acceptance Test Maintenance
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 DesignCodingTestingMaintenance
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
8 Spiral Model Incremental –more feedback from customer Risk analysis –more rigorous analysis of risk at each stage
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
Management Environment Business Modeling Implementation Test Analysis & Design Preliminary Iteration(s) Iter. #1 Phases Iterations Iter. #2 Iter. #n Iter. #n+1 Iter. #n+2 Iter. #m Iter. #m+1 Deployment Configuration Mgmt Requirements ElaborationTransitionInceptionConstruction Workflows group activities logically In an iteration, you walk through all workflows Process Workflow Support Workflow Rational Unified Process Model
12 Cartoon of the Day
13 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.
14 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