CH12 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 complext (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
Q

_______________ is the notation for a method, contains the information needed to invoke a method

A

Method Signature

23
Q

T/F: Methods cannot be private.

A

False, they can be private if invoked within the class like a subroutine.

24
Q

Class level method applies to class rather than objects of class (aka ______ method).

A

static

25
Q

Class level attribute applies to the class rather than an object (aka ______ attribute.)

A

static

26
Q

T/F: An abstract class can be instantiated.

A

False, a concrete class can be instantiated while an abstract class cannot.

27
Q

T/F: OO design is about assigning Responsibilities to Classes for how they Collaborate to accomplish a use case.

A

True.

28
Q

Designing with __________ is usually a manual process done in a brainstorming session.

A

CRC Cards

29
Q

In a CRC Card the front has _________ and _______, and the back has ________ needed.

A

responsibilities, collaborations, attributes.

30
Q

Name 4 fundamental design principles:

A
  • Separation of responsibilites
  • coupling
  • cohesion
  • protection from variations
  • indirection
31
Q

Name the fundamental design principle: _____________ segregates classes into packages or groups based on primary focus of the classes.

A

Separation of Responsibilities

32
Q

Separation of Responsibilities is applied to a group of ________.

A

classes

33
Q

Name the fundemental design principle: __________ is the basis for multi-layer design - view, domain, data.

A

Separation of Responsibilities

34
Q

T/F: Seperation of Responsibilites facilitates multi-tier computer configuration.

A

True.

35
Q

Separation of Responsibilites is also known as __________.

A

Separation of Concerns

36
Q

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.

A

Protection from Variations

37
Q

Name the fundamental design principle: _________ separates user interface forms and pages that are likely to change from application logic.

A

Protection from variations

38
Q

T/F: Protection from variations puts database connection and SQL logic that is likely to change in a separate classes from application logic.

A

True.

39
Q

Name the fundamental design principle: ____________ uses adaptor classes that are likely to change when interfacing with other systems.

A

Protection from Variations

40
Q

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.

A

Indirection

41
Q

A controller class between UI classes and problem domain classes is an example of the ___________ principle of fundamental design principles.

A

Indirection

42
Q

T/F: Indirection does not support high coupling.

A

False, it supports low coupling.

43
Q

T/F: Indirection is used to support security by directing messages to an intermediate class as in a firewall.

A

True.

44
Q

Name the fundamental design princples: __________ is a qualitative measure of how closely related classes are linked (tightly or loosely coupled.)

A

Coupling

45
Q

Two classes are (tightly/loosely) coupled of there are lots of associations with another class.

A

tightly

46
Q

T/F: Two classes are tightly coupled if there are lots of messages to another class.

A

True.

47
Q

It is best to have classes that are _________ coupled.

A

loosely

48
Q

Name the fundamental Design Principle: _________ is a quantitative measure of the focus or unity of purpose within a single class (high or low cohesiveness.)

A

Cohesion

49
Q

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.)

A

high

50
Q

T/F: One class has low cohesiveness if its responsibilities are broad or makeshift.

A

True.

51
Q

It is best to have classes that are _______ cohesive.

A

highly