Professional Documents
Culture Documents
System Design
Identifying Design goals
Decomposing the system
Addressing Design goals
System design
• System design is the transformation of an analysis model into a system design
model that takes into account the nonfunctional requirements described in the
requirements analysis document.
• During system design, we focus on the processes, data structures, and software
and hardware components necessary to implement it
Overview of system design
• we can select design goals from a long list of highly desirable qualities.
Identifying Design Goals(Cont…)
• Performance criteria : include the speed and space requirements imposed on the
system.
• Cost criteria : include the cost to develop the system, to deploy it, and to
administer it.
• End user criteria :include qualities that are desirable from a users’ point of view,
but have not yet been covered under the performance and dependability criteria.
• If a subsystem contains many objects that are related to each other and perform
similar tasks, its cohesion is high and vice versa.
• A good heuristic is that developers can deal with 7 ± 2 concepts at any one level
of abstraction.
• If there are more than nine subsystems at any given level of abstraction, or if a
subsystem provides more than nine services, you should consider revising the
decomposition.
Layers and Partitions
• The interface layer includes all boundary objects that deal with the user,
including windows, forms, web pages, and so on.
• The application logic layer includes all control and entity objects, realizing the
processing, rule checking, and notification required by the application.
• The storage layer realizes the storage, retrieval, and query of persistent
objects.
Architectural Styles(Cont…)
• The Presentation Client layer is located on the user machines, whereas the
Presentation Server layer can be located on one or more servers.
Architectural Styles(Cont…)