Thiết kế dữ liệu
Mô hình cơ sở dữ liệu
Hình 3.18: Mô hình cơ sở dữ liệu
Mô tả cơ sở dữ liệu
Giao diện web
Hình 3.19: Giao diện trang chủ
Bảng 3.42: Bảng xử lý giao diện trang chủ
STT Tên Xử Lý Điều kiện gọi thực hiện Ghi chú
1 Danh sách các nhóm Click chọn vào Combobox Chỉ hiển thị các theo thể loại
2 Search sách của khách hàng
3 Button hiển thị form Click chọn button “Đăng ký” đăng ký
4 Button hiển thị form Click chọn button “Đăng đăng nhập
5 Xem thông tin cuốn sách tương ứng
6 Xem thêm những cuốn sách khác
7 Xem thông tin khuyến Click chọn vào hình ảnh mãi và danh sách khuyến mãi những cuốn sách nằm trong khuyến mãi
Bảng 3.43: Xử lý giao diện đăng ký
3 Nhập lại mật khẩu của Nhập vào trường “Nhập lại bạn
4 Nhập vào email của bạn
5 Thực hiện việc đăng ký tài khoản
6 Button đóng form đăng ký
Ghi chú Thông tin nhập vào phải là email
Mậtkhẩu lớn hơn 6 ký tự
3.4.3.4 Giao diện trang chủ User
Hình 3.22: Giao diện trang chủ User Bảng 3.45: Xử lý giao diện trang chủ User
1 Giỏ hàng của khách hàng
2 Thông tin cá nhân và logout
Hình 3.23: Giao diện Tim kiếm Bảng 3.46: Xử lý giao diện tìm kiếm
1 Lọc theo tác giả, nhà cung cấp và nhà xuất bản tương ứng
2 Xem thông tin cuốn sách tương ứng Điều kiện gọi thực hiện Ghi chú Click chọn checkbox để thực hiện việc filter
Click chọn vào hình ảnh tương ứng với cuốn sách muốn xem chi tiết
3.4.3.6 Giao diện thông tin cá nhân
Hình 3.24: Giao diện thông tin cá nhân Bảng 3.47: Xử lý giao diện thông tin cá nhân
1 Đến trang thông tin cá nhân
2 Đến trang quản lý thông tin cá nhân
3 Đến trang quản lý hóa đơn
4 Đăng xuất khỏi hệ thống Điều kiện gọi thực hiện Ghi chú Click chọn dòng “Thông tin” ở menu trái
Click chọn dòng “Quản lý thông tin” ở menu trái
Click chọn dòng “Quản lý hóa đơn” ở menu trái
Click chọn dòng “Đăng xuất” ở menu trái
3.4.3.7 Giao diện chi tiết sách
Hình 3.25: Giao diện chi tiết sách Bảng 3.48: Xử lý quản lý chi tiết sách
STT Tên Xử Lý Điều kiện gọi thực hiện Ghi chú
1 Hiên thị file đọc thử Click vào text “ĐỌC
2 Tăng số lượng muôn Click “-” để giảm or “+” để Số lượng > 0 mua cho cuốn sách
3 Button Thêm sách vào giỏ hàng
4 Tab giới thiệu cuốn Click tên Tab có text “GIỚI sách
5 Tab thông tin chi tiết của sách
6 Tab thông tin khách hàng nhận xét về cuốn sách
Hình 3.26: Giao diện giỏ hàng Bảng 3.49: Xử lý giao diện giỏ hàng
Xóa cuốn sách ra khỏi giỏ hàng Điều kiện gọi thực hiện Click vào button có hình biểu tượng xóa thương ứng với dòng sản phẩm muốn xóa
2 Quay về trang chủ để Click button “Tiếp tục mua tiếp tục mua hàng
3 Thực hiện việc đặt mua sách
4 Điều chỉnh lại số lượng sách
3.4.3.9 Giao diện trang chủ Admin
Hình 3.27: Giao diện trang chủ Admin Bảng 3.50: Bảng xử lý giao diện trang chủ admin
2 Vào trang quản lý tác giả
3 Vào trang quản lý tình Click vào mục “Tình trạng trạng đơn hàng đơn hàng”
4 Vào trang quản lý Click vào mục “Thanh toán” phương thức thanh toán
5 Vào trang quản lý nhà Click vào mục “Nhà cung cung cấp
6 Vào trang quản lý sách
7 Vào trang quản lý hóa đơn
8 Vào trang quản lý tài khoản
9 Vào trang quản lý khuyến mãi
3.4.3.10 Giao diện Quản lý tác giả
Hình 3.28: Giao diện quản lý tác giả Bảng 3.51: Bảng xử lý giao diện quản lý tác giả
2 Chỉnh sửa tên tác giả trên dòng tương ứng
3 Xóa tác giả trên dòng tương ứng Điều kiện gọi thực hiện Ghi chú Click chọn button ”Thêm tác giả”
Click chọn button có icon edit
Click chọn button có icon delete
3.4.3.11 Giao diện chỉnh sửa tên tác giả
Hình 3.29: Giao diện chỉnh sửa tác giả Bảng 3.52: Bảng xử lý giao diện chỉnh sửa tác giả
3 Điều kiện gọi thực hiện Ghi chú Click vào input “Tên tác giả” và nhập thông tin Click button “Save”
3.4.3.12 Giao diện thêm tác giả
Hình 3.30: Giao diện thêm tác giả Bảng 3.53: Bảng xử lý giao diện thêm tác giả
STT Tên Xử Lý Điều kiện gọi thực hiện Ghi chú
1 Điền thông tin tác giả Click vào input “Tên tác giả” cần thêm
2 Thực hiện thêm tác giả
3 Hủy việc thêm tác giả
3.4.3.13 Giao diện xóa tác giả
1 Hủy việc xóa tác giả
2 Xóa tác giả có tên tương ứng
3.4.3.14 Giao diện quản lý Sách
Bảng 3.55: Bảng xử lý giao diện quản lý sách
2 Xem thông tin chi tiết của cuốn sách
3 Chuyển trang chỉnh sửa thông tin sách
4 Thực hiện việc xóa cuốn trên dòng tương ứng
3.4.3.15 Giao diện chỉnh sửa thông tin Sách
Hình 3.33: Giao diện chỉnh sửa thông tin sách Bảng 3.56: Bảng xử lý giao diện chỉnh sửa sách
2 Upload file đọc thử sách
3 Thực hiện thêm sách mới
3.4.3.16 Giao diện quản lý tài khoản
Bảng 3.57: Bảng xử lý giao diện quản lý tài khoản
1 Thực hiện thêm tài khoản mới
2 Thay đổi quyền của tài khoản tương ứng
3 Thực hiện chỉnh sửa thông tin tài khoản
4 Thực hiện việc xóa tài khoản
Bảng 3.58: Bảng xử lý giao diện thêm mới tài khoản
1 Thực hiện thêm tài khoản mới
2 Hủy việc thêm tài khoản
CRE_01 Kiểm tra đọc thử từng cuốn sách
CPU-02 Kiểm phẩm trong giỏ hàng
CCT-02 Kiểm tra xóa sản phẩm hàng
CUS-01 Kiểm tác quản lý user chỉ khi dùng là admin
CDBO-01 Kiểm một cuốn sách
CCRO-01 Kiểm đổi quyền các user
1 Những kết quả đạt được
- Hiểu rõ kiến thức về Spring Framework: Spring MVC, Spring Security.
- Hiểu rõ kiến thức về kiến trúc Restful API.
- Xây dựng thành công một website bán sách online với việc áp dụng những kiến thức đã tìm hiểu.
2 Những khó khăn gặp phải
Bảng 4.1: Khó khăn công nghệ trong dự án
STT Rủi ro, khó khăn
1 Install Spring Tool trên Eclipse dẫn đến Eclipse khá nặng và chạy chậm
2 Sử dụng Spring Security để xử lý đăng nhập gây ra rất nhiều lỗi
Cách khắc phục Sử dụng STS (Spring Tool Suite) – là Eclipse được tích hợp Spring Tool, chuyên dùng cho các dự án Spring
Do yếu tố config của spring security có nhiều cách config khác nhau nên cần phải tìm hiểu kỹ để tránh việc phát sinh lỗi.
Bảng 4.2: Khó khăn con người trong dự án
STT Rủi ro, khó khăn
1 Bất đồng trong một số quan điểm
2 Mỗi người mỗi cách code
3 Một số vấn đề phức tạp còn phân Nhóm trước khi làm bầu ra một nhóm vân trưởng, nhóm trưởng sẽ đưa ra quyết định cuối cùng
Bảng 3: Khó khăn trong quy trình nghiệp vụ của dự án
STT Rủi ro, khó khăn
1 Một số lỗi khó phát sinh trong quá trình code
2 Chức năng được mở rộng
3 Các công việc bị chậm tiến độ
Trong quá trình phát triển phần mềm, việc sử dụng 4 phiên bản mã nguồn khác nhau giúp tránh xung đột mã Tuy nhiên, nhóm cũng gặp khó khăn trong việc tìm kiếm tài liệu phù hợp cho bài tiểu luận chuyên ngành, do có quá nhiều thông tin trên mạng Điều quan trọng là phải biết cách chọn lọc và tìm kiếm tài liệu chính xác để đáp ứng yêu cầu của đề tài.
- Giao diện dễ nhìn, thân thiện với mọi người, giúp mọi người dễ sử dụng.
- Độ bảo mật được đảm bảo vì đã mã hóa password khi đăng nhập.
- Project thực tế với mong muốn giúp cho mọi người đỡ tốn một khoảng thời gian nhất định trong việc mua sách.
- Thuật toán chưa tối ưu hóa
- Các file hình ảnh được lưu trên server hơi tốn bộ nhớ của server
5 Những kinh nghiệm được rút ra
Mỗi dự án luôn tồn tại những rủi ro, khó khăn mà nhóm không thể lường hết được
Nhưng sau mỗi dự án thì nhóm cũng rút được một số kinh nghiệm cho bản thân:
- Kỹ năng mềm (kỹ năng làm việc nhóm, kỹ năng giải quyết vấn đề, kỹ năng đưa ra ý kiến hay quyết định, ) là rất quan trọng.
- Việc tuân theo quy trình là tốt nhưng cũng phải linh động trong một số trường hợp
- Sử dụng các công cụ làm việc nhóm, quản lý project giúp tiết kiệm nhiều thời gian cho việc làm nhóm.
- Test và hoàn thành mỗi chức năng trước khi qua các chức năng khác giúp giảm thiểu thời gian test về sau.
Mỗi cá nhân cần có trách nhiệm với nhóm và dự án, chủ động hoàn thành công việc của mình, đồng thời hỗ trợ các thành viên khác để đảm bảo sản phẩm đạt chất lượng cao và hoàn thành đúng hạn.
Để đóng góp hiệu quả vào đồ án nhóm, mỗi thành viên cần biết cách sắp xếp thời gian cho từng môn học và xác định rõ trách nhiệm của mình trong từng môn.
- Phải biết hi sinh vì nhóm, luôn luôn đặt lợi ích của nhóm lên hàng đầu.
- Phải biết kiên nhẫn với những thành viên nhóm, đây là một thái độ rất quan trọng cho sự thành công của project.
6 Hướng phát triển trong tương lai:
Mặc dù vẫn còn một số hạn chế, nhưng với sự quyết tâm của đội ngũ, website sẽ được cải thiện và nâng cấp liên tục để hướng tới sự hoàn thiện hơn.
- Có thể thêm một số danh mục khác để đa dạng hàng hóa hơn :Dụng cụ học tập,
- Nếu có thể sẽ thêm một số phương thức thanh toán cho người dùng khi đặt hàng tại trang web.
- Nhóm sẽ tìm hiểu và đưa các file API lên S3 của AWS để tối ưu hóa dung lượng lưu trữ cho server.
- Cải tiến code để nó tối ưu hóa một cách tốt nhất cũng như giao diện bắt mắt đẹp hơn thu hút người truy cập.
[1] https://coffeeprogrammingblog.wordpress.com/2016/11/26/gioi-thieu-ve-ejb-trong-java/
[2] http://paginaswebpublicidad.com/questions/19324/aopalliance-la-gi-va-tai-sao-guice-su-dung-no
[3] https://lttqstudy.wordpress.com/2011/08/25/mo-hinh-or-mapping/
[4] https://text.relipasoft.com/2017/05/co-ban-ve-rest-va-restful-api/? fbclid=IwAR2GU1jNEBuVFtAxQLf8i9aWPR_tmLH3AMxRkqLw9yb_DFCTPVqhzuwZVN4
[5] https://viblo.asia/p/web-service-ban-se-chon-rest-hay-soap-ByEZkWyAZQ0? fbclid=IwAR2oo6_yuTfc00uBna-vX7M1uEFgsBGTLrROwmwRH1RFX4m9- abgXl6xH2k
[6] https://text.relipasoft.com/2017/05/co-ban-ve-rest-va-restful-api/? fbclid=IwAR2Y8Ta9N8a07c4HZf6Ngm1tahbSceYyQ0QoMZyQre_DrxIJZnJ1GYejIGs
[7] https://viblo.asia/p/tan-man-ve-api-design-p1PvQ3lyMldr? fbclid=IwAR3lz0WJkgq8kJsbH1jDTLTbt7rU932ch932Nh8I6PAFZcg2PU9DWlmH EpY
[8] https://www.baeldung.com/security-spring? fbclid=IwAR1uO2n1rMnuSylUqVP3bfQXO0U9Lbce_mqZ_jV1-ja4_33gOKUJbRqBfYA
[9] https://www.concretepage.com/spring-4/spring-4-mvc-jsonp-example-with-rest-responsebody- responseentity?fbclid=IwAR2WsWc932qYl1xTMoRzZa5LDXSgDG6eOhawP3GRn0COl9yf0d54IY 09wOo