58
ITEC 2010 A chapter 8 Environments, Alternatives and Decisions

ITEC 2010 A chapter 8 Environments, Alternatives and Decisions

Embed Size (px)

Citation preview

ITEC 2010 Achapter 8

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 1970’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 and Multicomputer 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 a 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

Notes on Centralized Systems

• Clustered architectures may be cost efficient if similar operating system is used by all

• Multicomputer architectures are good when the centralized system can be decomposed into relatively independent subsystems (each possibly with its own operating systems

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

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 to connect)

– Alternatively, 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 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

Rocky Mountain Outfitters Example

• Current Environment– Mainframe at Park City data centre

– Mail order and distribution functions are connected directly to the mainframe to allow real-time connection

– Mainframe application written in COBOL and DB2 database used

– Dialup telephone lines are used to communicate with manufacturing sites in Salt Lake city

• Proposed Environment– Strategic plan gets changed as new systems are

developed– Various target environments possible for RMO

• Move to Internet technology• Utilize internal LNA/WAN technology• Use a mix of the two options

– Other alternatives• Use a mainframe central processor• Distributed client-server processors

– Other considerations regard the database technology• Use traditional relational database technology• Or, move to object-oriented databases

• RMO wants to be state-of-the-art• But wants to avoid high-risk projects• Strategic plan

– Move away from COBOL mainframe environment

– Move to combination of client-server configuration

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

Facilities Management

• 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)

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 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, PeopleSoft 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 risk 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

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– Usually for large systems (e.g. health care) where cost is

outweighed by savings due to high volume of use of system

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

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