1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements...

24
1 Capturing Requirements As Use Cases To be discussed Artifacts created in the requirements workflow Workers participating in the requirements workflow Requirements capture workflow, including detailed activities

Transcript of 1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements...

Page 1: 1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.

1

Capturing Requirements As Use Cases

• To be discussed– Artifacts created in the requirements workflow

– Workers participating in the requirements workflow

– Requirements capture workflow, including detailed activities

Page 2: 1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.

2

Requirements Workflow

Page 3: 1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.

3

Artifact: Use Case Model

• Allows developer and customer to agree on requirements, I.e. conditions and capabilities to which the system must conform

• A model of system containing actors and use cases and their relationships

Page 4: 1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.

4

Artifact: Actor

• Represents user type, external system• Each type of users may be represented by one or more actors• Often corresponds to worker in a business

– A role of a worker defines what the worker does in a particular business process

– The roles can be used to derive corresponding actors will play

• An actor plays one role in each use case

Page 5: 1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.

5

Use Case

• Each use case represents a way the actors use the system– A use case specifies a sequence of actions, including alternatives

of the sequence, that the system can perform

– Is a specification of the behavior of all possible instances of that use case

– E.g. withdraw money (granted, denied, different amounts, etc)

– Purpose: to define a piece of coherent behavior without revealing the internal structure of the system, hence it is not a manifest construct in the implementation of the system

– in UML term, a classifier that has operations and attributes, thus can include startchart, activity, collaboration and/or sequence diagrams

Page 6: 1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.

6

Use Case Instance

• Is the execution of a use case– It is one path through the use case

– An sequence of interactions between an actor instance and the use case

• Use case instance does not interact with other use case instances– only kind of interaction is between actor and use case instances

– don’t deal with interfaces between use cases, concurrency, and other conflicts (e.g. sharing of objects) between different use case instances (Note: this does not mean interference between different instances does not exist.)

• Use Case instance is atomic– either performed completely or not at all

Page 7: 1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.

7

Description of Use Case

• Statecharts specifies lifecycle of use case instances– each transition is a sequence of actions

• Activity diagrams describe the lifecycle in more detail by describing sequence of actions that occur within each transition

• Collaboration/sequence diagrams are used to describe between a typical actor instance and a typical use case instance

• Such “formal” description may or may not be necessary depending on the complexity of a use case

• Textual description can be used if appropriate

Page 8: 1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.

8

Example: Global Network Systems

• Largest system in the world, composed of systems of systems across different areas and countries

• Made of different technologies (local and international switches, land and satellite transmission systems

• Each system is a large scale one (e.g. 1000 man-years)• Main reason of success: precisely defined interfaces (both

structural and semantic)– via provide-require mechanism

– is in fact use case specification

Page 9: 1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.

9

Architecture Description - View of Use Case Model

• Architecture view (of use case model) describes architecturally significant use cases– use cases describing important and critical functionality

– involving important requirement that must be developed early in the software’s lifecycle

– used as input when use cases are prioritized to be developed within an iteration

• Usually corresponding use case realizations can be found in the architectural views of analysis, design models

Page 10: 1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.

10

Use Case Glossary

• Used to define important and common terms used in describing the system

• Useful for reaching consensus between different stakeholders regarding definition of various concepts and notions– especially important for large development effort

• Can be derived from domain or business models

Page 11: 1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.

11

Overview of Use Case Diagram

Page 12: 1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.

12

Use Case Relationships

Page 13: 1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.

13

Use Case Relationship

Page 14: 1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.

14

Worker

• Refer to a position (in a project) to which a person can be assigned, who are responsible for building the use cases

• Three types of workers:– system analyst

– use case specifier

– user interface designer

Page 15: 1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.

15

System Analyst

• System analyst responsible for the whole set of requirements (functional and nonfunctional) modeled as use cases – responsible for delimiting the system

– for finding actors and use cases and for defining glossary

– for ensuring that the use case model is complete and consistent

– Assisted by use case specifier and interface designer

Page 16: 1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.

16

Use Case Specifier and Interface Designer

• Assist system analyst• Use case specifier responsible for detailed description of one or

more use cases– need to work closely with real users

• User interface designer responsible for UI– usually one interface prototype for each use case

Page 17: 1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.

17

Workflow for Capturing Requirements

Page 18: 1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.

18

Find Use Cases and Actors

• We identify use cases and actors to:– define system boundary

– outline who and what (actors) will interact with the system and what functionality (use cases) is expected from the system

– capture and define in a glossary common terms that are essential for creating detailed descriptions of the system’s functionality

Page 19: 1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.

19

Identify Use Case and Actors

Page 20: 1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.

20

Basic Steps

• Finding the actors• Finding the use cases• Briefly describing each use case• Describing the use case model (including glossary) as a whole• Describe use cases in detail• Steps does not have to be performed in any particular order

Page 21: 1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.

21

Detailing Use Cases

Page 22: 1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.

22

Finding Actors

• If a business model known, use each worker in the business as an actor initially

• Criteria for enlisting actors– should be possible to identify at least one user who can play the

candidate actor

– minimal overlap between roles that instances of different actors play in relation to the system

• Example: – buyer, seller, accounting system (page 147)

• Brief description of actors, used as starting point for finding use cases

Page 23: 1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.

23

Finding Use Cases

• Interviewing or analyzing each actors to enlist candidate use cases

• Analyze, revise and combine use uses– some candidates won’t become use cases themselves, but rather

better be part of others

– choose name and define scope for the use cases

• a sequence of user-system interaction may be specified as one or more use cases

– consider if a use case is complete by itself or if it always follows as a kind of continuation of another use case.

– Guideline: a use case delivers an observable result that is of value to a particular customer

– Example: Pay Invoice use case (page 149)

Page 24: 1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.

24

Constructing Use Cases

• Initial brief description of use cases– Example: page 150

• Describe use case model as a whole– relationship between uses cases and actors

– model consistency: develop system glossary

– Output: survey description of the use case model (example, page 151), describing how actors and use cases interact and how use cases related to each other