20
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, 2004 Thanks to Mark Ardis for some of the slides included.

Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute

  • View
    234

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute

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.

Page 2: Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute

Outline

• Requirements and the Cost of Errors

• Requirements Management

• Software Lifecycle Process Models

Page 3: Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute

Requirements and the cost of errors

Page 4: Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute

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

Page 5: Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute

Defects by Development Phase

• Requirements – 31% of Defects on Final Product Delivery

• Design – 25%• Coding – 12%• Documentation – 16%• Bad fixes – 16%

Page 6: Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute

6

Cost to Fix Errors

RequirementsDesignCodingUnit TestAcceptance TestMaintenance

1 5 25 50125500

Page 7: Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute

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

Page 8: Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute

Requirements Management

Page 9: Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute

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]

Page 10: Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute

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.

Page 11: Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute

Software Lifecycle Process Models

Page 12: Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute

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

Page 13: Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute

Waterfall StagesRequirements

Design

Coding

Testing

Maintenance

Page 14: Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute

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

Page 15: Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute

Disadvantages

• Not very practical (do not know requirements in the beginning)

• No feedback, provision for modification

• Customer sees nothing until last step

Page 16: Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute

16

Spiral Model

• Incremental– more feedback

from customer

• Risk analysis– more rigorous

analysis of risk at each stage

Page 17: Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute

Spiral Model

Page 18: Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute

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

Page 19: Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute

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

Page 20: Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute

20

Team Project Process

• Waterfall model for this course• You may pick which model to use in CSSE

372 for implementation of the project