Chapter 3: SPE and the UML Flashcards
What is UML?
UML is a unified modified language or specifying, visualizing, constructing, and documenting the artifacts of software systems
What are UML Class diagrams?
Classes are composed of three components: a name, attributes and operations
What are Use Cases?
Use cases describe the behavior of the system or subsystem from the perspective of the user.
What does a use case diagram show?
- The set of use cases
- The actors that interact with use cases
- The relationships
What are critical use cases?
Use to identify the use cases that have the most effect on the performance of the system.
- Critical to operation of system
- Critical to the responsiveness felt by user
- Critical to risks posed by the system
What are scenarios?
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
What is a sequence diagram?
Sequence diagrams demonstrate the behavior of objects in a use case by describing the objects and the messages they pass.
What is the UML stereotype?
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 <>
What is a tagged value?
A tagged value allows you to indicate new properties for model elements.
Tagged value is a pair of values such as processorSpeed = 500MHz
What are constraints?
A constraint is a condition or restriction that defines additional model semantics.
Constraint is written in curly braces {}
What are stereotypes, tagged values and constraints used for?
To capture more information about the software execution environment
What is instance decomposition?
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
Benefits of instance decomposition?
- Elaborate the sequence diagram as learn more about the system
- Ensure the consistency with the scenario as it was originally described
What are references?
references allow for referring to other sequence diagrams
How does UML allow specification of time?
- Timing marks
- Time expressions
- Timing constraints
What are timing marks?
Denote the time at which a message or event occurs
e.x. message.sendTime() or message.recieveTime()
What are time expressions?
Evaluate to an absolute or relative value of time
e.x. after(500ms) or when(t=8:00)
What are time constraints?
Express a constraint based on the absolute or relative value of time
e.x. {a.recieveTime() - b.sendTime() < 10 sec}
What is the usefulness of time constraints in SPE?
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}
How are thread and processes modelled?
- A parallel process is denoted using the <>
2. A thread being executed with other threads is denoted using <>
What are coregions?
Co-region allow an exception to the total ordering of sequence diagrams whereby messages within the co-region are unordered
- Represented using horizontal dividers
What is parallel composition?
Indicates sections in sequence diagram that are executed in parallel.
Use the “par” clause in sequence diagram.
True or False: Modelling concurrency is important in the early design phases of system?
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.