Page 199 -
P. 199

182   Chapter 7   Design and implementation




                                            «subsystem»          «subsystem»          «subsystem»
                                           Fault Manager     Configuration Manager    Power Manager


                                                              Communication Link



                  Figure 7.4 High-level     «subsystem»          «subsystem»          «subsystem»
                  architecture of the     Communications        Data Collection       Instruments
                  weather station


                                    You identify the major components that make up the system and their interactions,
                                    and then may organize the components using an architectural pattern such as a lay-
                                    ered or client–server model. However, this is not essential at this stage.
                                       The high-level architectural design for the weather station software is shown in
                                    Figure 7.4. The weather station is composed of independent subsystems that com-
                                    municate by broadcasting messages on a common infrastructure, shown as the
                                    Communication link in Figure 7.4. Each subsystem listens for messages on that
                                    infrastructure and picks up the messages that are intended for them. This is
                                    another commonly used architectural style in addition to those described in
                                    Chapter 6.
                                       For example, when the communications subsystem receives a control com-
                                    mand, such as shutdown, the command is picked up by each of the other subsys-
                                    tems, which then shut themselves down in the correct way. The key benefit of this
                                    architecture is that it is easy to support different configurations of subsystems
                                    because the sender of a message does not need to address the message to a partic-
                                    ular subsystem.
                                       Figure 7.5 shows the architecture of the data collection subsystem, which is
                                    included in Figure 7.4. The Transmitter and Receiver objects are concerned with
                                    managing communications and the WeatherData object encapsulates the information
                                    that is collected from the instruments and transmitted to the weather information
                                    system. This arrangement follows the producer-consumer pattern, discussed in
                                    Chapter 20.



                             7.1.3 Object class identification
                                    By this stage in the design process, you should have some ideas about the essen-
                                    tial objects in the system that you are designing. As your understanding of the
                                    design develops, you refine these ideas about the system objects. The use case
                                    description helps to identify objects and operations in the system. From the
                                    description of the Report weather use case, it is obvious that objects representing
                                    the instruments that collect weather data will be required, as will an object
                                    representing the summary of the weather data. You also usually need a high-level
   194   195   196   197   198   199   200   201   202   203   204