Unit 3 SAQs Flashcards
SAQ 1 (a) 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.
SAQ 1 (b) Consider whether business rules can be modelled in UML; discuss the consequences in the light of the properties in your answer to (a).
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 2
(a) What causes a transition in an activity diagram?
A transition in an activity diagram is caused by the completion of an activity.
SAQ 2
(b) 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 3 (a) 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 (b) 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 4 (a) 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
(b) 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 5
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 6 (a) 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 (b) 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 (c) 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 7 (a) 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.
SAQ 7
(b) 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.
SAQ 8
How do use cases help with:
(a) requirements capture
Use cases help with requirements capture through 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.
SAQ 8
How do use cases help with:
(b) the elicitation of detailed software requirements
Detailed software requirements can be associated with each step in a use case scenario. There may be more than one requirement for each step.
SAQ 8
How do use cases help with:
(c) development
One of the difficulties that developers face is planning delivery times. Often a customer can put pressure on the developer to meet a particular deadline. It is part of the developer’s job to elicit from the users the use cases that have the highest priority and to indicate what
functionality in the software system can be met under such constraints. The use case descriptions help the developer to:
- understand the complexity of each use case
- determine which actors interact with each use case and to what extent
- establish which use cases carry the most risk
- estimate how long each use case is likely to take to
implement.
Understanding these aspects of the system can help developers plan the order in which the use cases should be developed, and provide an appropriate time frame. Several criteria – such as risk, coverage and criticality – can be used to help establish priorities of use cases.
SAQ 8
How do use cases help with:
(d) the system’s architecture
Use cases, as standalone chunks of system specification, dictate the sorts of functionality that need to be provided by the system and constitute an aid for identifying interfaces in an architecture. Use cases can also be grouped in terms of similar functionality, therefore
influencing the architecture of the system. Scenarios can be used to check how an architecture meets non-functional requirements, in particular those that can be affected by the architecture, such as security and safety requirements.
SAQ 8
How do use cases help with:
(e) system validation (checking that the system actually supports the functionality required by the users)?
One way to validate a system is to use the walk-through technique, checking the functionality related to each use case in turn. The walkthrough technique can also be used to elicit system tests where each use case is required to deal with a number of scenarios – a process
known as verification. For each software requirement generated from a step of a scenario, the fit criterion helps to devise the test.
SAQ 9
What is the purpose of identifying relationships between actors?
The purpose of identifying relationships between actors is to indicate generalisations and establish which use cases can be performed by which actors.
SAQ 10 (a) What is a stereotype in UML?
A stereotype is a way of attaching extra classifications to a model adding to its basic language. Stereotypes can be user defined – this is a way of extending UML.
SAQ 10 (b) What is the meaning of the «include» stereotype?
The «include» stereotype indicates a situation where a use case is reused. In Figure 13, the diagram illustrates the check reservation use case, which is used by two other use cases. The purpose is to demonstrate commonality between tasks so that reuse can be
achieved. The additional use case is included unconditionally in the original (base) use case.
SAQ 10 (c) What is the meaning of the «extend» stereotype?
The «extend» stereotype indicates a conditional extension to the original use case, known as alternative behaviour. This is used to illustrate a case where there are two or more significantly different scenarios, so that the main case and the additional subsidiary cases
are clearly differentiated. The main purpose of this classification is to separate out a special case. You should add a condition to each extension – with either a note or an extension point – to specify
when the variant behaviour will be included.
SAQ 10 (d) Is it necessary to place the «include» and «extend» stereotypes on all diagrams?
No, it is not necessary to place the «include» stereotype and the «extend» stereotype on all diagrams. In fact, in some situations they can cause confusion since they will not be understood by everyone.