<ch41 toc ch43>

42 Hardware interface design

42.1 Purpose
42.2 Strengths, weaknesses, and limitations
42.3 Inputs and related ideas
42.4 Concepts
42.4.1 Design issues
42.4.2 Hardware interface design phases
42.5 Key terms
42.6 Software
42.7 References

42.1 Purpose

Hardware interface design is the process of determining, specifying, evaluating, and acquiring of a set of hardware building blocks and analyzing their relationships with each other.

42.2 Strengths, weaknesses, and limitations

This # focuses on several issues, techniques, and approaches related to hardware interface design. Consequently, a discussion of specific strengths, weaknesses, and limitations is not relevant.

42.3 Inputs and related ideas

Hardware interface design is the physical backbone that supports input, output, database, and software design (virtually every # in Part VI). It also impacts system controls (# 77) and general system design (# 72). Hardware interface design is based on the requirements defined during the analysis stage (Part IV) and documented in the requirements specifications (# 35).

42.4 Concepts

Hardware interface design is the process of determining, specifying, evaluating, and acquiring of a set of hardware building blocks and analyzing their relationships with each other.

42.4.1 Design issues

This section briefly discusses several significant hardware design issues.

42.4.1.1 Choosing a computer

Computers fall roughly into four categories: supercomputers, mainframes, minicomputers, and microcomputers. Given the mix of features available from different vendors, however, these classifications are little more than guidelines. Key factors that must be considered include compatibility with existing systems, adaptability, security, and connectivity. Depending on the organization’s management philosophy (centralized, decentralized, or distributed), the available choices range from stand-alone microcomputers; to a centralized supercomputer or mainframe; to a network of microcomputers, terminals, and workstations controlled by a central server; to a cooperative, distributed, peer-to-peer network of sophisticated, co-equal computers.

42.4.1.2 The impact of technological change

The rapidly changing nature of information technology has forced the designer to view the process of evaluating and acquiring hardware from a different perspective. Today, the opinions of the end users are every bit as important as the opinions of the specialists.

For example, hardware interface design was traditionally the first step in the systems design process, and the software, the database, and the other system components were designed in the context of a specific hardware platform. Today, however, the required software or database capabilities and functions are often considered first, and the hardware is subsequently selected to fit the resulting requirements. For example, it is not uncommon for a company to choose Oracle and then identify the hardware needed to implement the tool.

The nature of hardware interface design has itself changed, too. Traditionally, such performance attributes as processing speed and throughput drove the selection of the peripherals, the processor, and secondary storage. Today, however, such factors as user friendliness, flexibility, adaptability, ease of learning, and ease of use are at least as important.

42.4.1.3 The impact of industry standards

Given the popularity of the Internet (and intranets), the system’s data communication component has become a crucial consideration in hardware interface design. For example, newly purchased microcomputers often come equipped with a fax modem, communication protocols, and other communication cards or boards. Additionally, sharing such resources as files and network printers and allowing broad access to corporate data are common system requirements. Consequently, conforming to such widely accepted industry standards as open systems interconnection (OSI) has become an important hardware interface design criterion.

In some cases, hardware interface design is considered a subset of a network design. The major network platform and associated capabilities are defined first, and the hardware interface design for a local site or a branch is performed in the context of the network.

42.4.1.4 Environmental issues

Hardware is sensitive to power losses, power surges, and similar power failures. Surge protectors and uninterruptible power supplies (UPS) help to reduce the impact of power failures and are recommended for most systems.

The cables used to connect a system’s hardware components must be protected. One option is a raised floor, with load-bearing supports and a grid of cross beams holding removable panels. The cables run under the floor, out of the way, but accessible if connections must be added or removed. A raised floor also helps to protect the hardware from standing water and promotes air movement, thus dissipating heat. Network components are sometimes linked through dedicated cabling conduits, with a central cabling panel on each floor, risers connecting the panels between floors, and distributing cables extending to each room.

Fire protection is essential. This issue is more related to facility design than hardware interface design, but given the electronic nature of computer hardware, such traditional fire control techniques as sprinkler systems can damage the equipment. Some systems rely on fire retardant (but breathable) gasses to control fires in the computer room.

Heat dissipation and moisture prevention are crucial. Adequate ventilation, auxiliary cooling, humidity control, and well-designed cabinets are important elements in hardware interface design.

42.4.1.5 Disaster recovery and planning

The principle of redundancy calls for a second set of important hardware components (a redundant file server, for example) ready to use in the event of a disaster. System reliability is enhanced by redundancy, but the cost can be quite high.

Backup implies creating and storing a second copy of key software, data, the commands needed to perform key operating system procedures and reinstall hardware, and similar system elements. In the event of a disaster, the backup copies are used to restore the affected components. Often, the backup copies are maintained off site so a single disaster cannot destroy both the system and the backup.

42.4.2 Hardware interface design phases

The steps in the hardware interface design process are summarized in Figure 42.1.


Figure 42.1

42.4.2.1 Planning

The planning stage begins with an element analysis during which the designer identifies the discrete components (processors, monitors, mice, keyboards, secondary memory units, printers, etc.) required by the system. Additionally, such required features as data communication and multimedia capabilities (fax modems, video accelerator cards, sound cards, and the like) are specified.

Configuration analysis deals with system behavior and performance. Key issues include ensuring that the hardware meets response time, performance, and reliability requirements. Sometimes a bottleneck analysis (# 79) is performed. Software issues add to the complexity of configuration analysis. Prototyping (# 31) is an effective tool for pinpointing configuration problems.

42.4.2.2 Evaluation

During the evaluation stage, application analysis is used to study the interactions and relationships between the hardware and software resources. Typically, all the required software is installed on a test system and the behavior of the hardware is evaluated as the applications run. For example, a user evaluating a database application might issue a query, add, update, or delete a record, generate a report, join two or more database files, create a date entry form or screen, and so on.

Resource analysis is used to evaluate the capabilities of the hardware components. For example, data on such factors as mean time between failures, the average number of instructions executed per second, clock speed, multiple processor availability, and expandability might be collected to allow the designer to compare several alternative processors. Demand/utilization analysis focuses on such issues as throughput, average response time, concurrent incoming messages, simultaneous users, maximum data capacity, the component’s ability to deal with peak demand, and so on.

Benchmarking is a useful tool for comparing such component parameters as input/output performance, storage capacity, I/O buffer size and speed, searching speed, instruction fetch speed, data transmission speed, and data transmission capacity. Parameter analysis is a useful tool for evaluating such factors as the time required to load a test image, the quality and sharpness of a displayed image, or the maximum number of frames required to store a motion picture or display an animation. Simulation (# 19) and queuing theory (# 79) can be used to study queues and predict such statistics as average waiting time, average processing time, and average queue size.

42.4.2.3 Acquisition

The requirements determined in the previous two steps are reviewed, and additional requirements dealing with such issues as integration with existing hardware and/or software, implementation (e.g., installation support, conversion, and testing), and maintenance (e.g., maintenance contracts, training support, help desk support, and upgrade support) are incorporated. Given a complete set of requirements, a request for proposal (RFP) is released and (often) competitive bids are solicited (# 41). Bids are then evaluated and the hardware is selected. Note that hardware can be leased or purchased.

42.4.2.4 Implementation

During the implementation stage, the hardware is tested (Part VII), necessary conversion tasks are performed, and the hardware is released (# 76).

42.4.4.5 Maintenance

After the hardware is released, it must be maintained (Part VIII) and, as necessary, upgraded.

42.5 Key terms

Adaptability —
A measure of the ease of changing or modifying a system, often in response to a technological change.
Application analysis —
A study of the interactions and relationships between the hardware and software resources; typically, all the required software is installed on a test system and the behavior of the hardware is evaluated as the applications run.
Backup —
A duplicate copy of a set of data, a program, a hardware component, or some other system element that is used to restore the system in the event of failure.
Benchmark —
A standard program, procedure, or set of test data used to measure such performance characteristics as a computer’s processing speed.
Bottleneck analysis —
A study of the waiting lines or queues that develop within a system; the objective is to find choke points, or bottlenecks.
Configuration analysis —
A study of such system behavior and performance characteristics as response time and reliability.
Connectivity —
In a network, the ability of a given hardware or software component to cooperate with other components supplied by other vendors.
Demand/utilization analysis —
A study that focuses on such utilization issues as throughput, average response time, concurrent incoming messages, simultaneous users, maximum data capacity, the component’s ability to deal with peak demand, and so on.
Element analysis —
The process of identifying discrete hardware components and required features.
Expandability —
The ability to add components to a system or features to a component.
Hardware interface design —
The process of determining, specifying, evaluating, and acquiring of a set of hardware building blocks and analyzing their relationships with each other.
Open systems interconnection (OSI)—
An International Standards Organization network model that specifies seven interconnection layers.
Parameter analysis —
A study of such factors as the time required to load a test image, the quality and sharpness of a displayed image, or the maximum number of frames required to store a motion picture or display an animation.
Redundancy —
Two (or more) copies of a hardware component. In the event of component failure, the redundant copy provides backup.
Request for proposal (RFP)—
A formal (often advertised) request for competitive bids based on a set of requirements.
Resource analysis —
An evaluation of such hardware component capabilities as mean time between failures, the average number of instructions executed per second, clock speed, multiple processor availability, and expandability.
Simulation —
The use of a mathematical model that behaves in the same manner as the system under study.
Surge protector —
A device that protects electronic components against sudden changes in electrical current.
Uninterruptible power supply (UPS)—
A device that continues to supply electrical current in the event of a power failure; many uninterruptible power supplies incorporate surge protectors.

42.6 Software

Not applicable.

42.7 References

1.  Burch, J. G., Systems Analysis, Design, and Implementation, Boyd & Fraser, Boston, MA, 1992.
2.  Burd, S. D., Systems Architecture: Hardware and Software in Business Information Systems, Boyd & Fraser, Boston, MA, 1994.
3.  Pressman, R. S., Software Engineering: A Practitioner’s Approach, 2nd ed., McGraw-Hill, New York, 1987.
<ch41 toc ch43>