Unit 3 Flashcards
What are the important properties that a representation of business rules should have?
The important properties are as follows:
Business rules should be represented separately from other models;
They should be easy to verify (possibly automatically) and validate;
They should be represented in a readable but structured language.
Consider whether business rules can be modelled in UML; discuss the consequences in the light of the properties in your answer to (a).
UML does not provide an explicit notation for business rules. As a consequence, it
does not:
Facilitate separate recording of the rules;
Facilitate their analysis, validation and change;
Facilitate their traceability from the business needs to the software solution.
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 independently (a ‘fork’), or when a number of tasks must finish before continuing (a ‘join’).
Figure 1 represents a particular way of making a cup of coffee. Suggest a reason
why the activity add coffee has been placed before the joining synchronisation bar
rather than immediately after the bar.
When the kettle is full and you are waiting for the water to boil, there is some ‘free’ time that you can use to add coffee to the cup. Placing the activity add coffee after the joining synchronisation bar rather than before it would mean that you would
have to wait to carry out the activity until the water had boiled, and the overall time taken for the task would be longer than that shown in Figure 1.
How does the partitioning of activities into swimlanes help us understand a set of activities?
Swimlanes group activities associated with different roles. Each swimlane shows who is responsible for which set of related activities.
Indicate one reason for modelling a workflow in an activity diagram.
Activity diagrams help to identify which role is responsible for which activities in a business process. An activity diagram can help identify the stages at which each role requires some interaction with the process. 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.
Name three aspects of software development where use case modelling can help.
Any three of the following: capturing and eliciting requirements; representing requirements; planning iterations of development; 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 without the need to
understand all of UML since the use case notation is relatively simple. This provides a mechanism that enables both developer and client to share a common understanding of the system, as long as the developer provides some text to demonstrate his or her understanding of the problem.
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 (see Figure 9). 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.
Suggest a guideline that will help you decide whether or not to include an interaction with an external system on your use case diagram.
Show interaction with an external system if the use case needs to communicate with the actors that represents the external system.
What is the relationship between a use case and a scenario? Give examples to illustrate your answer.
For each use case there is a set of possible scenarios. A scenario is an instance of a use case. A scenario describes a sequence of interactions between the system and some actors.
Here are two examples of scenarios. A member of a lending library wishes to borrow a book, and is allowed to do that as long as she has no outstanding loans. Another member wishes to borrow a book, but has exceeded his quota of the
number of books he is allowed to borrow. In each scenario, the member wishes to borrow a book, but both the circumstances and outcomes of events are different in each instance. So a use case includes a complex set of requirements that the system must meet in order to cope with every eventuality.
What is meant by a main success scenario?
The main success scenario shows the steps normally followed to achieve the stated goal of the use case. But there can be other scenarios for the same use case, each one having different outcomes depending upon circumstances.
How do use cases help with requirements capture?
Use cases help with requirements capture by assisting with the identification of actors and tasks in the system. For each actor, the set of use cases establishes what that actor requires from the software system. The association between an
actor and a use case is about communication. Therefore you should also establish what the software system derives from the actors.