Professional Documents
Culture Documents
Chapter 9:
Architecting and Designing
Software
9.1 The Process of Design
Definition:
• Design is a problem-solving process whose objective is
to find and describe a way:
—To implement the system’s functional
requirements...
—While respecting the constraints imposed by the
non-functional requirements...
- including the budget
—And while adhering to general principles of good
quality
• Subsystem:
—A system that is part of a larger system, and which has a
definite interface
Top-down design
• First design the very high level structure of the system.
• Then gradually work down to detailed decisions about
low-level constructs.
• Finally arrive at detailed decisions such as:
—the format of particular data items;
—the individual algorithms that will be used.
Bottom-up design
• Make decisions about reusable low-level utilities.
• Then decide how these will be put together to create
high-level constructs.
Screen display
facilities Dealing with
application protocols
User account
User management Dealing with
interface connections
File
Application system Dealing with
logic packets
Kernel
Operating system Database Network (handling processes Transmitting
access access communication and swapping) and receiving
simplechat1 ocsf
client
client «imports»
common server
Realization Elements
requestToRegister(aStudent) : boolean
dropCourse(aStudent)
getSchedule( ) : Iterator * CourseSection
Specification Elements
*
Register in Registration
a course
*
Drop
a course Student
Student
Actor
Display
schedule
<<communication>>
Client Server
Application programs
Screen display
facilities Dealing with
application protocols
User account
User management Dealing with
interface connections
File
Application system Dealing with
logic packets
Kernel
Operating system Database Network (handling processes Transmitting
access access communication and swapping) and receiving
Client1: <<communication>>
look up addresses
<<communication>>
exchange messages <<communication>> Server:
exchange messages
Client2:
<<communication>>
<<communication>> look up addresses
exchange messages
Client3:
Handler for
Reservation
Transaction transactions Transaction transaction
input dispatcher
Handler for
Flight cancellation
transaction
..
.
remove equalize
cancel cancel
echo noise non-voice dynamic compress transmit
frequencies range
TCP/IP Transmission
encoder for
distant ambient encode
microphone noise speaker decompress receive
output
viewed
by actor
receives
View actor events
create and update
modify
Model
B. General Priorities
Decisions in this document are made based on the following priorities
(most important first): Maintainability, Usability, Portability,
Efficiency
Client side:
• Responses from the server will be displayed on the UI. There will be no
need for handleMessageFromServer to understand that the
responses are replies to the commands.