Giới thiệu bài toán
Thế giới đang phát triển nhanh chóng, dẫn đến đời sống con người ngày càng hiện đại và phong phú Nhu cầu về vật chất và tinh thần của con người ngày càng cao, với nhiều yêu cầu khắt khe hơn.
Mỗi ngày, chúng ta đều có những nhu cầu thiết yếu như ăn uống, mua sắm và giải trí Để thỏa mãn những nhu cầu này, chúng ta thường đến các trung tâm giải trí và mua sắm để tìm kiếm sản phẩm mong muốn hoặc thưởng thức những bản nhạc mới nhất.
Sự phát triển mạnh mẽ của Internet toàn cầu, đặc biệt là tại Việt Nam trong những năm gần đây, đã tạo điều kiện thuận lợi cho việc ứng dụng Công nghệ Thông tin trong việc tìm kiếm và truy cập dữ liệu từ xa Điều này giúp người dùng tận dụng tối đa những lợi ích mà công nghệ này mang lại.
Website bán điện thoại là một nền tảng thương mại điện tử chuyên cung cấp sản phẩm điện thoại di động, với xu hướng mở rộng trong tương lai Cửa hàng nhập khẩu điện thoại từ các nhà phân phối nổi tiếng như Nokia, Samsung, và Sony, để bán lẻ cho người tiêu dùng Giao dịch với khách hàng chủ yếu diễn ra trực tuyến, và khi hết hàng, công ty sẽ tiến hành nhập hàng từ các nhà phân phối.
Website này được xây dựng nhằm mục đích giúp khách hàng mua sắm trực tuyến dễ dàng từ xa qua internet Khách hàng có thể tham khảo thông tin sản phẩm, so sánh giá cả và lựa chọn sản phẩm phù hợp với nhu cầu của mình, tiết kiệm thời gian và nâng cao trải nghiệm mua sắm Hệ thống tìm kiếm thân thiện và dễ sử dụng, cho phép khách hàng đăng nhập bằng tài khoản đã có hoặc đăng ký nhanh chóng để tạo đơn hàng Ngoài ra, website cũng cung cấp thông tin mới nhất về công ty để khách hàng theo dõi.
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 7
Nhận xét bài toán
Thương mại điện tử là một lĩnh vực phức tạp, bao gồm nhiều module quan trọng như tìm kiếm sản phẩm, thêm hàng vào giỏ, đăng ký thành viên, đảm bảo an ninh và các chức năng quản lý khác.
Cửa hàng hiện đang gặp nhiều khó khăn do sự đa dạng của các hãng điện thoại di động và yêu cầu mở rộng thị trường Để tiếp thị sản phẩm nhanh chóng đến tay khách hàng, cửa hàng cần khắc phục những vấn đề phát sinh từ cơ cấu cũ không còn phù hợp.
Khách hàng không phải tốn thời gian trực tiếp đến các cửa hàng bán lẻ để xem và mua sản phẩm
Khả năng tiếp thị sản phẩm đến khách hàng còn thấp, không thu hút đƣợc nhiều khách hàng cho cửa hàng
Quản lý tồn kho không hiệu quả và thiếu sự linh hoạt giữa các công ty phân phối sản phẩm gây ra khó khăn trong việc quản lý và dẫn đến tình trạng thiếu thông tin cho khách hàng.
Giải quyết bài toán
Admin là người quản trị trang web, có nhiệm vụ đăng nhập vào tài khoản để cấu hình và quản lý cơ sở dữ liệu Họ có thể thêm, sửa, xóa thông tin về danh mục, sản phẩm, nhà cung cấp và đơn đặt hàng, cũng như theo dõi chi tiết đơn hàng.
Khách hàng là những cá nhân hoặc công ty tìm kiếm sản phẩm trực tuyến, có thể lựa chọn hãng điện thoại yêu thích Họ duyệt qua cửa hàng, thêm sản phẩm từ các thương hiệu khác nhau vào giỏ hàng và tạo đơn hàng cho quản trị viên Khách hàng đã đăng ký tài khoản và mật khẩu để thuận tiện cho các giao dịch sau, đồng thời có cơ hội nhận các chương trình khuyến mãi và giảm giá từ cửa hàng (nếu có).
Khách hàng vãng lai là những người chỉ có thể xem sản phẩm trong danh mục và quảng cáo về giá cả cũng như chất lượng sản phẩm Họ có thể thêm sản phẩm vào giỏ hàng nhưng không thể thực hiện giao dịch thanh toán Để mua hàng, khách vãng lai cần phải đăng ký trở thành thành viên.
Mô hình hóa cửa hàng bán điện thoại di động
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 8
Mô hình đƣợc mô tả nhƣ sau:
Khi truy cập vào trang chủ, khách hàng sẽ thấy danh sách sản phẩm từ các hãng điện thoại di động có trong danh mục Mặc dù các sản phẩm có thể trùng tên hoặc loại, chỉ có người quản trị mới có khả năng phân biệt sản phẩm thuộc về hãng nào.
Quy trình 2: Sau khi đã chọn đƣợc sản phẩm, khách hàng sẽ cho vào giỏ hàng
Quy trình 3: Trong giỏ hàng của mình, khách hàng có thể cập nhập số lƣợng thêm hoặc bớt đi sản phẩm
Quy trình 4: Khách hàng sẽ lập đơn hàng sau khi đã quyết định chọn những sản phẩm có trong giỏ hàng
Quy trình 5: Phiên giao dịch sẽ kết thúc khi khách hàng đặt xong đơn đặt hàng
SẢN PHẨM 3 SẢN PHẨM 2 Hãng điện thoại A SẢN PHẨM 1
Hãng điện thoại A xem xem xem xem thuộc thuộc
Thanh toán kết thúc giao dịch
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 9
Quy trình mua hàng của khách hàng
Quy trình mua hàng của khách hàng trong cửa hàng nhƣ sau:
Khi khách hàng đã là thành viên của cửa hàng, họ chỉ cần đăng nhập vào tài khoản bằng tên đăng nhập và mật khẩu Sau khi đăng nhập thành công, khách hàng sẽ được chào mừng và có thể tham quan cửa hàng trực tuyến Tại đây, họ có thể xem thông tin chi tiết về từng sản phẩm của tất cả các hãng điện thoại Nếu khách hàng tìm thấy sản phẩm ưng ý, họ có thể thêm sản phẩm vào giỏ hàng ảo bằng cách nhấn vào nút tương ứng.
Khách hàng có thể dễ dàng chọn nhiều sản phẩm và điều chỉnh số lượng trong giỏ hàng, bao gồm việc quay lại mua hàng hoặc xóa sản phẩm không mong muốn Khi đã hoàn tất việc lựa chọn, khách hàng chỉ cần nhấn nút để xác nhận đặt hàng.
"Tiến hành thanh toán" để xác nhận đơn đặt hàng Sau khi giao dịch hoàn tất, giỏ hàng ảo sẽ được xóa khỏi cơ sở dữ liệu Người quản trị sẽ tạo phiếu đơn đặt hàng và tiến hành giao hàng.
Khi khách hàng thực hiện giao dịch lần đầu tại cửa hàng, họ cần đăng ký thành viên để thuận tiện cho các giao dịch sau này Cửa hàng khuyến khích việc này nhằm nâng cao trải nghiệm mua sắm cho khách hàng.
Nhập tên đăng nhập, mật khẩu
Nhập thông tin khách hàng lần đầu mua hàng thành viên muốn đăng ký thành viện không đăng ký
Thanh toán đăng nhập và xem hàng kết thúc
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 10, hướng dẫn khách hàng điền đầy đủ thông tin để đăng ký tài khoản Sau khi đăng ký thành công, khách hàng sẽ có tên đăng nhập và mật khẩu để thực hiện các giao dịch sau này Quy trình mua hàng sẽ diễn ra giống như khi khách hàng đã là thành viên.
Nhiệm vụ của đề tài
Để đề tài có tính khả thi và thực tế thì nó cần đáp ứng đƣợc những chức năng nhƣ sau:
Khách hàng có thể dễ dàng truy cập trang web mà không cần đăng ký tài khoản, cho phép tìm kiếm sản phẩm theo tên, khám phá các thương hiệu điện thoại, xem thông tin và so sánh giá cả giữa các gian hàng Việc đăng ký và đăng nhập chỉ cần thiết khi thực hiện mua hàng.
Cho phép khách hàng đăng ký tài khoản
Tìm kiếm những chiếc điện thoại mong muốn theo tên điện thoại và xem các chiếc điện thoại theo từng hãng cửa chúng
Khách hàng có thể dễ dàng xem các điện thoại bán chạy nhất và được mua nhiều nhất, đồng thời so sánh giá cả giữa các gian hàng khác nhau Hệ thống cũng cho phép người dùng xem tất cả các gian hàng đang có mặt.
Cho phép khách hàng chọn mua các sản phẩm trên website, đƣa các sản phẩm đó vào giỏ hàng của mình
Khách hàng có thể dễ dàng đặt hàng tại cửa hàng Nếu đã có tài khoản, họ chỉ cần tiến hành đặt hàng Trong trường hợp chưa có tài khoản, khách hàng cần đăng ký trở thành thành viên trước khi thực hiện đơn hàng.
Cho phép khách hàng xem các sản phẩm khuyến mãi, với mức độ giảm giá tùy vào từng sản phẩm
Cho phép khách hàng tìm kiếm những chiếc điện thoại ở mức giá mà khách hàng chọn.
Lựa chọn ngôn ngữ lập trình và hệ quản trị cơ sở dữ liệu
Việc lựa chọn ngôn ngữ lập trình cần đáp ứng đƣợc các yêu cầu sau:
Chương trình viết bằng ngôn ngữ phải chạy được trên các máy tính có hệ điều hành khác nhau nhƣ Windows, Linux,…
Có tính an toàn và bảo mật cao
Trong sáng, dễ hiểu, dễ sửa chữa và bảo trì
Mã nguồn rõ ràng, tách biệt giữa mã nguồn với giao diện html
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 11
Hướng đối tượng để phù hợp với nhu cầu đồ án đặt ra
Việc lựa chọn hệ quản trị cơ sở dữ liệu cần đáp ứng đƣợc những yêu cầu sau:
Ngân hàng dữ liệu thích hợp với mô hình thông tin phong phú và đáp ứng đƣợc về nhu cầu áp dụng vào thực tiễn
Phải có các công cụ hữu hiệu để ngăn chặn tranh chấp và xung đột dữ liệu
Ngôn ngữ lập trình này có tính mạch lạc và dễ sử dụng, giúp lập trình viên tạo ra các ứng dụng một cách linh hoạt và nhanh chóng, đáp ứng đầy đủ mọi nhu cầu trong hệ thống.
Để đáp ứng yêu cầu về tính phổ biến, dễ cài đặt và quản trị, đồ án này sử dụng ngôn ngữ lập trình Java và hệ quản trị cơ sở dữ liệu SQL Server 2008 R2, hai công nghệ rất phù hợp với bài toán đã đề ra.
Ngôn ngữ Java sở hữu nhiều ưu điểm nổi bật, bao gồm khả năng biên dịch và thông dịch đồng thời, cho phép mã Java chạy trên nhiều nền tảng khác nhau miễn là có hỗ trợ từ JVM (Java Virtual Machine) Một trong những điểm mạnh của Java là cơ chế thu gom rác tự động, giúp JRE tự động cấp phát không gian bộ nhớ cho các đối tượng trên heap khi chúng được tạo ra.
Trong ngôn ngữ lập trình C và C++, việc quản lý bộ nhớ là rất quan trọng, vì chúng ta cần phải giải phóng vùng nhớ đã cấp phát để tránh tình trạng rò rỉ bộ nhớ Nếu không thực hiện việc này, sẽ xảy ra thất thoát bộ nhớ, gây ảnh hưởng xấu đến hiệu suất của chương trình.
Ngôn ngữ lập trình Java giúp chúng ta giải quyết vấn đề quản lý bộ nhớ bằng cách tự động thu hồi vùng nhớ không còn được tham chiếu Bộ thu dọn rác của Java sẽ theo dõi các tài nguyên đã được cấp phát và tự động thu hồi chúng khi không còn tham chiếu nào tồn tại.
Khi xây dựng trang web, bên cạnh việc chọn ngôn ngữ Java, mô hình MVC (Model, View, Controller) là một yếu tố quan trọng Mô hình này cho phép tạo ra các ứng dụng web linh hoạt dựa trên công nghệ tiêu chuẩn như JSP, JavaBeans và XML Nhiều tập đoàn lớn hiện nay cũng đang áp dụng mô hình này trong việc phát triển website, và đây chính là công nghệ mà tôi đã học trong thời gian thực tập tại FPT Software Đà Nẵng.
Mô hình MVC (Model - View - Controller) là một kiến trúc phần mềm quan trọng trong kỹ thuật phần mềm, cho phép các nhà phát triển tách ứng dụng thành ba thành phần chính: Model, View và Controller Việc này giúp cải thiện khả năng quản lý và bảo trì ứng dụng.
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 12
Mô hình là một đối tượng hoặc tập hợp các đối tượng thể hiện dữ liệu của chương trình, bao gồm thông tin được lưu trữ trong cơ sở dữ liệu hoặc từ các hệ thống ứng dụng khác như email.
Phần "Hiển thị" trong giao diện người dùng bao gồm việc trình bày dữ liệu trên màn hình, cung cấp menu, nút bấm, hộp thoại và các lựa chọn, giúp người dùng thực hiện các thao tác như thêm, sửa, xóa và tìm kiếm dữ liệu trong hệ thống.
Controller là phần quan trọng trong việc điều khiển logic hoạt động của giao diện, tương tác với người dùng thông qua các thiết bị như chuột và bàn phím Nó có nhiệm vụ cập nhật và thao tác dữ liệu dựa trên đầu vào nhận được, đồng thời chọn phần "Hiển thị" phù hợp để truyền tải thông tin đến người dùng.
Phương pháp thiết kế này phân chia rõ ràng các chức năng hiển thị, chức năng logic điều khiển và chức năng truy cập dữ liệu của chương trình thành các phần riêng biệt.
Java là ngôn ngữ lập trình hướng đối tượng thuần túy, vì vậy việc áp dụng mô hình MVC trong các ứng dụng Java trở nên đơn giản và tự nhiên Hai hình mẫu chính của phương pháp thiết kế MVC trong Java bao gồm MVC model 1 và MVC model 2.
Trong mô hình MVC 1, các trang JSP vừa thực hiện chức năng "Hiển thị" (View) vừa đảm nhiệm vai trò "Điều khiển" (Controller), cho phép có nhiều trang JSP khác nhau với các vai trò đa dạng.
Khi người dùng thực hiện thao tác trên trình duyệt web, thông tin sẽ được gửi đến một trang JSP Trang JSP này sẽ khởi tạo một hoặc nhiều Java Bean nếu cần thiết, và truyền các lệnh cần thực hiện đến Java Bean (không phải Enterprise Java Bean).
Sau khi Java Bean hoàn tất việc xuất hoặc cập nhật dữ liệu, trang JSP có thể hiển thị dữ liệu từ Bean hoặc chuyển hướng đến một trang JSP khác để hiển thị dữ liệu Trong thiết kế tốt, trang JSP nhận yêu cầu chỉ nên đóng vai trò "Điều khiển" (Controller) để tách biệt phần trình bày và logic của chương trình.
PHÂN TÍCH, THIẾT KẾ HỆ THỐNG
Các chức năng chính của hệ thống
2.1.1 Yêu cầu về phần cứng và phần mềm:
Hệ thống được thiết kế với tiêu chí dễ dàng sử dụng và triển khai rộng rãi, do đó yêu cầu về phần cứng và phần mềm không quá nghiêm ngặt, phù hợp với hầu hết các hệ điều hành và hệ quản trị cơ sở dữ liệu phổ biến.
Hệ điều hành hỗ trợ chương trình: Windows , Linux, Unix, …
Hệ quản trị cơ sở dữ liệu SQL server 2008 R2
Phần cho nhà quản trị
Phần cho khách hàng có nhu cầu tham quan và mua điện thoại di động
2.1.3 Yêu cầu về chức năng:
Chức năng quản trị viên yêu cầu có tài khoản để đăng nhập vào hệ thống Sau khi đăng nhập, quản trị viên có khả năng thực hiện nhiều chức năng quan trọng.
Đăng nhập: Quản trị viên đăng nhập vào hệ thống để quản trị toàn bộ hệ thống
Xem thống kê số lƣợng tài khoản của khách hàng
Xem thống kê số lƣợng điện thoại theo từng hãng điện thoại
Quản lý tài khoản, bao gồm các công việc: xóa tài khoản có trong hệ thống
Quản lý các hãng điện thoại, bao gồm các công việc: thêm, sửa xóa các hãng điện thoại có trong hệ thống
Quản lý các nhà cung cấp, bao gồm các công việc: thêm, sửa, xóa các nhà cung cấp điện thoại di động cho cửa hàng có trong hệ thống
Quản lý sản phẩm điện thoại di động, bao gồm các công việc:thêm, sửa, xóa điện thoại di động có trong hệ thống
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 15
Chức năng của khách hàng:
Đăng nhập: Khách hàng đăng nhập vào hệ thống để mua điện thoại
Tìm kiếm điện thoại dựa vào tên điện thoại
Tìm kiếm điện thoại theo từng hãng điện thoại di động
Sau khi tìm kiếm điện thoại khách hàng có thể xem chi tiết điện thoại mà khách hàng chọn
Khi xem chi tiết điện thoại khách hàng có thể lựa chọn mua và đƣa vào giỏ hàng của mình
Sau khi chọn xong tất cả các sản phẩm và đƣa vào giỏ hàng khách hàng bắt đầu tiến hành thanh toán
2.1.4 Yêu cầu phi chức năng
Giao diện website cần phải dễ hiểu và gần gũi, giúp khách hàng dễ dàng tìm thấy thông tin mà họ cần Đồng thời, trang web cũng nên cung cấp những chiếc điện thoại mới nhất và bán chạy nhất để thu hút sự quan tâm của người tiêu dùng.
Đảm bảo an toàn thông tin khách hàng là yếu tố quan trọng hàng đầu trong mua bán trực tuyến, đặc biệt trong quá trình đặt hàng và thanh toán.
Bảo mật: Đồng thời website cần phải có tính dễ nâng cấp, sửa chữa, cập nhật chức năng mới
Tốc độ truy cập: Đảm bảo tốc độ truy cập trên website ngay khi có cùng lúc nhiều người truy cập vào.
Use–case diagram
Khách hàng có thể dễ dàng xem và mua hàng trên website, nơi cung cấp nhiều chức năng hữu ích cho cả khách hàng vãng lai và thành viên Các tính năng bao gồm xem tin tức, chi tiết sản phẩm, chọn sản phẩm và thêm vào giỏ hàng, cũng như tạo đơn đặt hàng Đặc biệt, khách hàng vãng lai có tùy chọn đăng ký tài khoản và mật khẩu để thuận tiện cho các giao dịch trong tương lai.
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 16
Người quản trị Website đăng nhập vào hệ thống để quản lý thông tin và có quyền toàn diện trong việc cấu hình, thêm, sửa, xóa cơ sở dữ liệu Họ cũng có khả năng tạo chi tiết đơn đặt hàng, quản lý danh mục và sản phẩm một cách hiệu quả.
2.2.2 Xác định các chức năng của Actor
Chức năng đối với khách hàng:
Chức năng đăng ký tài khoản khách hàng
Chức năng đăng nhập website
Chức năng thoát khỏi website
Chức năng tìm kiếm sản phẩm
Chức năng thêm hàng vào giỏ hàng
Chức năng xem giỏ hàng o Chức năng xóa sản phẩm trong giỏ hàng o Chức năng cập nhật giỏ hàng
Chức năng tạo đơn hàng thanh toán
Chức năng xem sản phẩm
Chức năng xem chi tiết sản phẩm
Chức năng xem tin tức giới thiệu về website
Chức năng đối với khách hàng:
Chức năng đăng ký tài khoản khách hàng
Chức năng tìm kiếm sản phẩm
Chức năng xem chi tiết sản phẩm
Chức năng xem tin tức giới thiệu về website
Chức năng đối với người quản trị hệ thống
Chức năng đăng nhập website
Chức năng thoát khỏi website
Chức năng đăng nhập vào phần quản lý hệ thống
Chức năng quản lý danh mục o Thêm danh mục o Xóa danh mục o Cập nhật danh mục
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 17
Chức năng quản lý sản phẩm bao gồm các hoạt động quan trọng như thêm sản phẩm mới, xóa sản phẩm không còn phù hợp, cập nhật thông tin chi tiết về sản phẩm, và tìm kiếm sản phẩm một cách hiệu quả Ngoài ra, hệ thống cũng cho phép thêm sản phẩm khuyến mãi và xóa các sản phẩm khuyến mãi khi đã hết hạn, giúp tối ưu hóa quy trình quản lý sản phẩm.
Chức năng quản lý đơn đặt hàng o Thêm đơn đặt hàng o Xóa đơn đặt hàng o Xem chi tiết đơn đặt hàng
Chức năng quản lý nhà cung cấp o Thêm nhà cung cấp o Xóa nhà cung cấp o Cập nhật nhà cung cấp
Use-case Diagram cho khách hành
Use-case Diagram cho khách hành vãng lai
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 18
Use-case Diagram cho bộ phận quản trị hệ thống
Use-case Diagram quản lý sản phẩm
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 19
Use-case Diagram quản lý hãng điện thoại
Use-case Diagram quản lý nhà cung cấp
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 20
Use-case Diagram quản lý đơn đặt hàng
Đặc tả use-Case
Use-case này cho phép tạo ra giỏ hàng ảo cho khách hàng
Giỏ hàng ảo sẽ chứa sản phẩm mà khách hàng chọn mua
Giỏ hàng ảo này sẽ tồn tại từ khi khách hàng chọn “Mua ngay” hoặc
“Thêm vào giỏ hàng” cho đến khi khách hàng rời khỏi cửa hàng
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 21
Khách hàng là actor của use-case này
Use-case bắt dầu khi khách hàng chọn mua sản phẩm bằng cách click lên nút “Mua ngay” hoặc “Thêm vào giỏ hàng”
Khi người dùng chọn nút “Mua ngay” dưới từng sản phẩm, hệ thống sẽ lấy mã sản phẩm và thông tin khách hàng (mã khách hàng) Tiếp theo, hệ thống kiểm tra xem mã giỏ hàng đã tồn tại hay chưa Nếu giỏ hàng chưa được tạo, hệ thống sẽ tạo ra một giỏ hàng mới và lưu các thông tin cần thiết vào cơ sở dữ liệu, bao gồm mã giỏ hàng, mã khách hàng, mã sản phẩm, số lượng sản phẩm và ngày thực hiện Nếu giỏ hàng đã tồn tại, hệ thống sẽ xử lý theo quy trình tương ứng.
Hệ thống lưu những thông tin vào database: mã giỏ hàng, mã khách hàng, mã sản phẩm, số lƣợng sản phẩm, ngày thực hiện
Các yêu cầu đặc biệt
Use-case cho phép actor xdm chi tiết giỏ hàng của mình
Khách hàng là actor của use-case này
Use-case bắt đầu từ khi actor chonj chức năng “mua ngay” hoặc “thêm vào giỏ hàng”
Dòng sự kiện chính o Actor chọn chức năng “mua ngay” hoặc “thêm vào giỏ hàng”
Nguyễn Thị Ban, sinh viên lớp 53K1 thuộc Khoa Công Nghệ Thông Tin 22, đã phát triển một hệ thống quản lý giỏ hàng Hệ thống này lưu trữ mã giỏ hàng dưới dạng session và tìm kiếm thông tin tương ứng trong cơ sở dữ liệu để hiển thị giỏ hàng với đầy đủ thông tin cần thiết.
Các yêu cầu đặt biệt
Điều kiện hoàn tất Đƣa sản phẩm vào trong giỏ hàng
Sửa số lƣợng sản phẩm có trong giỏ hàng
2.3.3 Sửa số lƣợng trong giỏ hàng
Use-case cho phép actor cập nhật lại số luowngjmua của một sản phẩm trong giỏ hàng của mình
Khách hàng là actor của use-case này
Use-case bắt đầu khi actor lựa chọn lại số lƣợng trong select có trong giỏ hàng ứng với từng sản phẩm
Các yêu cầu đặt biệt
Giỏ hàng phải tồn tại
Có sản phẩm trong giỏ hàng
Tất cả các sản phẩm tìm đƣợc phải đƣợc hiện thị
Use-case cho phép actor đăng ký để trở thành thành viên của cửa hàng
Khách hàng là actor của use-case này
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 23
Use-case bắt đầu khi actor chọn chức năng đăng ký thành viên
Diễn viên chọn chức năng đăng ký thành viên, sau đó hệ thống sẽ hiển thị mục đăng ký Diễn viên điền đầy đủ thông tin theo yêu cầu của hệ thống và nhấn nút “đăng ký” để hoàn tất quá trình.
Use-case này cho phép actor đăng nhập vào hệ thống với vai trò là khách hàng
Khách hàng là actor của use-case này
Use-case bắt đầu khi actor chức năng đăng nhập vào hệ thống với vai trò khách hàng
Trong quy trình đăng nhập, người dùng chọn chức năng đăng nhập và hệ thống hiển thị form yêu cầu tên đăng nhập và mật khẩu Sau khi nhập thông tin, người dùng nhấn nút “đăng nhập” Hệ thống sẽ kiểm tra tính hợp lệ của tên đăng nhập và mật khẩu; nếu thông tin chính xác, người dùng sẽ được phép đăng nhập với vai trò khách hàng Ngược lại, nếu thông tin không đúng, hệ thống sẽ thông báo lỗi.
Các yêu cầu đặt biệt
Hệ thống thông báo việc đăng nhập thành công hay thất bại
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 24
Use-case chp phép actor tạo ra đơn hàng
Khách hàng là actor của use-case này
Khi actor chọn "Tiến hành thanh toán", hệ thống sẽ hiển thị một biểu mẫu yêu cầu nhập thông tin cá nhân Actor cần điền các thông tin cần thiết như tên đăng nhập, họ và tên, địa chỉ, và sau đó nhấn nút "Thanh toán" để hoàn tất quy trình.
Khi actor chọn thanh toán, hệ thống sẽ xác nhận thông tin từ session về giỏ hàng và khách hàng, lưu trữ các thông tin đơn đặt hàng và người mua vào cơ sở dữ liệu Hệ thống tạo đơn đặt hàng tương ứng với các sản phẩm trong giỏ hàng và lưu thông tin đó Nếu actor chọn thoát, use-case sẽ kết thúc Actor có thể xem giỏ hàng để xác nhận thông tin sản phẩm và chỉnh sửa số lượng mua của các sản phẩm Nếu thông tin người nhận không đầy đủ, hệ thống sẽ thông báo lỗi và yêu cầu actor nhập đầy đủ trước khi nhấn nút “thanh toán” Thông tin của người nhận sẽ được hệ thống xác định và chuyển lên form.
Các yêu cầu đặt biệt
Actor phải đăng nhập vào hệ thống với vai trò là khách hàng của cửa hàng
Hệ thống phải hiện thông báo thành công hay thất bại
Giảm sản phẩm có trong giỏ hàng,
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 25
Giảm tổng tiền khi giảm đƣợc số lƣợng sản phẩm
Use-case cho phép actor xem tất cả các sản phẩm có trong danh mục
Khách hàng là actor của use-case này
Use-case bắt đầu khi actor chọn một hãng điện thoại trong cửa hàng
Trong dòng sự kiện chính, actor bắt đầu bằng cách chọn một hãng điện thoại Hệ thống sau đó lấy mã danh mục tương ứng với hãng điện thoại mà actor đã chọn Tiếp theo, hệ thống hiển thị các sản phẩm thuộc hãng điện thoại đó Actor sẽ chọn một sản phẩm mà mình quan tâm, và hệ thống sẽ xác định sản phẩm được chọn Sau đó, hệ thống lấy các sản phẩm thuộc hãng điện thoại đang được chọn và hiển thị tất cả các sản phẩm của các hãng điện thoại mà actor đang xem xét.
Các yêu cầu đặt biệt
Hiện thị tất cả các sản phẩm mà actor chọn theo từng danh mục
Xem chi tiết sản phẩm
Bỏ sản phẩm vào giỏ hàng
2.3.8 Xem chi tiết sản phẩm
Use-case cho phép actor xem thông tin chi tiết sản phẩm mà khách hàng quan tâm có trong danh mục
Khách hàng là actor của use-case này
Use-case bắt đầu khi actor chọn một sản phẩm có trong danh mục
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 26, đã chọn một sản phẩm từ danh mục Hệ thống sẽ lưu lại mã sản phẩm đã chọn và tra cứu các thông tin tương ứng trong cơ sở dữ liệu.
Các yêu cầu đặt biệt
Hiện thị thông tin liên quan đến sản phẩm mà actor đã chọn
Use-case cho phép actor đăng nhập vào hệ thống với vai trò là người quản trị
Người quản trị là actor của use-case này
Use-case bắt đầu khi actor chọn đăng nhập với vai trò là người quản trị
Để đăng nhập vào hệ thống với vai trò quản trị, người dùng cần chọn chức năng "Đăng nhập" Hệ thống sẽ hiển thị một biểu mẫu yêu cầu nhập tên đăng nhập và mật khẩu Sau khi điền thông tin, người dùng nhấn nút "đăng nhập" Hệ thống sẽ kiểm tra tính chính xác của tên đăng nhập và mật khẩu, và nếu đúng, người dùng sẽ được phép truy cập vào hệ thống.
Nếu actor nhập tên và mật khẩu không đúng thì hệ thống sẽ hiện thông báo lỗi
Các yêu cầu đặt biệt
Hệ thống thông báo việc đăng nhập thành công hay thất bại
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 27
Use-case cho phép actor xem, thêm, sửa, xóa các hãng điện thoại di động
Người quản trị là actor của use-case này
Use-case bắt đầu sau khi actor đăng nhập, chọn chức năng quản lý sản phẩm
Hệ thống hiện thị các hãng điện thoại cung cấp nhiều chức năng hỗ trợ cho người dùng Người dùng có thể thêm hãng điện thoại mới bằng cách nhập thông tin và chọn “Thêm mới” Để xóa một hãng điện thoại, người dùng chỉ cần chọn hãng cần xóa và nhấn nút xóa Ngoài ra, hệ thống cũng cho phép cập nhật thông tin của hãng điện thoại bằng cách chọn hãng cần sửa, nhập thông tin mới và chọn “sửa” Tất cả các thay đổi sẽ được cập nhật vào cơ sở dữ liệu của hệ thống.
Người quản trị phải đăng nhập vào hệ thống
Use-case cho phép actor xem, thêm, sửa, xóa các sản phẩm của các hãng điện thoại di động
Người quản trị là actor của use-case này
Use-case bắt đầu sau khi actor đăng nhập, chọn chức năng quản lý sản phẩm
Dòng sự kiện chính o Hệ thống hiện thị các sản phẩm của các hãng điện thoại
Nguyễn Thị Ban, sinh viên lớp 53K1 thuộc Khoa CNTT 28, đã phát triển một hệ thống hỗ trợ cho người dùng (actor) trong việc duyệt sản phẩm và cập nhật thông tin vào cơ sở dữ liệu Hệ thống này cho phép người dùng xóa sản phẩm, và khi được chọn, sản phẩm sẽ được xóa khỏi cơ sở dữ liệu một cách hiệu quả.
Các yêu cầu đặt biệt
Người quản trị phải đăng nhập vào hệ thống
2.3.12 Quản lý nhà cung cấp
Use-case này cho phép actor xem, thêm, xóa, cập nhật các nhà cung cấp điện thoại di động
Người quản trị là actor của user-case này
Use-case bắt đầu sau khi actor đăng nhập, chọn chức năng quản lý nhà cung cấp
Dòng sự kiện chính o Hệ thống hiện thị tên các nhà cunng cấp của các hãng điện thoại o Hệ thống hỗ trợ actor các chức năng:
Thêm nhà cung cấp: actor click nút “thêm mới”
Xóa nhà cung cấp: actor chọn nhà cung cấp cần xóa và click
Để cập nhật thông tin nhà cung cấp, người dùng cần chọn nhà cung cấp muốn sửa đổi, nhấn “sửa”, nhập thông tin cần thay đổi và sau đó chọn “lưu lại” Hệ thống sẽ tự động cập nhật thông tin nhà cung cấp vào cơ sở dữ liệu.
Các yêu cầu đặt biệt
Người quản trị phải đăng nhập vào hệ thống
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 29
Thiết kế cơ sở dữ liệu
SanPham (MaSanPhan, TenSanPham, GiaSanPham, HinhAnhSanPham, ManHinh, CameraTruocSau, Ram, Rom, DungLuongPin, SoSim, MaDanhMuc, MaNCC, SoLuongTon, DanhGia)
SanPhamKhuyenMai (MaKM, MaSanpham, NgayBatDau, NgayKetThuc, GiamGia, GhiChu)
ThanhToan (MaTT, TenDangNhap, DienThoai, DiaChi, HinhThucTT, ThoiGianGiao, TongTien)
ThanhVien (TenDangNhap, MatKhau, HoTen, Email, Loai)
2.4.2 Mô tả các mối kết hợp
Thể hiện sự quan hệ ngữ nghĩa giữa những thực thể ở ít nhất 2 loại thực thể khác nhau:
Mối kết hợp: DanhMuc và SanPham
Một danh mục có thể có 1 hoặc nhiều sản phẩm
Một sản phẩm chỉ thuộc 1 danh mục
Mối kết hơp: NhaCungCap và SanPham
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 30
Một nhà cung cấp có thể có 1 hoặc nhiều sản phẩm
Một sản phẩm chỉ thuộc 1 nhà cung cấp
Mối kết hơp: ThanhVien và DonDatHang
Một thành viên có thể có 1 hoặc nhiều đơn đặt hàng
Một đơn đặt hàng chỉ thuộc 1 thành viên
Mối kết hơp: ChiTietDonDatHang và SanPham
Một chi tiết đơn đặt hàng có thể có 1 hoặc nhiều sản phẩm
Một sản phẩm chỉ thuộc 1 chi tiết đơn đặt hàng
Mối kết hơp: ThanhVien và ThanhToan
Một thành viên có và chỉ 1 đơn thanh toán
Một thanh toán chỉ có 1 thành viên khách hàng
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 31
2.4.3 Mô tả chi tiết các bảng
Bảng chứa thông tin về các hãng điện thoại
Vùng Kiểu dữ liệu Kích thước Diễn giải Ràng buộc
MaDanhMuc Int 4 Mã danh mục Khóa chính
TenDanhMuc Nvarchar 100 Tên hãng điện thoại
MoTaDanhMuc Nvarchar 1000 Mô tả chi tiết về hãng điện thoại
Bảng chứa thông tin các nhà cung cấp
Vùng Kiểu dữ liệu Kích thước Diễn giải Ràng buộc
MaNCC Int 4 Mã nhà cung cấp
TenNCC Nvarchar 100 Tên nhà cung cấp điện thoại
GhiChu Nvarchar 1000 Mô tả chi tiết về nhà cung cấp
Bảng chứa thông tin về các sản phẩm
Vùng Kiểu dữ liệu Kích thước Diễn giải Ràng buộc
MaSanpham Int 4 Mã sản phẩm Khóa chính
TenSanPham Nvarchar 100 Tên sản phẩm
GiaSanPham Money Giá sản phẩm
HinhAnhSan Nvarchar 100 Hình ảnh sản
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 32
ManHinh Nvarchar 50 Mô tả màn hình điện thoại
Mô tả camera trước/sau điện thoại
Ram Nvarchar 50 Dung lƣợng ram của máy
Rom Nvarchar 50 Dung lƣợng rom của máy
DungLuongPin Nvarchar 50 Dung lƣợng pin của máy
SoSim Nvarchar 50 Số sim của máy
Mã danh mục (thuộc hãng điện thoại nào?)
Mã nhà cung cấp (thuộc nhà cung cấp nào?)
SoLuongTon Int 4 Số lƣợng còn trong kho
DanhGia Int 4 Dánh giá của khách hàng
Bảng chứa thông tin chi tiết về sản phẩm khuyến mãi
Vùng Kiểu dữ liệu Kích thước Diễn giải Ràng buộc
MaKM Int 4 Mã sản phẩm khuyến mãi
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 33
MaSanpham Int 4 Mã sản phẩm Khóa ngoại
NgayBatDau Datetime Ngày bắt đầu khuyến mãi
NgayKetThuc Datetime Ngày kết thúc khuyến mãi
GiamGia Money Giá giảm của sản phẩm
GhiChu Nvarchar 1000 Mô tả các yếu tố liên quan
Chi tiết đơn đặt hàng:
Bảng chứa thông tin chi tiết đơn đặt hàng của khách hàng
Vùng Kiểu dữ liệu Kích thước Diễn giải Ràng buộc
MaTT Int 4 Mã thanh toán Khóa chính
MaSanPham Int 4 Mã sản phẩm Khóa chính
SoLuong Int 4 Số lƣợng mua
Bảng chứa thông tin về các loại thành viên của cửa hàng
Vùng Kiểu dữ liệu Kích thước Diễn giải Ràng buộc
TenDangNhap Nvarchar 50 Tên đăng nhập khách hàng
MatKhau Nvarchar 50 Mật khẩu tương ứng
HoTen Nvarchar 100 Họ và tên khách hàng
Email Nvarchar 100 Email khách hàng
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 34
Loai Nvarchar 50 Quản trị hay khách hàng
Bảng chứa thông tin về chi tiết thanh toán, đơn đặt hàng của khách hàng
Vùng Kiểu dữ liệu Kích thước Diễn giải Ràng buộc
MaTT Int 4 Mã thanh toán Khóa chính
TenDangNhap Nvarchar 50 Tên đăng nhập khách hàng
DienThoai Nvarchar 50 Điện thoại khách hàng
DiaChi Nvarchar 100 Địa chỉ khách hàng
HinhThucTT Nvarchar 50 Hình thức thanh toán
ThoiGianGiao Datetime Thời gian giao hàng
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 35
2.4.4 Sơ đồ quan hệ dữ liệu giữa các bảng
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 36
GIAO DIỆN CHÍNH CỦA WEBSITE BÁN ĐIỆN THOẠI
Trang chủ
Khi người dùng vào cửa hàng, trang đầu tiên được mở ra là trang chủ:
Tại đây sẽ hiện thị lên tất cả các sản phẩm mà cửa hàng có
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 37
Trang sản phẩm theo hãng điện thoại
Khi người dùng muốn xem các sản phẩm diện thoại theo hãng điện thoại của cửa hàng thì click vào từng danh mục sản phẩm.
Tại đây, website sẽ hiện thị các sản phẩn mới nhất mà cửa hàng nhập về và sản phẩm hot nhất trên thị trường hiện nay.
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 38
Trang sản phẩm khuyến mãi theo hãng điện thoại
Khách hàng muốn xem sản phẩm nào của hãng nào đƣợc khuyễn mãi click vào từng danh mục của sản phẩm khuyến mãi.
Tại đây, sẽ hiện thị những sản phẩm đƣợc khuyến mãi theo từng hãng điện thoại.
Hiện thị ngày bắt đầu khuyến mãi và ngày kết thúc khuyến mãi sản phẩm đó.
Hiện thị số tiền giảm của sản phẩm.
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 39
Trang chi tiết sản phẩm
Khi khách hàng muốn xem chi tiết sản phẩm, khách hàng click vào sản phẩm đó
Tại đây, sẽ hiện thị các thông tin liên quan đến sản phẩm nhƣ: hình ảnh sản phẩm, tên sản phẩm, giá bán, thương hiệu,…
Đồng thời, hiện thị các sản phẩm liên quan với sản phẩm đƣợc xem.
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 40
Trang giỏ hàng
Trang giỏ hàng sẽ bao gồn các sản phẩm mà khách hàng đã chọn mua.
Khi sản phẩm đƣợc đƣa vào giỏ hàng, khách hàng có thể tăng hoặc giảm số lƣợng sản phẩm mà khách hàng đã chọn.
Khách hàng cũng có thể xóa sản phẩm nếu không có nhu cầu mua nữa.
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 41
Trang thanh toán
Khi khách hàng đã chọn xong những sản phẩm và bắt đầu tiến hành đặt hàng chọn “Tiến hành đặt hàng”
Tại trang này, khách hàng đƣợc xem lại các sản phẩm mà khách hàng đã chọn, cùng với tổng giá tiền phải trả
Khách hàng sẽ phải điền đầy đủ các thông tin liên quan đến khách hàng để bắt đầu đặt hàng
Nguyễn Thị Ban - Lớp 53K1 - Khoa CNTT 42