T4 - OO Analysis And Design Flashcards

1
Q

Explain what is the noun approach

A

Identifying candidate noun based on Relevant or fuzzy (possibly relevant) nouns
Deduction irrelevant nouns
Further analysis
Identify the final classes

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

Explain the common phrase approach

A

Building based on commonality between objects
Concept, event, organisation, people, places
Physical class, business class, logical class, application class, behavioural class

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

Explain the CRC approach

A
Classes Name
Responsibilities: Identifying class operations
Collaborators: Identify other classes that it needs to operate
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Explain what is Recursive Association

A

This class can reproduce more of the same class

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

Explain what defines a super class

A
All Subclass have similar concepts
Represents common attributes operation in each sub class
Represent common associations of sub classes
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Explain what defines a sub class

A

Inherit all subclass attribute and operation and more

Concept of Sub class
100% rule/ member: Must be 100% related to the super class
Kind of superclass rule: Payment is super and credit, check and cash are types of payments 

Coding differences/ defining a subclass
• Additional attributes
• Additional association
Handled differently and can behave differently

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

Discuss the different visibility

A
\+ (Public): Anyone can access 
- (Private): only the class can access 
# (Protected): Only operates within the class and children classes
~ (Package): everything in the package can access the variable
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Explain what defines low coupling

A

coupling is the degree of interdependence between software modules

Low dependency, this class does not effect that many other classes

Example of high coupling
Generalisation and aggregation (Class diagrams)
Low coupling
Dependency relationships

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

Explain what defines high cohesion

A

High cohesion means to keep similar and related things together, to couple or fuse parts which share content, functionality, reason or goal.

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

Describe the role of parameters and return values in exchanging messages or
operations.

A

Parameters (or arguments) are the types of data that an object requires to perform a
certain task
Parameters are predefined by the method
Once the method accepts the parameter the method processes the data and return a message

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

What is an enumeration?

A

An enum type is a special data type and are set of predefined constants.

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

Explain what is an association class

A

association class is association relationship between two other classes

it is described by additional attributes which does not belong to the objects involved in the association

the common attribute does not fit in either class. Instead it should be a association class

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