CH12 [in final] Flashcards

Object-Oriented Design

1
Q

________ is the process by which a set of detailed OO design models are built to be used for coding.

A

OO Design

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

T/F: Design models are created in parallel to actual Coding/implementation with agile SDLC.

A

F, iterative not agile

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

T/F: Agile approach says create models only if they are necessary.

A

True. Simple detailed aspects don’t need a design model before coding.

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

_________ it is the creation of an object in memory based on the template provided by the class.

A

Instantiation

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

_______ is the function executed within an object when invoked by a message request (method call).

A

Method

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

Name the design model of the following:

A

Sequence Diagram

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

Name the design model of the following:

A

Communication Diagram

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

Name the design model of the following:

A

Class-Responsibility-Collaboration (CRC)

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

_________ is the process to identify the classes, their methods and the messages required for a use case

A

Object-Oriented Design

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

A design that is carried out use case by use case is said to be _________ driven

A

Use Case

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

During an object-oriented design, __________ are used for simple use cases.

A

CRC Cards

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

During an object-oriented design, __________ are used for moderately complex (medium) use cases.

A

Communication Diagram

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

During an object-oriented design, __________ are used for complex use cases.

A

Sequence diagram

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

___________ is a way of categorizing a model element by its characteristics, indicated by guillemots (&laquo_space;»).

A

Stereotype

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

A _______________ is an class whose objects exist after a system is shut down (data remembered).

A

Persistent class

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

__________ is a design identifier for a problem domain class (usually persistent.)

A

Entity class

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

___________ is a class that exists on a system’s automation boundary, such as an input window form or Web page.

A

Boundary class or view class

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

_________ is a class that mediates between boundary classes and entity classes, acting as a switchboard between the view layer and domain layer.

A

Controller class

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

__________ is a class that is used to retrieve data from and send data to a database.

A

Data access class

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

«________» , «________», «________», and «________» are the design class stereotypes.

A

entity, controller, boundary, dataAccess

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

Describe the notation for a design class:

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

__________ —indicates (+ or -) whether an attribute can be accessed directly by another object.

A

Visibility

21
Q

T/F: Attribute visibillity is usually public (+).

A

False, private (-) not public (+)

21
Q

-startingJobCode: integer = 01
01 is the _________.

A

Default value

22
_______________ is the notation for a method, contains the information needed to invoke a method
Method Signature
23
T/F: Methods cannot be private.
False, they can be private if invoked within the class like a subroutine.
24
Class level method applies to class rather than objects of class (aka ______ method).
static
25
Class level attribute applies to the class rather than an object (aka ______ attribute.)
static
26
T/F: An abstract class can be instantiated.
False, a concrete class can be instantiated while an abstract class cannot.
27
T/F: OO design is about assigning Responsibilities to Classes for how they Collaborate to accomplish a use case.
True.
28
Designing with __________ is usually a manual process done in a brainstorming session.
CRC Cards
29
In a CRC Card the front has _________ and _______, and the back has ________ needed.
responsibilities, collaborations, attributes.
30
Name 4 fundamental design principles:
- Separation of responsibilites - coupling - cohesion - protection from variations - indirection
31
Name the fundamental design principle: _____________ segregates classes into packages or groups based on primary focus of the classes.
Separation of Responsibilities
32
Separation of Responsibilities is applied to a group of ________.
classes
33
Name the fundemental design principle: __________ is the basis for multi-layer design - view, domain, data.
Separation of Responsibilities
34
T/F: Seperation of Responsibilites facilitates multi-tier computer configuration.
True.
35
Separation of Responsibilites is also known as __________.
Separation of Concerns
36
Name the fundamental design principle: _________ is a design principle that states parts of a system unlikely to change are separated (protected) from those that will surely change.
Protection from Variations
37
Name the fundamental design principle: _________ separates user interface forms and pages that are likely to change from application logic.
Protection from variations
38
T/F: Protection from variations puts database connection and SQL logic that is likely to change in a separate classes from application logic.
True.
39
Name the fundamental design principle: ____________ uses adaptor classes that are likely to change when interfacing with other systems.
Protection from Variations
40
Name the fundamental Design Principles: _______________ is a design principle that states an intermediate class is placed between two classes to decouple them but still link them.
Indirection
41
A controller class between UI classes and problem domain classes is an example of the ___________ principle of fundamental design principles.
Indirection
42
T/F: Indirection does not support **high** coupling.
True, it supports low coupling.
43
T/F: Indirection is used to support security by directing messages to an intermediate class as in a firewall.
True.
44
Name the fundamental design princples: __________ is a qualitative measure of how closely related classes are linked (tightly or loosely coupled.)
Coupling
45
Two classes are (tightly/loosely) coupled of there are lots if associations with another class.
tightly
46
T/F: Two classes are tightly coupled if there are lots of messages to another class.
True.
47
It is best to have classes that are _________ coupled.
loosely
48
Name the fundamental Design Principle: _________ is a quantitative measure of the focus or unity of purpose within a single class (high or low cohesiveness.)
Cohesion
49
One class has (high/low) cohesiveness if all of its responsibilities are consistent and make sense for purpose of the class (a customer carries out responsibilities that naturally apply to customers.)
high
50
T/F: One class has low cohesiveness if its responsibilities are broad or makeshift.
True.
51
It is best to have classes that are _______ cohesive.
highly