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

(30 cards)

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
What is prototyping and why is it useful?
Creating a ‘demonstration system’ to help clarify vague requirements
26
Advantages of prototyping
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
Disadvantages of prototyping
Can run out of control/scope creep Can raise unrealistic expectations Can lead user to overestimate progress Tendency to begin designing the solution
28
Types of prototypes
- Paper - UI (Wireframes etc) - Full prototype It's better it the prototype is not too realistic
29
Examples of errors and omissions identified from CRUD
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
What do use cases do to classes within CRUD
Manipulate the data