Exam 2 Flashcards

1
Q

How do we indicate a Singleton instance in a class diagram?

A

With a ‘1’ in the upper right-hand corner

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

A sequence diagram describes

A

only the interactions between objects; it does not describe what happens inside of an object.

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

Which of the following statements about UML dependencies are true? (multiple answers)
A. A dependency represents a transient relationship between class objects.
B. When an object A creates another object B, a create dependency exists between the objects A and B.
C. A dependency in UML should always be implemented in Java by defining a reference as a class member.
D. If an object of class A is passed in as a parameter to a method defined in class B, then a dependency exists between class A and class B.
E. A solid line with an arrow at the one end is used to depict all types of dependencies.

A

A, B, D

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

A lifeline in a sequence diagram

A

represents an instance.

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

To handle the logic (e.g., looping) required for a sequence being modeled, we can use frames with appropriate operators (e.g., loop for looping), which is formally called “sequence diagram fragments.” Which one of the following statements about sequence diagram fragments is not true?
A. Fragments can be nested.
B. The alt fragment is used to show alternative interactions.
C. The par fragment is used to show groups of interactions that can occur in parallel.
D. A neg fragment describes interactions that are optional.
E. A fragment can span multiple lifelines.

A

D

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

Which one of the following is not true for an association?
A. A binary relationship between two classes must be represented by two separate associations.
B. A link between objects is an instance of an association between the object classes.
C. An association must have either a name or role names at its ends.
D. An association must have at least two ends.
E. An association must have multiplicities at both ends.

A

A.

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

Which one of the following is a true statement about synchronous messages?
A. When an object sends a synchronous message, it must wait for a response.
B. A synchronous message is one sent by two objects at the same time.
C. A synchronous message always starts with the letter s.
D. Synchronous messages must always have a guard condition.
E. A synchronous message is represented by a line with a half arrow head.

A

A

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

Which one of the following is not a true statement about subsystem design?

Note: While the architectural modeling is done to show static/dynamic relations among subsystems, the subsystem modeling shows the design of each subsystem.
A. A subsystem design describes only the signatures of operations in a subsystem’s interface.
B. A subsystem design describes the internal detail of a design.
C. A good subsystem design can commence after the subsystem interfaces are defined.
D. A subsystem design describes how a subsystem discharges of its responsibilities.
E. A subsystem design can consist of class diagrams and interaction diagrams that describe the inner workings of a subsystem.

A

A

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

What type of modeling are interaction diagrams used for?

A

Dynamic

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

Which of the following is not illustrated in UML class diagrams?
A. Classes
B. Interfaces
C. Dependencies
D. Associations
E. Lifelines

A

E

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

“Interaction diagram” in a design model is a generalization used to refer to more specialized UML diagram types. What are those types? (multiple answers)
A. System diagram
B. Sequence diagram
C. State diagram
D. Communication diagram
E. System sequence diagram
F. Use case diagram

A

B & D

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

Communication diagrams work well for which of the following?
A. UML as sketch
B. Formal modeling
C. Agile modeling environment
D. All of the above

A

D

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

True or false. It is not possible to nest frames in a frame within a sequence diagram.

A

False

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

How are asynchronous messages shown in sequence diagrams?
A. Filled arrow with solid line
B. Filled arrow with dashed line
C. Stick arrow with solid line
D. Stick arrow with dashed line
E. Dashed arrow with dashed line

A

C

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

When the class diagram notation is used for the purpose of representing a problem domain, what do we call it?
A. Domain class diagram
B. Design class diagram
C. Architectural class diagram
D. System class diagram
E. Deployment class diagram

A

A

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

Which one of the following are true statements about UML stereo types? Select all correct answers.
A. They are shown in curly braces (“{ }”).
B. ordered and disjoint are examples of stereotypes.
C. destroy and create (used on sequence diagrams) are examples of stereotypes.
D. A stereotype represents a refinement of an existing modeling concept.
E. A stereotype is defined within in a UML profile.
F. The UML does not allow any user-defined stereotypes.
G. The Object Management Group (OMG) provides many pre-defined stereotypes in the UML specification.

A

C, D, E, G

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

We show a strong aggregation (composition) with which type of arrow in association?

A

Solid Diamond Arrow

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

What is the acronym for UML’s formal specification language for constraints?

A

OCL (Object Constraint Language)

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

True or false. UML class diagrams support showing template classes that are typically known as templates or parameterized types in many programming languages.

A

True

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

With regard to the creator pattern, we should assign class B the responsibility of creating an instance of class A if which of the following conditions are true? (multiple answers)
A. B records A
B. B knows about A
C. B closely uses A
D. All of the above

A

A, C

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

Who are the four authors who wrote the “Bible” of design pattern books, often referred to as the “Gang-Of-Four” (GoF)?

A

Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

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

Which of the following statements about GRASP is correct? (multiple answers)
A. GRASP is a visual modeling tool just like UML
B. GRASP is a methodology for object-oriented design based on responsibility-driven design
C. GRASP consists of a collection of design patterns that help us think in terms of object-oriented design
D. GRASP is not well suited for visual modeling

A

B & C

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

Which of the following is true? (multiple answers)
A. If A uses B closely, then A is a creator of B. Levels of coupling could be considered in isolation from Expert.
C. A facade could be any concept which the designer chooses to represent the whole system or a subsystem.
D. An interface-as-controller design increases the opportunity to reuse logic in future applications.
E. A class which is partially responsible for interacting with relational databases has Low cohesion.

A

A & C

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

Which of the following is true?
A. In OO design, a pattern is a named and well-known problem which can be applied to new contexts.
B. The problem “Who creates object X” is a knowing responsibility.
C. The domain model illustrates software classes while the design model illustrates conceptual classes.
D. Controller pattern decides what first object after UI layer should receive the message from UI layer.

A

D

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

Which GRASP pattern could we use when we are concerned about change in the system and its impact?

A

High Cohesion & Low Coupling

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

When there are other design alternatives, the book suggests to take a look at what?
A. Coupling
B. Cohesion
C. Both
D. Neither

A

C

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

When talking about the GRASP Controller pattern the book mentions two types of controllers, what are they? (multiple answers)

A

Session Controller, Facade Controller

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

What does “RDD” stand for?

A

Responsibility-Driven Design

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

True of false? Patterns help to facilitate communication.

A

True

30
Q

In the Low Coupling example in textbook, which of the following is a true statement as a solution in assigning responsibilities? (multiple answers) (See Sec. 17.12)
A. We make Register call create on Payment so that the Sale class doesn’t have to
B. We remove the call to create() from Register to Payment and place that responsibility with Sale
C. Because Register no longer has to know about Payment and only about Sale, instead of both, we have decreased the coupling of our objects
D. None of the above

A

B & C

31
Q

A low cohesive object with many source lines of code probably collaborates with many other objects and all that interaction tends to also create high coupling.

A

True

32
Q

What is the best phrase that can fill the given blank? (see Sec. 18.1)

“A use case realization describes how a particular use case is realized within the Design Model, in terms of ____________.” (From the Rational Unified Process Product.)

A

The collaborating objects

33
Q

____ is the ability of one object to “see” or have a reference to another object.

A

Visibility

34
Q

Which of the following is a false statement?
A. An exit action in a state is performed just before the state is exited.
B. An entry action in a state is performed just after the state is entered.
C. Exit and entry actions of a state are performed when a self transition is made on the state.
D. Exit and entry actions of a state are performed when an internal transition is made on the state.
E. Entry and exit actions cannot have guard conditions.

A

D

35
Q

The following is an example of an event: after(license period). What type of event is this?

A

Time Event

36
Q

Which one of the following is true about a state model?
A. A guard condition on an exit activity is a Boolean expression that must be true for allowing the exit out of the state.
B. A do event is an on-going behavior that is performed as long as the modeled statement is in the state or until the computation specified by the expression is completed.
C. A group transition takes precedence when two or more transitions may have the same event triggers.
D. All transitions require an event trigger.
E. A self-transition bypasses entry and exit actions (if exist).

A

B

37
Q

Which one of the following is a false statement about active objects?
A. An active object has its own thread of control.
B. An active object starts carrying out its specified behavior as soon as it is created. It does not need to wait for another object to invoke its methods.
C. An active object cannot be terminated by another object.
D. An active object responds to messages sent by other objects only at specified points in its behavior.
E. An active object is not a passive object (a passive object is one that has to receive a message from another object before it can do anything).

A

C

38
Q

Which one of the following statements about a state machine event is true?
A. An event is an action.
B. An event is an activity.
C. An event has duration greater than 0.
D. An event can mark a significant occurrence at some point in time.
E. An event cannot occur when a state machine is in a state.

A

D

39
Q

Which one of the following is a false statement about run-to-completion semantics?
A. Events are handled one-at-a-time by a state machine.
B. When a state machine is handling an event it cannot be interrupted to handle another event sent to the state machine.
C. Events that come in while a state machine is handling an event are stored for future handling.
D. Incoming events can be stored in some prioritized order.
E. A high priority event received by a state machine interrupts the state machine when it is handling a low priority event and takes the event that is currently being processed from the pool.

A

E

40
Q

Which one of the following is true about a state model or statechart?
A. A state chart diagram shows method of execution on receipt of message and activities used in the method.
B. A state model cannot show any parallel view of two different aspects of an object.
C. A shallow history pseudo-state stores the most recent active configuration of the composite state that directly contains its pseudostate.
D. In a statechart, a transition cannot leave and return to the same state.

A

A

41
Q

Which of the following belongs to a static architectural model? (multiple answers)
A. Dependency relationships between subsystems and interfaces
B. Class diagrams describing the internal structure of a subsystem
C. Dynamic interactions between subsystems
D. Operations signatures in subsystem interfaces

A

A & D

42
Q

Which one of the following statements is true about architectural modeling? (multiple answers)
A. An architecture model shows subsystems and their interfaces.
B. All subsystems must have interfaces in an architectural model.
C. The static structure is described by a design class diagram consisting only of classes.
D. Each subsystem is charged with specific responsibilities. The responsibilities can be reflected in the interfaces.

A

A & D

43
Q

Which of the following is not what we can show using UML package diagrams?
A. Dynamic interactions between subsystems
B. The large-scale organization of the software classes into subsystems.
C. Logical architecture
D. Dependency relationships between subsystems

A

A

44
Q

What is the prime input for defining the logical architecture?

A

Supplementary Specification

45
Q

The logical architecture can show the large-scale organization of software classes into logical units. Which of the following is not considered as typical logical units to be shown in a logical architectural model?
A. Layers
B. Java packages
C. Subsystems
D. Packages

A

B

46
Q

What are “typical” layers in an OO system? (multiple answers. select all correct answers.)
A. User interface
B. Security subsystem
C. Domain objects
D. Technical services

A

A, C, & D

47
Q

Although Object-Oriented (OO) technology can be applied at all levels, many Object-Oriented Analysis/Design (OOA/D) approaches recommend us to focus on two layers the most among the six layers given in Common Layers in an information system logical architecture when learning OOA/D. Which are those two? (multiple answers)

A

Core Application Logic & Domain

48
Q

Using layers helps address several problems. Which of the following does it not address?
A. Source code changes are rippling throughout the system
B. There is not enough collaboration or coupling between parts
C. There is high coupling across different areas of concern
D. Application logic is intertwined with the user interface

A

B

49
Q

True or False. The responsibilities of the objects in a layer should be strongly related to each other and should not be mixed with responsibilities of other layers.

A

True

50
Q

Which of the following is an example of dynamic models in UML?
A. Class diagram
B. System sequence diagram
C. Use case diagram
D. None of the above

A

B

51
Q

True or False. Software architecture describes the overall components of an application and how they relate to each other.

A

True

52
Q

True or False. A data flow diagram can be depicted as processing elements accepting streams as input at any time and producing output streams.

A

False

53
Q

True or False. A batch sequential data flow is where processing elements are only given batches of data.

A

True

54
Q

True or False. The independent components architecture consists of components operating in parallel and communicating with each other from time to time.

A

True

55
Q

True or False. In a client-server architecture, the server component serves the needs of the client upon request. Client-server relationships have the advantage of high coupling between the participating components.

A

False

56
Q

True or False. A word processor, for example, waits for the user to click on an icon or menu item; this is an example of parallel system architecture.

A

False

57
Q

True or False. Since the choice of software architecture is so important, it is wise to choose only one and not invest in any alternatives.

A

False

58
Q

An architecture built primarily around data is called a:

A

Repository Architecture

59
Q

True or False. An architectural layer is a coherent collection of software artifacts, typically a package of classes. In its common form, a layer uses at most one other layer and is used by at most one other layer.

A

True

60
Q

The implementation of complete virtual machine architecture requires a(n):

A

Interpreter

61
Q

The Web Service Description Language is considered part of a:

A

Service Oriented Architecture

62
Q

An architecture which includes a presentation, application, and database layer is called:

A

three tiered architecture

63
Q

Repository architectures are built to perform transactions against:

A

a database

64
Q

When using repository architectures, it would be appropriate to obtain information from the database using:

A

SQL

65
Q

SOA architecture takes advantage of:

A

Facade Objects

66
Q

SOA is gaining in popularity. SOA stands for:

A

Service Oriented Architecture

67
Q

According to the authors of this chapter, which of the following does the acronym IDE stand for? (it is often used for “Integrated Development Environment” as well. )

A

Interactive Development Environment

68
Q

Typically, in a three-tiered architecture the middle layer can act as:

A

a common bus which brokers communication

69
Q

Rational Rhapsody and Rational Rose created by the IBM corporation are examples of a:

A

CASE tool

70
Q

Which of the following is true about client-server architecture?
A. A client-server architecture is characterized by several processes, or threads, executing at the same time
B. Client-server relationships in client-server architecture have the advantage of low coupling between the participating components.
C. An architecture built primarily around data is called client-server architecture. The most common of these are systems designed to perform transactions against a database
D. Client-server architecture treats an application as a program written in a special-purpose language.
E. none of the above

A

B

71
Q

Two forms of interaction diagrams.

A

Communication Diagrams & Sequence Diagrams