ITEC 3010
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
The focus of chapter 8 is on the last three activities
(the transition from analysis to solutions and design)
The end of the Analysis Phase
• During analysis many more requirements may be
determined than can be dealt with
• Must prioritize and evaluate them
• Several alternative packages of requirements may
be developed
• A committee of executives and users will decide
which are most important
• Must select a system scope and level of
automation
• Methods of development are reviewed
Assessing the Target Processing Environment
• Target processing environment
– Configuration of computer equipment, operating
systems and networks that will exist when the new
system is deployed
• Must be a stable environment to support the new
system
• Design and implementation of the processing
environment is one of the early activities in
moving from analysis to design
Centralized Systems
• Prior to the early 1980’s there was only one
environment – the mainframe computer system at a
central location
• Common to large-scale batch processing
applications (e.g. banking, insurance, government
etc.) where:
– Some input transactions don’t need to be processed in real
time
– On-line data entry personnel can be centrally located
– Large numbers of periodic outputs are produced
• Often used for a subsystem of a larger, sometimes
distributed information system
Single Computer Architecture
• Places all information system resources on a
single computer system and its attached
peripherals
• Requires (almost) all users be located near the
computer
• Advantage is simplicity and ease of maintenance
• However, many systems require more computing
power than one single machine can provide
Clustered Architectures
• A group of computers of the same type that have
the same operating environment and share
resources
• Computers from the same manufacturer are
networked
• Clusters act like a single large computer system
• One may act as entry point and the others function
as slave computers
Multicomputer architecture
• A group of dissimilar computers that are linked
together but the hardware and operating systems
are not required to be similar as in the clustered
architecture
• System still functions like one single large
computer
• Can have central computer and slave computers
– Main computer may execute programs and hold
database
– The front-end computer may handle all communication
Distributed Computing
• 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
• Easy to distribute and replicate over a network
• Layers are relatively independent of each other
• Can be expanded into a larger number of layers
• N-layer architectures, or n-tiered architectures
– A client-server architecture that contains n layers
The Internet and Intranets
• Internet: a global collection of networks that are
interconnected using a common low-level networking
standard – TCP/IP (Transmission Control
Protocol/Internet Protocol)
• Services provided by the Internet
– E-mail protocols (Simple Mail Transfer Protocol – SMTP)
– File transfer protocols (e.g. File Transfer Protocol – FTP)
– Remote login and process execution protocols (e.g. Telnet)
Intranets and Extranets
• Intranet
– A private network that is accessible to a limited number of
users, but which used the same TCP/IP protocol as the
Internet
– Restricted access – firewalls, passwords, unadvertised
• Extranet
– An intranet that has been extended outside of the
organization to facilitate the flow of information (e.g.
access to suppliers, customers, and strategic partners)
– Allows organizations to exchange information and form a
virtual organization
• The Web is organized as a client-server architecture
– Web processes are managed by server processes that
execute on dedicated servers and clients send requests to
servers using a standard web resource request protocol
The Internet as an Application Platform
• The Internet provides an alternative for
implementing systems
– E.g. RMO buyer can access the system while on the
road – the client portion of the application is installed
on their laptop/smartphone (uses modem/wi-fi/… to
connect)
– Using the WWW for accessing the remote site, all the
buyer needs is a web browser and is now accessible
from any computer with Internet access
• Use of the Internet greatly expands accessibility
and eliminates need to install custom client
software – also cheaper to put up on the Web
Advantages of WWW over traditional client-
server approaches
• Accessibility
– Web browser and Internet connections are nearly
ubiquitous and are accessible to large numbers of users
• Low-cost communication
– High-capacity WAN form the Internet backbone are
funded primarily by governments (a company can use
the Internet as a low-cost WAN)
• Widely implemented standards
– Web standards are well known and many computer
professionals are trained in their use
– Use of intranet or extranet enjoys all the advantages of
web delivery
– Really represents evolution of client-server computing
to the WWW
Negative Aspects of Application
• 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
• Scoping table: a tabular list of all the functions to
be included within a system
• It is an expanded version of the event table
• It may include events from the event table plus
some identified later on
• Each business function can be prioritized
– Mandatory
– Important
– Desirable
Defining Level of Automation
• 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
• More and more new systems are being used to
provide high-level automation solutions
• Criteria used to decide which functions to support
and level of automation are based on
– Strategic IT plan
– Feasibility study
• Economic feasibility
• Operational, organizational and cultural feasibility
• Technological feasibility
• Schedule and resource feasibility
Evaluation of Alternatives for RMO example
• Project team decided to include all functions that
were classified as mandatory or important
• For each, a detailed analysis was done to
determine level of automation
• A table or list can be made of preliminary
selection of which functions to include and at
what level of automation
• For most functions, a medium level of automation
was selected (see shaded boxes)
• See next slide for part of that table
Generating Alternatives for Implementation
• Now ask “where do we go from here?”
• Options include buying a computer program if the
application is fairly standard OR company may
decide to build the system from ground up
• Next figure shows this in a graph
– Vertical column is the build-versus-buy axis (at the top
of the axis the entire system is bought as a package)
– In between is a combination of buy and build
– There a various alternatives ranging from in-house
development to purchasing a complete ERP system
Cloud
In-House Development
• Large and medium-sized companies have in-house
development staff
• A problem with this is that special technical expertise
may be beyond employees’ experience
• So may use company employees to manage and staff
projects, but also call in consultants when needed
• Advantage
– Control of project and knowledge retained in the company
– Company can build internal expertise
• Disadvantage
– In-house staff may not know when they need assistance
Custom Software Development
• A solution that is developed by an outside service
provider
– New system is developed from scratch (using SDLC)
– But project team consist mainly of outside consultants
– Advantages of custom development:
• consulting firm may have developed similar systems and has good
knowledge of the domain and pool of qualified staff
– Outsourcing and contract development are the fastest
growing segments of the IS industry
– Disadvantage:
• the cost (paying at high consulting hourly wages – e.g. $100 per hour
is typical)
– Opted for when no in-house expertise or tight schedules
– Often for large systems (e.g. health care) where cost is
outweighed by savings due to high volume of use of system
Packaged and Turnkey Software Systems
• Packaged software: software that is already built and can
be purchased as a package – COTS (Commercial Off The
Shelf)
– Strict definition is that software is used as is, with no change
– E.g. a standard reporting system package may work for some of
the companies requirements
• Turnkey system: a complete system solution, including
software and possibly hardware, that can be just turned on
– Companies creating these systems usually specialize in a
particular industry
– But problem is that often they don’t exactly meet the needs of an
organization
– May allow for vendor to customize part of it to better suit needs
– Company may buy base system + a number of customization
changes and a service agreement (e.g. hospital systems)
• In some cases only executable code is provided,
other cases include both source and executable
• Vendor may make the changes or company itself
might (if it has programmers)
• Enterprise Resource Planning (ERP)
– A turnkey system that includes all organizational
functions of an organization (e.g. companies such as
SAP, Oracle provide these)
– May take longer than a year to install
– Can cost millions
– Advantage of ERP: a new system can often be
obtained at a much lower cost than in-house
development, also risks may be lower
– Disadvantage of ERP: system may not do exactly what
the organization needs (even after customization).
Customization can also take quite a long time and
money
Facilities Management / Cloud
• Facilities management: the outsourcing of all data
processing and information technology to an
outside vendor
– E.g. a bank my hire a facilities management firm to
provide all of the data processing including software,
networks and even technical staff
– Typically part of a long-term strategic plan for an entire
organization
– Contracts cost a lot (millions) – example EDS
(Electronic Data Systems)
Choosing an Alternative for Implementation
• Identifying Criteria for Selection
– Criteria will be used to compare alternative choices
(e.g. in-house or outsourcing)
– Three general areas to consider
• General requirements
• Technical requirements
• Functional requirements
– General requirements include
• Feasibility assessment (scope and level of automation)
• Each alternative must meet the requirements of
– Cost
– Technology
– Operations
– schedule
• For outsourced alternatives
– The providers stability and performance record is also
important
• For in-house alternatives
– Must consider risks, length of schedule and availability
of in-house expertise
• Must evaluate for total cost and impact on the
organization of alternatives
• Criteria for assessment of alternatives
– The performance record of the provider
– Level of technical support from the provider
– Availability of experienced staff
– Development costs
– Expected value of benefits
– Length of time (schedule) until deployment
– Impact on internal resources
– Requirements for internal expertise
– Organizational impacts (retraining, skill levels)
– Expected cost of data conversion
– Warranties and support services (from outside vendors)
• Relative importance of each criteria can be
weighted on a 5-point scale (a weighting scale)
– 1 indicates low importance
– 5 indicates high importance
• Also for each alternative we can rate the
alternative for that criteria, on a five point scale
– 1 indicates the alternative is weak for that criteria
– 5 indicates the alternative is strong on that criteria
• Then we can multiply the importance of a criteria
by its rating for each alternative to get extended
scores
• Finally, we can add up the extended scores for all
alternatives and see which comes up best
• In addition to general requirements, we should
include criteria to evaluate the quality of the
software
– Robustness (software does not crash)
– Programming errors (software calculates correctly)
– Quality of code (maintainability)
– Documentation
– Easy installation
– Flexibility (adjusts to new functionality and
environments
– Structure (maintainable, easy to understand)
– User-friendliness
• Can do tables for the above technical requirements
and also for functional requirements (tables 8-8
and 8-9) on next slides
Making the Selection – the RMO example
• Once each alternative is evaluated with a raw
score
• In RMO example, the first three alternatives rank
very close together on general requirements (with
in-house slightly better than the others)
• The other tables show the in-house and custom
development very close as best
• RMO therefore decides to go with in-house and
hire consultants as needed
• RMO is now ready to proceed with the project