Lecture 8
Lecture 8
Environments, Alternatives
and Decisions
Chapter 8/9
Major Activities in the Analysis Phase
• Gather information
• Define system requirements
• Prototype for feasibility and discover
• Prioritize requirements
• Generate and evaluate alternatives
• Review recommendations with management
• Distributed computing
– The approach to distributing a system across several
computers and locations
• E.g. corporate financial data might be stored on a
centralized mainframe, linked to minicomputers in
regional office and personal computers at more
locations
• Relies on computer networks to connect up the
systems
Client-Server Architecture
• Currently the dominant architectural model for
distributing information resources
– Server computer (server): A computer that provides
services to other computers on the network
– Client computer: A computer that requests services from
other computers on the network
• E.g. print server on a network, that clients (other PCs
on the network) can send print jobs to
• Middleware
– Computer software that implements communication
protocols on the network and helps different systems
communicate
• Data layer
– A layer on a client-server configuration that contains the
database
Interaction Among Multiple
Clients and a Single Server
Figure 9-17
13
Systems Analysis and Design in a Changing World, 5th Edition
Three Layer Client-Server Architecture
• An information system application program can
be divided into the following set of client and
server processes or layers
• Three-layer architecture
– The data layer
• Manages stored data, implemented as one or more databases
– The business logic layer
• Implements the rules and procedures of business processing
– The view layer
• Accepts user input, and formats and displays processing
results
• View layer acts as client of the business logic
layer, which acts as a client of the data layer
Notes on Three Layer Architecture
• Security
– Web servers are well-defined target for security
breaches
• Reliability
– Internet protocols do not guarantee a minimum level of
network throughput or that a message will reach its
target
• Throughput
– Data transfer capacity of many users limited by analog
modems to under 56 kilobits per second
• Volatile standards
– Web standards change rapidly
Development and System Software
Environments
• Development environment
– Consists of standards and tools used in an organization
– E.g. CASE tools, programming standards
• System software environment
– Includes operating system, network protocols, database
management systems etc.
• Important activity during analysis
– To determine the components of the environment that
will control the development of the new application
Important components of the environment
that will affect the project
• Language environment and expertise
– Companies often have preferred languages
– Numerous languages out there – COBOL, C++, Visual
Basic, to web-based languages like Java and Perl Script
– Choosing a new language requires additional work
• It might also bring higher risks for a while
• Existing CASE tools and methodologies
– If a company has invested heavily in a CASE tool then
all new development may have to conform to it
• Required interfaces to other systems
– A new system typically must provide information to and
receive it from existing systems
• Operating System environment
– Strategic goals may exist to change the operating
system
– Multiple platforms may be needed
– Legacy systems are often still there and may be linked
to newer client-server applications and databases
• Database management system (DBMS)
– Many corporations have committed to a particular
database vendor
– May require a distributed database environment with
portions distributed over the country/world
Deciding on Scope and Level of Automation
• Scope of a system
– E.g. current RMO point-of-sales system’s scope includes
handling mail and telephone sales but not Internet
• Level of Automation
– In the new system a very low level of automation is needed
for telephone sales aspects
• “Scope creep”
– A problem with development projects where requests for
additional features just keeps continuing
– To avoid it, we need to formalize the process of selecting
which functions are critical or not
– We need to Prioritize Requirements
Scoping Table
• Level of automation
– The kind of support the system will provide for each function
• Low, middle, high
– E.g. low level is using computer for order-entry function, high
level is using computer to support high-level decision making by
human
• Low end is basically an automated version of a current manual
procedure
– A high level occurs when system takes over as much as possible
the processing of the function
• High end often involves creating new processes and procedures
Rocky Mountain Outfitters – example of functions
of a high-end system
– Customers can access catalog on-line with 3D pictures
over the WWW
– The catalog is also interactive and allows customer to
combine items
– The user interface is voice-activated
– Payment is verified on-line ??
– The customer can see a history of all prior orders and
can check the status of any order over the WWW or
telephone ??
Selecting Alternatives