5. EQUIPMENT/PLATFORMS/ENVIRONMENTS

The equipment, environment, and software have to be defined in the system specification. The choices of each of these require a balance of cost and performance.

The choice of equipment and system structure depends on a balance of options and costs to meet the clients needs. In this section a number of key issues are reviewed. All of these issues need to be considered; though, only a few are often critical in the choice of the system to be used.

5.1 Multiple Computers

The values for having the capability of using multiple computers for an application includes improved reliability with a back-up capability, increases in number of users, and increased systems value. There are three types of interrelationships among platform elements: (1) their ability to communicate, (2) the compatibility of the systems, and (3) the portability of the programs.

5.1.1 Connectivity

Connectivity refers to the ability of the systems to transmit information to other computers. Usually this is restricted to data transmission within networks. Not all equipment necessarily can be connected to all networks. In the future, this is likely to become less critical. Most commercially available networks are developing the capability of connecting most available platforms. A subtler problem is the connectivity of operating systems, DOS, UNIX, OS/2, and Windows, for example.

5.1.2 Compatibility

Compatibility generally refers to the agreement of the system and its peripheral devices to a standard. For example, two computers systems may have all the computational circuitry that is compatible but uses different versions of the operating system and control software. While most programs will not see the difference, some will. Even small differences, such as in display circuitry may result in incapability.

In some cases, there is total incompatibility. Apple and IBM both have lines of computers, none of which can share programs. There is a new age adage "100% compatible, isn't".

5.1.3 Portability

Portability focuses on the ability of the system to run on otherwise incompatible platforms. Several standard languages exist that allow easy conversion between platforms including FORTRAN77, "C" and more recently "JAVA". Some database systems are also available on multiple systems that allow for portable applications to be developed. FOCUS is available on many mainframes including most IBM's, the IBM PC, and the VAX systems.

5.2 Costs and Performance

Expected costs and performance should be balanced in selecting the platform. It should be noted that the nature of the software effect both the performance and the cost.

5.2.1 Performance

The users' perspective of performance relates to how long it takes to get his answer. If the system is to be used in an on-line mode, service speed can be critical. Note that speed includes not only computational speed (the MIPS of the system) but must include: (1) connect service time for time sharing systems, and (2) input/output response time for disks, screens, and printers. In general, precise measures of system performance must be made using software and databases similar to those contemplated for the application. For computational intensive applications, however, the processor speed, MIPS, is a reasonable measure of performance.

[MIPS are Million Instructions Per Second is a typical measure of computational speed of the central processor. Some times MFLOPS (Million Floating-Point Operations Per Second) is also used.]

5.2.2 Costs

The higher the performance of the platform usually implies the higher investment and operating costs. However, costs per unit of performance may vary. Furthermore, there are expected changes over time.

5.2.2.1 Economies of Performance

From 1945 until the advent of the microcomputer, the costs of computing had been dominated by the Economy of Performance. The costs of larger and more powerful computers are higher than their smaller competitors but less on a cost per unit of performance.

Today, Economies of Performance still dominate within classes of computers. For example, personal computers that are more powerful are more expense than less powerful versions, but the cost differential is usually less than the performance increase. The trick, of course, is to purchase the performance that you expect to use.

5.2.2.2 Economies of Production

Counter-balancing the traditional Economy of Performance has been the Economy of Production introduced with the personal computer. The advent of mass produced computers, has resulted in a dramatic decrease in the cost of those systems. This is apparent in the interface between classes of computers. The upper end of the personal computers is roughly comparable with the lower end of the mini-computers. However, the difference in costs can be huge.

Today, pricing of equipment and software are based on the class of computer rather than on performance.

5.2.2.3 Economies over Time

In addition to the Economy of Production, there are economies over time, which effects the projected costs. A satisfactory timing for a system may depend on the perspective of the client on how the price of equipment and software will change over time.

It should be noted, however, that the cost for application system development and implementation should not decrease over time unless there are major changes in available languages or application generators.

5.2.2.3.1 Obsolescence

Obsolescence has been a great driving force in the personal computer industry. At present, there is approximately 3 years between generations of personal computers. Each generation representing approximately a factor of 3 in various measures of performance.

Newer software is usually written to take advantage of the most recent generation of computers. This naturally obsoletes existing systems. This type obsolescence depresses the market price for the older equipment.

5.2.2.3.2 Experience Curves

A major problem with microcircuit technology is the initial low yields in production. The longer that a "chip" is on the market the more experience the manufacturer has, and in general, the higher his yields and the lower his costs. This usually results in a lower the price he will demand for the circuits.

The lowering price is connected with his desire to increase the sale volume that he can now deliver. Along with low yields is often an inability to meet market demand. The higher yields usually allows for expanded and, in most cases, excess production.

5.2.2.3.3 Competition

Another force in price reduction over time is competition. Not only is there competition between producers of compatible systems, such as with IBM PC clones, but between incompatible competing system, IBM Vs the MAC for example. This competition also reduces price.

5.3 Strategic Alternatives

The architecture of the computer network can effect the cost of applications, the timing, and the performance of applications. In small organizations the alternative are likely to be limited to the established structure. However, for larger organizations options may exist.

5.3.1 Distributed Computing

Distributed computing focuses on the local workstation as the workhorse of the application. The central computer, if it is used at all, is for data storage and retrieval. Usually workstations are personal computers. The advantages for this structure include:(1) cost savings for development, (2) improved cost control, (3) ease of operations and maintenance, and (4) ease of backup. The disadvantages include: (1) reduced integrity of operating control and security, (2) incompatibility, and (3) limited access to data. The advantage of cost control has tended to be a major driving force for distributed computing in large organizations where central computers are under a separate organization.

5.3.2 Centralized Computing

Centralized computing focuses on the use of mini or mainframe computers to do the computation. Local workstations act as dumb terminals and input/output devices. The structure is particularly useful where extensive computation such as statistical analysis or the use a large database. Data and processing can be shared. The advantages for this structure include: (1) better version control for frequently updated software, (2) better control and security over databases, (3) cost savings for computational intensive applications, and (4) ease in sharing applications. The disadvantages include: (1) potentially poorer integrity of the data, (2) lack of cost control, (3) incompatibilities with other mainframe systems. Centralized systems allow for tight maintenance of control and security, which is not practical to the same extent for, distributed systems. This assures a higher integrity of control with the centralized system.

5.3.3 Flexible Computing

Systems in large organizations allow for both modes, distributed and centralized computing. Some applications tend to require both. Flexible computing tends to have the potential advantages of both structures including (1) system development independent of platform, and (2) ease in expanding into the mainframe. The major disadvantages are the limited software available and the constraints imposed on the application development. Most applications are targeted to specific input/output devices.

5.4 System Types

It is useful to classify the systems during the early scoping phase of the project. The purpose of the classification is to focus on the demands of the system. The nature of the classification then will assist in the proper choice of software for development. It should be noted that all practical systems generally have some element of each classification.

5.4.1 Management Information Systems

The Management Information System (MIS) focuses on the collection and dissemination of data. In general, the key to the system is the collection and verification of entries and the preparation of simple tabular reports. The quintessential MIS system is general corporate accounting where the major function is the collection of costs and payments and timely reporting to management.

In general, MIS systems are best built from database management packages, if specific application packages are not available. In this regard, the electronic spreadsheet, Microsoft EXCEL, can be considered a database-managing package.

5.4.1.1 Filing and Archiving

These are MIS systems targeted for the retrieval of special type of information. Abstracting and library services fall into this category. Because of the text nature of the retrieval requirement and the extent of the data, special packages are usually used for this function.

Graphic retrieval packages are generally not readily available at this time. However, such systems can be developed using "object oriented packages".

5.4.2 Data Processing Systems

Data processing systems focus on the analysis of data, which has already been obtained. The data entry is either specialized as in the case of word processing and graphics, or is obtain through another package. The function of the data processing system is to reduce the data into a particular report form. Specialized programs or packages are used for these functions.

5.4.2.1 Statistical Analysis

Statistical packages exist both for the mainframe and the PC which allow a range of univariate and multivariate analyses. SAS-PC, SYSTAT, SPSS-PC, STATGRAPH, S-Plus, and BMDPC are available on the PC system along with a number of less powerful packages. The most advanced for these systems have presentation graphics capabilities. These systems generally require the data to be transferred into a special formatted database. While the package provides for manual data entry, the data is usually transferred from another package such as a spreadsheet or database manager.

5.4.2.2 Graphics

Graphics applications are designed to produce drawings either as charts and diagrams. There are three general forms of graphics packages: (1) charting and (2) Computer Aided Design (CAD), (3) graphics manipulation packages. Charting packages are intended for the preparation of a set of predesigned graphs. These packages allow for high quality graphs to be generated from a common database. Several of the packages are intended to allow input from electronic spreadsheets and are useful for developing automated systems.

Computer Aided Design is complex drawing packages designed initial for production of engineering diagrams. Recently, stress and structural analysis features have been added to these packages. CAD packages, however, have also been used as general drawing systems.

The graphics manipulation packages can be considered down sized CAD systems. However, they tend to be highly user friendly and designed to use predrawn icons for the development of drawings. Their main function is the preparation of presentation charts. This involves two functions: (1) modification of existing charts, generally from a charting package, and (2) development of "slides" incorporating drawings. Generally, neither CAD nor graphic modification packages are designed to be automated.

5.4.2.3 Word-Processing

Word Processing usually involves the typing, composition, and printing functions. Recently tools have been included in Word Processing packages to allow partially automation. Word processing is highly concentrated in the PC DOS and Windows environments. At this time the "state-of-the-art" packages include Microsoft's WORD and WORD PERFECT and Word Pro.

5.4.2.4 Page- Composition

With the advent of the Laser and Ink Jet printers, desktop publishing became feasible. Most of the advanced Word Processing packages allow for type setting quality printing. The page-composition packages include layout capabilities and the inclusion of graphics with text, which are presently beyond the easy capabilities of word processors. Special purpose composition or pre-press systems are used in professional publication applications.

5.4.3 Decision Support Systems

Decision Support Systems are built to help resolve a specific problem. The system focuses on the problem solving function. The support is usually based on data analysis and data presentation.

[Keen, P. G. W., M. S. S. Morton, Decision Support Systems, An Organizational Perspective, Addison-Wesley Publishing, (1978)]

5.4.3.1 Modeling and Simulation

Modeling and simulation are widely used in decision support systems. In particular, financial analysis simulation has been marketed as business decision support systems.

5.4.3.2 Artificial Intelligence

Artificial intelligence refers to the attempt to mimic human decision-making. The present applications are designed to capture only frame and rule based decision processes. Unfortunately, the term conveys a significantly broader range of tools and applications. Optimization and simulation tools usually are not considered part of this activity at this time. However, definitions in this area tend to be fluid.

5.4.3.2.1 Expert Systems

Expert systems are programs that attempt to capture and replicate the decision process of an individual. Because of the potential number of possible combination of rules and the difficulty in capturing them, special languages LISP and PROLOG are two fairly general-purpose languages that have been used to develop expert systems. LISP was the first of these languages and should be viewed as a research tool rather than a practical for systems development language. PROLOG is available with sets of development tools for preparation of decision support systems.

5.4.3.3 Operations Research

Optimization techniques fall into the arena of Operations Research. These involve developing a model sufficiently well defined that an optimum can be calculated. Linear, integer, and non-linear optimization packages are available.

A number of packages have been available for the mainframe include LINDO, by The Scientific Press, for linear and integer programming problems. LINDO is also available on the PC along with What's Best for General Optimization Inc., and ORSYS from Eastern Software. None of these packages, however, can be used totally to build a decision support system but can be incorporated within them.

5.4.4 Management Support Systems

A general Management Support System (MSS) involves the combination of a Management Information System and a set of Decision Support Systems and Data Processing Systems. The focus is on communications between the elements. At present, there are no packages or languages, which by themselves are sufficient for MSS. Usually, under this condition, a number of compatible packages, are used.