Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements...

Post on 20-Dec-2015

228 views 0 download

Tags:

transcript

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