Requirement engineering Exercise the POS System solution

Similar documents
Software Requirement Specification

Requirement Engineering

October Easy Steps to use ESCIMS At Point of Sale

6 USE CASES. Introduction. Chapter 6. Objectives. The indispensable first step to getting the things you want out of life: decide what you want.

The POS system can track sales by various payment methods like cash, checks, credit cards, coupons, and gift certificates.

POINT OF SALE (POS) - OPTION 600

POS software: Microsoft Dynamics - Point of Sale FAQ

February 2010 Version 6.1

QuickBooks: Point of Sale

Use Cases. Reference: Craig Larman, Applying UML and Patterns, Ch. 6

Octopus and the Octopus Logo are trademarks of ELEOS WEB PTE LTD, registered in Singapore and other countries

DOCUMENTING USE CASES

WELCOME TO REVEL SYSTEMS RETAIL SERVICE... 5 STARTING YOUR WORK Logging In to Your POS Refreshing the POS Settings...

Business Software Solutions. Business Plus Accounting Touch POS Quick Start Guide

Copyright Wolf Track Software

White Paper. simpro Point of Sale

Sage BusinessVision Accounting Retail Edition. Everything your organization needs to manage sales and your entire business.

1.1. Pay In / Pay Out Payment Mode Master Unit of Measurement (UOM) TAX Master Department Master..

Michigan State University. Team Meijer. Tablet-Based Point-of-Sale System. Project Plan. Fall 2011

Operator s Manual. Overview. (Read This Document First)

Supply Chain Management Use Case Model

Performance with a single touch

WineWeb: Point-of-Sale Planning Guide

First Data Retail Solution

WinSen Online Payment / Prelease Service

Point-of-Sale Quick Start User Guide

DAMOMICS INC, Elmira, NY User Conference March Steve Folckemer Chris Shaw DAMOMICS Inc. Elmira New York DAMOMICS

User Manual. CashFootprint Retail Point-of-Sale, Professional Edition. Copyright , LotHill Solutions, LLC. All rights reserved.

Retail POS User s Guide. Microsoft Dynamics AX for Retail

Enhancement of Openbravo POS system

Electronic Cash Registers (ECR) and Point-of-Sale Systems (POS) Interfaced with Scales Part 2 - Examination By Steve Cook

Chapter 28. Poi nt of Sale But. FrontDesk v Point of Sale Menus. Voiding Invoices. Redeeming Gift Certificates. Revised on: 06/10/2009

Software Editor & Business Consulting

The new Wayne NAMOS point-of-sale system. The evolution of POS has arrived

INTEGRATION PROCEDURES AND SPECIFICATIONS

Rational Software. Course Registration System Use-Case Model

The Point of Sale Software You Can Depend On!

Web Based Point of Sale System

3 Easy Steps to Get Started

Table of Contents CONFIGURING CASH REGISTER EXPRESS 1 REGISTERING CASH REGISTER EXPRESS 1 10 STEPS TO GETTING STARTED 2

ONE POS User Manual. A brief hand guide for ONE ERP POS SYSTEM MYIT SOLUTION. Latest update on: 03/09/12

UML TUTORIALS THE USE CASE MODEL

SCATS SALES AND CUSTOMER TRACKING SYSTEM SOFTWARE REQUIREMENTS SPECIFICATION VERSION: FINAL 1.0

Request for Bids For Point of Sale System for School Cafeteria

Understanding barcodes. White paper

Inventory Management E-Commerce Credit Card Processing

In-Store Merchandise and Inventory Management. SAP Best Practices for Retail

MINDBill. Point of Sale

Point-of-Sale Updates Training Guide. Product Name: Point-of-Sale Release Version: 6.0

Contents PAYMENTS...1 PAYMENT TABLES...67

An Approach to Software Architecture Description Using UML

Software Requirements Specification of A University Class Scheduler

System Overview. ComputerlinkPOS. Software. The Point of Sale specialists exceeding expectations every time.

Understanding barcodes.

Embedded Document Accounting Solution (edas) for Cost Recovery. Administrator's Guide

Object Oriented Software Models

Merchant Integration Guide

POS systems rise to new status

Construction Junction. Inventory Management Software Requirements Specification

SoftTouch table service

MAITRE D STANDARD OPERATING PROCEDURES

TRAVERSE version 11 Point of Sale

FUNCTIONALITY POINT OF SALE (POS) operational excellence

Introduction. Epos tills capture the sales information to ensure you make better decisions

POS UNITS. Installation and user guide. Count, video recording and POS control unit ENGLISH

Table of Contents. BAR CODES Entering Bar Codes within EBMS Bar codes for inventory items Scanning Bar Codes...

Merchant Integration Guide

Bookstore Inventory System Software Requirements Specification. Version 1.0

MOBILE INVENTORY USER S MANUAL REV: Copyright 2008 SWRemote, LLC. - All Rights Reserved.

Introduction to Mamut Point of Sale

SafeGuard Enterprise Web Helpdesk. Product version: 6.1

Quick Shopping Cart QuickBooks Integration

Ingenious Systems. Evolute System's. Mobile Payment. Initiative

POS: Manager Manual Version: 01/01/2012

E-commerce Tutorials E-commerce Option: Shopify. Tutorial 2-3a

CLOUD-BASED. & Inventory. Mobile Point of Sales. Management System DEVELOPED BY: POS. on-the-go SING-BIZ.COM

CLASS 705 DATA PROCESSING: FINANCIAL, BUSINESS PRACTICE, MANAGE MENT, OR COST/PRICE DETERMINATION. 3..Patient record management

Acunetix Web Vulnerability Scanner. Getting Started. By Acunetix Ltd.

How Point of Sales (POS) Systems Help Retail Stores

Pogo> User Guide. for iphone, ipad and ipod touch

Use Cases and Scenarios! We Will Cover!

Frequently Asked Questions ORDERING ON MYHERBALIFE.COM UNITED STATES, Rev. August 22, 2014

Software Requirements Specification

Use-Case Analysis. ! What is it? ! From where did it come? ! Now part of UML

RIMS. Restaurant Inventory Management System. ISDS 3100 Spring Creighton Boggs Rachel Bradley Jackson Greenwood Jimmy Lambert

Version 2.3. Operations Manual for Users, Agents and Merchants

talech Software Guide

Eagle POS Procedure Guide For Epicor Bankcard Processing

APIS IT d.o.o. Fiscalization technical aspects

Customer Tips. Xerox Network Scanning TWAIN Configuration for the WorkCentre 7328/7335/7345. for the user. Purpose. Background

Point Of Sale Reports

POS Checklist: Getting Started

SyncThru Database Migration

Scan to Network and Scan to Network Premium. Administrator's Guide

Transcription:

Requirement engineering Exercise the POS System solution Problem Description 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 administrator good sold Bar code reader POS System Printer Catalogue system Credit card system

Context diagram as UML class diagram

1-b Describe the interfaces of the application (to other systems/devices) Physical Procedural Data Printer USB 2.0 Format of receipt Credit card system Internet connection URL with web service (SOAP http + xml), and SSL Catalogue system Inventory system RPC retrieveproduct(string barcode) RPC deduceamount(string barcode, int amount) Format of credit card data sent, error descriptions barcode : String Result: boolean 1-c Describe the interfaces of the application (to users) Screenshot login

Screenshot sales Paper receipt

1-d System design System design as free skecth The POS system Barcode reader Computer + sw printer Credit card reader System design as UML class diagram Pos System +F1 Handle sales() +F2 Handle Coupons() +F3 Manage Users() BarCode Reader Printer CreditCardReader Computer Software

2. User requirements. 2-a Define the user requirements, notably using a table with functional and non functional requirements. Requirement ID Description F1 Handle sales F1.1 Retrieve name and price of good F1.2 Handle payment F1.2.1 Handle payment cash F1.2.2 Handle payment check F1.2.3 Handle payment credit card F1.3 Print receipt F1.4 Read bar code of good F1.5 Deduce stock amount of good F1.6 Compute total amount F2 Handle coupons F2.1 Issue coupon F2.2 Make discount to coupon owner F3 Manage Users F3.1 Handle login F3.2 Handle logout F3.3 Define user, define user rights F4 Handle returns Needs more analysis Needs more analysis NF 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 F1.1 retrieve name and price of good 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 payment) + amount to be paid Name Description Input Output Action Precondition F1.5 deduce stock amount Barcode Stock amount after this sale Deduce one from stock amount of product Valid code, at least one product in stock Postcondition Product.stockAmount_after == Product.stockAmount_before - 1 Name Description Input Output Action F2 Handle coupon Coupon (id of coupon, id of promotion, id of product) Discounted price for product Read bar code on coupon, find id of coupon, retrieve name of promotion and id of product, verify that promotion is still valid, verify that product is available, retrieve discount rate

2-c Define scenarios of use with the following template (from heating control system) Scenario name: Sale n product S0 General description Use case: F1 Handle sales Sale N products, payment cash Step Description Requirement ID 1 Start sales transaction F1 2 Read bar code F1.1 3 Retrieve name and price given barcode F1.4 Repeat 2 and 3 for all products 4 Compute total F1.6 5 Manage payment cash F1.2.2 6 Deduce stock amount of product F1.5 7 Print receipt F1.3 8 Close transaction F1.4 Scenario name: S1 General description Use case: F1 Handle sales Sale 1 product Step Description Requirement ID 1 Start sales transaction F1 2 Read bar code F1.1 3 Retrieve name and price given barcode F1.4 4 Compute total F1.6 5 Manage payment cash F1.2.2 6 Deduce stock amount of product F1.5 7 Print receipt F1.3 8 Close transaction F1.4

Scenario name: S2 General description Use case: F1 Handle sales Handle sale, no credit, abort sale Step Description Requirement ID 1 Start sale F1 2 Read bar code F1.1 3 Retrieve name and price given barcode F1.4 4 Compute total F1.6 5 Manage payment credit card F1.2.3 7 No credit, abort sale F4 Scenario name General description Use case: F1 Handle sales S3 S3: Sale of 3 goods, payment cash Step Description Requirement ID 0 Start new sale transaction F1.7 1 Read bar code of good F1.4 2 Retrieve name and price of good F1.1 3 Read bar code of good 4 Retrieve name and price of good 5 Read bar code of good F111 6 Retrieve name and price of good 7 Compute total amount of sale F1.6 8 Handle payment cash F1.2.1 9 Print receipt F1.3 10 Deduce stock amount of good F1.5 Scenario name S4 General description Use case: F1 Handle sales S4: Sale of 2 goods, payment credit card Step Description Requirement ID 0 Start new sale transaction F1.7 1 Read bar code of good 2 Retrieve name and price of good 3 Read bar code of good 4 Retrieve name and price of good 5 Compute total amount of sale F1.6 6 Handle payment credit card F1.2.3 7 Print receipt F1.3 8 Deduce stock amount of good F1.5

Scenario name S5 General description Use case: F1 Handle sales S5: Sale of one good, bar code unreadable Step Description Requirement ID 0 Start new sale transaction F1.7 1 Read bar code of good 2 Bar code not readable 3 Input bar code manually F1.x (to be added) 4 Retrieve name and price of good 5 Compute total amount of sale F1.6 6 Handle payment credit card F1.2.3 7 Print receipt F1.3 8 Deduce stock amount of good F1.5

2-d Define the use case diagrams login print receipt System logout <<include>> process sale <<system>> catalog system Employee <<extend>> process gift coupon sale <<include>> <<include>> <<include>> <<system>> inventory system Cashier handle returns <<include>> <<include>> <<include>> handle cash payment handle credit payment manager user handle check payment Administrator manage security USE CASE Process Sale Primary Actor Cashier Preconditions Cashier is identified and authenticated Success End Condition Sale is saved. Receipt is printed. Stock data updated. Payment authorization approvals are recorded. Basic Flow Step Action 1 Customer arrives at POS checkout with goods to purchase. 2 Cashier starts a new sale. 3 Cashier enters item identifier. 4 System retrieve item information from the catalog system and, records sale line item and presents item description, price, and running total. Cashier repeats steps 3-4 until indicates done. 5 System calculates and presents total price. 6 Cashier tells Customer the total, and asks for payment. 7 Customer pays and System handles payment. 8 System records completed sale and sends sale information to the external Inventory system for stock update. 9 System presents receipt. 10 Customer leaves with receipt and goods. EXTENSIONS Step Branching Action * At any time, System fails: To support recovery and correct accounting, ensure all transaction sensitive state and events can be recovered from any step of the scenario. 1. Cashier restarts System, logs in, and requests recovery of prior state. 2. System reconstructs prior state. 2a. System detects anomalies preventing recovery: 1. System signals error to the Cashier, records the error, and enters a clean state.

2. Cashier starts a new sale. 3a Invalid identifier: 1. System signals error and rejects entry. 3b There are multiple of same item: 1. Cashier can enter item category identifier and the quantity. 3-6a Customer asks Cashier to remove an item from the purchase: 1. Cashier enters item identifier for removal from sale. 2. System displays updated running total. 3-6b Customer tells Cashier to cancel sale: 1. Cashier cancels sale on System. 3-6c Cashier suspends the sale: 1. System records sale so that it is available for retrieval on any POS terminal. 4a The item s price is not the customer wanted (e.g., Customer complained that the item is offered at a lower price): 1. Cashier enters override price. 2. System presents new price. 6a Customer says they intended to pay by cash but don t have enough cash: 1a. Customer uses an alternate payment method. 1b. Customer tells Cashier to cancel sale. Cashier cancels sale on System. Non-Functional Requirements 7a 7b 7c Paying by cash: (UC Handle Cash Payment) Paying by credit: (UC Handle Credit Payment) Paying by check: (UC Handle Check Payment) 1 Touch screen Ul on a large flat panel monitor. Text must be visible from 1 meter. 2 Credit authorization response within 30 seconds 90% of the time. 3 Somehow, we want robust recovery when access to remote services such the invent tory system is failing. 4 Language internationalization on the text displayed. USE CASE Process Gift Coupon Sale (extends UC Process Sale) EXTENSIONS Step Branching Action 7a Customer presents coupons: 1. Before handling payment, Cashier records each coupon and System reduces price as appropriate. System records the used coupons for accounting reasons. 1a. Coupon entered is not for any purchased item: 1. System signals error to Cashier. A simpler and more efficient variant:

System Cashier F1 Handle sales <<include>> <<include>> Inventory System F1.1 Retrieve name and price Catalogue System Good F1.2 Handle payment F2 Manage Coupons CreditCard System F3 Manage Users Administrator

2-e Define the sequence diagrams for some specific scenarios Sequence diagram for S0

Sequence diagram for S3, no internals of POS System : Cashier : Pos System Catalogue System Inventory System 1 : start sale transaction() 2 : read bar code() 3 : retrieve name and price() 4 : read bar code() 5 : retrieve name and price() 6 : read bar code() 7 : retrieve name and price() 8 : last good() 10 : payment by cash() 9 : compute total amount() 11 : handle payment by cash() 12 : print receipt() 13 : deduce stock amount()

Sequence diagram for S1, with internals of POS System as described by System design diagram : Cashier : Pos System : BarCode Reader : Catalogue System : Printer : Inventory System 1 : start sales transaction() 2 : read bar code() 3 : retrieve name and price of good() 4 : read bar code() 5 : retrieve name and price of good() 6 : read bar code() 7 : retrieve name and price of good() 8 : last good() 9 : compute total amount() 10 : payment by cash() 11 : handle payment by cash() 12 : print receipt() 13 : deduce stock amount() 2f - Statechart of POS System class idle read bar code/retrieve name and price start sales transaction adding goods last good/compute total amount payment handle payment [payment is ok]/deduce stock amount, print receipt