The university is currently has one food court located in its Ly Thuong Kiet campus and is going to build another one in Di An campus. All food courts consist of a number of vendors at food stalls or service counters. Meals are ordered at one of the vendors and then carried to a common area for consumption. The food may also be ordered to takeaway. Note that, all food courts are selfservice and there is no food delivery service, but may be applied in the future. When a meal needs time in preparing, or in busy moments, a vendor may provide a pager calling device for notifying the customers when the their food is ready. Food court at Changi Airport, Singapore (source: Internet) Pager calling system (source: Internet) In 2020, the university wish to build a smart food court system (SFCS) to make the university more smart. The system is for customers to order foods at the food courts or before comming to that places. There will be some machine with touch screen around the food court for ordering food. When the payment is made, the order is confirm and will be put in the order list at the food stall kitchen. An order slip will be printed by the machine. The customer can grab a nearby pager that has the number matched with the order number and wait for its notification then goes get the food. Heshe can also simply wait at the food stall and then shows the order slip to take the food. Note that, separated orders should be placed for different vendors. The payment can be made by some online payment service such as Momo wallet, Samsung Pay, Apple Pay, etc. It should be secured to make sure that no important information is leaked to nonauthorized persons. There should be also an mobile app for members of the food court system that allow them to order food before comming to the food courts. In this case, the notification from the kitchen can be pushed to the mobile app instead of the pager. The estimated preparing time of the order can also be informed to the members. The mobile app has to have an ability to make an online payment or allow members to recharge and use their payment account for the payment.
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA
Khoa Khoa học và Kỹ thuật Máy tính
Tp.HCM, tháng 7 năm 2020
Trang 2I Đề thi
SFCS - Smart Food Court System
The university is currently has one food court located in its Ly Thuong Kiet campus and is going to build another one in Di An campus All food courts consist of a number of vendors at food stalls or service counters Meals are ordered at one of the vendors and then carried to a common area for consumption The food may also
be ordered to take-away Note that, all food courts are self-service and there is no food delivery service, but may
be applied in the future.
When a meal needs time in preparing, or in busy moments, a vendor may provide a pager calling device for notifying the customers when the their food is ready.
Food court at Changi Airport, Singapore (source: Internet) Pager calling system (source: Internet)
In 2020, the university wish to build a smart food court system (SFCS) to make the university more smart The system is for customers to order foods at the food courts or before comming to that places.
There will be some machine with touch screen around the food court for ordering food When the payment is made, the order is confirm and will be put in the order list at the food stall kitchen An order slip will be printed
by the machine The customer can grab a near-by pager that has the number matched with the order number and wait for its notification then goes get the food He/she can also simply wait at the food stall and then shows the order slip to take the food Note that, separated orders should be placed for different vendors.
The payment can be made by some online payment service such as Momo wallet, Samsung Pay, Apple Pay, etc.
It should be secured to make sure that no important information is leaked to non-authorized persons.
There should be also an mobile app for members of the food court system that allow them to order food before comming to the food courts In this case, the notification from the kitchen can be pushed to the mobile app
Trang 3instead of the pager The estimated preparing time of the order can also be informed to the members.
The mobile app has to have an ability to make an online payment or allow members to re-charge and use their payment account for the payment.
Trang 4Speed up your order by smart technology (source: www.straitstimes.com) An order app (source: Internet)
Of course, the software system has to have the managing features For the cooks, they want to see the orders, inform the ready of the food, or inform the system that some food is out-of-order, etc For the vendor owners, they want to see the (online) report about their stalls, etc For the managers of the food courts, they want to see the (online) report of the whole food court, etc For the IT staffs, sometime, they want to put the system in the maintenance mode, that shutdowns all online services, etc.
Project guidelines
a Teams are formed freely by students and consist of 3-5 students.
b Each team member has to perform all works, including requirement specification, architectural design and detail design and prepare his/her individual reports and submitted them individually and separately.
c At the end of the semester, team members have to give feedback to each others and evaluation the
individual and team performance.
a Team meetings should be carried out one a week
b The first meeting should be focus on the team communication, commitment, common problems/risks
Trang 5and solving mechanisms …
c Meeting minutes are used to keep track of all works.
d The first meeting minutes should be handed to the lecturer on week 3
a There are 04 individual documents:
i #1- requirement document: Functional/Non-Functional requirement and Use-case diagram.
ii #2- requirement document: Sequence and Activity/State-chart diagrams
Trang 6iii #3-design document: Architectural design
iv #4-design document: Class and Method design, Class diagram, and a demonstration.
b All submissions are in pdf format.
c Deadlines will be announced on the course e-learning site.
Students have to submit the following contents:
- Functional requirements:
+ Use-case diagram for the whole system (group work)
+ Use-case detail/scenario for use-cases (interaction functional
requirements) that the student is in- charged/taking care of
+ Other non-interactive functional requirement (bonus)
- Non-functional requirements:
+ General non-functional requirements for the whole system (group work) + Other non-functional requirements related to the features that the student is in- charged
Students have to submit the following contents:
- Deployment view (group work)
- Development/Implementation view (individual work)
(references:
https://sites.google.com/site/softwarearchitectureinpractice/9-documenting-software-
architecture/d-allocation-views/a-deployment-view)
Trang 7MÔN CÔNG NGHỆ PHẦN MỀM – BÙI HOÀI THẮNG
Students have to submit the following contents:
- Module interface: programming interfaces used among modules
- Class diagram
- Method descriptions: for all methods in the class diagram
- Sequence diagram: at least one diagram at detail level to explain how your
system work (a sequence of interactions by calling methods)
- Activity or state-chart diagram: at detail level to explain how your system work
- (Bonus) Design pattern: show how some design patterns have been applied to your design
- A working demonstration (by a sequence/flow of screens)
II Sequence Diagram
Trang 8MÔN CÔNG NGHỆ PHẦN MỀM – BÙI HOÀI THẮNG
1 Diagram:
Figure 1 Sequence diagram
Đặt món qua mobile app
Actors Khách hàng, hệ thống mobile app, hệ thống mã khuyến mãi,
order, hệ thống thanh toán onlineDescription 1 Khách hàng chọn mục “giỏ hàng” trên hệ thống Hệ
Trang 9MÔN CÔNG NGHỆ PHẦN MỀM – BÙI HOÀI THẮNG
thống tự tính tiền và tạo order mới
2 Hệ thống hiển thị order bao gồm: mã đơn hàng, danh sách món ăn khách hàng đã đặt theo quầy ăn nào và chi tiết số tiền khách hàng phải trả
3 Khách hàng có thể xem mã khuyến mãi Hệ thống mã khuyến mãi kiểm tra xem order của khách đủ điều kiện áp dụng mã khuyến mãi nào
4 Khách hàng có thể chỉnh sửa đơn hàng và hệ thống cập nhật lại tổng tiền hiện có
Response Order được gửi đi thanh toán
III Activity diagram
Khách hàng có thể chỉnh sửa đơn hàng và hệ thống cập nhật lại tổng tiền hiện có
Trang 10MÔN CÔNG NGHỆ PHẦN MỀM – BÙI HOÀI THẮNG
o Khách hàng được tăng số lượng hoặc giảm số lượng món ăn hoặc xóa món ăn
o Khách hàng được thêm ghi chú vào từng món ăn
o Khách hàng được tùy chọn “Thêm món” và hệ thống điều hướng
về trang trước đó
o Hệ thống hiển thị các mã khuyến mãi/giảm giá hiện có của các quầy ăn mà khách hàng đã chọn theo thứ tự giảm nhiều tiền nhất trước, khách hàng chỉ được chọn 1 trong các mã giảm giá/khuyến mãi đó
Khách hàng chọn nút “Thanh toán”
Hệ thống gửi mã đơn hàng và tổng tiền cho trang thanh toán
Hệ thống điều hướng khách hàng qua trang thanh toán
IV State diagram
1 Diagram
Figure 3 State diagram
2 Tabular of State description
State Description
Hiển thị giỏ hàng Hệ thống hiển thị chi tiết giỏ hàng gồm: danh sách sản
phẩm, giá tiềnHiển thị mã
khuyến mãi Hệ thống kiểm tra các mã khuyến mãi có thể áp dụng được cho order Hệ thống hiển thị các mã khuyến mãi đóXác nhận order Hệ thống tự kiếm tra xem order mới cập nhật có hợp lệ
hay không Hệ thống xác nhận order được cập nhậtXác nhận mã
khuyến mãi Hệ thống nhận order được cập nhật, hệ thống tự kiếm tra xem order mới cập nhật có hợp lệ hay không
Trang 11MÔN CÔNG NGHỆ PHẦN MỀM – BÙI HOÀI THẮNG
3 Tabular of stimulus description
Stimulus Description
Hiển thị giỏ hàng Người dùng bấm vào giỏ hàng
Hiển thị mã khuyến
Xác nhận order Người dùng chỉnh sửa order
Xác nhận mã khuyến
V Use-case detail
Tên use case Đặt món qua Mobile application
Tạo bởi Nguyễn Lê Xuân Hòa Cập nhật lần cuối Nguyễn Lê Xuân Hòa
Ngày tạo 21/6/2020 Ngày Cập nhật 4/7/2020
9 Khách hàng thêm món ăn bằng cách nhấn vào hình giỏ hàng xuất hiện trên món ăn đó.
10 Hệ thống tự động đưa món ăn khách hàng thêm vào mục
“giỏ hàng”.
11 Khách hàng chọn mục “Giỏ hàng” trên hệ thống
12 Hệ thống hiển thị đơn hàng bao gồm: mã đơn hàng, danh sách món ăn khách hàng đã đặt theo quầy ăn nào Hệ thống hiển thị chi tiết số tiền (giá tiền từng món ăn, giá tiền ban đầu chưa phí, phí dịch vụ nếu có, phụ phí nếu là ngày lễ, số tiền được giảm giá) và tổng tiền khách hàng phải trả.
13 Khách hàng có thể chỉnh sửa đơn hàng và hệ thống cập nhật lại tổng tiền hiện có.
14 Khách hàng chọn nút “Thanh toán”.
15 Hệ thống gửi mã đơn hàng và tổng tiền cho trang thanh toán
16 Hệ thống điều hướng khách hàng qua trang thanh toán
Trang 12MÔN CÔNG NGHỆ PHẦN MỀM – BÙI HOÀI THẮNG
Alternative
Flow
1 Thêm chi tiết ở bước 1:
a Sau khi khách hàng nhấn thêm vào giỏ hàng cho món
ăn đó, thì hệ thống sẽ thay thế nút thêm vào giỏ hàng bằng nút hủy món ăn đó.
2 Thêm chi tiết ở bước 5:
b Khách hàng có thể nhấn vào món ăn để xem lại chi tiết món ăn
c Khách hàng có thể nhấn vào quầy ăn để xem bản đồ đi đến quầy ăn hoặc vị trí quầy ăn.
3 Thêm chi tiết ở bước 6:
a Với từng món ăn, khách hàng được chọn ăn tại chỗ hoặc gói mang đi.
b Khách hàng được tăng số lượng hoặc giảm số lượng món ăn hoặc xóa món ăn
c Khách hàng được thêm ghi chú vào từng món ăn.
d Khách hàng được tùy chọn “Thêm món” và hệ thống điều hướng về trang trước đó.
e Hệ thống hiển thị các mã khuyến mãi/giảm giá hiện có của các quầy ăn mà khách hàng đã chọn theo thứ tự giảm nhiều tiền nhất trước, khách hàng chỉ được chọn
1 trong các mã giảm giá/khuyến mãi đó.
Exceptions
1 Nếu đơn hàng không đủ điều kiện áp dụng mã giảm giá/khuyến mãi, hệ thống sẽ báo lỗi và buộc khách hàng chọn mã khuyến mãi khác hoặc khách hàng phải thực hiện
đủ điều kiện để áp dụng mã khuyến mãi đó.
2 Với các món ăn giới hạn số lượng, nếu khách hàng đặt quá
số lượng đó, hệ thống sẽ báo lỗi.
4 Tổng số lượng món ăn được chọn không quá 40.
Table 1: Use detail đặt món qua mobile app
5 Description
a Availability
- Trừ khi hệ thống không hoạt động, hệ thống sẽ cung cấp cho người dùng thông báo cho họ biết rằng hệ thống không có sẵn và khi nào hệ thống hoạt động trở lại
- Phiên bản mới cập nhật của app sẽ hoạt động hoàn thiện ngay cho lần
sử dụng đầu tiên trong vòng 24 giờ kể từ khi bắt đầu cài đặt
Trang 13MÔN CÔNG NGHỆ PHẦN MỀM – BÙI HOÀI THẮNG
c Reliability
- Chi phí thanh toán rõ ràng, tường minh cho khách hàng tin tưởng, nếu
có sự thay đổi hệ thống phải tính tổng tiền dưới 3 giây
- Giao diện hệ thống trực quan, dễ nhìn, thoáng mắt, tinh giản
d Usability
- Chỉ cần 10 giây khách hàng đọc xong đơn hàng và tổng tiền
- Giảm thiểu tối đa thao tác của user trên màn hình, nút thanh toán đượcfix cứng ở dưới màn hình app kèm Tổng tiền
3 Non-interactive functional requirements
- Hệ thống luôn cập nhật giá tiền khi khách hàng thay đổi số lượng món
ăn, áp dụng khuyến mãi
- Hệ thống luôn cập nhật các mã khuyến mãi mới ngay khi quán ăn vừa
up mã khuyến mãi lên
- Hệ thống tự động lưu lại đơn hàng nếu khách hàng thoát khỏi app, khách hàng nếu quay lại app sẽ tiếp tục với đơn hàng trước đó
- Hệ thống tự động kiểm tra điều kiện áp dụng mã khuyến mãi đó lên đơn hàng của khách hàng rồi mới đưa vào danh sách mã khuyến mãi
- Nếu mã khuyến mãi hết hạng, hệ thống tự động xóa mã khuyến mãi đó
Trang 14MÔN CÔNG NGHỆ PHẦN MỀM – BÙI HOÀI THẮNG
VI Deployment view (group work)
Figure 4 Deployment Diagram
Trang 15MÔN CÔNG NGHỆ PHẦN MỀM – BÙI HOÀI THẮNG
VII Component Diagram (individual work)
Figure 2 Component Diagram
VIII.
Class Diagram
Figure 5 Class Diagram
Trang 16MÔN CÔNG NGHỆ PHẦN MỀM – BÙI HOÀI THẮNG
IX Module description
Trang 17MÔN CÔNG NGHỆ PHẦN MỀM – BÙI HOÀI THẮNG
X Sequence Diagram
2 Diagram:
Figure 6 Sequence diagram
3 Description of Sequence Diagram
Trang 18MÔN CÔNG NGHỆ PHẦN MỀM – BÙI HOÀI THẮNG
Đặt món qua mobile app
Actors Khách hàng, hệ thống mobile app, hệ thống mã khuyến mãi,
order, hệ thống thanh toán onlineDescription 17.Khách hàng chọn mục “giỏ hàng” trên hệ thống Hệ
thống tự tính tiền và tạo order mới
18.Hệ thống hiển thị order bao gồm: mã đơn hàng, danh sách món ăn khách hàng đã đặt theo quầy ăn nào và chi tiết số tiền khách hàng phải trả
19.Khách hàng có thể xem mã khuyến mãi Hệ thống mã khuyến mãi kiểm tra xem order của khách đủ điều kiện áp dụng mã khuyến mãi nào
20.Khách hàng có thể chỉnh sửa đơn hàng và hệ thống cập nhật lại tổng tiền hiện có
Response Order được gửi đi thanh toán
Trang 19MÔN CÔNG NGHỆ PHẦN MỀM – BÙI HOÀI THẮNG
XI Activity diagram
Khách hàng có thể chỉnh sửa đơn hàng và hệ thống cập nhật lại tổng tiền hiện có
o Khách hàng được tăng số lượng hoặc giảm số lượng món ăn hoặc xóa món ăn
o Khách hàng được thêm ghi chú vào từng món ăn
o Khách hàng được tùy chọn “Thêm món” và hệ thống điều hướng
về trang trước đó
o Hệ thống hiển thị các mã khuyến mãi/giảm giá hiện có của các quầy ăn mà khách hàng đã chọn theo thứ tự giảm nhiều tiền nhất trước, khách hàng chỉ được chọn 1 trong các mã giảm giá/khuyến mãi đó
Khách hàng chọn nút “Thanh toán”
Hệ thống gửi mã đơn hàng và tổng tiền cho trang thanh toán
Hệ thống điều hướng khách hàng qua trang thanh toán
Trang 20MÔN CÔNG NGHỆ PHẦN MỀM – BÙI HOÀI THẮNG
XII State diagram
4 Diagram
Figure 8 State diagram
5 Tabular of State description
State Description
Hiển thị giỏ hàng Hệ thống hiển thị chi tiết giỏ hàng gồm: danh sách sản
phẩm, giá tiềnHiển thị mã
khuyến mãi Hệ thống kiểm tra các mã khuyến mãi có thể áp dụng được cho order Hệ thống hiển thị các mã khuyến mãi đóXác nhận order Hệ thống tự kiếm tra xem order mới cập nhật có hợp lệ
hay không Hệ thống xác nhận order được cập nhậtXác nhận mã
khuyến mãi Hệ thống nhận order được cập nhật, hệ thống tự kiếm tra xem order mới cập nhật có hợp lệ hay không
6 Tabular of stimulus description
Stimulus Description
Hiển thị giỏ hàng Người dùng bấm vào giỏ hàng
Hiển thị mã khuyến
Xác nhận order Người dùng chỉnh sửa order
Xác nhận mã khuyến
Trang 21MÔN CÔNG NGHỆ PHẦN MỀM – BÙI HOÀI THẮNG
I Deployment view (group work)
Figure 9 Deployment Diagram
Trang 22MÔN CÔNG NGHỆ PHẦN MỀM – BÙI HOÀI THẮNG
II Component Diagram (individual work)
Figure 2 Component Diagram
III.