Study your flashcards anywhere!

Download the official Cram app for free >

  • Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

How to study your flashcards.

Right/Left arrow keys: Navigate between flashcards.right arrow keyleft arrow key

Up/Down arrow keys: Flip the card between the front and back.down keyup key

H key: Show hint (3rd side).h key

A key: Read text to speech.a key

image

Play button

image

Play button

image

Progress

1/18

Click to flip

18 Cards in this Set

  • Front
  • Back

attributes

listed in a class diagram indicating which properties of the class are important, but no values are shown


- the middle part of the class box is used to record these attributes

associations

- connections that provide the glue to hold the classes together


- if the concepts are sufficiently important to exist in a structural model then any relationship between them should be modelled


- object models are useful for deciding what associations should be added to the class model

multiplicities

- represent how many objects are related to an other object


- 1 exactly 1


- 3..5 between 3 and 5, inclusive


- 1..* one or more


- 7,12,365 7,12and 365 and no other


- * same as 0..*


- by stating multiplicity at one end of an association you are saying how many instances of the class, at that end can be linked with a single instance of the class at the other end



association names and role names

- UML provides 2 mechanisms for naming associations:


- placing an association name in the middle of the association lines


- using role names

navigation expressions

- used for this kind if notation, in which you name an object or object attribute by starting at some objectand then hopping from that object to another, following a path


- they are naming conventions


- you start at one object and then use role names to identify the next object or attribute


jack.currentRoom.floor

several associations between a pair of classes

- there can be more than one association between any 2 classes


- you need to include them all


- associations representing relationships not implementations

recursive associations

associations between the class and itself

aggregation

- a type of association where there is a whole-part relationship between classes, in which case it would be possible to add, remove or replace one of the parts and still have a meaningful relationship


- they have to be free of cycle

composition

- the composed objects are part of the composing object


- if the composing object is deleted, all of the composed objects must be deleted too

navigability

- an arrowhead indicates that it is possible to reach one class from another following the direction of the arrow


- this way you restricting access to instances of the class at the end of the association where you placed the arrowhead


- if you put no arrowheads on the associations, navigability in both directions is assumed


- mainly used during implementation when to decide how to write the code

qualified associations

- a unique qualifier is represented at the far end of the association from the class that the qualifier is an attribute of


- they often replace an association having multiplicity of * with one having of either 1 or 0..1


- it tells you about the property of the concept that relates the classes at the ends of the asociation

association class

- it has properties of its own and it becomes a first-class citizen


- it also imposes a restriction that there can be at most one instance of the association class per pair of objects linked to the association

derived associations

- used to add an association to the model for understanding it, but the association is not necessary because other associations in the model can be combined to achieve the same navigation


- / simbol of derived attribution

generalisation

the generalised version of the class



specialisation

the specialised version of the class



substitutability

a more specialised element can be substituted (replaced) for a less specialised element in the same hierarchy

interfaces

- a set of operations that specify the service that the class provides


- the interface of the subclass always contains the interface of the superclass


- there are no mechanisms for removing operations


-however, subclasses can refine operations that are in a superclass

specialisation and subtitutability

- the substitutability test can indicate whether a use of specialisation is correct


- use specialisation only when an instance of a sublass is substitutable for an arbitrary (unrestrained) instance of a superclass