Unit 3 - From domain modelling to requirements Flashcards
What is the function of business rules?
They constrain how a business is run
From a typical business description, what should we be able to identify?
Business processes in the domain and business rules (constraints)
Verification is?
The set of activities that ensure that a solution is being
correctly developed, i.e. that it is taking into account the business rules.
Validation ensures?
That what is being built satisfies the business, i.e. that
the business rules implemented are the ones that the business wants
What are the important properties that a representation of business rules should have?
The important properties are as follows:
◦ Business rules that apply to the whole business should be represented separately from project specific models.
◦ They should be easy to verify (possibly automatically) and validate.
◦ They should be represented in a readable language that is easy to verify.
Business processes define?
What is done in a business, by whom, in what
order, needing which resources, and with what consequences
How do you represent business processes?
With UML activity diagrams.
An activity diagram shows a process as a set of activities and describes how they must be coordinated – which ones depend on others having been completed first and where activities can be carried out in parallel
For a process of making a hot drink, we need to boil water in a kettle. What are the two steps involved in this task?
- Fill Kettle
2. Boil Water
What are the basic elements of an activity diagram?
Activities and Transitions.
Activities are shown as rounded boxes and Transitions are shown as lines with arrows.
There are two predefined activities, start and stop, which are represented as filled circles
UML decision nodes allow what?
To represent alternative mutually exclusive, ways out of an activity. A decision node is drawn as a diamond.
The flow out of decision nodes are constrained with Boolean tests, known as?
The Boolean tests are known as Guards, written inside square brackets.
Each of the transitions leaving the first decision diamond has a guard to determine which path should be taken under a given condition
A diamond shape in an Activity diagram can also be used as a?
Merge node, which brings together alternative mutually exclusive flows.
A merge node will be reached only by one of the alternative flows and has a single outgoing flow.
What causes a transition in an activity diagram?
A transition in an activity diagram is caused by the completion of an activity
What is a synchronisation bar, and when is one used in an activity diagram?
A synchronisation bar is used to mark the point when two or more activities can take place concurrently (a fork) or when a number of concurrent tasks must finish before continuing to the next activity (a join).
An activity diagram can be used to represent what?
The workflow of an existing process.
It represents the sequence of activities and helps identify the stages at which each role requires some interaction with the process.
This is of particular benefit when we want to investigate the steps that people – and any existing systems – take in order to do their jobs.
When modelling a workflow that involves more than one role, it is possible to identify which role is responsible for a particular activity. To do this in UML, we partition an activity diagram into swimlanes – one swimlane for each role
How does the partitioning of activities into swimlanes help us understand a set of activities?
Swimlanes group activities associated with different roles. The swimlanes show the role that is responsible for each activity.
Give one reason for modelling a workflow in an activity diagram?
Activity diagrams represent the sequence of activities. When you are modelling a workflow that involves more than one role, it is possible to identify which role is responsible for a particular activity. An activity diagram can help identify the stages at which each role
requires some interaction with the process.
What are the main elements in a Use Case diagram?
The main elements in a diagram are:
. the actors, represented by stick figures
. the use cases, represented by ovals
. the relationships between actors and use cases – their associations – represented by lines.
Name two aspects of software development where use case modelling can help
Eliciting requirements - representing requirements.
Planning iterations of development and validating software systems.
Suggest a reason why use case diagrams are an aid to
communication between user and developer
Use cases offer users an opportunity to understand the system since the use case notation is relatively simple and doesn’t require an understanding of UML.
This provides a mechanism that enables developer and client to share a common understanding of the system,
as long as the developer provides some text to demonstrate their understanding of the problem.
How do you represent a system boundary in a use case diagram?
By drawing a solid box around the use cases with actors located outside it, represents the system boundary and all we are interested in.
What is the purpose of a system boundary? Is it always necessary to draw one in a use case diagram?
The purpose of a system boundary is to identify a single system, distinguishing between the internal and external components.
Typically, the external components are the actors and the internal components are the use cases. UML says that the system boundary is optional.
Explain why the actors in a use case diagram do not represent actual individuals.
An actor in a use case diagram represents a particular role that an individual might play when interacting with a software system.
For example, a receptionist checks guests into and out of a hotel. But it could be that the person who works as a receptionist at one hotel becomes a guest at another hotel in the chain and hence takes on another role.
Actors can also represent other systems, rather than people/roles.
Suggest a guideline that will help you decide whether or not to include an interaction with an external system on your use case diagram.
One possible guideline would be to show interaction with an external system if the use case needs to communicate with the actors that represent the external system.