OCUP 2 UML CERTIFICATION GUIDE Flashcards

(82 cards)

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
What is the similar structure of the language definition of clauses 7-20 in the UML 2.5 specification document?
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)
26
What is the common structure for the subclauses in the UML 2.5 specification document?
• 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)
27
What does OCL stand for?
Object Constraints Language
28
What does MOF stand for?
Meta-Object Facility
29
What is and does Abstract UML Syntax?
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
30
List the levels of metamodelling and what you can do in each level.
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
31
In metamodelling (layer) terms, how does modelling work?
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
32
What is the notation for multiplicities in UML?
1: exactly one; mandatory participant 0..1: zero or one; optional participant 0..: zero or more participants
33
What are the two kinds of Diagrams in UML (top level)?
Structure diagrams Behavior diagrams
34
List the (7) Structure diagrams
Class diagram Component diagram Object diagram Composite structure diagram Deployment diagram Package diagram Profile diagram
35
List the (7) Behavior diagrams + one abstract diagram under behaviour diagram
Activity diagram Use case diagram State machine diagram Interaction diagram: (abstract) Sequence diagram Interaction overview diagram Communication diagram Timing diagram
36
What is the difference between concrete and abstract classes? List the abstract classes.
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
List the Structure Diagrams and what they depict
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
List the Behaviour Diagrams and what they depict
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
Define Operations
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
Write the (longest possible) notation for an operation eg return book, cost involved
return(rdate: Date): Cost
41
How do you refer to a member feature if there are many elements with the same named attribute (eg year)
Book.year Video.year
42
What are static features + notation
By default: all features are instance scoped IF you want to make a feature classifier-scoped, static, value defined once for class: Notation: underlined numPatron: Integer = 0 incrementnumPatron()
43
What is a type?
6.2 Specifies a set of values that an element can have Classes are also types
44
What is the difference between class and DataType?
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
What are enumerations?
6.2.3 Enumerations are finite-valued dataTypes. Each possible value: user defined literal
46
What are the possible visibilities of a feature + notation?
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
What is a Modifier + examples + notation
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
Wat are the four values a ParameterDirectionKind can have? SEE EXAMPLE
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
List the literal values in UML.
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
What is the difference between an object, an instance and an Instance Specification?
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
What is an opaque expression? + notation
Alternative for using literal: use OPAQUE EXPRESSION (language opaque to UML) If necessary, specify language by {} preceding the opaque expression string
52
How can the contents of a Package be shown (5)?
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
List the (4) collection types
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
What kind of properties (adornments) are different on role ends (associations) than for attributes? What kind of properties are the same?
10.2.1 (tables) AggregationKind Qualifiers (not on exam) Multiplicity brackets: not on association Default value: only on attribute
55
List the visibility notations + description for Package members (and packages)
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
What are (the) possible adornments on Use Case-Actor Associations?
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
What are Activities?
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
What are the types of Activities (nodes)?
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
What is the name for a label on a flow and what does it do?
16.1.1 Guards; when evaluated true, enable the flow in that direction
60
What is a token?
16.1.2 Abstract indicator that the previous step has executed and gives permission to the next step to start executing
61
What is the meaning of concurrently in UML?
16.1.3 Behaviours may overlap, no relative order defined, no synchronization
62
What can Object flows convey (that Control flows do not convey)?
16.3 o Object Instances o Data Values o Physical Items
63
What is a State? And which UML elements can be a State?
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
Describe what a State Machine is and does.
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
What does an event do in a State Machine Diagram? What elements can be events?
18.2.1 Event triggers the state change Can be same as in Activity Diagram: signal arriving, operation being called, timer expiring
66
What is a transition effect + what behaviours (?) can be transition effects?
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
What is a completion transition(event)?
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
What happens when behaviour finishes and object is still in the state?
18.2.6.2 issue completion event -> completion transition
69
What are possible internal behaviours and how do they act?
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
What are steps in a State Machine?
18.3.1 State Machine Step: Sequence of behaviours between wait points: alternation in transit / in state
71
What is a Wait Point, and how does it work?
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
List (3) pseudostates.
18.3.2 Initial pseudostate Junction pseudostate (static conditional branch) Choice pseudostate (dynamic conditional branch) cf book p 336
73
What are the types of transition and how do they behave?
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
What is an abstract operation? + notation
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
What kinds of visibility are allowed and not allowed on Packages? (allowed on package members though ?)
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
What is a Model and a Modellibrary + notation?
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
Between which elements of UML can we have generalization / specialization?
Between classes and use cases + Actors! + DataTypes (CHECK)
78
What is Polymorphism?
Same operation on different subclasses with different methods
79
What can an event be?
Signal arriving, operation being called, timer expiring
80
What is the difference between synchronous and asynchronous messages?
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
In a Sequence Diagram, what is an Execution Specification?
Lifeline is executing some behaviour or is waiting for a lower-level behaviour to finish. Notation: opaque square
82
In Use Case Diagrams, what is a Subject?
the system that is offering the Use Case to the primary (initiating) Actor eg: Library circulation system