Department of Computer Science
Details of the Customer are entered into the Scanner during initialisation. The Scanner also contains a Display and an Inventory (the diamond is aggregation, remember).
The Inventory is a list of ProductSpecifications for the items which the Customer has scanned so far.
Each occurrence of Product is a physical item on a supermarket shelf. A Product is described by a ProductSpecification. Bakery, Dairy and Meat are just typical specialisations (or subtypes) of Product; we haven't gone into detail here (the triangle is specialisation, remember).
The Database contains a list of ProductSpecifications. A ProductSpecification may be associated with a Promotion. There are three different kinds (specialisations or subtypes) of Promotion: Reduction (with a PercentageOff attribute), MforN (e.g: three for the price of two) and FreeProduct (buy a bag of cat litter and get a free tin of cat food). The association between FreeProduct and ProductSpecification links the two products involved in this kind of Promotion. In the example just given, the bag of cat litter would be the ProductSpecification with a Promotion which is a FreeProduct, and this would be associated with the ProductSpecification for the tin of cat food.
Although this type of diagram is static, and about the structure of the problem, we should be able to check that the associations are in place to support the communication between classes in the dynamic model.
The Scanner scans the Code on a Product. It accesses the Database (via the RadioLAN) to validate the Code, and (if the Code is valid) gets the ProductSpecification (and Promotion, if appropriate) which are added to the Inventory. Details of the latest ProductSpecification are shown on the Display.
Last Updated: 14/01/99 by M.Wood@herts.ac.uk
© University of Hertfordshire Higher Education Corporation (1998)