Chapter Exercises s
Questions
1. What is object-oriented analysis, and what are some advantages of this method?
Object-oriented analysis is a popular approach that sees a system from the viewpoint of the
objects them
...
Chapter Exercises s
Questions
1. What is object-oriented analysis, and what are some advantages of this method?
Object-oriented analysis is a popular approach that sees a system from the viewpoint of the
objects themselves as they function and interact with the system during the implementation
phase of the SDLC. Systems analysts and programmers transform the objects into program
code modules. A modular approach saves money and time, because the modules can be
optimized, tested, and reused as often as necessary. (Page 230)
2. Define an object, and provide three examples.
An object represents a real person, place, event, or transaction. For example, when a
patient makes an appointment to see a doctor, the patient is an object, the doctor is an
object, and the appointment itself is an object. (Page 230)
3. Define an attribute, and provide three examples.
Attributes are characteristics that describe the object. For example, if you own a vehicle, it
has attributes such as make, model, and color. (Page 230)
4. Define a method, and provide three examples.
A method defines specific tasks that an object can perform. Just as objects are similar to
nouns and attributes are similar to adjectives, methods resemble verbs that describe what
and how an object does something. For example, a student object can register for a course,
pay a tuition bill, and submit an assignment. (Page 230)
5. Define encapsulation, and explain how it is used in object-oriented analysis.
Encapsulation means that all data and methods are self-contained. By limiting access to
internal processes, an object prevents its internal code from being altered by another object
or process. Encapsulation allows objects to be used as modular components anywhere in
the system, because objects send and receive messages, but do not alter the internal
methods of other objects. (Page 236)
6. Define polymorphism, and provide three examples.
Polymorphism is the concept that a message can have different meanings to different
objects. For example the message GOOD NIGHT signals the PARENT object to read a
bedtime story, but the same message to the DOG object tells the dog to go to sleep. The
GOOD NIGHT message to the CHILD object signals it to get ready for bed. (Page 235)Systems Analysis and Design, Tenth Edition Page 2 of 43
7. Define a class, subclass, and superclass, and provide three examples of each.
A class is a group of similar objects. Subclasses are more specific categories within a class.
A superclass is a more general category into which a class falls. For example, a NOVEL
class belongs to a superclass called BOOK, because all novels are books. The NOVEL class
can have subclasses called HARDCOVER and PAPERBACK. Students be able to suggest
many more examples of this concept. (Pages 236 - 237)
8. Define an actor, and provide three examples.
An actor is an external entity that initiates a use case by requesting the system to perform a
function or process. For example, in a medical office system, a PATIENT (actor) can MAKE
AN APPOINTMENT (use case). In a library, a library patron member can borrow a book,
and in an auto shop, a mechanic actor can perform tasks. (Page 239)
9. Define a use case and a use case diagram, and prepare a sample of each.
A use case represents the steps in a specific business function or process. A use case
diagram is a visual summary of related use cases within a system or subsystem. One
example is an auto service department. The operation involves customers, service writers
who prepare work orders and invoices, and mechanics who perform the work.
Example of a use case diagram for an auto service department: (Page 239; 241)Systems Analysis and Design, Tenth Edition Page 3 of 43
10. Define the term black box, and explain why it is an important concept in object-oriented
analysis. Can you think of other black boxes that you use in everyday life?
An object can be viewed as a black box, because a message to the object triggers changes
within the object without specifying how the changes must be carried out. One advantage to
using a black box approach is that you do not need to think about how the object performs a
task, as long as it does so properly. (Page 235)
Discussion Topics
1. The chapter mentioned that systems analysts and programmers transform objects into
program code modules that can be optimized, tested, and reused. Modular design is a very
popular design concept in many industries. What other examples of modular design can you
suggest?
Examples might include the following: Car manufacturers that offer options that customers
can add or remove when they custom-order a vehicle; or computer vendors that allow
customers to pick and choose hardware and software options to build a customized
computer system.
2. You are an IT consultant, and you are asked to create a new system for a small real estate
brokerage firm. Your only experience is with traditional data and process modeling
techniques. This time, you decide to try an object-oriented approach. How will you begin?
How are the tasks different from traditional structured analysis?
After the initial research is completed, you would identify all possible actors and objects
and determine how they will interact with one another. Because this method integrates data
and processes into objects, it differs from structured analysis, which treats data and
processes as two separate concepts.
3. You are creating a system for a bowling alley to manage information about its leagues.
During the modeling process, you create a state transition diagram for an object called
LEAGUE BOWLERS. What are the possible states of a league bowler, and what happens to
a bowler who quits the league and rejoins the following season?
The possible states of a league bowler might include: Potential (signed up but has not been
sanctioned), Active (signed up, sanction fees paid), Suspended (Delinquent in dues), Former
(quit league or delinquent beyond reasonable limit).
4. A debate is raging at the IT consulting firm where you work. Some staff members believe
that it is harder for experienced analysts to learn object-modeling techniques, because the
analysts are accustomed to thinking about data and processes as separate entities. Others
believe that solid analytical skills are easily transferable and do not see a problem in
crossing over to the newer approach. What do you think, and why?
Some experienced analysts find it difficult to change their way of thinking; others grasp the
object-oriented approach easily. Many analysts recognize the current trend toward objectoriented analysis and design, but differ in their views about the value of object-oriented
methodology.
Projects
1. Search the Internet for information about the history and development of UML.
Students should have no difficulty locating this information. A recent search using the
phrase “History of UML” produced many results, several of which are shown in the
following screen:Systems Analysis and Design, Tenth Edition Page 4 of 43
2. Contact the IT staff at your school or at a local business to learn whether the organization
uses object-oriented programming languages. If so, determine what languages and versions
are used and why they were selected.
The results should be interesting. Many organizations use Visual Basic, C++, and Java. If
students cannot determine whether object-oriented languages are used, you might suggest
that they perform some research on the Internet to learn more about the growth and
popularity of various programming languages.
3. Search the Internet for information about groups and organizations that support and discuss
object-oriented methods and issues.
As in Project 1, students should have little difficulty in locating information by using
standard search techniques.
4. Search the Internet for information about CASE tools that provide UML support.
In Google and many other search engines, it is possible to base a search on more than one
phrase, or a phrase and one or more additional terms. For example, the following screen
shows the results of a Google sear
[Show More]