Question: Company ASEM (Advanced Software for Equipment Management) is designing software to monitor and control a custom-build system consisting of multiple hardware components (e.g., Equipment1, Equipment
Company ASEM (Advanced Software for Equipment Management) is designing software to monitor and control a custom-build system consisting of multiple hardware components (e.g., Equipment1, Equipment 2, and Equipment3).
Each equipment component provides unique status, accepts unique commands, and implements a specific interface for communicating, such as USB, Serial, and TCP/IP.
Regardless of the communication type, each class representing an equipment must provide functionality to get specific status (e.g., getEquipment1_Status1, getEquipment2_Status1) and send specific commands to the device (e.g., sendEquipment1_Cmd1, sendEquipment2_Cmd1). The software to be developed by ASEM will contain a GUI that polls each hardware component for its status data and also provides means for sending commands to the components.
Since hardware development is expected to take longer than the expected development of the GUI, management has decided to simulate the components. That is, there are two streams of equipment: real equipment, composed of Equipment1, Equipment2, and Equipment3; and simulated equipment, composed of SimEquipment1, SimEquipment2, and SimEquipment3.
Develop a design for the software so that the GUI can work the same way using real or simulated components, regardless of the type of component. Your design should be based on an appropriate object-oriented design pattern. Write a program in Java or Python to demonstrate the implementation of your design.
Step by Step Solution
3.39 Rating (146 Votes )
There are 3 Steps involved in it
To design the software to work with both real and simulated components seamlessly you can use the Adapter design pattern The Adapter pattern allows in... View full answer
Get step-by-step solutions from verified subject matter experts
