We are looking at the use of Design Patterns in design; most specifically, in the Component
design portion of a SW project. This is the phase in which we decide what classes and
arrangement of classes will fill a particular need, once the large functional blocks have
been determined.
With that in mind, I want you to consider a system to retrieve data from a satellite. We
are dealing with the component that’s responsible for communication. The rest of the
system will send messages to the satellite through the Comm component, and will await
the responses. I want you to sketch out a class design that will accomplish the Comm
component, making use of several (3? 4?) design patterns. In the interest of time, don’t
worry about parts of the system that are not parts of a Design pattern.
There are some important requirements of the Comm component that you must keep in
mind.
• We communicate with the Satellite over the Microwave X band, but if the X band
fails due to noise or sunspot activity, we switch over and use the Y band. The Y
band has a different communication protocol than the X band.
• Each band has only one transmission/reception electronic module, and the SW
should reflect this fact.
• The X band protocol was developed by us, in a modern class design, and works
well. The Y band protocol, however, is legacy code that has an odd interface into
several libraries and we don’t want to mess with its internals at this point.
• Messages are composed of blocks; each block is composed of a number of rows of
characters, as well as some single characters on occasion.
You should submit a diagram showing your class design. Keep it simple; for parts outside your
design patterns, just use a box or two. Either put your diagram in a Word doc, or scan a hardcopy
sketch into a pdf