đểxây dựng giao diện người dùng. Kết nối ứng dụng desktop với cơ sở dữ liệu thông qua JDBC. Đồng bộ hóa dữ liệu giữa ứng dụng web và ứng dụng desktop.Quản lý phiên session và bảo mật:
CƠ SỞ LÝ THUYẾT
CƠ SỞ LÝ THUYẾT
Kiến trúc ứng dụng web:
Mô hình Servlet-JSP: Servlet xử lý logic nghiệp vụ, JSP quản lý giao diện người dùng.
Sử dụng JDBC để kết nối và tương tác với cơ sở dữ liệu.
Mô hình MVC (Model-View-Controller):
Model: Các đối tượng Java (JavaBeans) để biểu diễn dữ liệu và logic nghiệp vụ.
View: Các trang JSP để hiển thị giao diện người dùng.
Controller: Các Servlet để xử lý yêu cầu từ người dùng và điều phối View và Model. Ứng dụng desktop với Java Swing:
Sử dụng các thành phần Swing như JFrame, JPanel, JButton, JTable, etc để xây dựng giao diện người dùng.
Kết nối ứng dụng desktop với cơ sở dữ liệu thông qua JDBC.
Đồng bộ hóa dữ liệu giữa ứng dụng web và ứng dụng desktop.
Quản lý phiên (session) và bảo mật:
Sử dụng HttpSession trong Servlet để quản lý phiên của người dùng.
Triển khai các tính năng xác thực, ủy quyền và bảo mật dữ liệu.
Thiết kế cơ sở dữ liệu:
Xác định các đối tượng (entities) như sản phẩm, khách hàng, đơn hàng, etc.
Định nghĩa các mối quan hệ giữa các đối tượng.
Sử dụng các nguyên tắc thiết kế cơ sở dữ liệu như chuẩn hóa, tối ưu hóa truy vấn, etc.
Triển khai và bảo trì hệ thống:
Sử dụng các công cụ và kỹ thuật triển khai ứng dụng web và desktop.
Thiết lập cấu hình, theo dõi và bảo trì hệ thống trong môi trường production.
Thiết kế kiến trúc hệ thống tích hợp:
Cách thức kết nối ứng dụng web/desktop với các API bên ngoài.
Xử lý các lỗi, ngoại lệ và tính toàn vẹn của dữ liệu khi tích hợp.
Thiết kế các quy trình nghiệp vụ hỗn hợp (web + thanh toán + SMS).
PHÁT BIỂU BÀI TOÁN
Xây dựng một hệ thống cửa hàng bán điện thoại với hai giao diện: trực tuyến (web) và ngoại tuyến (desktop), có các chức năng sau:
Thêm, sửa, xóa thông tin sản phẩm (điện thoại).
Hiển thị danh sách sản phẩm, chi tiết sản phẩm.
Tìm kiếm và lọc sản phẩm theo các tiêu chí (thương hiệu, giá, etc.).
Lưu trữ thông tin cá nhân và lịch sử mua hàng của khách hàng.
Gửi tin nhắn xác nhận đơn hàng và các thông báo khác cho khách hàng.
Thêm, sửa, xóa đơn hàng.
Theo dõi trạng thái đơn hàng (chờ xử lý, đang giao hàng, đã giao, etc.).
Tính toán và áp dụng các chính sách giảm giá, khuyến mãi.
Thanh toán đơn hàng trực tuyến (sử dụng VNPay) và ngoại tuyến (tiền mặt). Đồng bộ hóa dữ liệu giữa ứng dụng web và desktop:
Đảm bảo dữ liệu sản phẩm, đơn hàng, khách hàng được cập nhật đồng thời trên cả hai giao diện.
Xử lý các vấn đề về tính nhất quán và toàn vẹn dữ liệu.
Quản lý người dùng và phân quyền:
Các vai trò người dùng (nhân viên bán hàng, quản lý cửa hàng).
Triển khai các tính năng xác thực, ủy quyền và bảo mật dữ liệu.
Hiển thị danh sách sản phẩm, chi tiết sản phẩm trên web.
Cho phép khách hàng thêm sản phẩm vào giỏ hàng và thanh toán trực tuyến.
Cập nhật số lượng sản phẩm trong kho sau mỗi đơn hàng.
Quản lý đơn nhập kho:
Thêm, sửa, xóa thông tin đơn nhập hàng.
Cập nhật số lượng sản phẩm trong kho.
Theo dõi lịch sử nhập kho.
Mục tiêu của bài toán là xây dựng một hệ thống cửa hàng bán điện thoại đáp ứng các yêu cầu về quản lý sản phẩm, khách hàng, đơn hàng, thanh toán và tính năng ngoại tuyến, đồng thời đảm bảo tính bảo mật, an toàn và khả năng mở rộng của hệ thống.
KẾT CHƯƠNG
Trong quá trình thực hiện dự án, chúng ta đã xây dựng một hệ thống cửa hàng bán điện thoại với hai giao diện: trực tuyến (web) và ngoại tuyến (desktop) Hệ thống này đáp ứng các yêu cầu chính sau:
Quản lý sản phẩm: Cho phép người dùng thêm, sửa, xóa thông tin sản phẩm (điện thoại), hiển thị danh sách và chi tiết sản phẩm, tìm kiếm và lọc sản phẩm theo các tiêu chí.
Quản lý đơn nhập kho: Quản lý các đơn nhập hàng, cập nhật số lượng sản phẩm trong kho, theo dõi lịch sử nhập kho.
Quản lý khách hàng: Cho phép khách hàng đăng ký, đăng nhập, lưu trữ thông tin cá nhân và lịch sử mua hàng, gửi tin nhắn xác nhận đơn hàng và các thông báo khác.
Quản lý đơn hàng: Thêm, sửa, xóa đơn hàng, theo dõi trạng thái đơn hàng, tính toán và áp dụng các chính sách giảm giá, khuyến mãi, thanh toán trực tuyến và ngoại tuyến.
Bán hàng trực tuyến: Hiển thị danh sách và chi tiết sản phẩm trên web, cho phép khách hàng thêm sản phẩm vào giỏ hàng và thanh toán trực tuyến, cập nhật số lượng sản phẩm trong kho sau mỗi đơn hàng. Đồng bộ hóa dữ liệu giữa ứng dụng web và desktop: Đảm bảo dữ liệu sản phẩm, đơn hàng, khách hàng được cập nhật đồng thời trên cả hai giao diện, xử lý các vấn đề về tính nhất quán và toàn vẹn dữ liệu.
Quản lý người dùng và phân quyền: Triển khai các vai trò người dùng (khách hàng, nhân viên bán hàng, quản lý cửa hàng), xác thực, ủy quyền và bảo mật dữ liệu.
Hệ thống được xây dựng dựa trên các kiến trúc và công nghệ Java web (Servlet, JSP) và Java desktop (Swing), kết hợp với các API bên ngoài như VNPay (thanh toán) và Twilio (SMS, voice) Điều này giúp hệ thống đáp ứng các yêu cầu về tính năng, bảo mật và khả năng mở rộng.
Trong quá trình phát triển, các thách thức chính bao gồm: đồng bộ hóa dữ liệu giữa web và desktop, tích hợp các API bên ngoài, đảm bảo tính toàn vẹn và an toàn của dữ liệu, tuân thủ các tiêu chuẩn bảo mật Tuy nhiên, với sự nỗ lực của team,chúng tôi đã vượt qua các thách thức này và hoàn thành dự án như mong đợi.
Với những tính năng và khả năng đã xây dựng, hệ thống cửa hàng bán điện thoại trực tuyến và ngoại tuyến sẽ giúp cửa hàng quản lý hoạt động kinh doanh một cách hiệu quả, nâng cao trải nghiệm mua sắm của khách hàng và tăng cường khả năng cạnh tranh trên thị trường.
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
PHÁT BIỂU BÀI TOÁN
Bài toán là xây dựng một hệ thống cửa hàng bán điện thoại với hai giao diện: trực tuyến (web) và ngoại tuyến (desktop), có các chức năng sau:
Xây dựng một hệ thống cửa hàng bán điện thoại với hai giao diện: trực tuyến (web) và ngoại tuyến (desktop), có các chức năng sau:
Thêm, sửa, xóa thông tin sản phẩm (điện thoại).
Hiển thị danh sách sản phẩm, chi tiết sản phẩm.
Tìm kiếm và lọc sản phẩm theo các tiêu chí (thương hiệu, giá, etc.).
Lưu trữ thông tin cá nhân và lịch sử mua hàng của khách hàng.
Gửi tin nhắn xác nhận đơn hàng và các thông báo khác cho khách hàng.
Thêm, sửa, xóa đơn hàng.
Theo dõi trạng thái đơn hàng (chờ xử lý, đang giao hàng, đã giao, etc.).
Tính toán và áp dụng các chính sách giảm giá, khuyến mãi.
Thanh toán đơn hàng trực tuyến (sử dụng VNPay) và ngoại tuyến (tiền mặt). Đồng bộ hóa dữ liệu giữa ứng dụng web và desktop:
Đảm bảo dữ liệu sản phẩm, đơn hàng, khách hàng được cập nhật đồng thời trên cả hai giao diện.
Xử lý các vấn đề về tính nhất quán và toàn vẹn dữ liệu.
Quản lý người dùng và phân quyền:
Các vai trò người dùng (nhân viên bán hàng, quản lý cửa hàng).
Triển khai các tính năng xác thực, ủy quyền và bảo mật dữ liệu.
Hiển thị danh sách sản phẩm, chi tiết sản phẩm trên web.
Cho phép khách hàng thêm sản phẩm vào giỏ hàng và thanh toán trực tuyến.
Cập nhật số lượng sản phẩm trong kho sau mỗi đơn hàng.
Quản lý đơn nhập kho:
Thêm, sửa, xóa thông tin đơn nhập hàng.
Cập nhật số lượng sản phẩm trong kho.
Theo dõi lịch sử nhập kho.
Mục tiêu của bài toán là xây dựng một hệ thống cửa hàng bán điện thoại đáp ứng các yêu cầu về quản lý sản phẩm, đơn nhập kho, khách hàng, đơn hàng, thanh toán,bán hàng trực tuyến và tính năng ngoại tuyến, đồng thời đảm bảo tính bảo mật, an toàn và khả năng mở rộng của hệ thống.
PHÂN TÍCH HIỆN TRẠNG
Hoàng làm , thêm 1 số hình ảnh minh chứng
PHÂN TÍCH CHỨC NĂNG
2.3.1 Các đối tượng sử dụng
Tác nhân Mô tả tác nhân Ghi chú
Khách hàng Khách hàng có vai trò là người dùng khi chưa đăng nhập vào hệ thống.
Nhân viên Nhân viên có vai trò là người dùng khi đăng nhập vào hệ thống với các chức năng dành riêng cho nhân viên.
Quản trị viên Quản trị viên có vai trò quản trị hoạt động của hệ thống.
Table 1:Các đối tượng sử dụng
2.3.2 Các chức năng của hệ thống
Đăng nhập: Chức năng này nhằm mục đích xác thực người dùng khi tương tác với hệ thống nhằm cung cấp quyền cũng như phạm vi truy cập hệ thống.
Đăng ký: Để truy cập sử dụng hệ thống thì người dùng trước hết cần đăng ký tài khoản.
Cập nhật thông tin cá nhân: Để đáp ứng nhu cầu người dùng, thông tin được đầy đủ giúp quá trình quản lý dễ dàng hơn.
Các nhóm chức năng: quản lý nhân viên, khách hàng, nhà cung cấp, sản phẩm, danh mục sản phẩm, doanh thu của quản trị viên.
Các nhóm chức năng: quản lý khách hàng, sản phẩm, danh mục sản phẩm, đơn mua hàng của quản trị viên.
Thêm vào giỏ hàng: Chức năng được chạy trên nền tảng trình duyệt, người dùng sử dụng chức năng nhằm mục đích lưu lại những sản phẩm mình cảm thấy yêu thích và có thể xem xét mua nó trong tương lai.
Đặt hàng: Khi người dùng quyết định đặt mua sản phẩm sẽ có thông báo gửi về cửa hàng Nhân viên phụ trách sẽ phản hồi bằng cách xác nhận hoặc hủy đơn tùy thuộc vào số lượng hàng còn lại.
2.3.3 Biểu đồ use case tổng quan
Figure 1:Biểu đồ use case tổng quan
2.3.4 Phân rã use case “Quản trị viên”
Figure 2:Use case quản lý danh mục sản phẩm
Figure 3:Use case quản lý đơn hàng nhập kho
2.3.5 Phân rã use case của “Nhân viên”
Figure 4: User case quản lí đơn mua hàng
Figure 5: Use case cập nhật thông tin và thiết lập mật khẩu
Figure 6: Use Case quản lí sản phẩm
Figure 7: Use case quản lí khách hàng
2.3.6 Phân rã use case của “Khách hàng”
Figure 8: Use case xem giỏ hàng
Figure 9: Use case tìm kiếm sản phẩm và đặt hàng
Figure 10: Use case tìm kiếm sản phẩm
2.4 Đặc tả các use case
2.4.1 Cập nhật thông tin cá nhân của nhân viên
Tên usecase Cập nhật thông tin cá nhân của nhân viên.
Mô tả Cho phép nhân viên cập nhật thông tin cá nhân của mình trong hệ thống.
Nhân viên ấn vào sửa thông tin cá nhân trong trang cập nhật thông tin cá nhân.
Tiền sự kiện Nhân viên đã đăng nhập vào hệ thống.
1 Nhân viên truy cập vào trang cập nhật thông tin cá nhân trong hệ thống.
2 Hệ thống hiển thị các thông tin cá nhân hiện tại của nhân viên.
3 Nhân viên cập nhật các thông tin cá nhân mà họ muốn thay đổi.
4 Hệ thống kiểm tra và cập nhật thông tin mới vào cơ sở dữ liệu.
Nhấn nút "Lưu" hoặc "Cập nhật".
5 Hệ thống hiển thị thông báo xác nhận cho nhân viên biết rằng thông tin đã được cập nhật thành công.
Hậu điều kiện Thông tin cá nhân của nhân viên được cập nhật thành công trong hệ thống.
Table 2: Đặc tả use case cập nhật thông tin cá nhân của sinh viên
2.4.2 Thiết lập lại mật khẩu
Tên usecase Thiết lập lại mật khẩu.
Tác nhân Nhân viên, Quản trị viên(Người quản lý).
Mô tả Cho phép người quản lý thiết lập lại mật khẩu cho tài khoản của mình khi cần thay đổi mật khẩu hiện tại.
Người quản lý chọn tùy chọn "Thay đổi mật khẩu" trong cài đặt hoặc trang thông tin cá nhân.
Tiền sự kiện Người quản lý đã đăng nhập vào hệ thống.
Tác nhân (Quản trị viên, nhân viên) Hệ thống
1 Người quản lý truy cập vào cài đặt hoặc trang thông tin cá nhân của mình, chọn tùy chọn "Thay đổi mật khẩu".
2 Hệ thống yêu cầu Người quản lý nhập mật khẩu hiện tại để xác minh danh tính.
1 Người quản lý nhập mật khẩu hiện tại và tiếp tục.
2 Hệ thống yêu cầu nhập mật khẩu mới.
3 Người quản lý nhập mật khẩu mới và xác nhận mật khẩu mới.
4 Hệ thống xác nhận mật khẩu mới và cập nhật mật khẩu trong cơ sở dữ liệu.
5 Hệ thống hiển thị thông báo xác nhận rằng mật khẩu đã được thay đổi thành công.
Luồng sự kiện thay thế
Nếu nhân viên không thể xác nhận mật khẩu hiện tại, hệ thống sẽ thông báo lỗi và yêu cầu nhập lại mật khẩu hiện tại chính xác.
Hậu điều kiện Mật khẩu của nhân viên được thay đổi thành công và nhân viên có thể sử dụng mật khẩu mới để đăng nhập vào hệ thống.
Table 3:Đặc tả use case thiết lập lại mật khẩu
Tác nhân Nhân viên, Quản trị viên(Người quản lý).
Mô tả Cho phép Người quản lý truy cập vào hệ thống bằng cách xác thực tài khoản của mình.
Người quản lý ấn vào giao diện đăng nhập.
Tiền sự kiện Người quản lý truy cập vào trang đăng nhập của hệ thống.
Tác nhân (Quản trị viên, nhân viên) Hệ thống
1 Người quản lý truy cập vào trang đăng nhập của hệ thống. nhập tên đăng nhập là số điện thoại của mình và mật khẩu, nhấn nút đăng nhập.
2 Hệ thống kiểm tra thông tin đăng nhập với cơ sở dữ liệu của Người quản lý.
3 Nếu thông tin đăng nhập chính xác, hệ thống cho phép Người quản lý truy cập vào hệ thống.
4 Người quản lý được chuyển hướng đến trang chính hoặc trang nơi họ có thể thực hiện các hoạt động quản lý khác.
Luồng sự kiện thay thế
Nếu tên đăng nhập hoặc mật khẩu không chính xác, hệ thống sẽ hiển thị thông báo lỗi và yêu cầu nhập lại thông tin.
Hậu điều kiện Đăng nhập thành công, phiên làm việc được thiết lập.
Table 4:Đặc tả use case đăng nhập
2.4.4 Nhận đơn hàng ở trang web
Tên usecase Nhận đơn hàng ở trang web.
Mô tả Cho phép nhân viên quản lí cửa hàng điện thoại nhận và xử lý các đơn hàng được đặt từ website của cửa hàng.
Nhân viên quản lí truy cập vào trang quản lý đơn hàng trên website của cửa hàng.
“Nhân viên” đăng nhập thành công vào hệ thống.
1 Nhân viên quản lí truy cập vào trang quản lý đơn hàng bằng cách đăng nhập vào hệ thống quản lý của cửa hàng.
2 Hệ thống hiển thị danh sách các đơn hàng đã được đặt từ website của cửa hàng.
3 Nhân viên quản lí xem chi tiết từng đơn hàng bằng cách nhấp vào đơn hàng tương ứng.
4 Hệ thổng hiển thị chi tiết đơn hàng.
5 Nhân viên quản lí xác nhận đơn hàng.
6 Nhân viên quản lí có thể cập nhật hàng tồn kho tương ứng.
Hậu điều kiện Đơn hàng được xử lý thành công; hàng tồn kho được cập nhật.
Table 5:Đặc tả use case nhận đơn hàng ở trang web
2.4.5 Tìm kiếm sản phẩm ở trên ứng dụng
Tác nhân Nhân viên, Quản trị viên(Người quản lý).
Mô tả Cho phép Người quản lý tìm kiếm sản phẩm trong hệ thống dựa trên các tiêu chí nhất định.
Người quản lý đã truy cập vào giao diện tìm kiếm sản phẩm.
“Người quản lý” đăng nhập thành công vào hệ thống.
(Tìm kiếm theo sản phẩm)
1 Người quản lý truy cập vào giao diện tìm kiếm sản phẩm Người quản lý nhập từ khóa tìm kiếm vào thanh tìm kiếm, nhấn enter.
2 Hệ thống xử lý yêu cầu tìm kiếm và truy vấn cơ sở dữ liệu để tìm các sản phẩm phù hợp với từ khóa tìm kiếm.
3 Danh sách sản phẩm phù hợp được hiển thị cho Người quản lý.
Người quản lý có thể xem danh sách sản phẩm phù hợp và thực hiện các hành động khác liên quan đến sản phẩm.
Danh sách sản phẩm được hiển thị dựa trên từ khóa tìm kiếm của Người quản lý.
Hệ thống tiếp tục chờ đợi các yêu cầu tìm kiếm sản phẩm mới từ Người quản lý.
Table 6:Đặc tả use case tìm kiếm sản phẩm ở trên ứng dụng desktop
Tác nhân Nhân viên, Quản trị viên(Người quản lý).
Mô tả Cho phép Người quản lý tìm kiếm thông tin đơn hàng trong hệ thống dựa trên phiếu bảo hành hoặc tên khách hàng.
Người quản lý chọn tùy chọn tìm kiếm theo phiếu bảo hành hoặc tìm kiếm theo tên khách hàng.
Người quản lý đã đăng nhập vào hệ thống quản lý đơn hàng.
Luồng sự kiện (theo bảo hành)
1 Người quản lý truy cập vào giao diện tìm kiếm đơn hàng trong hệ thống.
2 Người quản lý chọn tùy chọn tìm kiếm theo phiếu bảo hành hoặc tìm kiếm theo tên khách hàng.
3 Người quản lý nhập mã phiếu bảo hành có trong phiếu bảo hành.
4 Hệ thống xử lý yêu cầu và truy vấn cơ sở dữ liệu để tìm các đơn hàng phù hợp với phiếu bảo hành.
5 Đơn hàng phù hợp được hiển thị cho Người quản lý.
Luồng sự kiện (theo tên khách hàng)
1 Người quản lý truy cập vào giao diện tìm kiếm đơn hàng trong hệ thống.
2 Người quản lý chọn tùy chọn tìm kiếm theo phiếu bảo hành hoặc tìm kiếm theo tên khách hàng.
3 Người quản lý nhập tên khách hàng cần tìm kiếm.
4 Hệ thống xử lý yêu cầu và truy vấn cơ sở dữ liệu để tìm các đơn hàng mà tên khách hàng tương ứng.
5 Danh sách đơn hàng phù hợp được hiển thị cho Người quản lý.
Người quản lý có thể xem danh sách đơn hàng phù hợp và thực hiện các hành động khác liên quan đến đơn hàng.
Danh sách đơn hàng được hiển thị dựa trên tiêu chí tìm kiếm của Người quản lý.
Hệ thống tiếp tục chờ đợi các yêu cầu tìm kiếm đơn hàng mới từ Người quản lý.
Table 7:Đặc tả use case tìm kiếm đơn hàng
2.4.7 Xem thông tin khách hàng
Tác nhân Quản trị viên.
Mô tả Thực hiện các tác vụ xem thông tin khách hàng.
Sự kiện kích hoạt Ấn vào nút “Xem danh sách khách hàng”.
Tiền điều kiện Đăng nhập thành công.
1 Quản trị viên yêu cầu xem danh sách khách hàng.
2 Hệ thống hiển thị danh sách khách hàng.
3 Quản trị viên yêu cầu xem chi tiết thông tin khách hàng.
4 Hệ thống hiển thị thông tin chi tiết khách hàng.
Hậu điều kiện Hiển thị danh sách tương ứng với thông tin cần tìm kiếm Thông tin mới sẽ được lưu trữ vào cơ sở dữ liệu
Tác nhân Quản trị viên.
Mô tả Thực hiện các tác vụ xem danh sách nhân viên.
Sự kiện kích hoạt Ấn vào nút “Xem danh sách nhân viên”.
Tiền điều kiện Đăng nhập thành công.
(Xem danh sách nhân viên)
1 Quản trị viên yêu cầu xem danh sách nhân viên.
2 Hệ thống hiển thị danh sách nhân viên.
3 Quản trị viên yêu cầu xem chi tiết thông tin nhân viên.
4 Hệ thống hiển thị thông tin chi tiết nhân viên.
Luồng sự kiện thay thế Thông báo nếu không có nhân viên nào.
Hiển thị danh sách tương ứng với thông tin cần tìm kiếm.
Tác nhân Quản trị viên.
Mô tả Thực hiện tác vụ xem doanh thu cửa hàng.
Sự kiện kích hoạt Ấn vào nút “Xem doanh thu”.
Tiền điều kiện Đăng nhập thành công.
(Xem danh sách nhân viên)
1 Quản trị viên yêu cầu xem doanh thu.
2 Hệ thống hiển thị doanh thu.
Hiển thị thành công doanh thu cửa hàng.
2.4.10 Tìm kiếm sản phẩm trên trang web
Mô tả Tìm kiếm theo tên: Khách hàng nhập tên sản phẩm vào thanh tìm kiếm Website sẽ tự động gợi ý các sản phẩm phù hợp khi khách hàng nhập.
Sự kiện kích hoạt Ấn vào thanh tìm kiếm trên trang web.
Tiền sự kiện Khách hàng truy cập website bán điện thoại bằng trình duyệt web hoặc ứng dụng di động.
(Tìm kiếm sản phẩm trên trang web)
Tác nhân (khách hàng) Hệ thống
1 Ấn vào thanh tìm kiếm trên trang website 2 Truy cập cơ sở dữ liệu, hiển thị các sản phẩm tương ứng theo từng ký tự được nhập.
3 Ấn vào sản phẩm muốn xem chi tiết 4 Truy cập cơ sở dữ liệu, hiển thị chi tiết sản phẩm được chọn.
Hậu sự kiện Hệ thống ghi lại lịch sử tìm kiếm và hành động của người dùng để phục vụ cho các mục đích phân tích, cá nhân hoá trải nghiệm, v.v.
Table 11:Đặc tả use case tìm kiếm sản phẩm trên trang web
2.4.11 Đặt hàng trên trang web bán hàng
Mô tả Khách hàng thực hiện chức năng đặt hàng các sản phẩm có trong giỏ hàng.
Table 10:Đặc tả use case quản lý doanh thu
Sự kiện kích hoạt Khách hàng vào “xem giỏ hàng” khách hàng có thể bỏ một số sản phẩm không cần đặt, tăng giảm số lượng , và ấn vào nút “Đặt hàng”.
Tiền sự kiện Khách hàng điền một số thông tin cần thiết (gmail, số điện thoại, họ tên, số căn cước công dân, …) Khi thực hiện thành công bước xác thực thì chuyển sang giai đoạn thanh toán Khi thanh toán thành công hệ thống sẽ tự động kích hoạt chức năng đặt hàng thành công.
Tác nhân (khách hàng) Hệ Thống
1 Vào “Xem giỏ hàng” 2 Chuyển hướng trang web sang trang giỏ hàng để hiện thị các sản phẩm đã thêm.
3 Chọn xóa sản phẩm 4 Xóa sản phẩm khỏi giỏ hàng.
5 Chọn tăng, giảm số lượng sản phẩm.
6 Tăng,giảm số lượng sản phẩm một đơn vị.
7 Nhập thông tin chi tiết và chọn nút
8 Thực hiện xác thực thông tin đã nhập của khách hàng, bao gồm địa chỉ, họ và tên, email , Xác thực thông tin, nếu thành công hiển thị chức năng
10 Kiểm tra giao dịch, nếu thành công thì hoạt động đặt hàng thanh toán thành công.
Luồn sự kiện thay thế
Hành động Hành động thay thế
Xác thực thông tin thất bại Yêu cầu xác thực thông tin lại.
Thanh toán thất bại Số tiền được trả lại cho khách hàng, hệ thống hiển thị
“Quá trình giao dịch có vấn đề”.
Lưu lại đơn hàng khách hàng đã đặt, truy cập cơ sở dữ liệu giảm số lượng sản phẩm trong kho, thực hiện tăng số tiền thu trong ngày, …
Table 12:Đặc tả use case đặt hàng trên trang web bán hàng
2.5.1 Tổ chức thư mục của ứng dụng quản lý
2.5.2 Tổ chức thư mục của website bán hàng
Controller/: Các Servlet xử lý yêu cầu từ người dùng
Model/: Các lớp JavaBean biểu diễn dữ liệu và logic nghiệp vụ
DAO/: Các lớp truy vấn và thao tác với cơ sở dữ liệu
SMS/: Tích hợp twilio API
Config/: Các lớp thực hiện một số cài đặt mặc định khi xử lý dữ liệu và logic
Connection/:Lớp thực hiện kết nối cơ sở dữ liệu MySQL bằng JDBC
images/: Chứa các hình ảnh các sản phẩm để hiển thị.
web.xml: Tệp cấu hình ứng dụng web
js/: Chứa các tệp tài nguyên JavaScript.
css/: Chứa các tệp tài nguyên CSS.
index.jsp: Trang chủ của website
shoppage.jsp: Trang trưng bày các sản phẩm để khách hàng thêm giỏ hàng.
cartpage.jsp: Trang hiển thị giỏ hàng.
DetailPage.jsp: Trang hiển thị chi tiết sản phẩm.
Vnpay_pay.jsp: Trang thực hiện giao dịch VNPAY.
Vnpay_ReturnPage.jsp: Trang hiển thị thông tin giao dịch vừa tạo.
Trong phần Phân tích thiết kế hệ thống, chúng ta đã tìm hiểu và xác định các yêu cầu chức năng, phi chức năng cũng như phân tích hiện trạng của dự án Từ đó, chúng ta đã phát biểu bài toán cần giải quyết và thiết kế kiến trúc hệ thống để đáp ứng các yêu cầu này.
Cụ thể, hệ thống cửa hàng bán điện thoại trực tuyến và ngoại tuyến cần cung cấp các chức năng sau:
Quản lý sản phẩm, đơn nhập kho
Quản lý khách hàng và đơn hàng
Bán hàng trực tuyến với tích hợp VNPay
Đồng bộ hóa dữ liệu giữa ứng dụng web và desktop
Quản lý phân quyền người dùng
Việc áp dụng công nghệ web (Java Servlet, JSP) và desktop (Java Swing) sẽ mang lại nhiều lợi ích cho hoạt động kinh doanh, như mở rộng thị trường, tiết kiệm chi phí, cải thiện trải nghiệm khách hàng và tăng hiệu quả quản lý.
Trong quá trình thiết kế, chúng ta cũng đã xác định cấu trúc thư mục của website,
Các quyết định thiết kế này sẽ là nền tảng quan trọng để triển khai và xây dựng hệ thống cửa hàng bán điện thoại trực tuyến và ngoại tuyến Việc phân tích và thiết kế kỹ lưỡng sẽ giúp đảm bảo tính khả thi, tính bảo mật và khả năng mở rộng của hệ thống trong tương lai.
TỔ CHỨC CHƯƠNG TRÌNH
2.5.1 Tổ chức thư mục của ứng dụng quản lý
2.5.2 Tổ chức thư mục của website bán hàng
Controller/: Các Servlet xử lý yêu cầu từ người dùng
Model/: Các lớp JavaBean biểu diễn dữ liệu và logic nghiệp vụ
DAO/: Các lớp truy vấn và thao tác với cơ sở dữ liệu
SMS/: Tích hợp twilio API
Config/: Các lớp thực hiện một số cài đặt mặc định khi xử lý dữ liệu và logic
Connection/:Lớp thực hiện kết nối cơ sở dữ liệu MySQL bằng JDBC
images/: Chứa các hình ảnh các sản phẩm để hiển thị.
web.xml: Tệp cấu hình ứng dụng web
js/: Chứa các tệp tài nguyên JavaScript.
css/: Chứa các tệp tài nguyên CSS.
index.jsp: Trang chủ của website
shoppage.jsp: Trang trưng bày các sản phẩm để khách hàng thêm giỏ hàng.
cartpage.jsp: Trang hiển thị giỏ hàng.
DetailPage.jsp: Trang hiển thị chi tiết sản phẩm.
Vnpay_pay.jsp: Trang thực hiện giao dịch VNPAY.
Vnpay_ReturnPage.jsp: Trang hiển thị thông tin giao dịch vừa tạo.
KẾT CHƯƠNG
Trong phần Phân tích thiết kế hệ thống, chúng ta đã tìm hiểu và xác định các yêu cầu chức năng, phi chức năng cũng như phân tích hiện trạng của dự án Từ đó, chúng ta đã phát biểu bài toán cần giải quyết và thiết kế kiến trúc hệ thống để đáp ứng các yêu cầu này.
Cụ thể, hệ thống cửa hàng bán điện thoại trực tuyến và ngoại tuyến cần cung cấp các chức năng sau:
Quản lý sản phẩm, đơn nhập kho
Quản lý khách hàng và đơn hàng
Bán hàng trực tuyến với tích hợp VNPay
Đồng bộ hóa dữ liệu giữa ứng dụng web và desktop
Quản lý phân quyền người dùng
Việc áp dụng công nghệ web (Java Servlet, JSP) và desktop (Java Swing) sẽ mang lại nhiều lợi ích cho hoạt động kinh doanh, như mở rộng thị trường, tiết kiệm chi phí, cải thiện trải nghiệm khách hàng và tăng hiệu quả quản lý.
Trong quá trình thiết kế, chúng ta cũng đã xác định cấu trúc thư mục của website,
Các quyết định thiết kế này sẽ là nền tảng quan trọng để triển khai và xây dựng hệ thống cửa hàng bán điện thoại trực tuyến và ngoại tuyến Việc phân tích và thiết kế kỹ lưỡng sẽ giúp đảm bảo tính khả thi, tính bảo mật và khả năng mở rộng của hệ thống trong tương lai.
TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ
MÔ HÌNH TRIỂN KHAI
3.1.2 Các công cụ sử dụng
KẾT QUẢ THỰC NGHIỆM
3.2.1 Kịch bản 1 – Đăng nhập hệ thống
Trình bày cách thực hiện, hình ảnh, giải thuật hình ảnh
3.2.2 Kịch bản 2 – Chức năng nhập/xem dữ liệu
3.2.3 Kịch bản 3 – Chức năng tìm kiếm, thống kê
3.2.4 Kịch bản 4 – Chức năng truy vấn, báo cáo
NHẬN XÉT ĐÁNH GIÁ KẾT QUẢ
Qua kết quả thực nghiệm, tác giả có những nhận xét như sau:
Thống kê kết quả bằng bảng, đồ thị
KẾT CHƯƠNG
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Trong thời gian tìm hiểu, nghiên cứu cơ sở lý thuyết và triển khai ứng dụng công nghệ, đồ án đã đạt được những kết quả sau:
Về mặt lý thuyết, đồ án đã đạt được …
Về mặt thực tiễn ứng dụng, đồ án đã đạt được …
Kết quả đóng góp của đồ án được thể hiện như sau (trình bày các đoạn có đánh số ngắn gọn sắp xếp theo mức độ quan trọng giảm dần) Cần làm rõ những nội dung kế thừa, những nội dung mà tác giả đóng góp trong luận văn
Phát triển một thuật toán nhanh hơn nhiều cho vấn đề xxx
Xây dựng được XYZ Chứng tỏ được XXX
Tuy nhiên, vẫn còn tồn tại các vấn đề như sau:
2 KIẾN NGHỊ VÀ HƯỚNG PHÁT TRIỂN
Một số số hướng nghiên cứu và phát triển của đề tài như sau:
Bổ sung và hoàn thiện một số chức năng của hệ thống …
Đánh giá hiệu năng trên các môi trường khác nhau …
Kiểm thử các chức năng của chương trình …
Bổ sung các giải pháp bảo mật và an toàn cho hệ thống …
[1] Đặng Văn Đức (2001), Hệ thống thông tin địa lý, Nhà xuất bản Khoa học và Kỹ Thuật Hà Nội.
[2] Phạm Hữu Đức (2005), Cơ sở dữ liệu và hệ thống thông tin địa lý GIS, Nhà xuất bản Xây dựng.
[3] Senthil Shanmugan (2004) “Digital urban management programme - Evolution of Bangalore GIS model”, Proceedings of the third International Conference on Environment and Health, India
[4] Teemu Nuortio, Harri Niska (2003), “Improved route planning and scheduling of waste collection and transport”, Department of Environmental Sciences, University of Kuopio, Finland.