Build Models & Prototypes to Represent the Requirements (20%) Flashcards

1
Q

Why do we model requirements?

A
  • Clarify understanding
  • Unambiguous communication
  • Generating questions
  • Cross checking for consistency & completeness (CRUD)
  • Defining Business rules
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is an example of a functional model?

A

Use case diagram

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

What is a use case?

A

describe a piece of system functionality that delivers value to the actor
focuses on the ‘what’ not the ‘how’

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

What naming convention is applied to use cases?

A

Verb noun i.e. make payment / cancel ticket

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

Why are use cases useful?

A

Use Case Diagrams summarise functional requirements for the IT/Business system. They represent the user perspective and needs

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

What are the levels in a use case diagram?

A

Rectangle - System boundary (part/whole)
Stick figures - System Actors (/user roles) interacting with the system (their goals)
Circles with verb noun - system functionality
Association - shows how the interaction between actors and the system

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

Examples of actors in a use case model

A

Human i.e user
Non-human i.e. another system/time

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

2 relationship types of use cases

A
  1. «Include» (ALWAYS) e.g. after given bill , take payment
    - Dotted arrow with head pointing towards second piece of functionality
  2. «Extend» (IF) e.g. customer order food «extend» order wine (IF the customer wants to order wine)
    - Dotted arrow with head pointing towards first piece of functionality (functionality it is dependant on)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What can be used to support a use case diagram?

A

Use case description

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

What are the main elements of a use case description?

A

Pre conditions (i.e. customer must have an account)

Step by step narrative between the system & the user

Post conditions (i.e. view what they have access to)

Should also include: Name/ID/Description/Actors/Pre-conditions/Main scenario + Alternative flows/Post-conditions

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

What can a use case description be supported by?

A

A process flow diagram (rather than step by step)

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

What does a use case not capture/consider?

A

Information needed / data

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

Why model data?

A

To understand the meaning and the structure
Determines the data requirements of the system
It provides a common understanding of the data
It is the basis of the technical implementation
Controls redundancy and supports data integrity

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

Examples of data models

A

(Entity) Relationship Diagram (ERD) & Class Diagrams

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

What is a class diagram?

A

Conceptual model of the data that needs to be held

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

What are the elements of a class diagram?

A

CALM

  1. Classes (datagroups)
    - Things/Events/Places/People & Organisaions
  2. Attributes (information to be held of the classes)
  3. Logical Associations (between classes)
  4. Multiplicities (How many instances one class can be associated with in another class
    - Read “Each ‘class’ is associated with #..’ of the ‘other class’”
    (5. operations)
17
Q

How should multiplicities be read?

A

At the end of the association

18
Q

What does a class model not consider?

A

Technology/Processes/Constraints (i.e time)

It is conceptual

19
Q

How is a class represented in a class model?

A

A simple rectangle with the name of the class in the top compartment

Always written as a noun phrase i.e. Customer / BankAccount (Camel case)

20
Q

What does an association represent in a class model?

A

A logical/meaningful correspondence between classes

e.g. Customer MAKES booking
Passenger TRAVELS on train

21
Q

How is an association represented in a class model?

A

A line between classes with an arrow showing how it should be read with multiplicities. It may be labelled with a meaningful description i.e. Owns vs Owned by

22
Q

How can multiplicities be documented?

A

0..2 = 0,1,2
0..* = 0 or/to many = no need to have an instance
1..* = 1 or/to many = at least one instance

23
Q

What does the CRUD Matrix help with?

A

Cross checking for consistency and completeness

Errors & Omissions

24
Q

What 2 elements are on the CRUD matrix?

A
  1. Use case
  2. Class
25
Q

What is prototyping and why is it useful?

A

Creating a ‘demonstration system’ to help clarify vague requirements

26
Q

Advantages of prototyping

A

Helps the user to really determine the requirements
– Especially user interface, performance, navigation paths
Validates requirements (req we’re putting forward for validation are correct/clarified)
Reduces risk of “getting it wrong”
Shows our requirements in action

27
Q

Disadvantages of prototyping

A

Can run out of control/scope creep
Can raise unrealistic expectations
Can lead user to overestimate progress
Tendency to begin designing the solution

28
Q

Types of prototypes

A
  • Paper
  • UI (Wireframes etc)
  • Full prototype

It’s better it the prototype is not too realistic

29
Q

Examples of errors and omissions identified from CRUD

A

Use case for creating customer but nothing about deleting, is there an omission here?

A class may not have any elements of crud against use cases, is this required.?

30
Q

What do use cases do to classes within CRUD

A

Manipulate the data