Requirements Capture and Modelling Flashcards
To ace the freakin' exammmm!!
What is a customer?
The person or organisation that the commissions the system, e.g. business director, IT director.
Their requirements must be met but they may not be the end-user or know all the operational issues.
What is a stakeholder?
Anyone who holds an interest in the system, e.g. business managers, third-party customers.
May have conflicting interests with how the system works so it is important to balance out all the stakeholders’ interests within feasibility.
What are the benefits of use case modelling?
Clearly identifies the users of the system and the tasks they will perform, captures the functional requirements incrementally. The final specification becomes a set of use cases.
It eliminates the difficulty of specifying all requirements at once by simply identifying a single user and task one by one. We can start by finding the obvious events first and then look for the less obvious alternatives later.
What is an actor in a UML use case diagram?
An external user interacting with the system. It is not a specific individual but the role they play, e.g. customer, cashier, bank.
Bad examples are Tek or Ned because they are individuals and they suck.
What is a use case in a UML use case diagram?
A type of interaction of an actor with the system which has a business-level objective. It is a collection of related event flows, e.g. inspect balance, withdraw cash, order statement.
Bad examples are enter password, increase productivity or quit menu as they don’t have a business objective, they cannot be vague or just system actions.
How are use cases depicted in UML use case diagrams?
They are represented as a ellipse labelled with a verb expression such as ‘withdraw cash’ and can be within or outside the boundary. The use case ‘deposit cash’ could be outside the boundary to show a customer physically giving cash to a cashier.
How are actors depicted in UML use case diagrams?
They are drawn as a stick figure labelled as the role they play such as ‘customer’. An external system can also be an actor such as a ‘bank’.
How is the system depicted in UML use case diagrams?
They are represented as a box labelled as the name of the system such as ‘ATM system’ with the components of the system within the boundary.
How are associations between actors and use cases depicted in UML use case diagrams?
We use lines not quite touching to link actors to relevant use cases. There can be more than one link from actors and more than one link from use cases.
What is an «_space;include»_space; dependency and how is it depicted in UML use case diagrams?
It is used to show when a use case depends on another one to carry out it’s operations. It is drawn as a dotted arrow, labelled include, pointing to the use case which is depended on (opposite way to «_space;extend»_space;).
For example, a customer wants to inspect their balance but it requires the customer to be validated. ‘Customer’ can be associated with ‘inspect balance’ but not ‘validate customer’ so an «_space;include»_space; arrow points from ‘inspect balance’ to ‘validate customer’.
What is an «_space;extend»_space; dependency and how is it depicted in UML use case diagrams?
It shows any potential extensions to use cases. They don’t apply to all extensions but the optional ones. It is represented as a dotted arrow, labelled «_space;extend»_space;, pointing from the extension to the use case it extends (opposite way to «_space;include»_space;).
For example, a customer may want to print their balance after inspecting it so we draw an extend arrow from ‘print balance’ to ‘inspect balance’.
What is an actor generalisation and how is it depicted in UML use case diagrams?
It models how some actors can be grouped into subgroups, e.g. a manager and a worker can be grouped into the subgroup employee.
We use this as there may be some tasks that the whole subgroup can be linked to but also tasks only specific roles can carry out. For example, all employees can sign a job contract but only a manager can review a worker’s performance.
What is an use case generalisation and how is it depicted in UML use case diagrams?
It identifies use cases which share the abstract behaviour, e.g. inspecting a balance and withdrawing cash are both bank transactions.
This is used as a group of use cases may have the same dependency so we can use an abstraction to show this as a single dependency. For example, ‘inspect balance’ and ‘withdraw cash’ can be generalised as ‘bank transaction’ which has an «_space;include»_space; dependency on ‘validate customer’.
What is a scenario?
A complete path through a use case resulting in a success or failure. For example, a bank withdrawal could be successful and result in the ATM giving £50 to the user or fail due to a lack of banknotes in the machine. If the system can execute each scenario without fault then the system works as desired.