Type: |
Problem Domain |
Number: |
3.1 |
Author: |
Jon Kern |
Priority: |
high |
Difficulty: |
high |
![]() |
Note: these classes are linked to original
ANALYSIS level classes that were done
separately and saved in the Analysis pkg.
Right - click, choose "Hyperlink To" to see. |
Diagram Node Summary |
||
Interface: This interface can help to decouple the packages and classes from explicit
knowledge of a Specific DM class. |
||
Interface |
||
Class: This represents the overall transaction record of the sale. |
||
Class: The detail class holds the association-level information. |
||
Class |
||
Class: This class represents the catalog-like description of the product being sold. |
||
Class: This is the class used to hold the price of the product. |
Referenced Diagrams |
||
Package Diagram: This is the initial analysis model. |
Stereotype: |
plug-in point |
Author: |
TogetherSoft |
Stereotype: |
moment-interval |
|
Author: |
TogetherSoft |
|
persistent |
||
robustness: |
Controller |
|
Since |
||
subtitle: |
The entity |
All Outgoing Links | ||||||||||||
|
to ![]() |
|||||||||||
|
to ![]() |
|||||||||||
|
to ![]() |
|||||||||||
|
to ![]() |
|||||||||||
|
to ![]()
|
|||||||||||
|
to ![]() This is the list of sale details (line items)
|
|||||||||||
|
to ![]() Subtotal of all line items. NOTE: this could be calculated on the fly
by iterating through the details, but once we
are all done with the transaction, we have decided to purposefully
store the result.
This is a trade-off based on the fact that this transaction, once
completed, is never
edited again. By redundantly storing data, we are allowing a quick
answer to support
the various analysis "runs" made against the data.
|
|||||||||||
|
to ![]() This represents a discount at the entire sale level.
|
|||||||||||
|
to ![]() This is the total tax for this sale.
|
|||||||||||
|
to ![]() This is the payment. Based on this value and the total due, we can
compute the change due.
|
|||||||||||
|
to ![]() Timestamp of this sale
|
|||||||||||
|
to ![]()
|
|||||||||||
|
to ![]() Access to the Data Management Layer.
|
|||||||||||
|
to ![]() This allows us to "plug in" different cash sale sequences to support
other ways to take in the payment. Examples
include: Cash, Credit, Debit, Check.
|
|||||||||||
|
to ![]() |
|||||||||||
|
to ![]() |
Author: |
TogetherSoft |
|
Stereotype: |
mi-detail |
|
persistent |
All Outgoing Links | ||||||||||
|
to ![]() This is the item being scanned in/sold. This object holds all the pertinent details.
|
|||||||||
|
to ![]() |
Author: |
TogetherSoft |
All Outgoing Links | ||||
|
to ![]() |
If you need to track quantity and aren't selling specific "thing"-like products (that is, ones that are serialized), then add a quantityOnHand attribute to this class.
Stereotype: |
description |
|
Author: |
TogetherSoft |
|
persistent |
||
Version: |
1.0 |
All Outgoing Links | ||||||||||
|
to ![]() Default price.
|
|||||||||
|
to ![]() List of prices. If this list has elements, then they are checked. Otherwise, the default price is used.
|
|||||||||
|
to ![]() Product name. For example: Goetze's Caramel Cremes
|
|||||||||
|
to ![]() This is the unique identifying number. Something like a UPC for retail products.
|
|||||||||
|
to ![]() Some prose describing the product in all its glory.
|
|||||||||
|
to ![]() |
This class is based on Peter Coad's Components from Java Modeling in Color with UML
Stereotype: |
moment-interval |
|
Version: |
1.0 07/31/99 |
|
Author: |
TogetherSoft |
|
See Also: |
ProductDesc |
|
persistent |
All Outgoing Links | ||||||||||
|
to ![]() This is the meat of this class...the price
|
|||||||||
|
to ![]() Used as the start of the applicable interval for determining if price is valid.
|
|||||||||
|
to ![]() Used as the end of the applicable interval for determining if price is valid.
|