Requirements Modelling Flashcards

1
Q

Breifly describe use case modelling

Why do we do it?

A

User-centric approach. Identify typical users and the tasks they typically perform to capture functional requirements incrementally.

Idea is that it’s hard to specify all system reqs top-down, but is easier to identify what single users expect to be able to do. Structure the requirements model gradually, identifying obvious event flows first, and filling gaps with alternative event flows.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is use case modelling good at? What is it bas at?

A

Good at capturing what a system does

Not good at expressing control logic

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is an Actor?

A

Type of external user interacting with the system; not the individual but the role they play

Not necessarily a person, eg external computer system

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is a Use Case?

A

sequence of related transactions between an actor and a system that yields a result of measurable value.

Use cases are restricted to a particular size
related collection of evetn flows
Accomplish a single business objective

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

How do we identify use cases?

A

Interviews: identify main actors, main use cases, secondary actors, and extra use cases

Documenting: use usa case diagram to link actors to use cases

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

UML Syntax: how do we draw use cases?

A

labelled ellipse

verb expressions to label each use case
within or outside the version boundary

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

UML Syntax: how do we draw actors?

A

labelled stick figure

name each actor according to role played

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

UML Syntax: how do we draw associations

A

Line not quite touching each end

link actors to use cases

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Why and How do we document use cases?

A

Why: to describe the funcitonality in detail.

How: want to collect scenarios incrementally. Document main success scenario first (normal flow), document extensions later (divergences from normal flow, variant flows)
Write as a sequence of events, in style of a dialogue

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

3 different levels of formality for writing use cases

A

Brief: v short description; fit in spreadsheet cell

Casual: several paragraphs in natural language

Fully dressed: written according to structured template

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the required sections for writing a “fully dressed use case”

A

Name; purpose; enabling condition; flow of events; success condition

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is an optional extension, when looking at use cases?

A

optional inserted behaviour that is sometimes executed; then normal flow is resumed

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is an alternative extension, when looking at use cases?

A

A second successful path through the use case; that may resume normal flow or end flow independently

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is a failure extension, when looking at use cases?

A

An exception that causes the use case to fail without reaching its objective, a failure condition must be stated

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What sections are required for documenting a use case extension?

A

Name, extension point, enabling condition, flow of events, success/failure condition

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Pros and Cons of an incremental approach to use cases (3, 3)

A

Pros:
Stakeholders will focus on succesful outcomes
Analyst will later ask what can go wrong at each step
Easy to add variant flows at a later date

Cons:
Not all applications wiill have a distinguished normal flow
by default, UML treats all extensions as optional insertions
resume label resembles GOTO programs which were considered very poor structure

17
Q

UML Syntax: how do we draw an include association?

A

dashed arrow with open arrow-head labelled with < include >, pointed to the included case

18
Q

When do we use an include dependency for use cases?

A

When multiple use cases share a common subsequence

19
Q

UML Syntax: how do we draw an extend association?

A

dashed arrow with open arrow-head labelled with < extend >, pointed to the use case that is being extended

20
Q

When do we use an extend dependency for use cases?

A

When we want to include an optional variant flow for a use case, and want to make it explicit in the use case diagram

21
Q

UML Syntax: how do we draw a generalisation arrow?

A

An arrow with a triangular closed arrow head with a solid line, points to more general case,

e.g. worker ———-|> employee
worker is a kind of employee

22
Q

What is the definition of a scenario?

A

One complete plath traced through a use case ending in a success or failure.

23
Q

Why are scenarios useful?

A

Form the basis for testing, useful for test driven development.