Chapter 6 - Essentials of Design and The Design Activities
Chapter 6 - Essentials of Design and The Design Activities
Chapter Overview
There are two major themes in this chapter. The first major theme is about the conceptual foundation
principles of systems design. The second is about configuring and designing the environment.
The first three sections in the chapter introduce the concepts of systems design. The first section
defines design as distinct from analysis. The objective of systems design is to define, organize, and
structure the components of the final solution system that will serve as the blueprint for construction.
There are various components that need to be designed, including items such as the application
software, the database, the user interface, the network, interfaces to external systems, and internal
controls.
The second section compares analysis and design by discussing the different objectives of analysis
versus design. It also discusses the different models used for analysis and design. Design models
consist of such diagrams as package diagrams, design class diagram, sequence diagrams,
communication diagrams, database schema, and user-interface screens.
The final section with the first theme presents the six activities that support Core Process 4, Design the
application. These six activities are: design the environment, design application architecture and
software, design user interfaces, design system interfaces, design the database, and design system
controls and security.
The second major theme in this chapter concerns the detail design of the environment. In other words,
the first design activity, design the environment, is covered within this chapter. Various different
configurations of the deployment environment are explained, including deploying internal systems,
external systems, and remote VPN systems.
Learning Objectives
After reading this chapter, you should be able to:
Describe the difference between systems analysis and systems design
Explain each major design activity
Describe the major hardware and network environment options
Describe the various hosting services available
Opening Case
Technology Decisions at Wysotronics, Inc.: This case is a typical situation with many companies
today that until recently hosted all of their systems with in-house computers and data centers. With the
availability of many different types of hosting services, from colocation to cloud computing, many
companies are realizing significant cost savings by using these hosting services. In addition the level
Systems Analysis and Design in a Changing World, sixth edition 6-2
of service and availability has increased because hosting companies have created very robust data
centers which provide close to 100% availability. In this case, there are two types of systems –
production and supply chain systems that have been moved to a virtual private network, and marketing
and sales systems that have been placed in a colocation company that also provides managed services.
Key Terms
network diagram – a model that shows how the application is deployed across networks and
computers
architectural design – broad design of the overall system structure; also called general design
or conceptual design
detail design – low-level design that includes the design of the specific program details
The environment, including the network and deployment infrastructure. Frequently some
portions of the network already exist. Often the network needs to be extended and new elements
need to be integrated into existing components.
The application software, including server based applications and remote applications.
Components of the application software may reside on a centralized server, while other
components may reside on remote and mobile devices. All components must integrate together
for a functioning whole.
The user interface, which defines the screens and reports on all devices. This can become
complex because of the many different devices that may be connected to the system.
The system interface, which defines communication interfaces with other automated systems. In
today's interconnected world, this may become extensive and complex.
The database, which contains all data structures and deployment methods. Databases are
deployed in many different environments, in both single and multiple sites.
Security and controls, which includes all those considerations of how to protect the system and
the data while it resides on any system and in any database. It also includes considerations of
how to protect the data while it is in transit from one device to another. Security and controls
requires both external security devices as well as built in checks and protections.
Each of components of a final information system will go through both architectural design and then
detail design. Figure 6-11 indicates which chapters in the textbook describe the design process for each
element to be designed.
Inputs and Outputs for Systems Design
In iterative projects analysis and design activities are often done concurrently. However, the first focus
of any iteration has to be identifying and specifying the requirements (i.e., analysis); determining the
solutions (i.e., design) comes later. Basically, analysis involves decomposition—breaking a complex
problem with complicated information requirements into smaller, more understandable components.
Analysts then organize, structure, and document the problem domain knowledge by building
requirements models. The primary focus of analysis is to “understand.” Design is also a model-building
activity. Analysts convert the information gathered during analysis—the requirements models—into
models that represent the solution system. The objective of design is to define, organize, and structure
the components of the final solution system to have a blueprint for construction of the system. Figure 6-
2 shows the transition from analysis to design.
One of the major benefits of object-oriented development is that the design models, in many instances,
are simply an extension of the analysis models. Hence the transition from analysis to design is smooth,
and in fact analysis and design are often done concurrently.
The primary design models include the following:
Package diagrams – an architectural design for software components
Nodes and locations diagrams – an architectural design for the network
Design class diagrams – programming classes and database design
Sequence diagrams – detail design of application software
Systems Analysis and Design in a Changing World, sixth edition 6-4
job. User-interface design is also a design activity in that it requires creativity and conformity to
rigorous technology requirements.
Key Terms
local area network (LAN) – a computer network in which the cabling and hardware are
confined to a single location
client-server architecture – a computer network configuration with user’s computers and
central computers that provide common services
client computers – the computers at which the users work to perform their computational tasks
server computer – the central computer that provides services (such as database access) to the
client computers over a network
Hypertext Markup Language (HTML) – the predominant language for constructing Web
Systems Analysis and Design in a Changing World, sixth edition 6-6
pages and which consists of tags and rules about how to display pages
Transmission Control Protocol/Internet Protocol (TCP/IP) – the foundation protocol of the
Internet; used to provide reliable delivery of messages between networked computers
three-layer architecture – a client/server architecture that divides an application into view
layer, business logic layer, and data layer
view layer – the part of the three-layer architecture that contains the user interface
business logic layer or domain layer – the part of a three-layer architecture that contains the
programs that implement the business rules and processes
data layer – the part of a three-layer architecture that interacts with the data
Hypertext Transfer Protocol Secure (HTTPS) – an encrypted form of information transfer on
the Internet that combines HTTP and TLS
Transport Layer Security (TLS) – an advanced version of Secure Sockets Layer (SSL)
protocol used to transmit information over the Internet securely
content delivery network (CDN) – a set of server computers, separate from the hosting
computers, used to deliver such static content as images or videos
hosting – the process of providing physical servers at a secure location and selling those
services to other businesses that wish to deploy Web sites
colocation – a hosting service with a secure location but in which the computers are usually
owned by the client businesses
virtual server – a method to partition the services of a physical Web server so it appears as
multiple, independent Internet servers
cloud computing – an extension of virtual servers in which the resources available include
computing, storage, and Internet access and appear to have unlimited availability
Service Level Agreement (SLA) – part of the contract between a business and a hosting
company that guarantees a specific level of system availability
Virtual Private Networks (VPNs) – a closed network with security and closed access built on
top of a public network, such as the Internet
peer-to-peer connection – when independent computers communicate and share resources
without the need of a centralized server computer
The first activity in the list of design activities is designing the environment. This activity is also listed
first because it permeates all the other design decisions. There is an incredible variation in the software
systems being deployed today as well as an explosion in the types of devices and configurations that
have software applications. In this section, the authors address issues related to three major industry
trends in software deployment: software systems deployed entirely within an organization, software
systems built for purely external use (in our case, deployed on the World Wide Web via the Internet),
and software systems deployed remotely in a distributed fashion (for internal and external use).
Systems Analysis and Design in a Changing World, sixth edition 6-7
Configuration for Internet Deployment: Configuration of the application for the Internet must address
several issues. Almost all Internet-deployed applications use a three-layer architecture. The back end
(i.e., the application server and the database server) provides the same functionality as an internally
deployed client-server system. The view layer architecture has some similarities but also has more
complex requirements due to the varied and insecure nature of the Internet. The view layer consists of
the HTML pages that are rendered by a browser.
Implementing an application via the Web has a number of advantages over traditional client/server
applications, including such things as accessibility, low-cost communication, and widely accepted
implementation standards. Of course, there are problematic aspects of application delivery via the
Internet and Web technologies. Issues such as security, throughput, and changing standards are
potential problems that must be addressed.
Security is especially important due to the high level of hacking and intrusion. This applies both to
data while it resides on the server and while it is in transit. Transportation security is enhance through
such standards as Hypertext Transfer Protocol Secure (HTTPS) and Transport Layer Security
(TLS). Throughput of high transaction volume is enhanced by server farms where servers are linked
together with load-balancing hardware and software. Content delivery networks (CDN) are also a
popular technique to enhance overall throughput.
Hosting Alternatives for Internet Deployment: Hosting the application software is also an important
consideration for Web based systems. Before deciding on hosting method or a hosting company the
primary organization must consider such things as reliability, data center security, support staff, growth
capabilities, and physical facilities with connectivity and power protection. Inasmuch as there are many
companies now that do provide excellent hosting services, there has been a big migration from home-
grown data centers to hosting with service providers.
Hosting companies provide their services in a variety of packages and offerings. A few of the more
popular ones include:
Colocation – providing a secure physical facility with stable connectivity where companies can
locate their own servers
Managed Services – providing additional hardware and software services such as managing
Internet servers, database servers, maintaining the operating systems, providing backup
services.
Virtual Servers – providing partial use of a server computer or multiple expanded servers in a
virtual configuration
Cloud Computing – an extension of virtual servers where a client can purchase only as much
computing capability as needed at the moment and without having to worry about the server
configuration. It is an attempt to treat computing capability like a utility such as electricity.
In all of the above, the hosting companies guarantee a certain level of performance through a Service
Systems Analysis and Design in a Changing World, sixth edition 6-9
Level Agreement (SLA). It is not uncommon in today's world for hosting companies to guarantee
100% uptime.
Diversity of Client Devices with Internet Deployment: The final issue, that of the diversity of client
devices that can access the Internet, must be considered in designing any externally deployed system.
This issue will continue to become more important as additional devices become Web enabled. One
way to categorize client devices is by size: full-sized computers, mid-sized tablet computers, and small
mobile computing devices. Most new Internet software applications have at least two separate view
layers to accommodate the disparity in these devices.