Professional Documents
Culture Documents
Systems Analysis and Design 10Th Edition Kendall Solutions Manual Full Chapter PDF
Systems Analysis and Design 10Th Edition Kendall Solutions Manual Full Chapter PDF
Chapter 10
Object-Oriented Systems Analysis and
Design Using UML
Key Points and Objectives
1. Object-oriented systems describe entities as objects.
2. Objects are generalized into classes, which describe a specific object in terms of its similarities
and differences from members of its own class.
4. A method is an action that can be requested from any object of the class.
6. Class, responsibilities, and collaborators (C RC) cards are used to represent the responsibilities of
classes and the interaction between the classes. Analysts create C RC cards:
7. The Unified Modeling Language (UML) is a notation for modeling object oriented systems.
10. A use case model shows what the system does without describing how the system does it.
A. Review the business specifications and identify the actors within the problem domain
B. Identify the high-level events and develop the primary use cases that describe the events
and how actors initiate them
C. Review each primary use case to determine possible variations of flow through the use
case
D. Develop the use case documents for all primary use cases and all important use case
scenarios
14. An activity diagram is created for one use case and shows the different possible scenarios.
Activity diagrams include:
15. Activity diagrams are useful for viewing the overall activities of a use case and for dividing the
project into various team members.
17. Activity diagrams are not used for all use cases. Use an activity diagram when:
18. Activity diagrams may have states and events described in the repository.
19. A message queue is an example of middleware used to transfer data between a server and
mainframe.
20. Sequence diagrams illustrate a succession of interactions between either classes or objects over
time. Sequence diagrams:
21. The rules for creating sequence diagrams are that all interface classes must be connected to a
control class, and all entity classes must be connected to a control class as well.
24. Communication (called collaboration in UML 1.0) diagrams show how two or more things
perform a behavior that an individual thing cannot do alone. They show the same information as a
sequence diagram, but use numbers to indicate the order of the activities.
25. Class diagrams show classes and the relationships between classes.
27. Method overloading is when a method may be defined more than once in a class, and used
differently. The number of parameters or the type of parameter must be different.
29. Each type of class has a special symbol, called a stereotype, and extension to the UML.
30. Data may be stored and retransmitted between Web pages using one of three methods:
31. Relationships are associations between classes. There are several types of relationships:
A. Associations, showing the connection between classes. Multiplicity refers to the type of
association, such as one to many or many to many.
B. Whole/part relationships, where one class represents the whole and other classes
represent parts contained in the whole.
C. Aggregation, which is a weaker form of a whole/part relationship. The whole may be
removed but the parts still exist.
D. Collection is a weak whole/part relationship, where the whole retains its identity if the
parts change.
E. Composition, a strong whole/part relationship where the parts are removed if the whole is
removed.
32. Generalization/specialization (gen/spec) diagrams show the relationship where a general class has
specialized subclasses.
33. Inheritance is when a specialized class inherits attributes and methods from the general class.
34. Polymorphism or method overriding, is when a specialized class (or subclass) changes or
overrides a method inherited from the general class (or superclass).
35. Abstract classes are general classes or superclasses, and may not have any direct objects
themselves. Only the specialized classes may create new objects.
37. Statechart (or state transition) diagrams show the different states that an object may exist in and
the events that cause an object to transition to a different state.
38. A deferred event is one that is held until an object changes to a state that can handle the event.
A. Signals or asynchronous messages, where the calling program does not wait for a
returning message.
B. Synchronous messages, where the calling program waits for a returning message.
C. Temporal events, which occur at a predestined time.
Analysis…
This seems to be a case where several seemingly dissimilar objects, such as monorail trains and
warehouse robots, actually share common attributes and behaviors. This is an ideal setting for object
reuse.
Problem definition…
Object reuse, of course, depends on the nature of the original objects. For example, if the monorail and
the mailroom objects have been designed and developed without object-oriented design techniques and
languages, it will be very difficult to isolate the program code that manipulates the related data. However,
if the original work is object oriented, the objects can be used as base objects whose attributes and
behaviors are selectively incorporated in creating the warehouse robot objects. This reuse first occurs in
the analysis and design phase (reusing the design of the original objects), and secondly in the
programming stage (reusing the program code of the original objects).
Object-oriented solutions…
How should Lisa go about reusing the work on the monorail in their current task of creating a trolley
object?
Although reuse design is typically discussed as a component in the design stage of O-O projects, it does
surface much earlier in a real project, typically arising in prototypes during analysis. Lisa should
immediately explore the analysis of this object in depth. They would begin by sketching out an
inheritance design in which the robot is depicted as a derived object with train as the base object. Other
objects from the monorail may be naturally reused as base objects, such as track and carriage. The base
objects of track and carriage would follow their derived classes into the design.
After sketching the design, Lisa should construct a partial prototype of the warehouse robots to explore
the feasibility of this reuse. Using object-oriented languages or tools, she should develop enough new
code to prove that the reuse is feasible and useful in a practical sense. Once this is completed, and if the
prototype is convincing, then parts of the prototype program code can be used to define objects and the
object’s attributes and behaviors.
UML itself only provides a set of notations for describing, analyzing, and visualizing system
requirements and designs, and it doesn’t provide a prefixed procedure or step-by-step instructions to do
object-oriented (O-O) analysis and design. In this case, we’ll use the use case diagram, flow of events,
and scenario of UML to describe and determine domain requirements of end-users and customers. Based
on that, we’ll proceed with O-O systems analysis and design by determining the list of candidate objects
as well as classes, drawing sequence diagrams to describe interactions between objects, and working out
class diagrams.
Use case diagram represents the functionality of a system, i.e., what is the system required to do for end-
users from the perspective of an end-user? The diagram is shown below.
User
Library Staff
Return Title/Copy Create New User
Flow of Events:
[1] A user enters his/her ID and associated password to log in to the library system, which will be
validated by the system.
[2] The user searches for a book/journal that he/she wants to borrow from the library, and locates the
copy of the book/journal from the bookshelf based on the call number given by the search result.
[3] Both the user’s library card and the copy are scanned into the system, and the system checks if the
borrowing criteria are met.
[4] Title/copy information as well as the user’s borrowing records are updated accordingly.
[5] If the copy has been previously reserved by the user, the reservation is cancelled.
[6] The use case ends with the printout of a due-date notice.
Alternative Flows:
[1] An invalid user ID or password is entered and the system prompts the user to enter the I D or
password again.
[2] No title name is matched from the search of the library system, and the system prompts the user
to change key words and submit the search again.
[3] The system detects that the user hasn’t returned a long overdue book, and suggests to the user that
he/she must return the book before he/she can borrow any additional books/journals.
Scenario:
• Mario enters his ID no. “481” and password “pizza” into the login form of the library system. The
system validates the login and Mario enters into the system.
• The system’s main menu appears on the screen and Mario chooses the search function. A search
form appears on the screen. He searches for the book “World’s Wildest Animals” from the
system and locates the book on the bookshelf based on the call number given by the searching
result.
• His library card and the book’s bar code are scanned into the system and the system checks to see
whether Mario still has overdue books/journals or other borrowing requirements are met.
• If the book was reserved by Mario before, the system cancels the reservation from the reservation
record.
• The system updates Mario’s borrowing records as well as the records of the title/copy.
• The system prints out the due-date notice.
• Mario logs out.
Flow of Event:
[1] This use case begins with a designated library staff entering his/her I D and associated password
into the system, and the system subsequently validates the I D and password.
[2] After the staff selects the menu of “add title/copy” from the system, he/she enters the information
of the title/copy such as the title name, authors’ names, ISBN number, the copy number or code,
and so on, and then saves the information.
[3] This use case ends when the title/copy is successfully added into the system and the staff logs off.
Alternative Flows:
[1] An invalid user I D or password is entered and the system prompts the user to enter the I D or
password again.
[2] After the title name is input, the system searches and finds out that the title name exists already in
the system. The staff is prompted to enter a different title name unless it is the same title but a
different copy of the title.
Scenario:
• Fabio enters his staff ID no. “007” and associated password “pp7” and the system validates the
login.
• The system’s main menu appears on the screen and Fabio chooses the “add title/copy” function.
The “add title/copy” form appears on the screen. He then enters the title “Mary had a little lamb,”
the author “Kool Kev,” the publisher “Polar Duck,” and the I SBN “0-201-57169-5,” and so on.
• After all relevant information is input, he clicks on the “Save” button on the screen. The
information of the title/copy is saved.
• The system prompts the staff that the title/copy “Mary had a little lamb” is successfully added to
the system.
• Fabio logs off.
Based on the flow of events and scenarios of use cases, a list of candidate objects can be determined, as
shown below (not an exhaustive list of candidate objects).
[1] Main menu form—a list of all functions available for a user and/or a library staff to choose.
[2] Login form—a form used for login validation of the library system.
[3] Search form—a form for a user to input key words in order to retrieve suitable title/copy of
book/journal.
[4] Title/copy form—a form for a library staff to input information of a title/copy into the system’s
catalogue.
[5] Reservation record—an object that maintains reservation records of a user.
[6] A user’s borrowing record—an object that maintains borrowing records of a user.
[7] Reservation form—a form for a user to reserve a title/copy when the copy is lent out of the library.
[8] Title—an object that maintains all information related to the title of a book or journal.
[9] Copy—an object that maintains all information related to the copy of a title.
[10] Printout—a notice with the information about the due date of a borrowed book/journal.
5. Sequence Diagrams
A sequence diagram is a graphical representation of a scenario of a user case, and it describes interactions
between objects as described in the scenario. For more complicated interactions of objects of a use case, a
new type of object—Manager Object—is added, which takes care of the coordination and control of
interactions between objects. Sequence diagrams of some important use cases of the library system are
shown on the next few pages.
1 : e n te r_ Id (u se r_ Id , p a ssw o rd )
7 : A d d ()
8 : A d d ()
9 : U p d a te re se rv a tio n re c o rd
M ain M enu U serForm U pdateU ser U ser's B orrow ing U serR ecord
M ary:S taff
M anager R ecord
1:enter_Id(user_Id,passw ord)
2:validate_user(passw ord,user_Id)
4:D isplay()
6. Class Diagrams
Based on interactions of the above sequence diagrams, the top-level class diagram that only shows the
relationships between main classes is shown below.
0..1
Reservation Manager Reservation Record
(from ManagerClass) 1 0..*
1 0..* 0..*
1 0..1 1 1 1
MainMenu Reservation Form ReturnManager
1 1 (from ManagerClass)
1
0..*
Printout UserRecord
(from EntityClass) (from EntityClass)
1 1
0..*
1 0..1
1..*
BorrowingForm BorrowingManager BorrowingRecord
0..1 1 (from ManagerClass) 1 0..*
We can group some classes together and put them into packages, and then we have the following
simplified package diagram, as shown below.
ManagerClass
EntityClass
InterfaceClass
Messages passed between objects in sequence diagrams indicate what attributes and operations a class
should have. As a result, we have the following main classes with some key attributes and operations
defined for each package, as follows.
The way to manage a systems development process that does not have fixed or constant business
processes as part of its goal set is to create a set of independent objects that have minimal interactions
with one another. The interactions, or messages passed, should be designed so that making a change in
one object will have a minimal or no impact on another object.
HyperCase Experience 10
1. Create an activity diagram for the Report Project Progress use case. Refer to the use case
specifications in Melissa Smith’s office for details and a prototype.
2. Create an activity diagram for the Add Client use case. Refer to the use case specifications in
Melissa Smith’s office for details and a prototype that can be found in Todd Taylor’s office.
3. Create a sequence diagram for the main path of the Report Project Progress use case. Refer to
the use case specifications in Melissa Smith’s office for details and a prototype.
4. Create a sequence diagram for the main path of the Add Client use case. Refer to the use case
specifications in Melissa Smith’s office for details and a prototype that can be found in Todd
Taylor’s office.
5. Create a statechart diagram for the Assignment class. Assignments are created for tasks,
resources are selected, hours are updated, and assignments are finished.
6. Create a statechart diagram for the Task class. Tasks are created, but not started, planned,
sometimes put on hold, currently being worked on, and are completed.
Two reasons for taking an object-oriented approach to systems development are (1) to be able to
reuse code and (2) to have code wherein a change in one object has a minimal impact on another
object.
The difference between an object and a class is that the class defines shared attributes and
behaviors of objects, and an object is an instance or occurrence of a class.
Inheritance is when a child or derived class is created from a parent or base class. The child class
inherits all the attributes and behaviors of the parent class.
Object Think adds information written in plain English about the properties of an object and helps
to clarify thinking about the object.
6. What is UML?
The concept of behavioral things includes interactions, the messages sent between a set of
objects, and state machine, a series of states that an object goes through in response to actions
within the system.
The two main types of diagrams in UML are structural diagrams and behavioral diagrams.
A. Use case diagrams, showing the actors and the use cases.
B. Sequence diagrams that depict a succession of interactions between object instances over
time and they show the processing described in use case scenarios.
C. Communication diagrams illustrate a sequence of object interactions showing the
organization of the objects during the interactions.
D. Statechart diagrams show the states of an object and the events and conditions that trigger
a transition from one state to another.
E. Activity diagrams show the flow of activities within a process.
A use case model reflects the view of the system from the perspective of the user outside the
system. It describes what the system does, rather than how the system works.
14. Would you describe a use case model as a logical or physical model of the system? Defend your
answer in a paragraph.
A use case model is a logical model because it describes what the system does, rather than how
the system works.
An actor is a role of a user that is external to the system. An actor may be a person, another
system, or a device such as a keyboard.
The three things that a use case must describe are the actor that initiates the event, the event that
triggers the use case, and the use case that performs the actions triggered by the event.
An activity diagram depicts a sequence of activities, including sequential and parallel activities,
and decisions that are made.
18. Write a paragraph that describes the use of swimlanes on activity diagrams.
Swimlanes on an activity diagram are used to show partitioning, such as which activities are done
on which platform, or by which user group.
Defining classes is an important object-oriented analysis task because programming occurs at the
class level.
Class diagrams show classes, attributes, methods (or operations), and the relationships between
classes.
Method overloading means using the same method or operation several times within a class. The
parameters that are sent indicate which of the overloaded methods to use.
The two categories of relationships between classes are associations and whole/part relationships.
Gen/spec diagrams are used to show general classes and the specialized classes that inherit the
attributes and methods from the general class.
Another term for polymorphism is “method overriding.” This is when the specialized classes have
a version of the same method contained in the general class. The subclass may add to or modify
the method.
A statechart diagram depicts the states that an object may have and the events that cause the
object to transition to a different state.
A package is a container for other UML things, such as use cases or classes. They show
partitioning, or which classes are grouped into a subsystem.
Using UML for modeling is important because it helps to achieve a greater understanding
between the business team and the IT team regarding the requirements and processes of a system.
It provides a detailed set of specifications for the classes, scenarios, activities, and sequencing in
the system. It helps to implement changes earlier in the project, when it is easier and less costly to
make changes.
Problems
1. Create a series of CRC cards for World’s Trend Catalog Division. Once an order is placed, the
order fulfillment crew takes over and checks for availability, fills the order, and calculates the
total amount of the order. Use five CRC cards, one for each of the following classes: order, order
fulfillment, inventory, product, and customer. Complete the section on classes, responsibilities,
and collaborators.
2. Finish the CRC cards in Problem 1 by creating Object Think statements and property names for
each of the five classes.
4. Draw four pictures showing examples of four types of behavioral relationships for Joel Porter’s
BMW automobile dealership. What type of relationship is involved when a customer must
arrange financing? Are there common activities involved when a person either leases or buys an
automobile? What type of relationship is there between an employee that is a manager or one
that is a salesperson?
The extend relationship that is involved when a customer must arrange financing.
The common activities would be paying cash or arranging a loan. Another common activity
would be transfer of title.
The relationship between an employee that is a manager and one that is a salesperson is general,
assuming that a manager may also be a salesperson.
S e l l Au tom obil e
S al e spe rson
Pay C ash
«include»
C om pl e te
Tran sacti on
«include»
Arran ge Loan
is a
5. Draw a communication diagram for a student taking a course from a teacher, who is part of the
faculty.
tutor 1 student *
Teacher::Person Student::Person
::Faculty ::Course
6. Coleman County has a phone exchange that handles calls between callers and those receiving the
call. Given these three actors, draw a simple sequence diagram for making a simple phone call.
7. You are ready to begin the UML modeling for the Aldo Sohm Clinic. Draw a class diagram that
includes a physician, a patient, an appointment, and a patient’s bill. Do not get the insurance
company involved.
8. Use the UML to draw examples of the four structural relationships for the Aldo Sohm Clinic.
Health Team
a part of a part of
a part
of
Administrative
Doctor Nurse Personnel
9. Write a sample use case scenario for a patient who sees a physician in the Aldo Sohm Clinic.
A patient may make any number of appointments. Each appointment is made for a specific date
and time with a physician. The patient may cancel without notice. If the appointment is not
canceled, it leads to a bill. Each bill has a specific amount due. If the appointment is canceled, a
cancellation fee is generated. A patient may change their status. Their last visit is calculated.
10. Misha’s Supermarket, a small chain of grocery stores, is building a website to allow customers to
place orders for groceries and other items they sell. The customer places a Web order, the
customer master is updated, and an order record created. The order prints at a local store, and
the goods are picked from the shelves by the store employees. Customers are sent an email
notification that their order is ready. When they pick up the order, frozen goods, chilled products,
and other items are assembled. Draw an activity diagram showing the customer using the website
to place an order, verification of the order, order confirmation, order details sent to the local
store, and a customer email sent to the customer.
11. Sludge’s Auto is introduced in Chapter 12 as an auto parts recycling center, using Ajax on
websites for customers to browse for parts. The customer needs to know the make, model, and
year of a car as well as the part. If the part is in stock, the description, condition of the part,
price, and shipping cost are displayed, with the quantity available for each condition of the part,
along with a picture of the part. Draw a sequence diagram using boundary, control, and entity
classes for the Auto Part Query for Sludge’s Auto.
12. Musixscore.com is an online service providing sheet music to customers. On the “browse music”
Web page, customers select a genre of music from a drop-down list. The Web page uses Ajax to
obtain a list of performers, musicians, or groups that match the genre, which is formatted as a
drop-down list. When a selection is made from the performers drop-down list, the Web page uses
Ajax to display a third drop-down list displaying all of the albums or other works of the
performer. When an album is selected, the Web page uses Ajax to obtain all the songs on the
album in a fourth drop-down list. The viewer may make multiple selections. When the Add to
Shopping Cart image is clicked, the songs are added to the shopping cart. The viewer may
change any of the drop-down lists to select additional sheet music, and the process is repeated.
a. Write a use case description for the Browse Music Score use case, representing this
activity.
b. Draw a sequence diagram using boundary, control, and entity classes for the Musixscore
Web page.
c. Write a list of the messages, names, and parameters, along with the data types, that
would be passed to the classes and the values (with data types) that are included with the
return message. Make any assumptions you need about the data.
d. Create a class diagram for the entity classes used in the sequence diagram.
The file name is Update Lab Image Activity Diagram.vsd for Visio and Update Lab Image in
Visible Analyst.
2. Use either Visio or Visible Analyst to view the UPDATE LAB IMAGE sequence diagram.
The file name is Update Lab Image Sequence Diagram.vsd for Visio and Update Lab Image
in Visible Analyst.
3. Use either Visio or Visible Analyst to view the SOFTWARE statechart diagram.
The file name is Software Statechart.vsd for Visio and Software Statechart in Visible Analyst.
4. Use either Visio or Visible Analyst to view the COMPUTER SYSTEM class diagram.
The file name is Computer System Class Diagram.vsd for Visio and CPU Class Diagram in
Visible Analyst.
The following exercises may be done with either Visio or Visible Analyst. A rectangle will have to be
used for a class symbol when drawing sequence diagrams when using Visio or Visible Analyst (the class
stereotype symbols are not available). Place a text label above each rectangle identifying the type of class:
interface, control, or entity.
5. Modify and print the REGISTER FOR TRAINING activity diagram. The prototype for this Web
page is illustrated in Figure E12.4. Add the following state symbols and event connections:
a. The CREATE XML EMPLOYEE DATA state in the WEB SERVER swimlane, below the
GET EMPLOYEE INFORMATION state. Connect it with an event arrow coming from
READ EMPLOYEE RECORD. Label the event SEND EMPLOYEE DATA.
b. Add the EMPLOYEE INFORMATION WEB PAGE state in the CLIENT WEB PAGE
swimlane, to the left of CREATE XML EMPLOYEE DATA state. Connect the two states
with an event arrow into the EMPLOYEE INFORMATION WEB PAGE state labeled
SEND EMPLOYEE XML DOCUMENT.
c. Add a state below the CREATE XML EMPLOYEE DATA state called FIND SOFTWARE
TRAINING CLASS. Connect it with an event arrow coming from the EMPLOYEE
INFORMATION WEB PAGE state labeled SELECTED SOFTWARE AND TRAINING
LEVEL.
d. Include a decision diamond symbol below the FIND SOFTWARE TRAINING CLASS
state. Connect it with an event arrow coming to it from the FIND SOFTWARE
TRAINING CLASS state. An event should flow to the left into the EMPLOYEE
INFORMATION WEB PAGE state labeled CLASS NOT FOUND.
e. Add a CHOOSE SOFTWARE CLASS state below the EMPLOYEE INFORMATION WEB
PAGE state, and somewhat below the decision diamond. Connect the bottom of the
decision diamond with an event arrow going to the CHOOSE SOFTWARE CLASS state.
Label it SOFTWARE TRAINING CLASSES.
f. Add a state below the decision diamond and somewhat below the CHOOSE SOFTWARE
CLASS state. Label it UPDATE CLASS PARTICIPANT.
g. Connect the CHOOSE SOFTWARE CLASS state with an event arrow pointing to the
UPDATE CLASS PARTICIPANT state. Label it SEND ENROLL CLASS REQUEST.
h. Add an exit circle symbol in the bottom of the Client Web Page swimlane. Connect the
CHOOSE SOFTWARE CLASS state with an event arrow pointing to the exit circle
labeled CANCEL.
i. Connect the UPDATE CLASS PARTICIPANT state with an event arrow pointing the exit
circle labeled SUCCESSFUL UPDATE.
6. Create and print the TRAINING CALENDAR activity diagram. The prototype for this Web page
is illustrated in Figure E11.4. Add a starting circle at the top left of the diagram and add the
following swimlanes, state symbols and event connections:
a. Add a swimlane on the left labeled CLIENT WEB PAGE and one on the right called WEB
SERVER.
b. Add a starting circle at the top of the CLIENT WEB PAGE swimlane, and below it a state
labeled REQUEST TRAINING CALENDAR WEB PAGE. Connect the starting circle to
the state with an event arrow.
c. Add a state in the WEB SERVER swimlane, to the right of the REQUEST TRAINING
CALENDAR WEB PAGE state. Label it GET TRAINING CLASS.
d. Connect the left state to the right one with an event arrow labeled FORM
TRANSMITTED.
e. Place a state below the GET TRAINING CLASS state. Label it GET TRAINING CLASS.
Connect the two states with a downward event arrow labeled SEND COURSE NUMBER.
f. Place a state in the CLIENT WEB PAGE swimlane to the left of the GET TRAINING
CLASS state. Label it TRAINING CALENDAR COURSE DISPLAY. Connect the two
states with a left pointing event arrow labeled SEND TRAINING CLASS XML VALUES.
g. Place an exit circle at the bottom of the CLIENT WEB PAGE swimlane. Connect the
TRAINING CALENDAR COURSE DISPLAY state with the exit circle. Connect the
TRAINING CALENDAR COURSE DISPLAY state with an event arrow to the right and
up the right side of the WEB SERVER swimlane to the GET TRAINING CLASS state.
Label it DATE CHANGE OR SORT CHANGE.
7. Modify and print the REGISTER FOR TRAINING sequence diagram. Add two new entity classes
to the right side of the diagram and extend the lifeline down to the bottom of the diagram. The
classes are Employee and Class. Add the following messages from the REGISTER FOR CLASS
CONTROLLER, and add the focus of control rectangles where the messages interact with the
class lifeline:
Because Visible Analyst and Visio do not support class stereotypes, it will look different when
using software. There is a template for creating class stereotypes available for Visio.
8. Create and print the TRAINING CALENDAR sequence diagram. Add the Faculty actor in the
upper left corner of the diagram and then the following classes from left to right along the top of
the diagram:
Add the following messages between the classes or the actor to the class:
a. Load Training Calendar Web page from Faculty to the Display Training Classes
interface class.
b. sendWebPageURL from Display Training Classes to Display Training Classes Controller.
c. getClass() from the controller to the Class entity class.
d. return classList from the Class entity class to the controller.
e. getCourseDescription() from the controller to the Course entity class.
f. return courseDescription from the Course entity class to the controller.
g. update courseList from the controller class to the Display Training Classes interface
class.
h. Lab Software Web Page from the Display Training Classes interface class to the actor.
i. Change Month/Year from the actor to the Display Training Classes interface class.
j. A self transition on the Display Training Classes interface class (using JavaScript to
Silloin Kitty kertoi juuri sen, mitä mies oli odottanut kuulevansa.
Hän kertoi siitä elämästä, jota kaipasi, sen elämän synkkyydestä,
sisällyksettömyydestä ja tyhjyydestä, josta yritti paeta. Ja hänen
puhuessaan tunsi Patches, kuinka sanomaton sääli ja myötätunto
täytti hänen sydämensä.
»Ettekö?»
»Varmasti en, jollette itse halua kertoa minulle, niin en minä aio
sekaantua asioihin, jotka eivät liikuta minua.»
»Mitä, Joe?»
»Hyvästi, Joe!»
»Herra Acton», alkoi vieras arasti, »on eräs asia; josta tahtoisin
puhua kanssanne.»
»Toivon, ettette käsitä väärin minua, kun sanon, että asia koskee
myöskin neiti Reidiä.»
»Kenties ei», myönsi Phil, »multa luulen Kittyn itse pitävän huolta
itsestään.»
»Ei, mutta hän lähti pois erään — erään irrokkaan kanssa, kuten
hän sanoi.»
»Niin hän itse sanoi. Neiti Reid sanoi, että hänen nimensä oli Joe
—
Joe ja jotakin muuta.»
»Oli, juuri niin se oli. Hän kuuluu Tailholt Mountainiin, sanoi neiti
Reid. Teillä on niin hullunkurisia nimiä tässä maassa.»
»Siksi, että sinä et ole sellainen mies, Phil Acton», vastasi Patches
hitaasti. »Sinä tiedät varsin hyvin, että jos erottaisit minut siksi, että
olen ylläpitänyt ystävyyttä Yavapai Joe-raukan kanssa, niin olisi
minun mahdotonta saada työtä ainoassakaan karjakartanossa koko
maassa. Sinä olet liian rehellinen tuomitaksesi miehen pelkän
epäilyksen perusteella ja liian kunnian mies tuomitaksesi toisen siksi,
että hänkin pyrkii olemaan samanlainen.»
Ratkaisun päivä.
»No niin, sitten Stanin yhtiö äkkiä kutsui hänet lakaisin New Yorkiin
ja nimitti hänet tähän paikkaan. Hänen oli lähdettävä viipymättä
matkalle ja hän sähkötti minulle New Yorkista. Ajattelehan — minulla
oli vain viikko aikaa häiden ja kapioitteni valmistamiseen. Tiesin
tapaavani sinut täällä.»
»Ja koska olette täällä», virkkoi Kitty päättävästi, »niin pitää sinun
ja herra Manningin tulla Williamson Valleyhin viettämään
kuherruskuukautenne meidän kartanossamme.»