Chapter 3: SPE and the UML Flashcards

1
Q

What is UML?

A

UML is a unified modified language or specifying, visualizing, constructing, and documenting the artifacts of software systems

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

What are UML Class diagrams?

A

Classes are composed of three components: a name, attributes and operations

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

What are Use Cases?

A

Use cases describe the behavior of the system or subsystem from the perspective of the user.

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

What does a use case diagram show?

A
  • The set of use cases
  • The actors that interact with use cases
  • The relationships
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are critical use cases?

A

Use to identify the use cases that have the most effect on the performance of the system.

  1. Critical to operation of system
  2. Critical to the responsiveness felt by user
  3. Critical to risks posed by the system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are scenarios?

A

A scenario is an instance of a use case.

Scenario shows

  • Objects that participate
  • Messages that flow between the objects.

Often showed through sequence diagrams

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

What is a sequence diagram?

A

Sequence diagrams demonstrate the behavior of objects in a use case by describing the objects and the messages they pass.

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

What is the UML stereotype?

A

A stereotype allows you to create new model elements.

  • Derived from existing UML elements
  • Specific to a problem domain

Stereotype is created using <> such as <>

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

What is a tagged value?

A

A tagged value allows you to indicate new properties for model elements.

Tagged value is a pair of values such as processorSpeed = 500MHz

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

What are constraints?

A

A constraint is a condition or restriction that defines additional model semantics.

Constraint is written in curly braces {}

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

What are stereotypes, tagged values and constraints used for?

A

To capture more information about the software execution environment

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

What is instance decomposition?

A

Allows expansion of a high-level sequence diagram to
show lower-level interactions

  • To be meaningful the order of the messages on the decomposed instance must be preserved
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Benefits of instance decomposition?

A
  • Elaborate the sequence diagram as learn more about the system
  • Ensure the consistency with the scenario as it was originally described
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are references?

A

references allow for referring to other sequence diagrams

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

How does UML allow specification of time?

A
  1. Timing marks
  2. Time expressions
  3. Timing constraints
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are timing marks?

A

Denote the time at which a message or event occurs

e.x. message.sendTime() or message.recieveTime()

17
Q

What are time expressions?

A

Evaluate to an absolute or relative value of time

e.x. after(500ms) or when(t=8:00)

18
Q

What are time constraints?

A

Express a constraint based on the absolute or relative value of time

e.x. {a.recieveTime() - b.sendTime() < 10 sec}

19
Q

What is the usefulness of time constraints in SPE?

A

Use time expressions that are meaningful from a performance perspective, such as responseTime() to specifiy performance objectives e.x.

responseTime{j.recieveTime() - i.sendTime() < 5s}

20
Q

How are thread and processes modelled?

A
  1. A parallel process is denoted using the <>

2. A thread being executed with other threads is denoted using <>

21
Q

What are coregions?

A

Co-region allow an exception to the total ordering of sequence diagrams whereby messages within the co-region are unordered

  • Represented using horizontal dividers
22
Q

What is parallel composition?

A

Indicates sections in sequence diagram that are executed in parallel.

Use the “par” clause in sequence diagram.

23
Q

True or False: Modelling concurrency is important in the early design phases of system?

A

False, important at the last stages of SPE. Early SPE focuses on models without contention.

Concurrency and synchronization can be looked at a later stage.