Documente Academic
Documente Profesional
Documente Cultură
Mark Zieg
December 15, 1997
Assignment #1
TEXTBOOK
EXERCISES
Chapter 1: Introduction
1.5
1.7
All objects have identity and are distinguishable. However, for large collections of
objects, it may not be a trivial matter to devise a scheme to distinguish them.
Furthermore, a scheme may depend on the purpose of the distinction. For each of the
following collections of objects, describe how they could be distinguished:
a.
b.
c.
d.
e.
f.
g.
There are two lists below. The first is a list of classes that describe implementation
objects. The second is a list of operations. For each class, select the operations that
make sense for the objects in that class. Discuss the behavior of each operation
listed for each class.
Classes:
Variable length array
symbol table
set
Operations:
append
copy
count
delete
index
intersect
in s e r t
u p d a te
A variable length array would make effective use of the following operations: append, copy,
count, delete, index, insert, and update. The only operation which wouldnt make a great deal of
sense would be intersect. The append operation makes sense because the ordered nature of the array
presupposes a beginning and an end. The append operation would allow object users to easily
add something to the end of the array, in the manner of a queue or other common data structure.
Copy makes sense with any object, because multiple object instantiations are frequently found in
many common applications. Count makes since because it provides a bound to the index range,
although the question didnt specifically mention that the indexes had to be sequential or positive
values. Delete is another natural operation, especially when parameterized with a beginning,
end, or [index] indicator. Index would be essential in order to access various elements. Insert
would be a more flexible version of append, and indeed under some interfaces render it unnecessary.
Update would be important in any application in which data needed to be modified without going
through a delete/insert sequence. Intersect could readily be provided if really desired, but I havent
had much call do use such an operation on an ordered array.
A symbol table uses a somewhat smaller set of operations. Here, copy, delete, intersect, and
update are the most likely candidates. Again, copy is universally popular. Update, in the sense of
an unordered insert, would be necessary to propagate the table, and delete would be necessary to
flush unnecessary values. Intersect somehow sounds more likely for this class than for array,
because you certainly need to compare elements of symbol tables when linking libraries and object
code. Some sort of operation to retrieve or read an entry would also be necessary, although I
wouldnt call it index, which suggests an ordered position rather than a key value. Append,
index, and the ordered insert make less sense because they provide implementation-specific details
which arent necessary and contradict the tenets of OOD. Count could perhaps be useful in certain
systems, but many could do perfectly well without it.
Finally a set could use copy, count, delete, intersect, and update operationsalmost the same list
as a symbol table, and for similar reasons. Copy is universal (as long as you give due credit to
your source :-) Update (unordered insert) and delete are fundamental to all collections, and count is
just plain handy to have around. Once again, some sort of read or retrieve operation would be nice
to have available, but index has all the wrong connotations. You could have delete return an
item, I suppose. On the other hand, append, index, and insert violate the premise of
unorderedness. And having a set class without intersect (as well as union) just wouldnt be
proper.
Chapter 2: Modeling as a Design Technique
2.2
Suppose your bathroom sink is clogged and you have decided to try to unclog it by
pushing a wire into the drain. You have several types of wire available around the
house, some insulated and some not. Which of the following wire characteristics
would you need to consider in selecting a wire for the job? Explain your answers.
a.
b.
c.
2.4
d.
e.
Cost
f.
Stiffness
g.
h.
Weight
i.
Availability
Well, gee, if it isnt there, you cant very well use it,
can you?
j.
Strength
k.
l.
Resistance to stretching
Cf 2.2i
If you were designing a protocol for transferring computer files from one computer to
another over telephone lines, which of the following details would you select as
relevant? Explain how your selected details are relevant:
a.
b.
c.
Availability of a relational
database
d.
e.
f.
g.
h.
i.
Math co-processor
(Person)
(Person)
a grandmother
a grandfather
child
(Person)
an aunt
Sibling
child
(Person)
your father
child
(Person)
Mate
your mother
child
Cousin
(Person)
child
(Person)
a cousin
you
Figure E3.4
Class Diagram:
Person
Name
Birthday
child
Mate
Cousin
Sibling
3.15
Prepare object diagrams showing at least 10 relationships among the following object
classes. Include associations, aggregations, and generalizations. Use qualified
associations and show multiplicity balls in your diagrams. You do not need to show
attributes or operations. Use association names where needed. As you prepare the
diagrams, you may add additional object classes.
a.
Board Member
sit-on
appoints
Superintendent
appoints
Principal
governs
Swing
School
Room
Playground
Slide
enrolls
Restroom
Cafeteria
Classroom
Student
Desk
sits-at
Ruler
Chair
book #
Book
is-issued
Computer
A School Board is composed of five elected Boardmembers, who then appoint a Superintendent.
The Superintendents chief duty is to hire and assign Principals to individual Schools. Each
School has Rooms, Students, Desks, a Principal, and perhaps a Playground. If it has a
Playground, the Playground can have Swings and/or Slides. Rooms may be Restrooms,
Classrooms, or Cafeterias. Any Room may have Restrooms attached, although in a pinch one
Restroom may service several Rooms. Desks are placed in Classrooms and seat Students. Desks
each have a Chair, and some have Rulers and/or Computers. Students are issued Books, which are
tracked by their book #.
b.
castle, moat, drawbridge, tower, ghost, stairs, dungeon, floor, corridor, room,
window, stone, lord, lady, cook
Cook
Drawbridge
retains
crosses
Lady
Moat
Window
Corner
Ghost
haunts
Lord
rules
weds
Castle
Door
Wall
in
jo
Room
Floor
Furniture
Stone
Ceiling
contains
Tapestry
Bed
Table
Tower
Dungeon
Cooridor
Stairs
A Lord may rule Castles and wed Ladies. Each Lady may have a staff including Cooks. A Castle
has Rooms and may have a Moat. Moats must have at least one Drawbridge to permit crossing.
Rooms can be Corridors, Dungeons, or Towers, and each may be haunted by a Ghost. Towers
contain other Rooms, while Corridors may or may not have Stairs. Each Room has a Floor,
Walls, and may have a Ceiling and may be Furnished. Each Wall may be joined to other Walls at
Corners, and the number of Walls is not limited (a Tower may have only one Wallround
whereas the Room atop a Tower may have no walls at all, only a Floor). Floors, Walls, and
Ceilings are all made of Stones. Each Ceiling may be also a Floor to another Room. Walls may
have Windows and Doors. While one Room may have several Doors, each Door connects exactly
two Rooms. Furniture can include a Tapestry, a Bed, or a Table.
Door
Gas
Tank
Body
Automobile
Steering
System
Power
Train
Engine
Transmission
Braking
System
Brake
Wheel
Brake
Light
Electrical
System
Exhaust
System
Muffler
Brake
Switch
Pipe
Starter
Battery
Alternator
Figure E4.1
Door
Gas
Tank
Body
Automobile
Power
Train
Engine
Transmission
Steering
System
Wheel
Braking
System
Brake
Brake
Light
Electrical
System
Exhaust
System
Muffler
Brake
Switch
Pipe
Starter
Battery
Alternator
Note my object model allows multiple gas tanks, since many vans and trucks have that feature.
4.2
Figure E4.2 is a partially completed object diagram for an interactive diagram editor. A
sheet is a collection of links and boxes. A link is a sequence of line segments that
connect two boxes. Each line segment is specified by two points. A point may be
shared by a vertical and a horizontal line segment in the same link. A selection is a
collection of links and boxes that have been highlighted in anticipation of an editing
operation. A buffer is a collection of links and boxes that have been cut or copied
from the sheet. As it stands, the diagram does not express the constraint that a link
or a box belongs to one buffer or one selection or one sheet. Revise the object
diagram and use generalization to express the constraint by creating a superclass for
the classes Buffer, Selection, and S h e e t . Discuss the merits of the revision.
Link
Buffer
Selection
Line
Segment
Sheet
Box
1,2
Point
Figure E4.2
Line
Segment
Link
Set
Box
Buffer
Selection
1,2
Point
Sheet
The main benefit is the inheritance of attributes, operations, and associations from the superclass
(set) to the subclasses (buffer, selection, sheet). A single constructor or destructor can now apply
to all sets, and the structures for links and boxes will be prebuilt for each set. This saves a lot of
coding time and reduces potential for error. Also, common operations like copy, cut, and paste can
be shared, as well as typical traits like size, dimensions, and object-count.
Chapter 5: Dynamic Modeling
5.1
Moving a bag of corn, a goose, and a fox across a river in a boat. Only one
thing may be carried in the boat at a time. If the goose is left alone with the
corn, the corn will be eaten. If the goose is left alone with the fox, the goose
will be eaten. Prepare two scenarios, one in which something gets eaten and
one in which everything is safely transported across the river.
Scenario #1
Step 1:
Step 2:
Error State:
Scenario #2
Step 1:
Step 2:
Step 3:
Step 4:
Step 5:
Step 6:
Step 7:
Final State:
b.
Step 1:
Step 2:
Step 3:
Step 4:
Step
Step
Step
Step
Step
5:
6:
7:
8:
9:
Step 10:
Step 11:
Step 12:
Step 13:
Step 14:
Step 15:
Step 16:
Step 17:
Step 18:
Final State:
c.
Step 1:
Step 2:
Step 3:
Step 4:
Step 5:
Step 6:
Step 7:
Step 8:
Step 9:
Step
Step
Step
Step
Step
Step
10:
11:
12:
13:
14:
15:
Step 16:
Step 17:
Step 18:
Step 19:
Step 20:
Step 21:
Step 22:
Final State:
d.
Step 1:
Step 2:
Step 3:
Step
Step
Step
Step
4:
5:
6:
7:
Step 8:
Step 9:
Step 10:
Step 11:
Step 12:
Step 13:
Step
Step
Step
Step
Step
Step
Step
14:
15:
16:
17:
18:
19:
20:
Step 21:
Step 22:
Step 23:
Final State:
5.2
Some combined bath-showers have two faucets and a lever for controlling the flow of
the water. The lever controls whether the water flows from the shower head or directly
into the tub. When the water is first turned on, it flows directly into the tub. When the
lever is pulled, a valve closes and latches, diverting the flow of water to the shower
head. To switch from shower to bath with the water running, one must push the lever.
Shutting off the water releases the lever so that the next time the water is turned on, it
flows directly into the tub. Write a scenario for a shower that is interrupted by a
telephone call.
Step 1:
Step 2:
Step 3:
Step 4:
Step 5:
Step 6:
Step 7:
Step 8:
Step 9:
Step 10:
Step 11:
Step 12:
Step 13:
Step 14:
Step 15:
Step 16:
Step 17:
Step 18:
Step 19:
Step 20:
Step 21:
Step 22:
Step 23:
Step 24:
Step 25:
Final State:
5.4
An extension ladder has a rope, pulley, and latch for raising, lowering, and locking the
extension. When the latch is locked, the extension is mechanically supported and you
may safely climb the ladder. To release the latch, you raise the extension slightly with
the rope. You may then freely raise or lower the extension. The latch produces a
clacking sound as it passes over the rungs of the ladder. The latch may be reengaged
while raising the extension by reversing direction just as the latch is passing a rung.
Prepare a state diagram of an extension ladder.
ack
Lock
Sl
ed
lower
raise
Rope
rais
Up
in
g Run
rais
se
rai
Ta
R ope
ed
Pas
L ock
ut
lower
nlo ked
c
lower
load
characteristics
electrical parameters
electrical
analysis
mechanical
analysis
electrical torque
fan torque
losses
sp
ee
d
voltage, frequency
temperature
6.1
thermal parameters
thermal
analysis
air flow
ambient temperature
Figure E6.1
fan
analysis
The model shown is a data flow diagram for an electrical motor diagnostic analysis. There are four
analyses which must be determined: the electrical system, the mechanical system, the fan
subsystem, and a thermal analysis. Each of the analyses directly or indirectly contribute to the
studies of the other systems.
The electrical analysis takes values from the applied voltage and signal frequency, as well as other
electrical parameters. It also takes speed data from the mechanical analysis and temperature results
from the thermal analysis. In turn, it produces an electrical torque reading which is used for
subsequent mechanical analyses and a losses value for ongoing thermal analysis.
Likewise, the mechanical analysis receives load characteristics and, together with fan torque data
from the fan analysis and electrical torque data from the electrical analysis, computes speed
information which is returned to the electrical and fan analyses.
The fan analysis uses this speed data to refine its computations and produces an air flow result for
the thermal analysis (as well as returning fan torque data to the mechanical analysis).
Finally, the thermal analysis takes the air flow data from the fan analysis, the electrical loss data
from the electrical analysis, as well as thermal parameters and ambient temperature readings from
outside the system, and creates the temperature data used by the electrical analysis.
Prepare a data flow diagram for computing the mean of a sequence of input values. A
separate control input is provided to reset the computation. Each time a new value is
input, the mean of all values input since the last reset command should be output.
Since you have no way of knowing how many values will be processed between resets,
the amount of data storage that you use should not depend on the number of input
values. Detail your diagram down to the level of multiplications, divisions, and
additions.
Store
Incre
Divide
Ou
Next In
Store
Zero to
Total
Count
ro t
Ze o
Store
Res
et
put
Get
Total
M
tput e
an
lue to
Va
Mean
sult in
Re
ment C
ount
Add
Count
al b
Tot y
Value
6.5
This book explains how to use object-oriented techniques to implement programs and
databases. Discuss how object-oriented techniques could be applied in other arenas,
such as language design, knowledge representation, and hardware design, for
example.
Many of the principles of object-oriented analysis and design could be applied to fields beyond
computer programming. Two such fields are structural engineering and educational curriculum
development. Each of these fields involves analyses and planning of large-scale projects involving
many sub-processes and components that must interact together in complex patterns and which
often share similar traits and operations. Object-oriented tools such as the OMT model could be
applied to manage complexity and help visualize, track, and quality-test component relationships
in a scaleable and comprehensible manner.
Structural engineering, for instance, is often called into play in the design, analysis, and
construction of large office buildings such as the new Orlando Courthouse facility. Each building
is composed of many rooms, hallways, columns, etc, with a great many infrastructure systems
embedded into the walls, floors, and ceilings. These systems include climate control, plumbing,
data communications, and many other underlying frameworks. The number of systems which
must be understood to design, analyze, and build a single room of a single building would be
overwhelming for the most educated architect, laborer, or electrician. However, object-oriented
modeling would allow each subsystem to be logically isolated from the others, with the few
instances of interaction clearly called out for implementation or study.
Educators often face similarly complex decisions when developing an instructional curriculum,
especially in the interdisciplinary and holistic environment encouraged today by educational
theorists. An individual lesson should contain elements of literature and composition,
mathematical reasoning skills, draw from a broad body of scientific knowledge, and be presented
within an appropriate historical context. Meanwhile, the activities themselves should be executed
in a systemic framework involving a lively lead-in with ties to previous lessons, content
instruction, guided practice, individual or group practice, evaluation, and review. Many teachers
find themselves prematurely gray after trying to effectively meet each of those state-mandated goals
within 40-minute class periods, a forty-hour week, and little or no instructional budget. By
incorporating elements of object-oriented analysis and design, teachers could more easily and
quickly produce well-rounded and effective lesson plans. Object inheritance could help provide
common delivery characteristics, state diagrams could help manage the flow of activities and
materials among dozens of students, and object models employing generalization and aggregation
could help students and teachers visualize connections between different content areas.
Through careful application of object-oriented analysis and design methodologies, professionals in
a wide variety of fieldsincluding education and structural engineering, but also cosmologists,
psychology, neonatal child care, and hundreds of other complex subjectscan better comprehend
the myriad entities they must deal with and more accurately anticipate the relationships between
them.
Chapter 8: Analysis
8.3
of the system. The system will produce tapes that can be used by numerical
control (N/C) machines to actually produce the parts.
A system for automating the production of arbitrarily shaped machined parts is needed. The design
environment will provide advanced visualization and object-manipulation tools to the editor.
The drafting editor will design the parts in a graphical environment in which views can be
controlled to accurately display objects at any ratio between 10,000:1 and 1:100 scale, from any
virtual position and at any angle. The system must be able to provide such views in either
wireframe, filled plane, or light-rendered mode, and should correctly portray the visual
characteristics of typical materials including steel, glass, and a range of polymers. All views must
be storable for later retrieval or printing.
The editing environment must allow full manipulation of virtual object surfaces and should for
efficiency provide a template library of typical objects (sphere, cube, torus, sheet, etc). The user
should be able to add new objects to the library to speed creation of similar widgets, and should be
able to store and retrieve an arbitrary number of widgets. After design, the widgets may be output
to a different system which will actually produce the parts.
Finally, the system should be sufficiently scaleable so that additional storage or computational
capacity may be added as needed. There should be a facility for moving widgets between similar
systems if we acquire additional units.
c.
A full pagination system is required which will allow digital development of all aspects of a
broadsheet daily newspaper. Editors, reporters and columnists, illustrators, photographers, and
advertising and classified staff will use the system to combine their individual elements into a
completed newspaper ready for imaging.
The system must be graphical in nature so that illustrations and photographs may be accurately
visualized on a page, and proportional multi-face type will be rendered on screen as it will appear
on the final printed product. Sophisticated color matching and calibration will be essential so that
elements coming from different sources will be correctly displayed on a variety of 3rd-party
monitors. Color matching will also be of paramount importance at the printed stage, so that
differing hues of paper stock, from brown newsprint to white high-gloss, can be used successfully.
A comprehensive routing capability should be used throughout, so that editors can create layouts,
content producers can fill in their elements, editors can review the composition and return it
repeatedly for correction, then route the approved document to preflight and press.
Text elements should be capable of containing an arbitrary amount of type set in PostScript Type
1 fonts. A third-party H&J (hyphenation and justification) engine may be accessed to set the type
accurately and quickly. Graphic elements may be either TIFF, Scitex-CT, or EPS images.
Some sort of frame or region interface should be provided, allowing editors to layout a page
before specific content is available. These layouts should be reusable so that old layouts can have
new content (images, text) flowed into them. Some sort of identification system should thereby
be provided to record the position, shape, intended contents, and other key attributes of each region.
There may be a distinction between basic elements which can be created and edited directly within
the system and advanced elements which require the use of a third party program such as Microsoft
Word, Adobe Photoshop, or Macromedia Freehand. Basic text entry, editing, and type styling
should be feasible within the layout system, but advanced features such as spell-checking,
outlining, etc may be left to an outside program. Likewise, basic graphic elements such as lines
and hollow or filled boxes, polygons, and ellipses should be accessible within the layout program,
but more advanced options like soft drop-shadows and morphing may be relegated to an outside
system.
It is essential that, once data is entered into the system, it should be accessible by outside
programs through a published API. For instance, an outside program should be able to call up the
full text of every story, together with associated images, and extract them to repurpose for online
publishing.
With respect to printing, the system should automatically position pages for side-by-side folded
duplex imaging, so that a sample 4-page run would actually print one duplex broadsheet with
pages 4 and 1 on one side and 2 and 3 on the inside.
Finally, an automated archive and integrated version-tracking application should maintain a log of
accesses and modifications by user, date, and story, and automatically archive each paper in a fulltext searchable format to a reliable and cost-effective media such as CD-R.
e.
A system for distributing electronic mail over a network is needed. Each user
of the system should be able to send mail from any computer account and
receive mail on one designated account. There should be provisions for
answering or forwarding mail, as well as saving messages in files or printing
them. Also, users should be able to send messages to several other users at
once through distribution lists. Each computer on the net should hold any
messages destined for computers which are down.
A system for distributing electronic mail over a network is needed. Each user of the system should
be able to send mail from any computer account and receive mail on one designated account. There
should be provisions for answering or forwarding mail, as well as saving messages in files or
printing them. Also, users should be able to send messages to several other users at once. The
system should be sufficiently fault-tolerant that undelivered messages will not be lost if the
destination account is temporarily malfunctioning or otherwise unavailable.
Assignment #2
BANK
SYSTEM
Project
Module
BANK SYSTEM
Model
MAIN
Object
Dynamic
Sheet
Functional
Problem
Rev Date
12/7/97
Description
Terminal
Uses
Cashier
Acct #
Accesses
Account
Interest_Rate
Compound_Period
Balance
Transaction
Dispense_Cash
Accept_Money
Type
Amount
DateTimeStamp
Retreives
Open
Close
Check_Balance
Request_History
Owns
Bank
Holds
Employs
Has
Talks To
Customer
Has
Name
Address
Acct #
Create
Box #
Share
CD
Make_Deposit
Maturity_Date
Purchase_Price
Premature_Redeem_Fee
Auto_Rollover
Rents
Safe_Deposit_Box
Make_Payment
Refinance
Calc_Principal_Owed
Cash_Out
Assign
Draft
Write_Check
Cancel_Check
Order_Checks
Loan
Loan_Amt
Cum_Interest
Min_Payment
Saving
Withdraw
Mortgage
College
Variable_Rate
Mortgage_Ins
Assessed_Value
Federal_Programs
Repossess
Project
Module
BANK SYSTEM
Model
MAIN
Object
Dynamic
Sheet
Functional
Problem
Rev Date
12/9/97
Description
Terminal
enter data
Main Screen
do: display screen
do: request
transaction kind
[enter balance
inquiry]
display results
do: prompt to
continue
Main Screen
do: display screen
Project
Module
BANK SYSTEM
Model
MAIN
Object
Dynamic
Sheet
Rev Date
Functional
Problem
12/7/97
Description
enters
request
Account
attempts
transaction
output
OK
dispense
cash
deny
request
returns
result
return
OK
enters
request
output
error
Account
request
withdrawal
request
withdrawal
attempts
transaction
outputs
result
tells
result
Terminal
enters
request
Terminal
Scenario #2 (Exception)
Cashier
requests
balance
Customer
Cashier
Scenario #1 (Normal)
Customer
attempts
transaction
return
error
Module
BANK SYSTEM
Model
MAIN
Object
Dynamic
Sheet
Functional
Problem
Rev Date
12/7/97
Description
sts
s
ca
ue
req
Customer
Cashier
o,
inf
nt ecks
u
h
co
ac sh, c
ca
acc
me ount i
ssa nfo
ges ,
Bank
System
as
,c
ts
es
acc
typ t #, tr
e, a an
mo sact
unt ion
s
Cashier
read
inputs
Account
generate
outputs
perform
transaction
la
nc
,
nt info
accou es
g
messa
Customer
o,
inf s
nt eck
u
co ch
ac sh,
ca
ba
req
Module
BANK SYSTEM
Model
MAIN
Object
Dynamic
Sheet
Rev Date
Functional
Problem
12/7/97
Description
enter
inputs
n
tio
ac
ns s
t
tra
#, oun
ct
ac e, am
typ
display
results
acc
me ount
ssa info
ge
s ,
account info,
messages
generate
outputs
Terminal
nce
t#
acc
#,
typ
e,
bala
ac
ct
compute
balance
nge
update
account
open
account
cha
Customer
o,
inf s
nt eck
u
co ch
ac sh,
ca
nt
req
ou
Cashier
am
as
,c
ts
es
ac
typ ct #,
e,
t
am rans
ou act
nts ion
t
un
co
Ac er
w mb
Ne Nu
Account
Database
Project
Module
BANK SYSTEM
Model
MAIN
Object
Dynamic
Sheet
Functional
Problem
Rev Date
12/7/97
Description
Main
Level 0
read
Inputs
process
transaction
generate
outputs
Level 1
customer
makes
requests of
cashier
cashier
enters into
terminal
open
account
update
account
compute
balance
terminal
displays
results
to cashier
cashier
relays
results
to
customer
Level 2
generate
new account
number
add
interest
creates
account
add
deposit
deduct
fees
make
withdrawal
Project
Module
BANK SYSTEM
Model
MAIN
Object
Dynamic
Sheet
Rev Date
Functional
Problem
12/7/97
Description
Assignment #3
HYPERTEXT
SYSTEM
Project
Module
HYPERTEXT SYSTEM
Model
MAIN
Object
Dynamic
Sheet
Rev Date
Functional
Problem
12/7/97
Description
Browser
HTTP Server
communicates
with
Open_Location
Send_HTTP_Request
Render_Page
Accept_HTTP_Request
Send_File
Send_File
Find_File
pathname
hosts
File
URL
Image
Web Page
contains
GIF
JPEG
transparent
GIF89a
Palette
Progressive
Compression Ratio
Word
HTML Tag
loads
Body Text
<A HREF>
links to
URL
Project
Module
HYPERTEXT SYSTEM
Model
MAIN
Object
Dynamic
Sheet
Functional
Problem
Rev Date
12/7/97
Description
Browser
user launches browser
Get Resource
Ready
Render
do: Display returned resources
on the monitor
Error
do: display 404 error
message
Web Server
boot
receive HTTP request ( URL )
Ready
shutdown
Error
do: return 404 error
message
do: transmit
graphic file
no images found
Project
Module
HYPERTEXT SYSTEM
Model
MAIN
Object
Dynamic
Sheet
Functional
Problem
Rev Date
12/7/97
Description
Scenario #1 (Normal)
Browser
Web Server
opens Webster.edu/
HelloWorld.html
requests
HelloWorld.html
Sends
HelloWorld.html
renders
HelloWorld.html
sends Logo.gif
displays Logo.gif
clicks on Yahoo.com/
Index.html
requests Index.html
Scenario #2 (Exception)
The user tells the browser to open page
"HelloWorld.html" on server "Webster.edu"
The browser sends an HTTP request to
Webster.edu.
The Webster.edu server accepts the request.
The Webster.edu server cannot find the file
HelloWorld.html.
The Webster.edu server returns an error
message to the browser.
The browser displays an error message to the
user.
opens Webster.edu/
HelloWorld.html
requests
HelloWorld.html
Sends
error message
displays
error message
Project
Module
HYPERTEXT SYSTEM
Model
MAIN
Object
Dynamic
Sheet
Rev Date
Functional
Problem
12/7/97
Description
User
que
sts
pag
es
gra
phi
ca
vie l pag
ws
e
HyperText
System
User
req
u
mo ests p
use ag
clic es,
ks
HTTP requests
gra rend
e
err phica red
or
l
me view
ssa s,
ge
s
Browser
HTML files,
GIF and JPEG images
Web
Server
Project
Module
HYPERTEXT SYSTEM
Model
MAIN
Object
Dynamic
Sheet
Rev Date
Functional
Problem
12/7/97
Description
Main
Level 0
get
input
retrieve
resource
display
output
Level 1
type
into
browser
click on
link
determine
files to
send
request
from server
send
files to
browser
render
web page
and graphics
display
error
message
draw
text
place
image
Level 2
find
file
open
network
connection
send
HTTP
request
close
network
connection
scan
web page
open
network
connection
transmit
file
close
network
connection
Project
Module
HYPERTEXT SYSTEM
Model
MAIN
Object
Dynamic
Sheet
Rev Date
Functional
Problem
12/7/97
Description
Assignment #4
WORK ORDER
SYSTEM
Project
Module
Object
Functional
MAIN
Dynamic
Sheet
Rev Date
Problem
12/7/97
Description
District
manages
Technician
has
School
Technology Manager
is based at
serves
complete (order)
s
he
at
tea
reports
Name
owns
Teacher
complains-to
is-assigned
uses
Work Order
Date
Problem
Solution
Cost
Computer
involves
Prop-Rec-Num
RAM
HD
Warranty Date
add
close
Project
Module
MAIN
Object
Dynamic
Sheet
Rev Date
Functional
Problem
12/7/97
Description
Computer
Work Order
( brand-new )
/ reported
Unassigned
Works
/ assign
( fixable )
/ fixed
/ someone
sneezes
Assigned
Broken
/ complete
( unfixable )
Closed
Dead
Project
Module
MAIN
Object
Dynamic
Sheet
Rev Date
Functional
Problem
12/7/97
Description
Technician
District
Support
Manager
Work Order
Technology
Manager
Teacher
Computer
breaks
complains
to
creates
sends-to
assigns-to
fixes
notifies
closes
notifies
notifies
breaks
complains
to
creates
A PC breaks at a school.
The teacher complains to the
school's Technology Manager.
The school's Technology Manager
creates a new work order.
The Technology sends the work
order to the District Support
Manager.
The District Support Manager
assigns the order to John the
technician.
John never shows up.
The Technology Manager reports
an error message to the District
Support Manager and the
teacher.
sends-to
assigns-to
reports error
reports
error
Project
Module
HYPERTEXT SYSTEM
Model
MAIN
Object
Dynamic
Sheet
Functional
Problem
Rev Date
12/7/97
Description
en
ok
what ha
s
rece br
ntl
y
Support Mgr
Tech Mgr
s
Work Order
System
w h at
f i x it
was do
t o fi x it
uld
he
h
w
re ,o
wh
ho
n,
he
w
,
e
w
w hat br o k h o
ne
Technician
wh
Add New
Order
so
lu t
who
are mine
ich
wh
he
f i x it
io n
uld
Tech Mgr
h
w
Assign
Order
what
ho
Support Mgr
Service
Database
t
ha
re ,o
en
ok
what ha
s
rece br
ntl
y
en
wh w
,
e
w hat br o k h o
Complete
Order
Project
w h at
was do
t o fi x it
ne
Module
Technician
MAIN
Object
Dynamic
Sheet
Functional
Problem
Rev Date
12/7/97
Description
Main
Level 0
add
order
assign
order
complete
order
Level 1
enter
work order
data values
route
to District
Support Mgr
calculate
optimum
assignment
Level 2
compute
current load
for all
techs
compute
current travel
plan for all
techs
route
to selected
technician
compute
historical
effectiveness
w/similar
problems
enter
solution
close
order
combine
weighted
factors
Project
Module
MAIN
Object
Dynamic
Sheet
Rev Date
Functional
Problem
12/7/97
Description