Unit 3 - From domain modelling to requirements Flashcards
What is a business rule?
Business rules constrain how a business is run. They are not specific to any project but they influence each project’s development – they typically include policies, physical laws, government laws, etc. Business rules reflect the way the business works, independently of any new system being introduced in that business domain
What are the important properties that a representation of business rules should have?
- 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.
SAQ 1
Name two aspects of software development where use case modelling can help.
So far we have encountered these two: eliciting requirements; representing requirements. Later in the module we will also discuss planning iterations of development and validating software systems.
SAQ 4
Consider whether business rules can be modelled in UML. What are the consequences ?
UML can support the specification of business rules either as annotations to the models or in a more formal way through OCL. However UML and OCL do not provide a separate explicit notation for business rules.
As a consequence, it does not:
- facilitate documentation of the rules independently of other models;
- facilitate their analysis, validation and change;
- facilitate their traceability from the business needs to the software solution.
SAQ 1
What causes a transition in an activity diagram?
A transition in an activity diagram is caused by the completion of an activity.
SAQ 2
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).
SAQ 2
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.
SAQ 3
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.
SAQ 3
What are the elements in a use case diagram?
- the actors, represented by stick figures
- the use cases, represented by ovals
- the relationships between actors and use cases – their associations – represented by lines.
p. 146
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.
SAQ 4
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.
SAQ 5
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 (see Figure 10). 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.
SAQ 6
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.
SAQ 6
What are ‘business processes’?
Business processes define what is done in a business, by whom, in what order, needing which resources, and with what consequences.
Are roles in business process models the same as actors in use cases?
Roles in business process models may not correspond directly to actors in use cases as although they interact with a business process they may not interact with a proposed system. Some roles may become irrelevant when introducing a new system or may not need to interact with the system.
SAQ 6