Professional Documents
Culture Documents
Final Project
Submitted to:
Ms. Atifa Sarwar
Ms. Ifrah Qaiser
Submitted by:
Fahad Ameen
(i14-0049)
Ali Hasan
(i14-0301)
Muhammad Bilal
(i14-0232)
BS CS Section C
Dated: December, 7 2016
National University of Computer and Emerging Sciences
Islamabad
Table of Contents
Table of Contents ............................................................................................................................ 1
Honor Code ..................................................................................................................................... 5
Project Title ..................................................................................................................................... 6
Introduction .................................................................................................................................... 6
Purpose ........................................................................................................................................... 6
Scope ............................................................................................................................................... 6
Problem statement and description ............................................................................................... 6
Objectives........................................................................................................................................ 7
Business opportunity ...................................................................................................................... 7
Product Position Statement ............................................................................................................ 7
User Summary................................................................................................................................. 7
Stake Holder Summary ................................................................................................................... 8
High Level Goals .............................................................................................................................. 8
User Environment ........................................................................................................................... 8
Market Demographics .................................................................................................................... 8
Summary of Capabilities ................................................................................................................. 9
Summary of System Features ......................................................................................................... 9
Use Cases ...................................................................................................................................... 10
High Level Use cases ................................................................................................................. 10
UC1 (Edit/Change Order): - .................................................................................................... 10
UC2 (View Order): - ................................................................................................................ 10
1
11.
12.
Package Diagram........................................................................................................................... 43
Deployment Diagram ................................................................................................................ 44
Honor Code
"I am a person of integrity. I pledge, as a member of the NUCES-FAST University community, to
abide by and uphold the honor code. All submitted work is done by me and I have not
plagiarized or cheated from other sources"
Project Title
Caf Management System (CMS)
Introduction
The purpose of this project is to ease the Teaching Staff, Students and Cafe Management. By
CMS (Caf Management System) teacher can see Food Menu and order their food in their
offices and account on daily basis will be maintained. Students can also see the Food Menu,
order their food and a queue type receipt will be generated which will ease students for not
standing in a line and wait and caf staff will be helpful in determining their food requirements.
Purpose
Main purpose of this supplementary document is to explain the specification of the Caf
Management System. FURPS model is implemented to describe this management system. It
describes user interfaces and design constraints to be implemented when the system is
designed. Complete system requirements are written in this document. Requirements
described in this document are derived from the Vision document.
Scope
CMS is associated with the university Teaching staff, Students, and Cafeteria staff.
i.
ii.
iii.
Caf Manager will operate system to manage food Menu, staff accounts, and bills.
Academic Staff can view Menu online and place order there and their bill will be
deducted from their account.
Students can view food Menu anywhere in university and then order in caf.
Objectives
i.
ii.
iii.
Business opportunity
As this kind of cafe system has not present in our university and other universities, so there is a
great chance for our company to establish this idea in university. In start we dont have as much
competitors as well as highly demand of teachers and students make this idea stronger and
profitable.
User Summary
User Summery
Name
Academic Staff
Description
He will see Menu and place order. After placing order, it is on
Academic Staff member whether he will pay directly or by the
account. After payment order will be delivered to him in his room.
7
Description
He can see menu and price from CMS.
Description
Responsibilities
Caf Manager
Waiter
Deliver Order
Chef
Prepare Order
User Environment
Our projects task cycle includes Caf staff, students, administrative and academic staff. We will
make this system as generic as possible so that if we want to add features to it, we can easily
do. We will focus and try to make task cycle as short as possible in order to save users and
stakeholders time. Presently no such system is found in universitys Cafes. But it is found in
private cafes.
Market Demographics
We are highly motivated to make this caf management system because it has great potential
in the market.
First our target market is the Caf of our University (Fast Nuces) and after success we will
spread and offer it to other universities as well as to private Cafes and Restaurants. Presently
8
Summary of Capabilities
Summary of Capabilities
Name
Robust,
Reliable and
efficient
Description
i.
The speed will be ensured as the work load increases
ii.
Orders will be managed in a Database
iii.
Real time updates and concurrency problems will no longer be
there
iv. All the functions will be properly integrated so that they can be
efficiently managed and the resources are used at their optimum
level.
v.
The interaction and functional processes are made friendly.
vi. Admin can view the entire work flow
ii.
Computerized receipt
iii.
iv.
Use Cases
High Level Use cases
UC1 (Edit/Change Order): Use case:
Edit/change order
Actors:
Academic Staff
Type:
Primary
Description:
Once the items are selected, there is still option to change it or edit according to the
user choice. From this user can update his/her order and make changes for his
order.
View order
Actors:
Manager
Type:
Primary
Description:
Once order is confirmed by the user then it will be displayed to the manager on the
computer in the cafe. Cafe Manager is locating and maintaining all the orders.
Order receipt
Actors:
Manager, Chef
Type:
Supporting
Description:
This use case allows manager to generate a receipt according to the order. Receipts
is given to the chef to make order ready. Chef will take receipt, prepare food
according to the order and will update the status in the system that food is ready.
Deliver order
Actors:
Waiter
Type:
Primary
Description:
This use case is for delivering the order to the faculty members. Waiter will take
order from chef and deliver it to the order place. He will also update the status in
the system that order has been delivered.
10
Generate bills
Actors:
Manager
Type:
Primary
Description:
Manager will generate Bill against every order for giving it to the user. Waiter will
take bill with order to give it to the right place. This also provides feasibility to the
user to see his payments of order.
Actors:
Students, Manager
Type:
Primary
Description:
Students after viewing the menu from the online website, can only order their meal
in caf. But they will get a receipt against each order. This is due to avoiding time
wastage. A student can get his receipt and order numbers will be displayed on the
machine in caf. No one can stand and wait to get his order.
Manage menu
Actors:
Manager
Type:
Primary
Description:
Menu can easily be managed and updated by the manager. He can see the menu list
and update according to the sale of meal. If an item sold completely then he will
delete that particular item from the menu.
Manage user
Actors:
Manager
Type:
Primary
Description:
A manager can manage all the staff of caf which includes waiters, chef etc. He has
authority to see how many waiters and another staff is required for caf. If needed
more he will add and if there is any need to drop he will drop.
11
View balance
Actors:
Academic Staff
Type:
Primary
Description:
This use case is use is for the faculty members to see their balance remaining in
account. This option is available on the online website. This also helps them in
knowing if their balance is low.
View Account
Actors:
Academic Staff
Type:
Primary
Description:
Teacher can see their account details by the option of account details. They will see
the account details and also can change their account password and other options.
Place order
Actors:
Academic Staff
Type:
Primary
Description:
This use case allows faculty members to open and view the entire menu which is
present for following day. After the successful opening of menu user can simply
select the items and their quantity presented in the list. Once the items are
confirmed, order will be saved and transfer to the cafe administrator. There is only
5 minutes duration for the users to change it or delete the order otherwise order
will be delivered.
Actors:
Academic Staff
Type:
Primary
Description:
This use case allowed user to see their complete order history. From this option user
can see what he ordered at what date, all the details will come up by this option.
12
Actors:
Manager
Type:
Primary
Description:
At the end of the day, caf management system needs to see all the details of their
selling. This is done by this use case. This use case tells us about printing the balance
sheet to see all the details of the day.
13
14
UC 2: Edit/Change Order
Scope: Caf Management System
Level: User level
Primary Actors: Academic staff
Stakeholders and Interests: Academic staff
Preconditions: The Order is once placed. And less than 5 minutes have passed when the order was placed.
Success Guarantee (or Post-conditions): The users order will be changed and updated to the Caf system
successfully.
Main Success Scenario:
1. Once the order is placed, if user wants to edit and change the order.
2. System checks that if less than 5 minutes have passed, after the order was passed, then menu is
again displayed to the Academic staff.
3. The academic staff selects new items and confirms.
4. The new order is successfully updated in the database.
Extensions:
a)
UC 3: View Order
Scope: Caf Management System
Level: User level
Primary Actors: Manager
Stakeholders and Interests: Wants that the placed orders are retrieved from the database quickly and
showed to the manager.
15
UC 4: Order Receipt
Scope: Caf Management System
Level: User level
Primary Actors: Manager, Chef
Stakeholders and Interests: Wants that the order receipt are generated quickly.
Preconditions: Manager has successfully viewed all the orders placed by the Academic staff.
Success Guarantee (or Post-conditions): The receipt will be successfully generated and is given to the
chef.
Main Success Scenario:
1. The manager asks the system to generates receipt.
2. System generates the receipt successfully.
3. The chef prepares food and after preparing he updates the status in the system that food is
prepared.
4. System updates status as prepared against that order and sends signal to the manager.
Specific Requirements:
a) The receipts should be generated quickly.
Extensions:
a)
16
UC 5: Generate bills
Scope: Caf Management System
Level: User Level
Primary Actors: Manager, waiter
Stakeholders and Interests: Generating a correct and quick bill of order by the computer operator. Waiter
wants to get bill from operator to deliver it on time.
Preconditions: Correct bill should be generated on time.
Post-conditions: Successful bill generated by the computer operator of cafe.
Main Success Scenario:
1. All order details added correctly by caf computer operator.
2. Order details should be calculated and manipulated correctly and efficiently.
3. Calculated amount with details of bill print in quick time.
4. Printed bill given to the waiter.
5. Waiter dispatches shortly bill to the required place.
Extensions:
a) At any time, The System fails:
1. Restart the system
2. Enter details
3. Print bill
b) Wrong entry of order entered.
1. Option of retrieving that wrong entry.
2. Deleting the wrong entry
3. Enter entry with corrected data.
Specific Requirements:
a) Bill should be formatted in well and proper format.
b) Not more than 30 seconds it will take to generate bill.
17
18
19
20
21
22
23
Domain Model
SaleLineItems
-
ItemDescrption
Item
quantity
Records sale of
*
item_no
name
Describes
Name
Serial no#: int
order_no
Stocks
1
Order
Cafe
-
City
Name
Place
Contains
Manager
maintains
name
Contains
1
1
*
Receipt
generates
against
date
time
Customer
Transaction
-
Has
places
r_no
Initiated by
*
c_id
name
Account
holds
1
acc_no
payment
1
for
amount
24
ViewPlacedOrder()
:SelectedOrder
EditOrder()
:EditableOrderList
ConfirmOrder()
:ConfirmtionMsg
[else]
:Time Over
25
SSD2-View Balance
sd View Balance
CMS
Academic Staff
AccountDetails()
:AccountDetails
BillReceipt(name)
:BillReceipt
26
BillReceipt()
:BillReceipt
SSD5-View Order
sd View Order
CMS
Manager
RequestOrderList()
:OrderList
27
SSD6-Manage User
sd Manage User
CMS
Manager
StaffList()
:StaffList
Edit/ChangeStaff()
:EditableList
28
SSD7-Manage Menu
sd ManageMenu
CMS
Manager
MenuList()
:List
Edit/ChangeList()
:EditableList
ConfirmMenu()
:ConfirmationMessage
29
SSD8-Order Receipt
sd Order Receipt
CMS
Manager
Chef
RequestReceipt()
:Receipt
Forward Receipt()
:Receipt
MarkStatus()
:FoodPreparedMsg
30
SSD9-Place Order
sd Place Order
CMS
Academic Staff
RequestMenu()
:DisplayMenu
loop
SelectItem()
:AddToCart
31
Operation Contracts
CO1-RequestMenu ()
Contract C01:
Request menu
Operation:
RequestMenu()
Cross Reference:
Place order
Responsibility:
Precondition:
Post condition:
CO2-SelectItem ()
Contract C02:
SelectItem
Operation:
SelectItem()
Cross Reference:
Place order
Responsibility:
Precondition:
Faculty member have account, logged in and having a display menu open.
Post condition:
Sale line Item contained instance of item. Sale line item has associativity
with sale to store items in sale line item. Sale line Item instance created
in order. Sale line Item instance associated with order.
CO3-Edit/ChangeMenuList ()
Contract C03:
Operation:
Edit/ChangeMenulist()
Cross Reference:
Manage Menu
Responsibility:
Select the item list for addition and deletion of items in list.
Precondition:
Post condition:
CO4-EditOrder ()
Contract C04:
EditOrder
Operation:
EditOrder()
Cross Reference:
Responsibility:
Precondition:
Post condition:
CO5-AccountDetails ()
Contract C05:
AccountDetails
Operation:
AccountDetails ()
Cross Reference:
View Balance
Responsibility:
Precondition:
Post condition:
C06-Bill Receipt ()
Contract C05:
Bill Receipt
Operation:
Bill Receipt ()
Cross Reference:
Responsibility:
Post condition:
RequestOrderList
Operation:
RequestOrderList ()
Cross Reference:
View Order
Responsibility:
Precondition:
Post condition:
C08-StaffList ()
Contract C05:
StaffList
Operation:
StaffList ()
Cross Reference:
Manage User
Responsibility:
Precondition:
Post condition:
CO9-Edit/ChangeStaff ()
Contract C03:
Edit/Change Staff
Operation:
Edit/ChangeStaff()
34
Manage Users
Responsibility:
Select the staff list for addition and deletion of staff in list.
Precondition:
Post condition:
CO10-ForwardList ()
Contract C03:
Forward List
Operation:
ForwardList()
Cross Reference:
Order Receipt
Responsibility:
Precondition:
Post condition:
35
Class Diagram
class Class Model
Person
-
Controller
address: string
cnic: string
name: string
Worker
Customer
-
Cid: int
validUser: boolean
loginCustomer(): person
Wid: int
DBHandler
Waiter
Manager
Student
Academic Staff
-
Sid: int
Mid: int
isDelievered: boolean
account: Account
phoneNumber: int
roomNumber: int
Account
Chef
accountNumber: int
balance: int
password: int
userName: string
+
+
checkLogistics(): boolean
loginAccount(): int
isPrepare: boolean
Menu
+
Order
viewMenu(): void
-
orderNumber: int
totalItem: int
returnOrder(): ArrayList<Order>
Items
ItemDescription
-
description: string
itemId: int
itemName: String
price: int
viewMenu(): list
SaleLineItem
-
quantity: int
36
Sequence Diagrams
1. View Placed Order
sd View PlacedOrder
Order
DB Handler
Controller
View Order()
RetrieveOrder()
ReturnOrder
()
:OrderList
:OrderList
2. Manage Users
sd Manage User
Employee
DB Handler
Controller
Add User()
Delete User()
DeleteEmployee(id)
Delete(id)
37
3. Manage Menu
sd ManageMenu
Item
DB Handler
Controller
Add Item()
AddItem(name, price)
Add(name price)
Delete Item()
DeleteItem(name)
Delete(name)
4. View Account
sd View Account
Account
DB Handler
Controller
View Account()
ViewAccount(id)
View(id)
:account
:account
38
5. View Balance
sd View Balance
Account
DB Handler
Controller
ViewBalance(id)
ViewBalance(id)
view(id)
:Balance
:Balance
6. Select Item
sd SelectItem
:Customer
:Item
SaleLineItem
SelectItem()
SelectItem(ID)
AddToCart()
:itemView
39
7. Request Receipt
sd RequestReceipt
:Manager
:Order
:Receipt
Receipt()
ViewOrder(ID)
GetReceipt()
:ConfirmationMsg
8. Request Menu
sd RequestMenu
:Customer
:Cafe
Request()
RequestMenu()
:List
40
9. Place Order
sd PlaceOrder
:Customer
:Cafe
:Item
RequstMenu()
:Menu
alt loop
SelectItem(Item_id)
:AddT oCart
10.
Edit Order
sd EditOrder
:Customer
:Order
:SaleLineItem
:DataBase
Order()
alt
[Time < 5 minutes]
SelectOrder(Order_id)
:Order
EditOrder(Order_id)
Save(Order_id)
Store(Order_id)
:ItemStored
41
11.
alt
:Order
:SaleLineItem
ViewPlacedOrder()
:List
EditOrder()
EditableOrderList()
ConfirmOrder()
12.
Confirm Order
sd ConfirmOrder
Customer
Order
Database
Confirm()
Select(Order_no)
:Order
ConfirmOrder(Order_no)
Store(Order_no)
:Stored
42
Package Diagram
pkg Package
BLL
Person
Items
Person
Customer
Student
SaleLineItem
Item
ItemDescription
Worker
Academic Staff
Manager
Chef
Order
Receipt
AcademicStaff
Account
Order
Manager
DAL
InsertHandler
DBConection
SelectHandler
UI
Serv lets
JSPs
SelectServ let
43
Deployment Diagram
44