Functional Specification
USER INTERACTIONS
On entering the CSO inventory system the user will be required to go
through a login process. This process involves entering a user name and
their password. The user name will consist of the employees surname and their
initial. By going through this process two important requirements are
satisfied. Firstly, the system ensures security for the operation of the
CSO supermarket information. Secondly, this process will determine the
employee's privileges on the system. For the CSO inventory system it has
been determined that there are four types of employees using the system.
Stock personnel are involved in updating the the amount of stock in the
store as new shipments arrive. Cashiers, naturally, are responsible for
reducing the inventory in the system as the sales to customers are processed, while managers and the head manager are responsible for administration of
the personnel and stock.
For each type of employee the system will display a window that
reflects the necessary functions to perform their duties. The head managers
window will also include a method of accessing the window for all types
of employees. The department managers will be able to access the windows
for the cashier and stockers.
LOGGING INTO THE CSO SYSTEM
The login process is quite simple. After starting the CSO inventory
system, the system will ask the employee to enter their employee name,
followed by their personal password. After the system validates the password
and employee name, the appropriate window will appear on the screen
THE WINDOW FOR THE MANAGERS
After the managers log into the CSO inventory system, there will be
two major components to the window.
At the very top of this window all major categories of the manager's
responsibilities appear as buttons. This can be referred to as the Primary
Duty Menu. These responsibilities have been
determined as: Inventory, Personnel, Create and Delete Departments, Accessing
the Stocker's Window, Accessing the Cashier's Window, Access to the Database
Archive and Inquiring into all Changes to the Inventory. Since only the head
manager is responsible for creating and deleting departments, this function
will be restricted. Naturally, there will be a button, prominently displayed
for quitting the CSO system in this top area. These buttons will always be
at the top of the window while the managers are using the CSO inventory system.
INVENTORY RESPONSIBILITIES
The bottom component of the window, for convenience, will display the
most frequently performed duty, the Inventory. In this component of the window
the manager will see two lists in the middle of the screen. The list on the
left will show the current list of inventory for which the manager is
responsible. The title of this list will be the manager's department. For the
head manager the list is titled "Inventory of All Departments", and they will
be able to change the list to display the inventory for specific departments
if it is required.
By default the list on the right hand side will display all items in
inventory that need to be restocked and have not yet been placed on order.
Essentially this list is a stock order list. The title of this list will be
"Order Number XXXX", where XXXX is a new order number. The manager can change
this list to display a previously placed order if required.
Since all managers may need to add items to the order list, there is a
button between the two lists for adding a selected inventory item to the
order list. There is a remove button for removing an order item from
the order list.
Only one item from either the inventory list or the order list can be
selected at one time. When an item is selected from either list, information
about that item is displayed in a separate box at the very bottom of the window.
This information will include: Bar Code, Item number, Item description,
Department, Item location in store, Price, stock Minimum, stock Maximum,
current Stock. This information can be modified by the manager, except
for the department category which can only be changed by the head manager.
If the item was selected from the order list additional information
will be displayed including; date ordered, quantity ordered, date received.
If the order list contains a new order, some of this information will
not yet be applicable, ie date received will be blank. The order list
will also indicate the status of an order; To be approved by the head manager,
or Waiting to be received from the warehouse.
The head manager will have three additional buttons that will not be
accessible by the department managers. The buttons will not be completely
invisible to the department mangers in order to remind them that such
duties exist for the head manager. These buttons are for adding and
deleting items from the inventory list, and the third for authorizing a
stock order request.
PERSONNEL RESPONSIBILITIES
When a manager wishes to perform personnel duties, rather than the
default inventory duties, they must press the Personnel button from the
Primary Duty Menu located at the top of the window. When this button is
selected the second component of the window changes to display functions
related to personnel.
The list of personnel for which the manager is responsible for will
be prominently displayed on the left hand side of the window. The list
will be titled by the department name for the department managers. For
the head manager the title of the list will be a pull down menu for selecting
a specific department or for displaying "all" personnel (by default all
personnel will be displayed) . On the right hand side of this list there will
be buttons for adding or deleting an individual from the employee list.
When an employee is selected from the employee list, all information
available on that employee will be displayed at the bottom of the window.
This information can be changed as required.
There must also be a button for changing the password of an
employee. This is useful for situations such as an employee forgetting
their password. Since the employee list will only contain persons for which
the manager is responsible for, the manager can only change passwords for
his employee's.
CREATE AND DELETE DEPARTMENTS
By selecting the button for creating and deleting departments from
the Primary Duty Menu, the head manager (only the head manager) can add
a new department into the system or remove an old department. When the
button is selected the window will display a menu for selecting a particular
department, department information, a button for deleting a department, and
a button to add a new department.
When a particular department is selected, information is displayed
including a personnel and inventory list. These lists cannot be changed from
this window. They are displayed only to provide necessary information to the
head manager before deciding to delete the department.
To delete a department from the CSO inventory system a department
must be selected first to enable a button on the window to be usable.
The system will ask the head manager where to transfer the personnel and
where to transfer the inventory. There will be an option to transfer both
the personnel and the inventory to an unclassified department. The system will
ask for final confirmation for deleting a department that still has
personnel or inventory recorded in the system.
Should the head manager wish to transfer employees or inventory to
many different departments, they should use the Personnel and Inventory buttons
from the Primary Duty Menu.
When creating a new department the head manager will be asked for
the new department name. The head manager will then use the Personnel and
Inventory duty buttons in the Primary Duty Menu to define the personnel and
inventory for this new department.
ACCESS TO THE ARCHIVE AND EXAMINING THE RECORD OF ALL CHANGES TO DATABASE
Both of these managerial functions are extensions to the CSO
Inventory System that will be available in the near future.
We are generally happy with this section (The Manager Window) except for the
reasons noted in the SECURITY section below.
THE CASHIER WINDOW
This window can be accessed by any manager from the Primary Duty
Menu from the manager window, or by any cashier who logs on to the CSO
inventory system.
The duties of the [Bcashier are located on a separate window since
speed and efficiency is fundamental to the duties of a cashier. Like the
window for managers, the cashier's window is partitioned into two segments.
The top section is the Cashier Primary Duty Menu, and consists of three
basic buttons, sales, refunds, and print receipt. By default the 'sales'
button is selected, so when the cashier logs onto the system the bottom
segment of the window displays the 'sales' area.
The 'sales' area in the Cashier's window consists of a list of items for a
customers transaction. The cashier can enter items into the list two ways.
A bar code reader can be used. For situations when the bar code is unreadable
by the bar code reader, the cashier can enter the new item in a field at the
top of the cashier window.
When an item is entered, the list will display the item description,
price, quantity to purchase, and the bar code number. The inventory system
will not be updated until the cashier finalizes the sale of all items in the
list by pressing the "complete transaction" button. It is important that
the cashier is able to change items in the customer list in case there
are errors or the customer changes their mind.
If the bar code reader, or the cashier enters an invalid bar
code number, the terminal will beep and display an error message.
The 'refund' area in the Cashier's window is just like the 'sales' area.
For security purposes, the cashier must consult a department
manager assistance to change the completed transaction. The department
manager would login to the system and change the correct the errors using
the inventory button in the Primary Duty Menu.
Whether the cashier has the authority to give a refund or not
should not be a pre-defined state. The design should give the head manager the
option to determine or change the cashier's authority as defined in SECURITY
section. Because it would be nice that a customer does not have to ALWAYS wait
for an overworked manager to correct a simple error if he decided not to take
a loaf of bread or he does not have enough money! The refund window should be
an option in the cashier's window. The refund window would be greyed out ONLY
if the manager decides not to give cashier's authority.
THE STOCKER WINDOW
This window can be accessed by any manager from the Primary Duty
Menu from the manager window, or by any stocker who logs on to the CSO
inventory system.
The duties of the stocker are quite simple, therefore the stocker
window contains only a few simple functions. The window consists of a
list containing all ordered items that have been sent to the warehouse.
The stocker must enter the items received from the warehouse into
the CSO inventory system. The stocker will only perform this duty when
they have received the laiding form from the manager who has signed to
verify receipt of the shipment.
In order to update the correct items in the CSO inventory system,
the stocker must find the items in the displayed list. The stocker can
search for a specific item in the list by entering the name or BAR code
number of the item in a field below the list. Alternatively the stocker
can enter the order number from the laiding form to change the list to
display only those items corresponding to that order number.
When the stocker sees an item in the list that must be updated,
the stocker selects that item. When the item is selected the inventory of
that item is displayed in the bottom of the window.
The stocker can update the inventory system by pressing an update
button. If only a partial order has been shipped the stocker can change the
quantity to update field before updating the inventory system.
The way that the stocker window is set up is way too hard to understand. The stocker
is doing way too much work, having to 'OK' every inventory item that he stocks. The stocker
should just have to enter the invoice number. Then if there are changes (ie there is a partial
order), then the stocker should edit that item. If there are no changes, or after all the
partial orders are fixed, the stocker will click on the update button to update the
inventory, consequently all the items will be assumed to be there.
WAREHOUSE SYSTEM
The warehouse system has four main functions:
- receive orders
- print a laiding form for a received order
- receive confirmation that a shipment has been received
- print an invoice for a received shipment
An order will presumably be received either in some physical or
electronic form that must be manually entered into the warehouse's computer,
either on paper or by email.
There should be a means of receiving an order electronically, so that
information already in electronic form does not have to be re-keyed. This could
be accomplished using a computer-based document of some standard format that
could be emailed.
On startup, the warehouse system will display a menu bar at the top
of the screen containing the two main functions the warehouse system can
perform: Receiving an order and Confirming a shipment.
RECEIVING AN ORDER:
When in the Receive Order mode (selected from the main menu bar),
a menu will appear for the entry of the following information:
- address of supplier
- supermarket ID
- supermarket address
- department to deliver the order to
- manager of the department to deliver to
- the order number
- list of the items requested
- item codes
- quantity of items requested
- quantity of items sent
Once this information has been entered into the menu form, the button
labeled "Print Lading Form" must be pressed. The system will then print
a laiding form to accompany the completed order to the store.
CONFIRMING A SHIPMENT
When the warehouse receives a confirmation of a shipment, again either
in some physical or electronic form, an invoice can be printed from the
Confirm Shipment mode (selected from the main menu bar).
From a list of previously entered orders (see RECEIVING AN ORDER)
the user can find and select the order for which receipt has been confirmed.
Once a previous order has been selected, selecting the "Print Invoice" button
will print an invoice to a file that can be sent to the supermarket by email
or printed and sent by regular mail.
TABLE OF CONTENTS FOR THE USER MANUAL
The following is the preliminary outline for the user manual.
I Introduction
logging into the system
II Primary Users
cashiers
recording sales and refunds at the point of sale
stock Personel
recording incoming inventory
II Department Level Users
manual order requests
manually ordering a specific product quantity
managing department inventory
setting product stock levels and price
metting employee permissions
changing the authorization level or position of department employee
III Manager Level Functions
verification of orders
verifying orders before they are submitted to the warehouse
inventory management
adding,deleting and modifying products
security functions
creation,deletion and modification of employee authorization
archive file
viewing and using the audit file (archive)
departments
creation,deletion and modifications of departments
daily order
how the automatic daily order works
IV Warehouse system
order request
how grocery store orders are handled
correspondance
what paper work comes from the warehouse
Appendix
System Functions
list of interface windows
breakdown of functions available in each window
glossary
SECURITY
The Security of the system is a major concern to CSO. The following
clarifications are made to the submitted project report. Please note
that the following is a collective of all security requirements
pertaining to the entire system. (i.e. It is not a redefinition of
requirement specification.)
This clarification was found necessary because we felt that the
security system is being designed for us and the level of authority is
being defined by the software developers instead of CSO management.
PASSWORD ASSIGNMENT:
-
The head manager should be able to changed the associated tasks for
all of the login levels.
- The head manager is the only person who can change the
passwords on the logins.
- In order to make it simple, the system should have:
- Head
- Manager
- Cashier
- Stocker
as the login names.
- There must be one password associated with every login.
- for every login, the manager should be able to define the
allowable task by simply choosing from a list of tasks. Our suggested
screen version looks as follows. By all means the designer can come
up their own version so long as the principal task remains intact.
Please Note that by default,
- Head should be able to perform all the functions on the
system.
- In addition to their own tasks, Managers should be able to
perform the tasks defined for Cashiers and stockers.
----------------------------------------------------------------
DEPARTMENT
+----------+----------------------------------------------------
| HEAD |
| MANAGER |
| STOCKER |
| CASHIER |
| ... |
+----------+
AVAILABLE TASKS AUTHORIZED TASKS
+-------------------+-+ +----------------------+-+
| |^| | |^|
| +-+ ADD >> | +-+
| | | | | |
| | | << DELETE | | |
| | | | | |
| | | ALL >> | | |
| | | | | |
| +-+ | +-+
| |v| | |v|
+-------------------+-+ +----------------------+-+
+----------+ +--------------+
| OK | | CANCEL |
+----------+ +--------------+
-----------------------------------------------------------------
- It will be nice if we can also add and delete login levels for
later purposes.
LOGGING REQUIREMENTS:
The system must produce a log of transactions in a real time
manner. (i.e. As soon as the task is completed a record of the
completion must be generated.) This could be an output to a
printer or a file. The following is the requirements for
producing a transaction log.
every transaction must contain:
- an 8 digit number representing the date in YYYYMMDD format.
- a 6 digit number representing the time in HHMMSS
format.(based on a 24 hours clock)
- transaction number. every possible transaction (i.e. task)
on the system should be identified by a unique transaction
number.
- login name. this is the login of the employee who performed
the transaction.