Build Models & Prototypes to Represent the Requirements (20%) Flashcards
Why do we model requirements?
- Clarify understanding
- Unambiguous communication
- Generating questions
- Cross checking for consistency & completeness (CRUD)
- Defining Business rules
What is an example of a functional model?
Use case diagram
What is a use case?
describe a piece of system functionality that delivers value to the actor
focuses on the ‘what’ not the ‘how’
What naming convention is applied to use cases?
Verb noun i.e. make payment / cancel ticket
Why are use cases useful?
Use Case Diagrams summarise functional requirements for the IT/Business system. They represent the user perspective and needs
What are the levels in a use case diagram?
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
Examples of actors in a use case model
Human i.e user
Non-human i.e. another system/time
2 relationship types of use cases
- «Include» (ALWAYS) e.g. after given bill , take payment
- Dotted arrow with head pointing towards second piece of functionality - «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)
What can be used to support a use case diagram?
Use case description
What are the main elements of a use case description?
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
What can a use case description be supported by?
A process flow diagram (rather than step by step)
What does a use case not capture/consider?
Information needed / data
Why model data?
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
Examples of data models
(Entity) Relationship Diagram (ERD) & Class Diagrams
What is a class diagram?
Conceptual model of the data that needs to be held