This repository has been archived on 2024-04-22. You can view files and clone it, but cannot push or open issues or pull requests.
ocl-examples/invoicing_orders/README.md

47 lines
1.8 KiB
Markdown

# InvoicingOrders
A simple invoicing model.
## Data Sheet
* Format: ArgoUML 0.26
* Language: UML/OCL
For further information (license, citation, etc.), please look at the [README.md](../)
of the main directory.
## The InvoicingOrders System
This simple invoicing system is based on the book "Software
Specification Methods: An Overview Using a Case Study" by M. Frappier
and H. Habrias (ISBN 1-85233-353-7).
The InvoicingOrders system can informally described as follows:
1. The subject is to InvoicingOrders orders.
2. To InvoicingOrders is to change the state of an order (to change it
from the state ``pending'' to ``invoiced'').
3. On an order, we have one and one only reference to an ordered
product of a certain quantity. The quantity can be different to
other orders.
4. The same reference can be ordered on several different
orders.
5. The state of the order will be changed into ``invoiced'' if the
ordered quantity is either less or equal to the quantity which is
in stock according to the reference of the ordered product.
6. You have to consider the following two cases:
* **Case 1:**
All the ordered references are references in the stock. The
stock or the set of orders may vary:
* due to the entry of new orders or canceled orders;
* due to having a new entry of quantities of products in
stock at the warehouse.
But, we do not have to take these entries into account. This
means that you will not receive two entry flows (orders, entries
in stock). The stock and the set of orders are always given to
you in an up-to-date state.
* **Case 2:**
You do have to take into account the entries of
* new orders;
* cancellations of orders;
* entries of quantities in the stock.