Transcript Lecture 8

ITEC 3010
Environments, Alternatives
and Decisions
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
• Options focused around what kind of input or output
to these large systems
• 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 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
12
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 a 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 computers (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 clientserver 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 through put or that a message
• 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
• 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
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 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
– 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 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