View
234
Download
0
Tags:
Embed Size (px)
Citation preview
Introduction to Requirements(Chapters 1-3 of the requirements text)
CSSE 371, Software Requirements and Specification
Don Bagert, Rose-Hulman Institute of Technology
September 2, 2004Thanks to Mark Ardis for some of the slides included.
Outline
• Requirements and the Cost of Errors
• Requirements Management
• Software Lifecycle Process Models
Requirements and the cost of errors
Biggest Reasons forProject Success and Failure
• Project Success– User involvement– Executive management support– Clear statement of requirements
• Project Failure– Lack of user input– Incomplete requirements– Changing requirements
Defects by Development Phase
• Requirements – 31% of Defects on Final Product Delivery
• Design – 25%• Coding – 12%• Documentation – 16%• Bad fixes – 16%
6
Cost to Fix Errors
RequirementsDesignCodingUnit TestAcceptance TestMaintenance
1 5 25 50125500
7
So…
• Requirements errors are likely to be the most common class of error
• Requirements errors are likely to be the most expensive to fix
Requirements Management
9
What is a Software Requirement?
1. A software capability needed by the user to solve a problem to achieve an objective
2. A software capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification or other formally imposed documentation
[according to Dorfman and Thayer]
10
What is Software Requirements Management?
• The process of systematically, eliciting, organizing and documenting requirements for the software system, and a process that establishes and maintains agreement between the customer and the project team on the changing requirements of the system.
Software Lifecycle Process Models
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 StagesRequirements
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
16
Spiral Model
• Incremental– more feedback
from customer
• Risk analysis– more rigorous
analysis of risk at each stage
Spiral Model
18
Iterative (or Incremental) Approach
• Consists of four phases– Inception– Elaboration– Construction– Transition
• An iteration is a sequence of activities with an established plan and evaluation criteria, resulting in an executable of some type
• Each phase goes under a # of iterations
19
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
Elaboration TransitionInception Construction
Workflows group activities logically
In an iteration, you walk through all workflows
Process Workflow
Support Workflow
Rational Unified Process Model
20
Team Project Process
• Waterfall model for this course• You may pick which model to use in CSSE
372 for implementation of the project