Preview (3 of 10 pages)

Preview Extract

Chapter 13: System Modeling with the UML
1. Good models promote communication among technical and nontechnical workers while
ensuring good business solutions.
Answer: True
2. Good modeling techniques are only important as the size and complexity of systems
Answer: False
3. The UML is a programming language.
Answer: False
4. As with a hierarchy chart, you use the UML to create top-view diagrams of business
processes that let you hide details and focus on functionality.
Answer: True
5. The UML superstructure groups the diagram types into two broad categories: structure
diagrams and object diagrams.
Answer: False
6. An Object diagram often includes users, represented by stick figures, and use cases,
represented by ovals.
Answer: False
7. Child classes contain all the attributes of their parents and usually contain additional
attributes not found in the parent.
Answer: True
8. The flow of control follows only one path after a fork.
Answer: False
9. Because of its size and imprecision, the UML is relatively difficult to learn.
Answer: True
10. The UML is widely recognized and seldom criticized as a modeling standard.
Answer: False
1. The ____ allows you to envision systems with an object-oriented perspective, breaking a
system into subsystems, focusing on the big picture, and hiding the implementation details.

c. UML
d. XML
Answer: C
2. ____ is the process of creating an improved model of an existing system.
a. Reversing
b. Remodeling
c. Re-engineering
d. Reverse engineering
Answer: D
3. You can use the UML’s ____ to construct different kinds of software diagrams and model
different kinds of systems.
a. shapes
b. borders
c. connectors
d. characters
Answer: A
4. When you draw a flowchart or write pseudocode, your purpose is to illustrate the
individual steps in a(n) ____.
a. progression
b. method
c. action
d. process
Answer: D
5. ____ find class and object diagrams more useful because they help explain details of how
to build classes and objects into applications.
a. Users
b. Programmers
c. Customers
d. Managers
Answer: B
6. The ____ diagram shows how a business works from the perspective of those who actually
interact with the business.

a. case study
b. use case
c. business use
d. use scenario
Answer: B
7. An ____ variation is a use case variation that shows functions beyond those found in a base
a. external
b. enhanced
c. extend
d. evaluation
Answer: C
8. Each variation in the sequence of actions required in a use case is a ____.
a. scenario
b. construct
c. process
d. development
Answer: A
9. You use a(n) ____ variation when a case can be part of multiple use cases.
a. extend
b. generalization
c. enhance
d. include
Answer: D
10. You use a(n) ____ variation when a use case is less specific than others, and you want to
be able to substitute the more specific case for a general one.
a. include
b. generalization
c. extend
d. reference
Answer: B

11. When system developers omit parts of diagrams for clarity, they refer to the missing parts
as ____.
a. overridden
b. aggregated
c. elided
d. joined
Answer: C
12. You use a(n) ____ diagram to illustrate the names, attributes, and methods of a class or
set of classes.
a. class
b. use
c. data flow
d. entity relationship
Answer: A
13. A(n) ____ relationship describes the connection or link between objects.
a. generalized
b. association
c. whole-part
d. has-a
Answer: B
14. A(n) ____ relationship describes an association in which one or more classes make up the
parts of a larger whole class.
a. association
b. is-a
c. includes
d. whole-part
Answer: D
15. ____ diagrams are similar to class diagrams, but they model specific instances of classes.
a. Object
b. Profile
c. Activity

d. Behavior
Answer: A
16. You use a(n) ____ diagram to show the timing of events in a single use case.
a. activity
b. state machine
c. sequence
d. object
Answer: C
17. The horizontal axis of a sequence diagram represents ____.
a. objects
b. classes
c. methods
d. time
Answer: A
18. The vertical axis of a sequence diagram represents ____.
a. flow
b. objects
c. associations
d. time
Answer: D
19. A(n) ____ diagram emphasizes the organization of objects that participate in a system.
a. sequence
b. communication
c. object
d. state machine
Answer: B
20. Conventionally, activity diagrams use flowchart ____ symbols to describe actions and
solid dots to represent start and stop states.
a. init and end
b. open and close
c. start and end

d. start and stop
Answer: D
21. A ____ defines a branch in which all paths are followed simultaneously.
a. fork
b. break
c. loop
d. cycle
Answer: A
22. A ____ reunites the flow of control after a fork.
a. collector
b. connector
c. join
d. union
Answer: C
23. A ____ signal indicates that a specific amount of time should pass before an action starts.
a. wait
b. time
c. lock
d. merge
Answer: B
24. A ____ diagram contains icons that represent system hardware, such as printers and
a. hardware
b. deployment
c. component
d. system
Answer: B
25. In a UML diagram, any exceptions that might be thrown are listed next to shapes that
look like ____, which extend to the appropriate handler body node.
a. waves
b. pointers

c. arrows
d. lightning bolts
Answer: D
1. Large systems are easier to understand when you break them down into
Answer: subsystems
sub systems
2. A(n) ____________________ diagram makes it easier to see the order in which activities
Answer: sequence
3. A(n) ____________________ diagram shows the different statuses of a class or an object
at different points in time.
Answer: state machine
4. You use a(n) ____________________ diagram when you want to emphasize the files,
database tables, documents, and other components that a system’s software uses.
Answer: component
5. You use a(n) ____________________ diagram when you want to focus on a system’s
Answer: deployment
Match each term with a statement below.
1. The detailed specification of how all the parts of a system will be implemented and
coordinated a. behavior diagrams
2. Creating a model for an existing system b. profile diagrams
3. Emphasize the “things” in a system c. reverse engineering
4. Emphasize what happens in a system d. catch block
5. Emphasize the flow of control and data among the things in the system being modeled e.
6. Users represented by stick figures in use case diagrams f. system design
7. Show the flow of actions of a system, including branches that occur when decisions affect
the outcome g. try block

8. Used to extend a UML model for a particular domain or a particular platform h. activity
9. A protected node i. structure diagrams
10. A handler body node j. interaction diagrams
1. Answer: F
2. Answer: C
3. Answer: I
4. Answer: A
5. Answer: J
6. Answer: E
7. Answer: H
8. Answer: B
9. Answer: G
10. Answer: D
1. Briefly explain the UML.
Answer: The UML is a standard way to specify, construct, and document systems that use
object-oriented methods. The UML is a modeling language, not a programming language.
The systems you develop using the UML probably will be implemented later in objectoriented programming languages such as Java, C++, C#, or Visual Basic. As with flowcharts,
pseudocode, hierarchy charts, and class diagrams, the UML has its own notation that consists
of a set of specialized shapes and conventions. You can use the UML’s shapes to construct
different kinds of software diagrams and model different kinds of systems. Just as you can
use a flowchart or hierarchy chart to diagram real-life activities, organizational relationships,
or computer programs, you can also use the UML for many purposes, including modeling
business activities, organizational processes, or software systems.
2. Explain why UML diagrams are useful.
Answer: UML diagrams are useful as you begin designing business systems, when customers
who are not technically oriented must accurately communicate with the technical staff
members who will create the actual systems.
3. List five of the diagram types that are included in the structure diagram category.
Answer: Class diagrams
Object diagrams
Component diagrams
Composite structure diagrams

Package diagrams
Deployment diagrams
Profile diagrams
4. Describe object diagrams.
Answer: Object diagrams are similar to class diagrams, but they model specific instances of
classes. You use an object diagram to show a snapshot of an object at one point in time, so
you can more easily understand its relationship to other objects. Imagine looking at the
travelers in a major airport. If you try to watch them all at once, you see a flurry of activity;
but it is hard to understand all the tasks a traveler must accomplish, such as buying a ticket
and checking luggage. However, if you concentrate on one traveler and follow his or her
actions through the airport from arrival to takeoff , you get a clearer picture of the required
activities. An object diagram serves the same purpose; you concentrate on a specific instance
of a class to better understand how a class works.
5. Describe a sequence diagram.
Answer: You use a sequence diagram to show the timing of events in a single use case. A
sequence diagram makes it easier to see the order in which activities occur. The horizontal
axis (x-axis) of a sequence diagram represents objects, and the vertical axis (y-axis)
represents time. You create a sequence diagram by placing objects that are part of an activity
across the top of the diagram along the x-axis, starting at the left with the object or actor that
begins the action. Beneath each object on the x-axis, you place a vertical dashed line that
represents the period of time the object exists. Then, you use horizontal arrows to show how
the objects communicate with each other over time.
6. Describe a communication diagram.
Answer: A communication diagram emphasizes the organization of objects that participate in
a system. It is similar to a sequence diagram, except that it contains sequence numbers to
represent the precise order in which activities occur. Communication diagrams focus on
object roles instead of the times that messages are sent.
7. Discuss how to make sure your diagrams are clear.
Answer: To make sure that your diagrams are clear, you should use the correct symbol in
each UML diagram you create, just as you should use the correct symbol in each program
flowchart. However, if you create a flowchart and use a rectangle for an input or output
statement where a parallelogram is conventional, others will still understand your meaning.
Similarly, with UML diagrams, the exact shape you use is not nearly as important as the
sequence of events and relationships between objects.
8. Describe forks and joins.
Answer: A fork is similar to a decision; but whereas the flow of control follows only one path
after a decision, a fork defines a branch in which all paths are followed simultaneously or
concurrently. A join, as its name implies, reunites the flow of control after a fork. You
indicate forks and joins with thick straight lines.

9. Explain exception handling.
Answer: Exception handling is a set of the object-oriented techniques used to handle program
errors. When a segment of code might cause an error, you can place that code in a try block.
If the error occurs, an object called an exception is thrown, or sent, to a catch block where
appropriate action can be taken. For example, depending on the application, a catch block
might display a message, assign a default value to a field, or prompt the user for direction.
10. List and describe three criticisms of the UML.
Answer: Size—The UML is often criticized as being too large and complex. Many of the
diagrams are infrequently used, and some critics claim several are redundant.
Imprecision—The UML is a combination of rules and English. In particular, problems occur
when the diagrams are applied to tasks other than those implemented in object-oriented
programming languages.
Complexity—Because of its size and imprecision, the UML is relatively difficult to learn.

Test Bank for Programming Logic and Design
Joyce Farrell
9781111969752, 9788131525906, 9781111825959

Document Details

Related Documents


Send listing report


You already reported this listing

The report is private and won't be shared with the owner


Send Message


My favorites


Application Form

Notifications visibility rotate_right Clear all Close close