0% found this document useful (0 votes)
16 views71 pages

System Analysis & Design - Lecture 3

Uploaded by

rexnathaniel10
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views71 pages

System Analysis & Design - Lecture 3

Uploaded by

rexnathaniel10
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 71

Systems Analysis and Design

The Design Phase, Design Strategy, and


Architecture Design

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

 System design is the process of defining the


architecture, components, modules, interfaces
and data for a system to satisfy specified
requirements.
 Therefore, it is the process of defining and
developing systems to satisfy specified
requirements of the user. 7-3
 The design phase decides how the new
system will operate.
 The design phase develops the system
requirements that describe details for
building the system.
 We also describe three alternative
strategies for acquiring the system.

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.

These decisions are documented in the hardware and software


specification, which is a document that describes what hardware
and software are needed to support the
new application. The actual acquisition of hardware and software is
sometimes the responsibility of the purchasing department or the
area in the organization that handles capital procurement; however,
the project team uses the hardware and software specification to
communicate the hardware and software needs to the appropriate
people.
 The user’s interactions with the system also must be
designed. The system inputs and outputs will be
designed along with a plan or roadmap of the way the
system’s features will be navigated. The next chapter
describes these activities in detail, along with
techniques, such as storyboarding and prototyping,
that help the project team design a system that meets
the needs of its users and is satisfying to use.
 Design decisions made regarding the interface are
communicated through the design document called
the interface design.
Systems can be built from scratch, purchased
and customized, or outsourced to others, and
the project team needs to
investigate the viability of each alternative. The
decision to make, to buy, or to
outsource influences the design tasks that are
performed throughout the rest of
the phase.
INTRODUCTION, con’t.
 Architecture design
– Plans for how the system will be distributed across
multiple computers and what hardware, operating
system software, and application software will be used
for each computer.
 Key factors in architecture design
– Nonfunctional requirements developed early in the
analysis phase play a key role in architecture design.
 Hardware and software specification
– Defines what hardware and software are needed for the
new system.
8-10
TRANSITION FROM REQUIREMENT TO
DESIGN
 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.
 During the initial part of design, the business
requirements are converted into system requirements
that describe the technical details for building the system.
 System requirements are communicated through a
collection of design documents and physical process and
data models.
7-11
(cont’d)
 Activities of the design phase

© Copyright 2011 John Wiley & 7-12


Sons, Inc.
(cont’d)
 At the end of the design phase, the final
deliverable called system specification is
created.
 System specification outline

7-13
SYSTEM ACQUISITION STRATEGIES
 There are three primary ways to approach the creation
of a new system:

1. Develop a custom application in-house.

2. Buy a packaged system and (possibly) customize it;

and

3. Rely on an external vendor, developer, or service

provider to build or provide the system. (Outsourcing)


7-14
Custom Development

 Custom development – building a new system


from scratch.
 Pros of custom development:
- It allows developers to be flexible and creative in
the way they solve business problems.
- It allows to take advantage of current
technologies that can support strategic efforts.
- It builds technical skills and functional knowledge
within the organization.

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)

 Systems Integration refers to the process of


building new systems by combining packaged
software, existing legacy systems, and new
software written to integrate them.
 The key challenge in systems integration is
finding ways to integrate the data produced by
the different packages and legacy systems.

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

 The objective of architecture design


is to determine how the software
components of the information
system will be assigned to the
hardware devices of the system.
7-25
Architectural Components
 The major architectural components of any system are the
software and the hardware.
 All software systems can be divided into four basic functions:
- Data storage.
- Data access logic: the processing required to access stored
data. SQL
- Application logic: the logic documented in the DFDs, use
cases, and functional requirements. Example can be "clicking
this button opens window to add new customer"
- Presentation logic: the display of information to the user and
the acceptance of the user’s commands.

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

Client-server architectures balance


the processing between client
devices and one or more server
devices.
The client is responsible for the
presentation logic, whereas the
server is responsible for the data
access logic and data storage. 7-28
(cont’d)

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.

© Copyright 2011 John Wiley & 7-34


Sons, Inc.
 Client–server architectures also have
some critical limitations, the most
important of which is their complexity.
All applications in client–server
computing have two parts, the software
on the client side and the software on
the server side.

© Copyright 2011 John Wiley & 7-35


Sons, Inc.
 Writing this software is more complicated
than writing the traditional all-in-one software
used in server-based architectures (discussed
in a later
 section). Updating the overall system with a
new version of the software is more
complicated, too. With client–server
architectures, you must update all clients and
all servers and you must ensure that the
updates are applied on all devices.
© Copyright 2011 John Wiley & 7-36
Sons, Inc.
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 7-7 is
called two-tiered architecture.
7-37
 In this case, the server is responsible for the
data and the client is responsible for the
application and presentation. In a two-tier
architecture, the client is on the first tier. The
database server and web application server
reside on the same server machine, which is
the second tier. This second tier serves the
data and executes the business logic for the
web application.
7-38
7-39
(cont’d)

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.

© Copyright 2011 John Wiley & 7-41


Sons, Inc.
(cont’d)

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

© Copyright 2011 John Wiley & 7-44


Sons, Inc.
 There are two primary disadvantages to an n-tiered
architecture compared with a two-tiered architecture
(or a three-tiered with a two-tiered). First, the
configuration puts a greater load on the network. If
you compare you will see that the n-tiered model
requires more communication among the servers; it
generates more network traffic, so you need a
higher-capacity network. Second, it is much more
difficult to program and test software in n-tiered
architectures than in two-tiered architectures,
because more devices have to communicate properly
to complete a user’s transaction. 7-45
Less Common Architectures

Server-Based Architectures
Client-Based Architectures

7-46
Server-Based Architectures

 The very first computing architectures were server-


based, with the server (usually, a central mainframe
computer) performing all four application functions.
The clients (usually, terminals) enabled users to send
and receive messages to and from the server
computer. The clients merely captured keystrokes
and sent them to the server for processing, and
accepted instructions from the server on what to
display.

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

© Copyright 2011 John Wiley & 7-48


Sons, Inc.
Client-Based Architectures

7-49
Advances in Architecture Configurations

Advances in hardware, software, and


networking have given rise to a
number of new architecture options.
- Virtualization.
- Cloud computing.
7-50
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.

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)

 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.
7-54
 With public clouds, services are provided “as a
service” over the Internet with little or no control
over the underlying technology infrastructure.
 Private clouds offer activities and functions “as a
service,” but are deployed over a company intranet
or hosted data center. Hybrid clouds combine the
power of both public and private clouds. In this
scenario, activities and tasks are allocated to private
or public clouds as required.

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

 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.
7-58
Operational Requirements

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)

 Sample hardware and software specification

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

You might also like