www.ddss.arch.tue.nl 7m822 software requirements a use case approach 14 september 2010

17
www.ddss.arch.tue.nl 7M822 7M822 Software Requirements A Use Case Approach 14 September 2010

Post on 21-Dec-2015

215 views

Category:

Documents


2 download

TRANSCRIPT

www.ddss.arch.tue.nl

7M8227M822

Software RequirementsA Use Case Approach

Software RequirementsA Use Case Approach

14 September 2010

www.ddss.arch.tue.nl

7M8227M822

Software RequirementsSoftware Requirements

The Rock Problem ?! [Ed Yourdon]

2

www.ddss.arch.tue.nl

7M8227M822

Software systems natureSoftware systems nature

• Software systems by their nature are– intangible– abstract– complex– infinitely changeable

3

www.ddss.arch.tue.nl

7M8227M822

Requirements engineeringRequirements engineering

• Get a complete description of the problem– feasibility study

• Get a complete description of the problemGet a complete description of the problem– feasibility studyfeasibility study

• Process of establishing the services that the customer requires from a system– elicitation– specification– validation

4

www.ddss.arch.tue.nl

7M8227M822

Software developmentSoftware development

• Goal– to develop quality software that meets customers’ needs

• What is this software supposed to do?

• How, exactly, will we know when the software does exactly that and nothing else?

5

www.ddss.arch.tue.nl

7M8227M822

Software requirementSoftware requirement

• A software requirement is a capability needed by the user to solve a problem to achieve an objective, and

is imposed on the system

6

www.ddss.arch.tue.nl

7M8227M822

Problem domainProblem domain

• The problem domain is the home of those people (real users, other stakeholders)

whose needs must be addressed

in order to build the perfect system.

7

www.ddss.arch.tue.nl

7M8227M822

Needs

Features

Software requirements

problemdomain

solutiondomain

8

www.ddss.arch.tue.nl

7M8227M822

Stage

Relative cost to repair a defect

Derived from: Alan Davis, Software Requirements: objects,functions and states; Prentice-Hall, 1993

Requirements time

Design

Coding

Unit test

Acceptance test

Maintenance

.1-.2

.5

1

2

5

20

9

www.ddss.arch.tue.nl

7M8227M822

Functional requirementsFunctional requirements

• Find the solution for the user needs by proposing objectives for the system that involves– problem definition– identifying the users– defining the solution system boundary– identifying the constraints

10

www.ddss.arch.tue.nl

7M8227M822

Defining solutions system boundaryDefining solutions system boundary

SystemInputs Outputs

inputs / system / outputs relationship

Of concern:

1. Our system

2. Things that interact with our system

actor

11

www.ddss.arch.tue.nl

7M8227M822

System boundarySystem boundary

Our Solution

Users

Other Systems

System Boundary

I/O

I/O

12

www.ddss.arch.tue.nl

7M8227M822

System perspectiveSystem perspective

New Solution

Users

Catalog system

System Boundary

Library system

13

www.ddss.arch.tue.nl

7M8227M822

Use case approach Use case approach

Lending services

User administration

Books database

Library user

Library staff

library system

14

www.ddss.arch.tue.nl

7M8227M822

NS Ticket machine – a use case approachNS Ticket machine – a use case approach

Traveler

Purchase Ticket

Maintenance basic data

NSTake ticket

Destination

15

www.ddss.arch.tue.nl

7M8227M822

Example Use CasesExample Use Cases

• A simple word processor is required to create new and edit existing documents.

• Also the ability to print is required.

Question?Find the system boundary, actors and use cases

16

www.ddss.arch.tue.nl

7M8227M822

Study matterStudy matter

• Ian Sommerville Software Engineering , 6th edition – Ch.6Addison Wesley

• Dean Leffingwell & Don WidrigManaging Software Requirements, 2nd editionAddison Wesley

17