13
Eva Trosborg Slide no.: 1 Requirement Specification Requirement Specification Fall 2005 Agenda • Requirement definition through use cases by Eva Trosborg

Eva TrosborgSlide no.: 1Requirement Specification Requirement Specification Fall 2005 Agenda Requirement definition through use cases by Eva Trosborg

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Eva Trosborg Slide no.: 1Requirement Specification

Requirement SpecificationFall 2005

Agenda• Requirement definition through use cases

by

Eva Trosborg

Eva Trosborg Slide no.: 2Requirement Specification

After this lesson you should :

• Be able to analyze a given situation and write a simple requirement specification for a smaller software system using object oriented techniques such as use case diagrams

Eva Trosborg Slide no.: 3Requirement Specification

Sources to this lesson

• Graig Larman; Applying UML and Patterns Chapter 4 - 7

Eva Trosborg Slide no.: 4Requirement Specification

Fig. 5.1Poor user input

13%

Changing requirements12%

Poor technical skills7%

Poor staffing6%

Other50%

Incomplete requirements12%

Poor user input

Eva Trosborg Slide no.: 5Requirement Specification

Fig. 6.1

Operation: enterItem(…)

Post-conditions:- . . .

Operation Contracts

Sale

date. . .

SalesLineItem

quantity

1..*1 . . .

. . .

Domain Model

Use-Case Model

Design Model: Register

enterItem(itemID, quantity)

: ProductCatalog

spec = getProductSpec( itemID )

addLineItem( spec, quantity )

: Sale

objects, attributes, associations

Require-ments

Business Modeling

Design

Sample UP Artifact Relationships

: System

enterItem(id, quantity)

Use Case Text

System Sequence Diagrams

makeNewSale()

system events

Cashier

Process Sale

: Cashier

use case

names

system operations

Use Case Diagram

Vision

SupplementarySpecification

Glossary

scope, goals, actors, features

terms, attributes, validation

non-functional reqs, quality attributes

requirements

Process Sale

1. Customer arrives ...2. Cashier makes new sale.3. ...

Scenarie = use case instance = one specific path through the use case

Requirements

Use Case cover all possible scenario’s

p63

Eva Trosborg Slide no.: 6Requirement Specification

Fig. 6.2 Primary actors and goals at different system boundaries p86

Goal: Process sales

Cashier

Customer

POS System

Checkout Service

Goal: Buy items

Enterprise Selling Things

Sales TaxAgency

Goal: Collect taxes on sales Sales Activity

System

Goal: Analyze sales and performance data

Eva Trosborg Slide no.: 7Requirement Specification

Fig. 6.3 Partial use case context diagram p90

NextGen POS

Manage Users

. . .

Cashier

SystemAdministrator

actor

use case

communicationsystem boundary

PaymentAuthorization

Service

«actor»Tax Calculator

«actor»Accounting

System

alternatenotation for a computer system actor

«actor»HR System

Cash In

«actor»Sales Activity

System

Manage Security

Analyze Activity

Customer

Manager

Process Sale

Handle Returns

Eva Trosborg Slide no.: 8Requirement Specification

Fig. 6.4 Notation suggestions p91

NextGen

Process Sale

. . .Cashier

Show computer system actors with an alternate notation to human actors.

primary actors on the left

supporting actors on the right

For a use case context diagram, limit the use cases to user-goal level use cases.

«actor»Payment

AuthorizationService

Eva Trosborg Slide no.: 9Requirement Specification

Fig. 6.5 Alternate actor notation p91

NextGen

Process Sale

«system»Payment

AuthorizationService

...

«actor»Payment

AuthorizationService

Some UML alternatives to illustrate external actors that are other computer systems.

The class box style can be used for any actor, computer or human. Using it for computer actors provides visual distinction.

PaymentAuthorization

Service

Eva Trosborg Slide no.: 10Requirement Specification

Fig. 6.6 Use case diagram (“context diagram”) for Monopoly system p94

Table 6.1 Sample requirements effort across the early iterations; not a recipe p96

Your project??

Eva Trosborg Slide no.: 11Requirement Specification

Fig. 6.7 process and setting context for writing use cases p97

January February

Use Case: Capture a Sale. . .Main Success Scenario:1. ...2. ...3. ...Extensions:

Use Case: Handle Returns. . .Main Success Scenario:1. ...2. ...3. ...Extensions:

WhenOnce during inception. Short; do not try to define or polish all requirements.

Several times during elaboration iterations.

WhereAt a requirements workshop.

WhoMany, including end users and developers, will play the role of requirements specifier, helping to write use cases.

Led by system analyst who is responsible for requirements definition.

How: ToolsSoftware: For use case text, use a web-enabled requirements tool

that integrates with a popular word processor.For use case diagrams, a UML CASE tool.Hyperlink the use cases; present them on the project website.

Hardware: Use two projectors attached to dual video cards and set the display width double to improve the spaciousness of the drawing area or display 2 adjacent word processor windows .

Developer

CustomerSystemAnalyst

End User

Two adjacent projections.

SoftwareArchitect

Eva Trosborg Slide no.: 12Requirement Specification

Fig. 7.1

NextGen POS

Cashier

System Administrator

Store Manager

Calls upon services

Calls upon services

«actor»Payment

AuthorizationService

«actor»Tax Calculator

«actor»Accounting

System

«actor»Human

Resources System

«actor»Inventory System

«actor»Sales Activity

System

Eva Trosborg Slide no.: 13Requirement Specification

Assignment for the 13. September

• Project establishment. Preparing the presentation of the different project roles, Dream group “agreement”.

• Slides to be sent to [email protected]