Meltem Özturan misprivate.boun.edu.tr/ozturan/mis515 1 2 1
Selecting the Best Alternative 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 3 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 4 2
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 5 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 6 3
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 7 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 8 4
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 9 Notes on Centralized Systems Clustered architectures may be cost efficient if similar operating system is used by all Multicomputer architectures are good when the the centralized system can be decomposed into relatively independent subsystems (each possibly with its own operating systems 10 5
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 11 Computer Networks Computer network A set of transmission lines, equipment and communication protocols to permit sharing of information and resources Local area networks (LAN) A computer network where the distances are local (e.g. in the same building) Wide area network (WAN) A computer network across large distances (e.g. city, province or nation) 12 6
LANs and WANs Can be built from many technologies E.g. ethernet and token rings Can use asynchronous transmission mode WANs may be constructed using purchased equipment and leased long-distance transmission lines May be subcontracted from long-distance communication vendors (e.g. AT&T, Sprint etc.) Many ways to distribute information resources Users, application programs and databases can be placed on the same computer or different computers on different LANs 13 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 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 14 7
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 15 Three-layer Architecture 16 8
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 17 N-layer architecture 18 9
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) 19 The World Wide Web (WWW) A collection of resources such as files and programs that can be accessed over the Internet using standard protocols, including Formatted and linked document protocols, e.g. HyperTexst Markup Language (HTML), Extensible Markup Language (XML), and Hypertext Transfer Protocol (HTTP) Executable program standards including Java, JavaScript and Visual Basic Script (VBScript) The Internet is the infrastrcture upon which the WWW is based (ie. Resources are delivered over the Internet) 20 10
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 21 The Internet as an Application Platform The Internet provides an alternative for implementing systems A 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 22 11
Advantages of WWW over traditional client-server approaches Accessibility Web browser and Internet connections are nearly everywhere 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 23 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 24 12
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 25 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 26 13
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 27 Deciding on Scope and Level of Automation Scope of a system Which business functions will be included in the system Level of Automation How much automated computer support exists for the functions that are included 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 28 14
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 Manditory Important Desirable 29 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 30 15
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 31 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 32 16
Implementation Alternatives 33 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) 34 17
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) 35 Packaged and Turnkey Software 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) 36 18
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 37 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 38 19
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 requirments of Cost Technology Operations schedule 39 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 40 20
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) 41 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 42 21
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 Once each alternative is evaluated with a raw score, selection can be made accordingly. 43 Presenting the Results Results of investigation and analysis should be summarized in written format and presented in oral executive-level presentation Intended audience is the executive steering committee (decision making and funding) Objective is to provide the necessary background for decision making Alternative should be compiled, organized and presented Balance of detail should be managed by the project team The formality of the presentation varies from organization to organization 44 22