Youtube.com/PoppinKhiem - Sân chơi giới trẻ PTIT
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
BÀI TẬP LỚN
MÔN: PHÁT TRIỂN PHẦN MỀM HƯỚNG DỊCH VỤ
I.
II. Giới thiệu bài toán
III. Giới thiệu dịch vụ sử dụng/ hoặc tự dây dựng
Website bán sách Book Store sử dụng : Java Servlet .java; Java JSP .java; Jdbc .java;
MySQL
Các phương thức:
getAll():List : Lấy tất cả đối tượng T trong database
getOption(key:int):T : Lấy đối tượng T có ID là key
save(t:T):vo
16 trang |
Chia sẻ: huong20 | Ngày: 07/01/2022 | Lượt xem: 820 | Lượt tải: 0
Tóm tắt tài liệu Bài tập lớn môn: Phát triển phần mềm hướng dịch vụ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
id : Lưu đối tượng T vào database
update(t:T):void : Cập nhật đối tượng T vào database
delete(t:T):void : Xoá đối tượng T khỏ database
getItemByName(String s): Item : Tìm kiếm đối tượng trong database theo tên
Phục vụ các chức năng thêm sửa xoá Sách, Giỏ hàng, Đơn hàng và thống kê
Hoá đơn
IV. Phân tích thiết kế hệ thống hướng đối tượng
1. Biểu Use Case
Youtube.com/PoppinKhiem - Sân chơi giới trẻ PTIT
Mô tả:
Đăng ký: UC này cho phép khách hàng đăng ký tài khoản cá nhân
Đăng nhập: UC này cho phép khách hàng và nhân viên đăng nhập vào hệ thống
Xem sách: UC này cho phép khách hàng xem thông tin các quyển sách có bán
tại hệ thống
Thêm sách vào giỏ hàng: UC này cho phép khách hàng thêm sách vào giỏ hàng
Tạo Order: UC này cho phép khách hàng đặt hàng từ giỏ hàng
Tìm sách: UC này cho phép khách hàng và nhân viên tìm kiếm sách theo tên
Quản lý sách: UC này cho phép nhân viên quản lý sách gồm thêm sửa xoá
Quản lý Order: UC này cho phép nhân viên quản lý Order, kiểm tra trạng thái
Order
2. Biểu đồ lớp
Youtube.com/PoppinKhiem - Sân chơi giới trẻ PTIT
3. Biểu đồ hoạt động
Khách hàng:
Youtube.com/PoppinKhiem - Sân chơi giới trẻ PTIT
Nhân viên:
Youtube.com/PoppinKhiem - Sân chơi giới trẻ PTIT
4. Biểu đồ CSDL
Youtube.com/PoppinKhiem - Sân chơi giới trẻ PTIT
5. Biểu đồ lớp DAO
6. Biểu đồ gói
Youtube.com/PoppinKhiem - Sân chơi giới trẻ PTIT
7. Biểu đồ tuần tự
Kịch bản v3 cho khách hàng xem sách, thêm giỏ hàng và tạo Order:
1. Sau khi đăng nhập, khách hàng chọn xem sách
2. Lớp LoginCustomer.jsp gọi lớp Item.jsp để hiển thị
3. Lớp Item.jsp gọi lớp ItemDAO để lấy danh sách Item
4. Lớp ItemDAO gọi hàm getAll()
5. Hàm getAll() gọi lớp Item để đóng gói dữ liệu
6. Lớp Item đóng gói dữ liệu
7. Lớp Item trả kết quả cho hàm getAll()
8. Hàm getAll() trả kết quả cho lớp Item.jsp
9. Lớp Item.jsp hiển thị danh sách thông tin sách cho khách hàng
10. Khách hàng chọn thêm 1 quyển sách vào giỏ hàng
11. Lớp Item.jsp gọi lớp Cart.jsp
12. Lớp Cart.jsp gọi lớp CartDAO để lưu Item vào giỏ hàng
13. Lớp CartDAO gọi hàm save()
14. Hàm save() gọi lớp Cart để đóng gói thông tin
15. Lớp Cart đóng gói thông tin
16. Lớp Cart trả kết quả cho lớp CartDAO
17. Lớp CartDAO trả kết quả cho lớp Cart.jsp
18. Lớp Cart.jsp thông báo cho khách hàng đã thêm thành công
19. Khách hàng chọn tạo Order
20. Lớp Cart.jsp gọi lớp MakeOrder.jsp
21. Lớp MakeOrder.jsp gọi lớp getShippingAddress.jsp
22. Lớp getShippingAddress.jsp gọi lớp PersonDAO
23. Lớp PersonDAO gọi hàm getAddress()
24. Hàm getAddress() gọi lớp Person
25. Lớp Person đóng gói thông tin
26. Lớp Person trả kết quả cho lớp PersonDAO
27. Lớp PersonDAO trả kết quả cho lớp getShippingAddress.jsp
28. Lớp getShippingAddress.jsp trả kết quả cho lớp MakeOrder.jsp
Youtube.com/PoppinKhiem - Sân chơi giới trẻ PTIT
29. Lớp MakeOrder.jsp gọi lớp Payment.jsp
30. Lớp Payment.jsp gọi lớp PersonDAO
31. Lớp PersonDAO gọi hàm getPayment()
32. Hàm getPayment() gọi lớp Person
33. Lớp Person đóng gói thông tin
34. Lớp Person trả kết quả cho lớp PersonDAO
35. Lớp PersonDAO trả kết quả cho lớp Payment.jsp
36. Lớp Payment.jsp trả kết quả cho lớp MakeOrder.jsp
37. Lớp MakeOrder.jsp hiển thị thông tin đơn hàng cho khách hàng
38. Khách hàng chọn thanh toán
39. Lớp MakeOrder.jsp gọi lớp OrderDAO
40. Lớp OrderDAO gọi hàm save()
41. Hàm save() gọi lớp Order
42. Lớp Order đóng gói thông tin
43. Lớp Order trả kết quả cho lớp OrderDAO
44. Lớp OrderDAO trả kết quả cho lớp MakeOrder.jsp
45. Lớp MakeOrder.jsp thông báo cho khách hàng tạo đơn hàng thành công
Youtube.com/PoppinKhiem - Sân chơi giới trẻ PTIT
Kịch bản v3 cho nhân viên thêm sách, quản lý Order:
1. Sau khi đăng nhập, nhân viên chọn thêm sách
2. Lớp LoginEmployee.jsp gọi lớp AddItem.jsp
3. Lớp AddItem.jsp hiển thị
4. Nhân viên điền thông tin sách, chọn Thêm
5. Lớp AddItem.jsp gọi lớp ItemDAO
6. Lớp ItemDAO gọi hàm save()
7. Hàm save() gọi lớp Item
8. Lớp Item đóng gói thông tin
9. Lớp Item trả kết quả cho lớp ItemDAO
10. Lớp ItemDAO trả kết quả cho lớp AddItem.jsp
11. Lớp AddItem.jsp thông báo thêm sách thành công
Youtube.com/PoppinKhiem - Sân chơi giới trẻ PTIT
12. Nhân viên chọn quay lại
13. Lớp AddItem.jsp gọi lớp LoginEmployee.jsp
14. Lớp LoginEmployee.jsp hiển thị
15. Nhân viên chọn quản lý Order
16. Lớp LoginEmployee.jsp gọi lớp ProcessOrder.jsp
17. Lớp ProcessOrder.jsp hiển thị
18. Nhân viên nhập Id, chọn Tìm
19. Lớp ProcessOrder.jsp gọi lớp OrderDAO
20. Lớp OrderDAo gọi hàm getOrder()
21. Hàm getOrder() gọi lớp Order
22. Lớp Order đóng gói thông tin
23. Lớp Order trả kết quả cho lớp OrderDAO
24. Lớp OrderDAO trả kết quả cho lớp ProcessOrder.jsp
25. Lớp ProcessOrder.jsp hiển thị cho nhân viên
26. Nhân viên chọn trạng thái Order, chọn Update
27. Lớp ProcessOrder.jsp gọi lớp OrderDAO
28. Lớp OrderDAO gọi hàm save()
29. Hàm save() gọi lớp Order
30. Lớp Order đóng gói thông tin
31. Lớp Order trả kết quả cho lớp OrderDAO
32. Lớp OrderDAO trả kết quả cho lớp ProcessOrder.jsp
33. Lớp ProcessOrder.jsp thông báo cho nhân viên
Youtube.com/PoppinKhiem - Sân chơi giới trẻ PTIT
V. Cài đặt
1. Các lớp Entities chính:
Account.java.java; Address.java; FullName.java; Person.java; Payment.java;
Item.java; Book.java; Cart.java; Order, Bill.java; Category.java; Author.java;
Shipment
2. Các lớp DAO:
DAO.java; BaseDAO.java; PersonDAO.java; BookDAO.java; ItemDAO.java;
CartDAO.java; OrderDAO.java; CategoryDAO.java; AuthorDAO.java;
BillDAO
3. Các lớp View:
Index.jsp; stafflogin.jsp; login.jsp; logout.jsp; register.jsp; bookstore.jsp;
cart.jsp; items.jsp; getShippingAddress.jsp; payment.jsp; onlineorder.jsp;
shipping.jsp; processorder.jsp; result.jsp
Youtube.com/PoppinKhiem - Sân chơi giới trẻ PTIT
4. Các lớp Servlet:
LoginServlet.java; RegisterServler.java; ImageServlet.java; CartServlet.java;
MakeOrderServlet.java; onlineOrderServlet.java; ShippingAddressServlet.java
5. Chạy demo
Giao diện chính
Giao diện đăng ký
Youtube.com/PoppinKhiem - Sân chơi giới trẻ PTIT
Sau khi đăng nhập với vai trò khách hàng
Chọn xem tất cả sách
Thêm vào giỏ hàng thành công
Youtube.com/PoppinKhiem - Sân chơi giới trẻ PTIT
Xem giỏ hàng
Chọn Make Order để thanh toán
Chọn phương thức thanh toán
Youtube.com/PoppinKhiem - Sân chơi giới trẻ PTIT
Thanh toán thành công
Giao diện chính của nhân viên bán hàng
Tìm Order qua id
Youtube.com/PoppinKhiem - Sân chơi giới trẻ PTIT
Xác minh Order
VI. Kết luận
Do còn nhiều hạn chế về thời gian cũng như trình độ kiến thức, sản phẩm mà nhóm
em xây dựng còn rất sơ sài. Tổng quan hệ thống chưa đầy đủ các chức năng cần thiết, chỉ
gồm các chức năng xem danh sách các cuốn sách trong database, thêm sách vào giỏ hàng,
xem giỏ hàng và tạo Order. Đối với nhân viên, chỉ có chức năng xác minh các Order của
khách thông qua ID, chưa có chức năng thêm sách mà cần phải thêm trực tiếp từ database,
chưa có chức năng xem thống kê.
VII. Tài liệu tham khảo
1. https://www.tutorialspoint.com/servlets/servlets-server-response.htm
2. https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-usagenotes-
connect-drivermanager.html
3. https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-usagenotes-
statements.html
4. https://openplanning.net/10979/servlet-jsp
Các file đính kèm theo tài liệu này:
- bai_tap_lon_mon_phat_trien_phan_mem_huong_dich_vu.pdf