OCUP 2 UML CERTIFICATION GUIDE Flashcards

1
Q

What were the four original goals of UML?

A
  • To model systems (not just software) using object oriented concepts
  • Establish explicit coupling to conceptual as well as executable artifacts
  • Address issues of scale inherent in complex, mission-critical systems
  • Usable by humans as well as machines
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the (7) updated goals for UML?

A
  • Provide users with a ready-to-use, expressive visual modeling language to develop and exchange useful models
  • Furnish extensibility and specialization mechanisms to extend the core concepts
  • Support specifications that are independent of particular programming languages and development processes
  • Provide formal base for understanding the language
  • Encourage growth of object tools market
  • Support higher-level development concepts such as components, collaborations, frameworks and patterns
  • Integrate best practices
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

List (6) features that UML has incorporated to accommodate the updated goals

A
  • UML supports XMI (XML Metadata Interchange) that allows UML models to exchange models
  • Profile and stereotype capability -> tailor UML for own needs (eg SysML, SPEM, …)
  • Programming language independent
  • Formal metamodel to capture abstract syntax
  • Support higher-level organization concepts, incl collaborations, composite structures, hierarchical state machines and reuse, and components
  • UML tools galore
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the key purposes and corresponding types of modeling (“actions”) in UML?

A

Analysis: domain analysis, use case analysis, requirements analysis
Design: conceptualization, architecture, detailed design
Implementation: by hand, automatic code generation, simulation / execution, reverse engineering, round trip modeling, debugging
Communication: to humans, to other tools

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

What does Domain Analysis do?

A
  • Model things in real world; to understand how current or legacy system works; possibly: extract the essentials (-> new system)
  • Stakeholders review to check its faithfulness to current system -> terminology best matches current system
  • Real world (not software) -> Class diagram, State Machines diagram, possibly Sequence diagram
  • Simplicity and accuracy to facilitate communication
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What does Use Case Analysis do?

A

-> Purposes, needs of current and future users of the system (use user terminology)
- Use Case diagram (+ possibly supporting)
- Deliverable: Informal requirements

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

What does Requirements Analysis do?

A
  • Start from requirements or problem statement
  • Create mapping objects and behavior: noun-verbs
  • Class diagrams, State Machines diagrams, Activity diagrams
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What does Conceptualization do?

A
  • High-level design of how the system will work, incl major systems and subsystems, sometimes major architecture principles
  • Often: better estimate of cost & timing
  • All diagrams; light on the details
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What does Architecture do?

A
  • Modeling necessary to convey organization and associated principles of new system
  • Cover structure, behavior and other VIEWS of the system, tailored to particular audience, eg Security View, how to install, maintain, upgrade, …
  • All UML diagrams
  • Capture patterns of how elements interact with each other, such as client-server, peer-to-peer, layers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What does Detailed Design do?

A
  • Covers remaining details to specify the solution
  • Target group: developers
  • Typically: composite structure diagrams, communication diagrams, component diagrams, deployment diagrams
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What does by-hand generation (in Implementation) do?

A
  • Sufficient details to convey to programmer programming constructs that will be needed
  • Details maybe only need to be supplied once
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What does Automatic Code Generation do?

A
  • Detailed everywhere
  • Annotations to guide automatic tools to choose the right programming construct (eg containment, class; error handling approach)
  • Depending on programming language: avoid certain modeling constructs
  • Possibly: automatically generate databases and user interfaces
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What does Direct Simulation or Execution do?

A
  • Similar to Automatic Code Generation + more details + limitations on UML
  • Often needed: implementation of platform independent action language to specify details of required behavior
    PAL
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What does Reverse Engineering do?

A
  • Generate model from code
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What does Round-Trip Modeling do?

A
  • Model-a-little code-a-little
  • Model -> Code -> Model: synchronized
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What does Debugging do (in UML Implementation)?

A
  • Step through behavior diagrams while executing, simulating or round-trip modeling
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Explain the relation between diagram and model.

A

Diagram: a view on the model; can be used to create an element of the model
Model: repository of all the elements of the model; database following UML grammar
Delete diagrams -> model still exists
Multiple (or same) diagrams may contain same element of the model
Diagram: state and document purpose and audience for particular diagram (levels)

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

Which types of models mitigate which kinds of risks?

A
  • General: Not all team members have understanding of what needs to be done
  • Domain: Not all team members understand the domain we are going to model, the world in which the system will live
  • Use case: Team members don’t understand user needs; users afraid that their needs are not understood / captured
  • Conceptualization: Dev team and stakeholders don’t agree on where the system is going or how much it will cost
  • Specialty: Developers don’t have solutions for specific problems, eg safety, security, upgrades, …
  • Architecture: Dev team may choose inconsistent solutions to solve system wide problems
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What are the main principles of modeling?

A

Risk mitigation
Information hiding and simplicity
Whole-parts relationships
Classification and generalization

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

What are (2) techniques to specify whole-part relationships in a model?

A

Composition: strong; part can not exist without the whole; part can only be part of one whole at a time , eg engine-car
Aggregation: part can be part of many wholes, eg student-school

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

Explain classification, generalization and specialization

A

Classification:
Look at individuals and model class that abstracts out common properties of interest, eg books: title, author, publisher, …
Instance: individual book=instance; Instantiation: making a new instance of a class: instantiation
Generalization:
Make a common class for common features; eg: New class: borrowable objects (books & movies)
Specialization:
Make a specific version of a general class
All features of general class also available in specialized class (substitution)

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

List (4) techniques for information hiding and simplicity

A
  • Elide: omit details
  • Abstraction: see the forest through the trees
  • Information hiding
  • Encapsulation: details that you need to hide, but are dependent on each other are placed together; prevents changes to details to propagate
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What is the general structure of the UML 2.5 specification document?

A

4.1.2
Clauses 1-6: Introductory
Clauses 7-12: Structural topics
Clauses 13-17: Behaviour
Clauses 18-22: Supplemental modelling

Subclauses
Annexes

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

List the semantic areas of UML 2.5

A

See figure 4.1
Structural modelling: Common structure: Values, Classifiers, Packages
Behaviour modelling: Common behavior: Actions: State Machines, Activities, Interactions
Supplemental modelling: Use Cases, Deployments, Information flows

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

What is the similar structure of the language definition of clauses 7-20 in the UML 2.5 specification document?

A

4.2
Summary
Subclauses
Language elements identified:
• Classifier descriptions: model elements and their properties; generated from abstract syntax diagrams
• Association descriptions: relationships among elements and their multiplicities; generated from abstract syntax diagrams
• Constraints: In natural language and OCL (Object Constraints Language): express navigation within meta-object facility (MOF)-based languages (MOF = subset of UML structural model notation)

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

What is the common structure for the subclauses in the UML 2.5 specification document?

A

• Summary
• Abstract syntax: properties and relationships; independent of notation
• Semantics
• Surface syntax: standard visual syntax
o Visual notation
o Textual: In variant of Backus-Naur form (BNF)

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

What does OCL stand for?

A

Object Constraints Language

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

What does MOF stand for?

A

Meta-Object Facility

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

What is and does Abstract UML Syntax?

A

Defines the set of UML modelling concepts, their attributes and relationships, as well as rules for combining these concepts to construct UML models
Formal grammar for UML 2.5
Specified as a set of formal diagrams using MOF-language (meta-object facility)
Abstract: no need to change if notation changes

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

List the levels of metamodelling and what you can do in each level.

A

4.5
Real world layer: M-1 - Touch; investigate for properties
User objects layer: M0 - implement
Model layer: M1 - Model
MetaModel layer: M2 - Read the specification (for M1)
MetaMetamodel: M3 - Describe MOF elements

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

In metamodelling (layer) terms, how does modelling work?

A

4.5
Modelling: create M1 classes
Then: convert M1 classes to classes in the implementation (M0: user objects layer)
In M1 model: only show M0 elements as representative examples
Eg: Book object or instance specification

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

What is the notation for multiplicities in UML?

A

1: exactly one; mandatory participant
0..1: zero or one; optional participant
0..: zero or more participants

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

What are the two kinds of Diagrams in UML (top level)?

A

Structure diagrams
Behavior diagrams

34
Q

List the (7) Structure diagrams

A

Class diagram
Component diagram
Object diagram
Composite structure diagram
Deployment diagram
Package diagram
Profile diagram

35
Q

List the (7) Behavior diagrams + one abstract diagram under behaviour diagram

A

Activity diagram
Use case diagram
State machine diagram
Interaction diagram: (abstract)
Sequence diagram
Interaction overview diagram
Communication diagram
Timing diagram

36
Q

What is the difference between concrete and abstract classes? List the abstract classes.

A

Concrete classes: Can contain individual instances, individual elements; normal font
Abstract classes: Classes that can contain only other classes; Italic; Diagram, Structure Diagram, Behaviour Diagram, Interaction Diagram

37
Q

List the Structure Diagrams and what they depict

A

4.6.1
Class: elements or concepts of the system being modelled
Object: instance specifications (objects) of a class to illustrate example elements and their connections
Composite structure: how the classes are assembled internally from other elements
Component: deliverable elements in the working system and how they connect
Deployment: architecture of the system’s nodes or platforms and what runs or is installed on what
Package: How the model is partitioned and worked
Profile: Extensions and tailorings to UML for the current project

38
Q

List the Behaviour Diagrams and what they depict

A

4.6.2
Use Case: behavioral goals that users wish the system to achieve for them
State Machine: the history of the states and responses that an element goes through based on incoming events
Activity: process steps and behaviours showing control and object flow
Interaction diagram: interaction among participants (abstract!)
Sequence: a form of interaction diagram, showing the exchange of messages among participants and their reactions; emphasis on peer level interaction
Communication: a form of interaction diagram, showing the exchange of messages among participants and their reactions; emphasis on interaction in a composite structure or collaboration
Interaction overview: high-level overview of an interaction, combining sequence diagrams and activity diagrams notations; emphasis on showing control flow
Timing: a form of interaction diagram; emphasis on timing constraints

39
Q

Define Operations

A

6.1.2
Behaviours of a class
Relevant behaviours that an instance of a class can be asked to do, endure, initiate or that can be done to the instance (by people or other, active, classes)

40
Q

Write the (longest possible) notation for an operation
eg return book, cost involved

A

return(rdate: Date): Cost

41
Q

How do you refer to a member feature if there are many elements with the same named attribute (eg year)

A

<b>Book</b>.year <b>Video</b>.year

42
Q

What are static features + notation

A

By default: all features are instance scoped
IF you want to make a feature classifier-scoped, static, value defined once for class:
Notation: underlined
<u>numPatron: Integer</u> = 0
<u>incrementnumPatron()</u>

43
Q

What is a type?

A

6.2
Specifies a set of values that an element can have
Classes are also types

44
Q

What is the difference between class and DataType?

A

6.2.1
Both Types, but behave differently: IDENTITY
Eg:
Two identical books: still have their own inherent identity
dataTypes: identity resides in the value (eg two copyright years with same value are the same)

45
Q

What are enumerations?

A

6.2.3
Enumerations are finite-valued dataTypes.
Each possible value: user defined literal

46
Q

What are the possible visibilities of a feature + notation?

A

6.2.3
Public: + Member value/behaviour may be seen or invoked by anyone
Private: - Member accessible only from within an instance of the same class (all compartments)
Protected: # Private, but instances of a specialization of the class can also access
Package: tilde Private, but peer elements in the same package can also access

47
Q

What is a Modifier + examples + notation

A

6.3
An adornment to attributes or operations that changes some, usually minor, interpretation of the member.
- Derived Properties: /hasAdultPrivileges
- Default Value, for attributes or arguments/parameters: hasAdultPrivileges: Boolean = False; Borrow(date: Date, isRenew:Boolean=False): Date
- Protecting from change;
Attributes: {read only}
Operations: {query}
- Parameter Direction

48
Q

Wat are the four values a ParameterDirectionKind can have? SEE EXAMPLE

A

6.3.4
- In: Passed in by the caller
- Inout: Passed in by the caller and values (possibly different) are passed out by the behaviour. Operation may both use and change value of the parameter
- Out: Passed out by the behaviour. Any value set before the call is ignored; new value will be set on the way out
- Return: Passed as return value back to the caller

49
Q

List the literal values in UML.

A

6.4.1
Null: Null or empty; no value is supplied
String: “”; character set unspecified
Boolean: True or False – Default: False
Integer: Shown as an optionally signed sequence of decimal digits – Default 0
Natural: Unsigned integer
Unlimited Natural: Similar to Natural, but with “*” – Default 0
Decimal: Optionally signed integer with or without a decimal point
Real: A decimal literal optionally followed by “E”|“e” +/- Integer

50
Q

What is the difference between an object, an instance and an Instance Specification?

A

Object: lives in the real world (M-1) or in the implementation (M0)
Instance: same as object, emphasis on fact that there is a class or type (classifier) involved
Instance specification: model (diagram) element; normally designates an instance but can designate one of a set of instances
Notation: box with name department and optional slot compartment + optional constraints compartment – no operations or signals compartments; name underlined. Optional dependency (dashed arrow) between class and instance specification

51
Q

What is an opaque expression? + notation

A

Alternative for using literal: use OPAQUE EXPRESSION (language opaque to UML)
If necessary, specify language by {} preceding the opaque expression string

52
Q

How can the contents of a Package be shown (5)?

A

8.1.3
• Not, elided
• Graphically inside the Package body
• Listed textually inside the Package body
• Connected to the Package with lines starting with a (symbol) at the Package side (containment)
• In a diagram with the Package name in the diagram header.

53
Q

List the (4) collection types

A

Table 10.1
Set: not ordered, no duplicates (unique) {unordered, unique}
Ordered set: ordered, unique {ordered, unique}
Bag: not ordered, not unique {unordered, nonUnique} or {bag}
Sequence: ordered, not unique {sequence} or {ordened, nonUnique}

54
Q

What kind of properties (adornments) are different on role ends (associations) than for attributes? What kind of properties are the same?

A

10.2.1 (tables)
AggregationKind
Qualifiers (not on exam)
Multiplicity brackets: not on association
Default value: only on attribute

55
Q

List the visibility notations + description for Package members (and packages)

A

8.2.1 (exercise p 134-135)
+ Public: A member with public visibility is visible to all elements that can access the contents of the Package (or Namespace) that owns it
- Private: A member with private visibility is only visible inside the Package (or Namespace) that owns it
~ Package: A member with Package visibility is visible within the nearest enclosing Package (given that any intermediate owning elements have have proper visibility). Outside the nearest enclosing Package, a NamedElement marked as having Package visibility is not visible. Not allowed on Packages or Elements directly on Packages or Elements directly owned by Packages. Packages do not support generalization/ specialization.Owned by Packages.
# Protected: A member with protected visibility is visible to Elements that have a generalization relationship to the Namespace that owns it. Not allowed on Packages or Elements directly owned by Packages. Packages do not support generalization/specialization.

56
Q

What are (the) possible adornments on Use Case-Actor Associations?

A

Actor side:
<- Use Case contacts the Actor
Multiplicity >1: more than one Actor is required (eg tennis)
Multiplicity contains 0: The Use Case does not always require the Actor to participate
Use Case side:
-> Actor initiates Use Case
Multiplicity >1: Actor can start more than one of these Use Case (sequential or parallel)
When there is no multiplicity shown on the side of Use Case, we normally assume a 0…1

57
Q

What are Activities?

A

16.1.1
Behaviour depicted as a sequence of subordinated behaviours, either atomic ACTIONS, or further decomposable lower-level Activities. Connected by CONTROL FLOWS and OBJECT FLOWS

58
Q

What are the types of Activities (nodes)?

A

16.1.1
Activity node can be:
• Executable node such as Call to an operation (?), or Manipulation of object contents (?)
Executable nodes:
- Actions
- Lower-level Activities
• Control node (synchronization, decision, concurrency; also: start, end)

59
Q

What is the name for a label on a flow and what does it do?

A

16.1.1
Guards; when evaluated true, enable the flow in that direction

60
Q

What is a token?

A

16.1.2
Abstract indicator that the previous step has executed and gives permission to the next step to start executing

61
Q

What is the meaning of concurrently in UML?

A

16.1.3
Behaviours may overlap, no relative order defined, no synchronization

62
Q

What can Object flows convey (that Control flows do not convey)?

A

16.3
o Object Instances
o Data Values
o Physical Items

63
Q

What is a State? And which UML elements can be a State?

A

18.1
State: a condition that an Object or behaviour (such as a Use Case) can be in for more than a moment; a situation during which some invariant condition holds; class or behaviour may have states

64
Q

Describe what a State Machine is and does.

A

18.1
Possible path of states that an object can traverse
The history of the states and responses that an element goes through based on incoming events
Only one State Machine for a Class
All instances of a class share the same State Machine though each instance may be in its own State
Every run-time execution of a behaviour shares the behaviour’s state machine
There can be many ways for an instance to be destroyed, so there can be many final states
There can only be one initial state per State Machine
Usually, an object remains in a state until some event causes the object to change states
A namespace, enforcing unique names
Composite state: containing some number of substates; eg Teenager within Juvenile

65
Q

What does an event do in a State Machine Diagram? What elements can be events?

A

18.2.1
Event triggers the state change
Can be same as in Activity Diagram: signal arriving, operation being called, timer expiring

66
Q

What is a transition effect + what behaviours (?) can be transition effects?

A

18.2.4
Transition may have behaviour associated with it: transition effect or transition behaviour
May be: call to an operation, sending of a signal, execution of opaque code
Executes when the trigger fires before the next state is reached
Annotate on transition with “/” (prevents confusion between transition event and transition effect)

67
Q

What is a completion transition(event)?

A

18.2.6.1
A transition missing the triggering event; implied trigger (no event annotation on transition)
Event capable of triggering a transition without an explicit event on the transition.
Guardconditionandeffectmaystillappear

68
Q

What happens when behaviour finishes and object is still in the state?

A

18.2.6.2
issue completion event -> completion transition

69
Q

What are possible internal behaviours and how do they act?

A

18.2.7
• Entry/behaviour: when state is entered or re-entered, behaviour must be executed as first thing after any behaviour on the transition; eg initialize state attributes
• Do/behaviour:
o Starts after any entry/behaviour
o Finishes normally -> raise completion event
o Interrupting event may force it to stop
• Exit/behaviour: When state is exited for any reason, behaviour must be executed as last thing, before exit transition behaviour can start

70
Q

What are steps in a State Machine?

A

18.3.1
State Machine Step: Sequence of behaviours between wait points: alternation in transit / in state

71
Q

What is a Wait Point, and how does it work?

A

18.3.1
Each machine keeps processing until it reaches a WAIT POINT (machineeligible to accept new events)
Wait point: all processing completed except perhaps for do/behaviours
Wait point reached: event pool examined to see if there are events waiting for transition

72
Q

List (3) pseudostates.

A

18.3.2
Initial pseudostate
Junction pseudostate (static conditional branch)
Choice pseudostate (dynamic conditional branch)
cf book p 336

73
Q

What are the types of transition and how do they behave?

A

18.3.3
External transition: Leaves containing state and executes exit behaviour of containing state
Local transition: Leaves a substate, but does not execute exit behaviour of containing state; may execute exit behaviour of substate
Internal transition: does not leave any state, nor does it execute any exit behaviour

74
Q

What is an abstract operation? + notation

A

tiendrie
An operation with a defined argument list, but no implementation defined, that is, the mechanism for performing the operation’s work is not available. Notation: {} or italic

75
Q

What kinds of visibility are allowed and not allowed on Packages? (allowed on package members though ?)

A

Allowed:
+: element visible in same Namespace and in containing Namespace
-: A member with private visibility is only visible inside the Package (or Namespace) that owns it
# (protected visibility)and ~:Not allowed on Package or elements directly owned by Package

76
Q

What is a Model and a Modellibrary + notation?

A

Model: type of package; stereotype we can use to flag a package, eg if Package is completely in aspect Conceptualization; or modelling phase, …
Notation: <> + triangle in upper right
«MODELLIBRARY»: Stereotype that indicates that the majority of its contents are used by other Packages or models.

77
Q

Between which elements of UML can we have generalization / specialization?

A

Between classes and use cases + Actors! + DataTypes (CHECK)

78
Q

What is Polymorphism?

A

Same operation on different subclasses with different methods

79
Q

What can an event be?

A

Signal arriving, operation being called, timer expiring

80
Q

What is the difference between synchronous and asynchronous messages?

A

Synchronous: sender waits for a return; usually operation call; return: dashed arrow; appear in the operations compartment of the receiving class diagram
Asynchronous: sent without causing the sender to wait for a reply; usually signals, or asynchronous operation call; cannot have a return or output parameters; appear in the receptions part of the receiving class diagram

81
Q

In a Sequence Diagram, what is an Execution Specification?

A

Lifeline is executing some behaviour or is waiting for a lower-level behaviour to finish.
Notation: opaque square

82
Q

In Use Case Diagrams, what is a Subject?

A

the system that is offering the Use Case to the primary (initiating) Actor
eg: Library circulation system