Hardware interface design
Hardware interface design
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 chapter 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 chapter in Part VI). It also impacts system controls (Chapter 77) and general system design (Chapter 72). Hardware interface design is based on the requirements defined during the analysis stage (Part IV) and documented in the requirements specifications (Chapter 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.
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 (Chapter 79) is performed. Software issues add to the complexity of configuration analysis. Prototyping (Chapter 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.
Figure 42.1 The steps in the hardware interface design process.
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 (Chapter 19) and queuing theory (Chapter 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 (Chapter 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 (Chapter 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.
Comments
Post a Comment