3. (Extending the DVM Code of Section 9.6) The initial code for the DVM problem needs to...
Question:
3. (Extending the DVM Code of Section 9.6)
The initial code for the DVM problem needs to be extended to suit a wider range of customers. Some new features and requirements are:
a) Remote management of multiple DVM machines, for example monitoring and control of malfunctioning machines.
b) The ability to pay using credit cards.
c) Different kinds of user input panels to suit different styles.
d) The facility to choose a range of products and then pay for them as a single transaction, for example a lunch packet consisting of a drink, sandwich and chocolate bar.
Answer the following questions:
a) Determine the changes that need to be made to the context diagram in Figure 9.3 in order to accommodate these new features. For example, you may need to design new satellite systems or existing systems may need to be modified in some way. Ideally, interfaces will remain stable but this is not guaranteed. In that case you may need to create adapters (GOF, 1995).
b) Which of the following design patterns can be used to implement the required features?
Proxy, Bridge, Remote Proxy, State Machine, Observer, Mediator.
c) Give a rough estimate (upper bound) of the number of classes that you will need to create in order to realise these features. Estimate how long it will take you to write and test the code.
Step by Step Answer: