Systems Analysis and Design
Chapter 8. Architecture Design
Alan Dennis, Barbara Haley Wixom, and Roberta Roth
8-1
Chapter 8 Outline
Elements of an architecture
design.
Creating an architecture design.
Hardware and software
specification.
8-2
INTRODUCTION
Architecture design
– Plans for how the system will be distributed across
multiple computers and what hardware, operating
used forsoftware,
system each computer.
and application software will be
Key factors in architecture design
analysis phase requirements
– Nonfunctional play a key roledeveloped
in architecture
early design.
in the
Hardware and software specification
– Defines what hardware and software are needed for
the new system. 8-3
ELEMENTS OF AN ARCHITECTURE
DESIGN
is The objective
to determine howofthe
architecture
software
components ofdesign
the information
system will be assigned to the
hardware devices of the system.
8-4
Architectural Components
are
Thethe
major architectural
software and the components
hardware. of any
All software systems can be divided into four basic
system
functions:
- Data storage.
-Data access logic: the processing required to access
stored data.
-Application logic: the logic documented in the DFDs,
use cases, and functional requirements.
-Presentation logic: the display of information to the
user and the acceptance of the user’s commands.
8-5
(cont’d
)
The three primary hardware
components:
-Client computers: Input-output devices
employed by users (e.g., PCs, laptops,
handheld devices, smart phones)
-Servers: Larger multi-user computers
used to store software and data.
- The network: Connects the 8-6
Client-Server Architectures
Client-server architectures balance the
processing between client devices and one or
more server devices.
The client is responsible for the presentation
logic, whereas
data access theand
logic server
dataisstorage.
responsible for the
A thick or fat client contains all or most of
application logic; whereas a thin client
contains a small portion of the application
logic. 8-7
(cont’d
)
8-8
(cont’d
)Client-server architectures have four important
benefits.
- Scalable
- Can support different types of clients and servers
through middleware.
- The presentation logic, the application logic, and
the data processing logic can be independent.
- If a server fails, only the applications requiring that
sever
Theare affected.
major limitation of client-server architectures
is their complexity.
8-9
Client-Server Tiers
There are many ways in which the
application logic can be partitioned
between the client and the server.
The arrangement in Figure 8-1 is
called two-tiered architecture.
8-10
(cont’d
)
Three-tiered architecture
8-11
(cont’d
)
n-tiered architecture
8-12
Less Common Architectures
Server-Based Architectures
8-13
Client-Based Architectures
8-14
Advances in Architecture
Configurations
Advances
networking in hardware,
have given rise to a
number of software, and
new architecture options.
- Virtualization.
- Cloud computing.
8-15
Virtualization
Virtualization refers to a creation of a
virtual device or resource, such as a server or
storage
device.
Server virtualization involves partitioning a
physical server into smaller virtual servers.
Storage virtualization involves combining
multiple network storage devices into what
appears to be single storage unit.
8-16
Cloud Computing
Cloud computing – everything from
computing power to computing
infrastructure, applications, business
processes to personal collaboration can be
delivered as a service wherever and whenever
needed.
The “cloud” can be defined as the set of
hardware, networks, storages, devices, and
interfaces that combine to deliver aspects of
computing as a service. 8-17
(cont’d
)Cloud computing can be
implemented in three ways:
- private cloud,
- public cloud, and
- hybrid cloud.
At this time, cloud computing is
in its early stage of development.
8-18
(cont’d
) Advantages of cloud computing
1. The resources allocated can be increased or
deceased based on demand.
2. Cloud customers can obtain cloud
resources in a straightforward fashion.
3. Cloud services typically have standardized
APIs (application program interfaces).
4. The cloud computing model enables
customers to be billed for resources as they
are used. 8-19
Comparing Architecture Options
Most systems are built to use the existing
infrastructure in the organization, so often
the current
choice infrastructure restricts the
of architecture.
strengths
Each of theand
architectures
weaknesses.discussed has its
Client-server architectures are strongly
favored on the basis of the cost of
infrastructure.
8-20
CREATING AN ARCHITECTURE DESIGN
Creating an architecture design begins
with the nonfunctional requirements.
Refine the nonfunctional requirements into
more detailed requirements for the
selection of architecture.
The nonfunctional requirements and the
architecture design are used to develop the
hardware and software specification. 8-21
Operational Requirements
8-22
Performance Requirements
8-23
Security Requirements
8-24
Cultural and Political Requirements
8-25
Designing the Architecture
In many cases, the technical environment
requirements as driven by the business
requirements define the application
architecture.
If the technical environment requirements do
not require the choice of a specific
architecture, then other nonfunctional
requirements become important for designing
the architecture.
8-26
(cont’d)
Nonfunctional Requirements and
Their Implications for Architecture
Design
8-27
HARDWARE AND SOFTWARE
SPECIFICATION
The design phase is also the time to
begin selecting and acquiring the
hardware
needed forand
thesoftware that will be
future system.
The hardware and software
specification is a document that
describes what hardware and software
are needed to support the application. 8-28
(cont’d
)
Sample hardware and software
specification
8-29
(cont’d
)First, you define software
– Define the operating system and any special purpose
software
– Consider additional costs such as training, warranty,
maintenance, licensing agreements.
Next, you create a list of the hardware needed
– Database servers, network servers, peripheral devices,
clients, backup devices, storage components, and
others.
Finally, you describe the minimum requirements for
each piece of hardware.
8-30
(cont’d
)
Factors in hardware and software selection
8-31
SUMMARY
Application architecture.
- Client-server architecture.
- Advances in architecture configurations:
virtualization and cloud computing.
- Nonfunctional
Architecturerequirements.
Design.
Hardware and software
specification.
8-32
8-
- Asoftware
documentarethat describes
needed to support the application.
32