System Analysis & Design - Lecture 3
System Analysis & Design - Lecture 3
Lecture 3
7-1
RECAP
The purpose of the analysis phase is to figure
out what the business needs. The purpose of
the design phase is to decide how to build it.
System design is the determination of the
overall system architecture—consisting of a
set of physical processing components,
hardware, software, people, and the
communication among them—that will satisfy
the system’s essential requirements.
INTRODUCTION
7-4
The design phase decides how the system will
operate. This collection of deliverables is the
system specification that is handed to the
programming team for implementation.
At the end of the design phase, the feasibility
analysis and project plan are re-examined and
revised, and another decision is made by the
project sponsor and approval committee
about whether to terminate the project or
continue.
The project team carefully considers the nonfunctional business
requirements that were identified during analysis. The
nonfunctional business requirements influence the system
requirements that drive the design of the system’s architecture.
Major considerations of the “how” of a system are operational,
performance, security, cultural, and political in nature.
For example, the project team needs to plan for the new
system’s performance: how fast the system will operate, what its
capacity should be, and its availability and reliability. The team
needs to create a secure system by specifying access restrictions
and by identifying the need for encryption, authentication, and
virus control.
At the same time, architecture decisions are made regarding the
hardware
and software that will be purchased to support the new system.
7-13
SYSTEM ACQUISITION STRATEGIES
There are three primary ways to approach the creation
of a new system:
and
7-15
(cont’d)
Cons of custom development:
- It requires a dedicated effort that include
long hours and hard work.
- It requires a variety of skills, but high skilled
IS professionals are difficult to hire and
retain.
- The risks associated with building a system
from the ground up can be quite high.
7-16
Packaged Software
Many organizations buy packaged software
that has been written for common business
needs.
It can be much more efficient to buy programs
that have already been created and tested,
and a packaged system can be bought and
installed quickly compared with a custom
system.
7-17
(cont’d)
One problem of packaged software is that companies
utilizing packaged software must accept the
functionality that is provided by the system.
Most packaged applications allow for customization
or the manipulation of system parameters to change
the way certain features work.
A custom-built add-on program that interfaces with
the packaged application, called a workaround, can
be created to handle special needs.
7-18
(cont’d)
7-19
Outsourcing
Outsourcing means hiring an external
vendor, developer, or service provider to
create or supply the system.
Outsourcing firms called application service
providers (ASPs) supply software
applications and/or services over the
Internet.
Outsourcing has many advantages such as a
low cost of entry and a short setup time.7-20
(cont’d)
Risks of outsourcing:
– Compromising confidential information
– Losing control over future development
– Losing important skills of in-house
professionals.
You should never outsource what you do
not understand.
Carefully choose an outsourcing firm
with a proven track record.
7-21
(cont’d)
Three types of outsourcing contracts:
- Time and arrangements: pay for
whatever time and expenses are needed
to get the job done.
- Fixed-price contract
- Value-added contract: the outsourcer
reaps some percentage of the completed
system’s benefits.
7-22
(cont’d)
Outsourcing Guidelines
7-23
INFLUENCES ON THE ACQUISTION
STRATEGY
System characteristics that influence the choice
of acquisition strategy
7-24
ELEMENTS OF AN ARCHITECTURE DESIGN
7-26
(cont’d)
The three primary hardware components:
- Client computers: Input-output devices employed by users (e.g., PCs, laptops,
handheld devices, smart phones) is a type of computer in a network architecture
that requests services or resources from another computer known as a "server."
- Servers: Larger multi-user computers used to store software and data. A server
computer is a type of computer in a network architecture that provides services,
resources, and data to other computers, known as clients, over a network. Servers
are designed to handle and respond to requests from clients, enabling them to
access applications, files, databases, and various other services.
- The network: Connects the computers.
7-27
Client-Server Architectures
7-29
Client–server architectures have
four important benefits. First and
foremost, they are scalable. That
means it is easy to increase or
decrease the storage and
processing capabilities of the
servers.
© Copyright 2011 John Wiley & 7-30
Sons, Inc.
If one server becomes overloaded,
you simply add another server so
that many servers are used to
perform the application logic, data
access logic, or data storage. The
cost to upgrade is gradual, and you
can upgrade in small increments.
7-31
Second, client–server architectures
can support many different types of
clients and servers. It is possible to
connect computers that use different
operating systems so that you are
not locked into one vendor. Users
can choose which type of computer
© Copyright 2011 John Wiley & 7-32
Sons, Inc.
they prefer (e.g., combining both
Windows computers and Apple
Macintoshes on the same network).
Middleware is a type of system software
designed to translate between different
vendors’ software. Middleware is
installed on both the client computer and
the server computer.
7-33
The client software communicates
with the middleware, which can
reformat the message into a
standard language that can be
understood by the middleware,
which assists the server software.
Three-tiered architecture
7-40
In this case, the software on the client computer is
responsible for presentation logic, an application
server(s) is responsible for the application logic, and
a separate database server(s) is responsible for the
data access logic and data storage.
Typically, the user interface runs on a desktop PC or
workstation and uses a standard graphical user
interface. The application logic may consist of one or
more separate modules running on a workstation or
application server.
n-tiered architecture
7-42
An n-tiered architecture distributes the work of the
application (the middle tier) among multiple layers of more
specialized server computers. This type of architecture is
common in today’s Web-based e-commerce systems.
The browser software on client computers makes HTTP
requests to view pages from the Web server(s), and the Web
server(s) enable the user to view merchandise for sale by
responding with HTML documents. As the user shops,
components on the application server(s) are called as needed
to allow the user to put items in a shopping cart; determine
item pricing and availability; compute purchase costs, sales
tax, and shipping costs; authorize payments, etc.
7-43
The primary advantage of an n-tiered
client–server architecture compared with
a two-tiered architecture (or a three-
tiered with a two-tiered) is that it
separates out the processing that occurs
to better balance the load on the
different servers; it is more scalable
Server-Based Architectures
Client-Based Architectures
7-46
Server-Based Architectures
7-47
Client-Based Architectures
With client-based architectures, the clients are
microcomputers on a local area network, and
the server is a server computer on the same
network. The application software on the
client computers is responsible for the
presentation logic, the application logic, and
the data access logic; the server simply
provides storage for the data
7-49
Advances in Architecture Configurations
7-51
Cloud Computing
Cloud Computing It is no longer necessary for
organizations to own, manage, and administer their
own computing infrastructure. We are in the midst of
the rise of cloud computing, wherein everything, from
computing power to computing infrastructure,
applications, business processes to personal
collaboration— can be delivered as a service wherever
and whenever needed. Cloud services include the
delivery of software, infrastructure, and storage over
the Internet (either as separate components or a
complete platform) based on user demand.
7-52
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.
7-53
(cont’d)
7-55
(cont’d)
Advantages of cloud computing
1. The resources allocated can be increased or
decreased based on demand.
2. Cloud customers can obtain cloud resources
in a straightforward fashion.
3. Cloud services typically have standardized
APIs (application program interfaces). -This
means that the services have standardized
the way that
programs or data sources communicate with 7-56
Comparing Architecture Options
Most systems are built to use the existing
infrastructure in the organization, so often
the current infrastructure restricts the
choice of architecture.
Each of the architectures discussed has its
strengths and weaknesses.
Client-server architectures are strongly
favored on the basis of the cost of
infrastructure.
7-57
CREATING AN ARCHITECTURE DESIGN
7-59
Performance Requirements
7-60
Security Requirements
7-61
Cultural and Political Requirements
7-62
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.
7-63
HARDWARE AND SOFTWARE
SPECIFICATION
The design phase is also the time to
begin selecting and acquiring the
hardware and software that will be
needed for the future system.
The hardware and software
specification is a document that
describes what hardware and software
are needed to support the application.
7-64
(cont’d)
7-65
(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.
7-66
(cont’d)
Factors in hardware and software selection
7-67
SUMMARY
Transitioning from requirements to
design
- The design phase develops the blueprint for the
new system.
- The main deliverable from the design phase is the
system specification.
System acquisition strategies
- Custom application in-house.
- Packaged system.
- Outsourcing.
7-68
(cont’d)
Influences on acquisition strategy
- Each acquisition strategy has its strengths and
weaknesses.
- Consider such issues as the uniqueness of business
need, in-house experiences, and the importance of
project skills.
Selecting a acquisition strategy
- An alternative matrix can help the design team make the
decision regarding the specific acquisition strategy.
- The request for proposal and request for quote are ways
to gather accurate details regarding the alternatives.
7-69
(con’t)
Application architecture.
- Client-server architecture.
- Advances in architecture configurations:
virtualization and cloud computing.
Architecture Design.
- Nonfunctional requirements.
Hardware and software specification.
- A document that describes what hardware and
software are needed to support the application.
7-70
THANK
YOU
7-71