A POS (Point-Of-Sale) system is a computer system typically used to manage the sales in retail stores. It includes hardware components such as a computer, a bar code scanner, a printer and also software to manage the operation of the store. The most basic function of a POS system is to handle sales. When a customer arrives at a POS counter with goods to purchase, the cashier will start a new sale transaction. When the barcode of a good is read by the POS system, it will retrieve the name and price of this good from the backend catalog system and interact with inventory system to deduce the stock amount of this good. When the sale transaction is over, the customer can pay in cash, credit card or even check. After the payment is successful, a receipt will be printed. Note that for promotion, the store frequently issue gift coupons. The customer can use the coupons for a better price when purchasing goods. Another function of a POS system is to handle returns… A user must log in to use the POS. The users of a POS system are the employees of the store including cashiers and the administrator. The administrator can access the system management functions of the POS system including user management and security configuration that cashiers can’t do.
1. Context diagrams and interfaces. 1-a Define the context diagram of the application cashier Inventory system
good sold Credit card system Bar code reader Printer
Context diagram as UML class diagram
1-b Describe the interfaces of the application (to other systems/devices) Physical Printer Credit card system USB 2.0 Internet connection Procedural Data Format of receipt URL with web Format of credit service (SOAP – http card data sent, error + xml), and SSL descriptions RPC retrieveProduct(String barcode) Inventory system RPC deduceAmount(String barcode, int amount) 1-c Describe the interfaces of the application (to users) Screenshot login Result: boolean barcode : String
1-d System design System design as free skecth
The POS system Barcode reader printer
Computer + sw
Credit card reader
System design as UML class diagram
Pos System +F1 Handle sales() +F2 Handle Coupons() +F3 Manage Users()
2. User requirements. 2-a Define the user requirements, notably using a table with functional and non functional requirements.
Requirement ID F1 F1.1 F1.2 F1.2.1 F1.2.2 F1.2.3 F1.3 F1.4 F1.5 F1.6 F2 F2.1 F2.2
Description Handle sales Retrieve name and price of good Handle payment Handle payment cash Handle payment check Handle payment credit card Print receipt Read bar code of good Deduce stock amount of good Compute total amount Handle coupons Issue coupon Make discount to coupon owner
F3 F3.1 F3.2 F3.3 F4
Manage Users Handle login Handle logout Define user, define user rights Needs more analysis Handle returns Needs more analysis
Each function less than ½ sec Secure payments (F1.2 to F1.2.3) Warranty access to functions only to authorized users f3
2-b Define the user requirements. As an alternative to the technique above described each requirement with the following form (from 03_requirements slides) Name Description Input Output Action Precondition Postcondition Name Description Input Output Action Pre condition Post condition Barcode Name and price of product Access backend catalogue system and given barcode find and retrieve product description Valid barcode (consistent with standard + corresponding product exists) Price and name of product available F1.2.1 Handle payment cash Amount to be paid, cash received Change to be given If result ok, Add amount to be paid to total amount of cash Cash received >= amount to be paid Amount of cash (after payment) = amount of cash (before...