How can conditions be represented in a sequence diagram?
(b2, p145)
How can multiple conditions originating from the same point be represented in a sequence diagram?
(b2, p146)
How can multiple message sends be represented in sequence diagrams?
(b2, p147)
How are optional operations represented in sequence diagrams?
(b2, p148)
How are if then operations represented in sequence diagrams?
(b2, p149)
How are loops represented in sequence diagrams?
(b2, p150)
How are preconditions checked when using defensive programming?
In defensive programming, the checking of the precondition is done by the operation itself (the receiver of the message).
(b2, p153)
How are preconditions checked when using DbC?
In DbC, the checking of the precondition is done by the caller of the operation (the sender of the message).
(b2, p153)
What are the three strategies that can be adopted for implementing use cases?
(b2, p155)
What is the main disadvantage of defensive programming?
The main disadvantage of defensive programming is that the same constraints within each precondition may be checked repeatedly in different operations.
(b2, p157)
What is a state machine?
A state machine is a model that shows how an object changes from state to state in response to events.
(b2, p161)
What are the six components of state machines?
(b2, p162-166)
Draw a state machine diagram for the following lending library scenario:
Newly purchased copies of a book are put on to the shelf for lending to the library’s members. Damaged copies are removed from stock. At certain times of the year, each library is allowed to select copies of books to go on sale to the public.
(b2, 166)
What is a self-transition, in relation to state diagrams?
Self-transitions originate in one state and return to the same state. They are commonly found in state machines that model loops or cycles.
(b2, p170)
What is a package, in terms of UML?
A package can be used to group model elements into a single unit. Packages may be nested.
(b2, p181)
Can UML packages interact with each other?
No. They do not have interfaces and cannot have instances, so cannot interact with each other.
(b2, p181)
What are the three main reasons for partitioning a software system?
(b2, p181)
How would you represent packages in a three-layered architecture approach?
(b2, p184)