餐廳電子管理系統

CP2011 Assignment Details, SP1 2014
Imagine that you are programmer for a small independent software company. You have been given the task of implementing a prototype electronic restaurant management system as a proof-of-concept. The customer is a small local restaurant owner interested in exploring how technology might improve the business workflow.
Here is what the restaurant owner discussed with your software company:
「Our waiters take orders on pieces of paper at the moment. So we would really like a computer-based system that is more reliable and easy to use. We also need a coordinated way for the waiters to handle table placement. Our tables are modular, so it’s easy to make big tables out of small ones. Each small table is a square 4 seater, which we used to seat 2-4 customers.
Customers can walk in or book ahead. We are happy to organise a table for group sizes from 2 people up to 14 people if there is enough space. We can fit a maximum of 56 seats in 4 columns of 6 small square seaters pushed together, with enough walking room between each column. Our restaurant space is almost grid-like, so we came up with this simple drawing technique for tracking the tables on a whiteboard in the kitchen:
Each table gets a number that uniquely identifies it. Green squares are for tables in use, whereas orange squares are for reserved tables. We write the booking time next to the orange squares. Around each table we show the seating arrangement with numbers. We would like an electronic version of our whiteboard system since our staff are very comfortable using it.
Our waiters are told to rearrange tables to suit walk in customers as necessary. Note that a booking will stand as long as the customer arrives no later than 45mins after the booking time.
Our kitchen needs to get orders out as quickly as possible, so we really need some clever way to tell the waiters when orders are ready to serve. Also, as ingredients are used up we need an easy way to keep track of our stock so it does not run out unexpectedly. We have nothing in place which makes that task easy at the moment. Lastly, we recently purchased electronic systems for doing Payrolls and Accounting, which we hope can be made to interoperate with the new electronic restaurant management system. 」
Requirements Analysis
Your software company made an agreement with the owner regarding the requirements of the prototype system you are developing, as follows:
 Use web application technology: HTML5/JS, JavaEE, MySQL, and Tomcat
o HTML forms that posts requests to Java Servlets
o Java Servlets programmed to interact with a MySQL database
 The web content will be static and dynamic pages, customised for the needs of the users:
o Waiters use mobile devices with a screen size of 480(w) x 800(h) pixels
o Kitchen staff use a touch screen computer with a screen size of 1280(w) x 1024(h)
o You are not required to implement any kind of login management
 The prototype system consists of three main components: 1) Table management, 2) Order management, and 3) Inventory management
o Depending on the progress of the programmer, the customer will be satisfied with two of the three components being implemented
o However, table management is a mandatory part of the prototype
o Another optional part of the prototype is a MOCK implementation of APIs for interacting with the Payroll and Accounting systems
Submission details:
 Individual submission: due 5pm Friday of Week13, SP1 2014
 The required software artefacts for the prototype are:
 A high-level deployment diagram illustrating the necessary software and hardware setup
 A UCD, and the following 「fully dressed」 use-cases:
o Table management: Place table, Change table, Remove table, Booking overdue notification
o Order management: Create order, Change order, Order ready notification
o Kitchen management: Restock ingredient, Use ingredient, Low stock notification
 A Domain model that adequately describes the problem domain for the restaurant, used to help define the MySQL database schema
 The production code and the associated UML design diagrams, annotated with information about what design patterns were used
 JUnit tests for server-side functionality excluding Servlet classes
 The GUI does not have to be fancy (e.g. animated drop-down menus), but some use of CSS that defines a consistent look-and-feel across all pages is expected
 Use HTML canvas 2D graphics and DOM events for Table management visualisation
 The MySQL database should record information about the tables, orders, and inventory
o You are not expected to produce a highly normalised database design
o But, some care should be taken when choosing appropriate column data types
 Your assignment will be evaluated by 1) executing your prototype to see how well your use-cases have been implemented, and 2) executing the server-side JUnit test cases
o You are expected to provide comprehensive test cases for database connectivity
o And, we will evaluate in detail at least two use-cases from two of the major system components that you implementphp

 

名稱 餐廳電子管理系統
軟件環境 Eclipse(javaEE,tomcat)

 

Xampp(Apache,MySQL,phpmyadmin)java

開發語言 Html5/js

 

Javaweb

sqlsql

硬件環境 pc
項目要求 餐廳電子管理系統

 

桌子是方塊形的,能夠把單個桌子拼一塊兒成一個大的,每一個小桌子有4座能座2-4人,顧客能直接進來坐着吃也能預約。若是餐廳空間足夠,能夠安排2-14人的桌子,最多4列 56 座的每一個由6小桌子拼起來的大桌,之間能有空間給人行走。下面這是一個正在使用的簡易白板數據庫

 

每一個桌子都有惟一的編號。綠色的是正在使用中的桌子,橙色的是被預約的。預約時間標註在橙色桌子邊上。桌子周圍的座位也是有編號的。canvas

 

桌子的佈局能隨時變換,預約的桌子在預約後45分鐘尚未到能夠被從新安排。(餐桌管理)爲了讓廚房的出菜更快,一個菜好了以後會迅速通知服務員(菜單管理),店裏的原材料庫存多少也是能跟蹤的(庫存管理)tomcat

 

 

 

 

 

 

 

 

 

 

 

用到的技術:HTML5/JS, JavaEE, MySQL, and Tomcat服務器

Html表給JAVA Servlets傳遞需求app

JAVA Servlets和MySQL database交互dom

網頁的內容是靜態動態結合:餐桌管理480(w) x 800(h) pixels

菜單管理 1280(w) x 1024(h) pixels

(不須要登陸系統)

這個原型系統包括:(1)餐桌管理(2)菜單管理(3)庫存管理

只須要實現這個其中兩個就行,可是餐桌管理是必須有的

 

 

 

 

 

 

 

上交需求:一個高級開發圖表說明必要的軟件和硬件設置。

一個UCD,及如下use-cases:

餐桌管理: Place table, Change table, Remove table, Booking overdue notification

菜單管理: Create order, Change order, Order ready notification

庫存管理: Restock ingredient, Use ingredient, Low stock notification

一個Domain model描餐廳的problem domain,幫助定義MySQL構架

代碼和相關聯的UML設計圖註明使用了哪些design patterns

JUnit 測試服務器端的運行狀況(除了Servlet類)

GUI不須要特別美觀,可是必要的CSS仍是須要的

用HTML canvas 2D 圖像和DOM 實現餐桌管理

MySQL數據庫應該記錄餐桌,菜單,庫存信息(數據庫設計不用高度正規化)

這個做業的評分(1)運行原型看use-cases 實現的怎麼樣(2)運行服務器端JUnit測試,包括綜合的數據庫鏈接,從兩個主要系統至少選兩個use-cases運行

 

交付日期 2014年5月28號
其餘說明  
買方能提供的技術支持  
特別強調的 1, 這個原型系統包括:(1)餐桌管理(2)菜單管理(3)庫存管理

 

只須要實現這個其中兩個就行,可是餐桌管理是必須有的

 

 

2,

 

3,

 

4,

相關文章
相關標籤/搜索