deck_15618608 Flashcards

(65 cards)

1
Q

What do interaction diagrams do? What four things do they show?

A

describe how objects interact to realise use case scenarios

  1. interactions of a system with its environment
  2. interaction between system parts in order to show how a specific use case can be implemented
  3. interprocess communication
  4. communication at class level
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What does an interaction do?

A

specifies how messages and data are exchanged between interaction partners

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are some examples of interactions?

A

can be conversations between people, message exchange between humans and a software system, communication protocols, sequences of method calls in a program, etc

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Four Types of Interaction Diagrams

A
  1. Sequence Diagram - chronological order on the vertical axis and interaction partners on horizontal axis
  2. Communication Diagram - focuses on who communicates with whom, does not have a separate time dimension, message order via decimal classification
  3. Timing Diagram - shows state changes of interaction partners that result from occurence of events; chronological order on horizontal axis and interaction partners with their states on vertical
  4. Interaction Overview Diagram:
    - allows to place various interaction diagrams in a logical order
    - basic notation concepts of activity diagram
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are interaction partners? How are they represented in sequence diagrams?

A

The entities interacting with one another in a system.

depicted as rectangles at the top of the horizontal dashed lines (at the head of the “lifelines”)

the rectangle contains the expression roleName:Class

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are roles for interaction partners?

A

a more general concept than objects, as an object can take on different roles over its lifetime

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How is object creation represented?

A

represented by a dashed arrow where the arrowhead points to the head of the lifeline of the object to be created

the dashed arrow contains the keyword new

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How is object destruction represented?

A

a large cross at the end of a lifeline

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

How does message exchange take place in a sequence diagram?

A
  • message is sent via a send event andreceived via a receive event
  • execution specification is a continuous bar used to visualise when an interaction partner executes some behaviour
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

If if you have two messages a and c which occur on the same lifeline, with a being above c, what are the possible traces?

A

Only one trace, a then c.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

If you have two messages a and c which occur on different lifelines that do not exchange messages, with a being above c, what are the possible traces?

A

Two traces:
a then c
c then a

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

If you have three messages a, b and c which occur on different lifelines that do exchange messages, with a being above b and b being above c, what are the possible traces?

A

Only one trace:
a then b then c

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is a synchronous message?

A
  • a message where the sender waits until it has received a response message before continuing
  • represented by a solid line with a filled black arrowhead
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is an asynchronous message?

A
  • a message where the seonder continuous without waiting for a response message
  • represented by a solid line with an arrow at its head (but not an arrowhead)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is a response message?

A
  • a message that arises as a response to the sending of another message
  • represented by a dashed line with an arrow at its head (not an arrowhead)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is a found message?

A

One where the sender of the message is unknown or not relevant.

Represented as a normal message but with a black filled circle on the sending side rather than a lifeline

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What is a lost message?

A

A lost message is one where the receiver of a message is unknown or not relevant.

Represented as a normal message but with a black filled circle on the receiving side rather than a lifeline

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What is a time-consuming message?

A

A message with a duration, i.e., a message that expresses that time elapses between the sending and receipt of the message.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What is the alt combined fragment?

A

a combined fragment used to model alternative sequences

guards (in squared brackets) are used to select the one path to be executed

guards must be disjoint

there are multiple operands

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What is the opt combined fragment?

A

a combined fragment used to model an optional sequence

actual execution is dependent on the guard

exactly one operand

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What is the loop combined fragment?

A

expresses a sequence that is to be executed repeatedly

exactly one operand

next to keyword loop there is a parenthesis (min,max) specifying the minimal/maximal nr of operation

guard is evaluated as soon as the minimum nr of iterations has taken palce and checked for each iteration until the maximum is reached

if guard evaluates to false, looping stops

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

What is the break combined fragment?

A

form of exception handling consisting of exactly one operand with a guard

if guard is true, interactions within operand are executed and remaining operations of surrounding fragment are ommitted

instead, interaction continuous in the next higher level fragment

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What is the seq order combined fragment?

A
  1. The ordering of events within each of the operands is maintained in the result.
  2. Events on different lifelines from different operands may come in any order.
  3. Events on the same lifeline from different operands are ordered such that an event of the first operand comes before that of the second operand.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

What is the strict order combined fragment?

A

The order of event occurences on different lifelines between different operands is significant.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
What is the par order combined fragment?
order of elements in different operands is irrelevant order of elements in the same operand is relevant
26
What is coregion?
A way of creating an area where the order of event occurences is not restricted area of the lifeline to be covered by the coregion is marked by square brackets rotated by 90 degrees
27
What is the critical combined fragment?
Represents an atomic area in the interaction, with one operand. Makes sure that certain parts of an interaction are not interrupted by unexpected events. Within critical area, the seq default order applies.
28
What is the ignore combined fragment?
Used to indicate irrelevant messages one operand operand may contain multiple messages, but irrelevant ones are mentioned in curly brackets after "ignore", e.g., ignore {status} where status is one of multiple messages in operand
29
What is the consider combined fragment?
Used to specify those messages that are of particular importance for the interaction under consideration Exactly one operand Considered messages in curly brackets after keyword consider
30
What is the assert combined fragment?
Used to identify certain modelled traces as mandatory If the sequence within assert does not take place exactly as specified, an error occurs involves exactly one operand
31
What is the neg combined fragment?
Used to model invalid interactions, describing situations that must not occur an error is thrown if the sequence in the neg statement occurs involves exactly one operand
32
Steps involed in Building Sequence Diagrams
1. Set context 2. Identify participants that should interact to realise the use-case scenarios 3. Set lifeline for each participant 4. Add messages by drawing arrows, ordering messages from left to right, top to bottom, and showing how they are passed from one object to another 5. Add activations to each participant's lifeline 6. Validate the sequence diagram.
33
What is an interaction reference?
the integration of one sequence diagram in another sequence diagram
34
How is an interaction reference carried out?
Within another sequence diagram, add a rectangle with ref in the top left corner and the name of the integrated diagram in the center of the rectangle
35
What is a gate in the context of sequence diagrams?
allows the sending of message in between different sequence diagrams is denoted by arrows pointing towards the edge of sequence diagram tables or from the edges (depending on whether the message is being sent or received)
36
What is a continuation marker?
A large rounded rectangle that allows control to be passed to another part of a sequence diagram works only inside alt combined fragments
37
Can sequence diagrams have parameters and local attributes? If so, how are they represented
Parameters: sd func(int par1, int par2) Local attributes: x: int = 0 y:String = "Test"
38
Three Types of Time Constraints for Sequence Diagrams
1. Relative: e.g., after(5sec) 2. Absolute: e.g., {at(12:00)} 3. Time period between two events: e.g.,: {lower...upper} {max. 2h}
39
What are state invariants in sequence diagrams?
Assertions that a certain condition must be fullfiled at a certain point in time Always assigned to a specific lifeline Evaluation before subsequent event occcurs If state invariant untrue, model/implementation is incorrect
40
What is validation when speaking about sequence diagrams?
refers to the consistency of a sequence diagram with class and use case diagrams
41
What is an activity?
the specification of user-defined behaviour at different levels of granularity
42
How is an activity represented in Activity Diagrams?
a directed graph where the nodes are actions and activities and the edges are for control and object flow also can optionally contain parameters, preconditions, and postconditions
43
What is an action?
an atomic, basic element used to specify user-defined behaviour can be described in natural or programming language
44
Two Types of Edges in Activity Diagrams
1. Control flow edges: - define the order between nodes - illustrated as normal arrowed lines 2. Object flow edges: - used to exchange data or objecfcts - express a data/causal dependency between nodes - illustrated as arrow lines with half squares on each side
45
Guards for Edges in Activity Diagrams
checked before control and object flow continue
46
Types of Actions
1. Event-based actions 2. Call behaviour actions
47
What are the three types of event-based actions?
1. Signal actions: - used to send signals - e.g., send grade - denoted by an arrow-like shape 2. Event actions: - used to accept events - e.g., fire alarm sounds - denoted by a bookmark type shape 3. Time Event Actions: - used to accept time events - e.g., semester ends - denoted by an hourglass type shape
48
What are call behaviour actions?
actions that call an activity illustrated by a rounded rectangle where the name of the called activity is the name of the call behaviour action there is also a small fork in the bottom right corner
49
What is an initial node in an activity diagram and how is it represented?
- the node that starts the execuction of an activity, provides tokens (control flow) at all outgoing edges - keeps tokens until successive nodes accept them - multiple initial nodes can be used to model concurrency - represented by a black, filled circle
50
What is an activity final node and how is it represented?
- a node that ends all flows of an activity - first token that reaches it terminates the entire activity - leads to the deletion of other control and object tokens - represented by a white circle with a subcircle that is black and filled
51
What is the flow final node in activity diagram?
a node that ends only one execution path of an activity all other tokens of the activity remain unaffected represented by an unfilled circle with an X in the middle
52
What is a decision node in an activity diagram?
helpful in defining alternative branches, like a switch point for tokens edges outgoing from decision node have guards, with the token taking exactly one branch (guards mutually exclusive) decision behaviour specifies the behaviour that is necessary for the evaluation of the guards represented by a slight inverted square
53
What is a merge node in an activity diagram?
used to bring alternative subpaths together passes the token to the next node same representation as decision node
54
What is a parallelisation node in an activity diagram?
a node used to split paths into concurrent subpaths duplicates token for all outgoing edges
55
What is a synchronisation node in an activity diagram?
a node used to merge concurrent subpaths waits until tokens are present at all incoming edges and merges all control tokens into one token
56
What is a connector in an activity diagram?
a notation used to connect two actions / activities that are very far away from one another in the diagram first action sends a line to a circle with a letter in it anywhere in the graph second actions gets a line sent to it from a circle with the same letter at a different place in the graph (close to it)
57
What is a token in an an activity diagram?
a virtual coordination mechanism that describes execution exactly if an action receives token, it can be executed when an action has completed, it passes token to a subsequent action and the execution of this action is triggered guards can prevent passing of token, meaning that tokens are stored in the previous node Control token: execution permission for a node Object token: transport data + execution permission
58
What is an object node in an activity diagram?
a node containing object tokens represents the exchange of data/tokens can include optional information of type and state it is a rectangular node without rounded edges which describes the object name, the type of the object name, and the state format: objectName:type [state]
59
Notation of object nodes as parameters
1. For activities: - square object nodes using described format, one on left of activity and one on right. - left one is the input, right one is the output 2. For actions: - small half squares on either side of the edge, with the previously mentioned description above the small half squares (objectName:type [state])
60
What is a central buffer in an activity diagram?
- a square node with the notation <> above - used for saving and passing on object tokens (temporary memory) - accepts incoming object tokens from object nodes and passes them onto other object nodes - object tokens deleted when they are read from the central buffer
61
What is a data store in an activity diagram?
- represented by a square node with the notation <> above it - used for saving and passing on object tokens (permanent memory) - saves object tokens permanently, passes copies to other nodes
62
What is the weight of an edge in an activity diagram?
the minimal number of tokens that must be present for an action to be executed can make use of all or * default is 1
63
What are partitions in activity diagrams?
allow the grouping of nodes and edges of an activity due to responsibilities, which reflect organisational units or roles makes the diagram more structured but does not change the execution semantics
64
What is exception handling in activity diagrams?
uses predefined exceptions to define how the system has to react in a specific error situation the exception handler replaces the action where the error occured
65
What is an interruptible activity region?
a group of actions whose execution is to be terminated immeditately if a specific event occurs in that case, some other behaviour is executed there is no jumping back to regular execution denoted by a dashed square surrounding some actions, an event action representing the occurence of the error, and then an error handling action/activity