Class Models Flashcards

1
Q

Class Models

A

A part of UML.

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

UML classes

A

Represented by a rectangle.

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

Class Model Objectives

A
  • Build as quickly and cheaply as possible a system which satisfies our current requirements.
  • Build a system which will be easy to maintain and adapt to future requirements.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Finding Classes

A

In order to find classes we rely on two different techniques:
- Data driven design
- Responsibility driven design

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

Data Driven Design

A

Identify all data of the system and divide it into classes. We then assign particular responsibilities to these classes.

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

Responsibility Driven Design

A

Identify all the responsibilities of the system and divide them into classes. We then find the data each class requires.

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

Association

A

Corresponds to verbs, and express relationships between classes.
Simple association is represented as an arrow between classes.

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

Multiplicity

A

Represents the type of relationships between classes, like a one to many relationship. For example, one student (class) can have many modules (class).

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

Attributes

A

Describe the data contained in an object of a class and their type.

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

Generalisation

A

UML way of saying inheritance.

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

CRC Cards

A

These contain:
- name of class at the top
- responsibilities of the class
- collaborators of the class
Limit responsibilities and collaborators to roughly two.

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

Types of association

A

Aggregation and composition.

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

Aggregation

A

Focuses on showing one to many relationships, and is more of a weak relationship, with the destruction of one not leading to the others destruction.
Represented with an open diamond.

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

Composition

A

Focuses on a strong relationship, with the destruction of the main class resulting in the destruction of the subclass.
Represented with a closed diamond.

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

Navigability

A

Shows which class is taking, or is taken by, the other class.

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

Qualified Associations

A

Provides finer details about associations.

17
Q

Derived Associations

A

Like if (A,B) and (B,C) then (A,C).
Essentially, associations which are derived from other associations.

18
Q

Constraints

A

Gives us conditions that must be satisfied by any correct implementation (like a XOR constraint).

19
Q

Association Classes

A

Another way of helping us define associations, and is simply enough an association and a class, with the class helping to define the details of the association.
The usefulness behind this is that the class can be reused.

20
Q

Interfaces

A

Can help us specify operations of some model element visible outside of out class.