Và với sự phát triển mạnh mẽ của xã hội của thương mại điện tử thì nhu cầu đáp ứng cho cuộc sống ngày một nhiều, và những trang web mua hàng giúp chúng ta tiết kiệm nhiều thời gian trong
Tổng quan
Lý do chọn đề tài
- Trên thực tế hiện nay, xu hướng mua hàng online thông qua các trang web là vô cùng phổ biến và ngày một phát triển mạnh mẽ vì sự thuận tiện mà nó đem lại Và với sự phát triển mạnh mẽ của xã hội của thương mại điện tử thì nhu cầu đáp ứng cho cuộc sống ngày một nhiều, và những trang web mua hàng giúp chúng ta tiết kiệm nhiều thời gian trong việc di chuyển và chúng ta thấy tỉ lệ phát triển thương mại điện tử này sẽ ngày càng được tăng cao hơn trong tương lai.
- Hiê ̣n nay, đại dịch Covid-19 cùng những yêu cầu về giãn cách, phong tỏa, hạn chế tiếp xúc đã làm cho nhiều doanh nghiệp và người tiêu dùng lại càng quan tâm đến viê ̣c mua sắm trực tuyến hơn bao giờ hết và kéo theo đó là sự phát triển của Internet, các thiết bị điện tử thông minh thì chúng ta có thể truy cập mạng ở bất cứ đâu và bất cứ thời điểm nào Đó chính là cơ hội vàng cho các doanh nghiệp uy tín phát triển rộng rãi ảnh hưởng của mình, khẳng định vị thế trên môi trường thương mại điện tử.
- Trong đó vấn đề thường gă ̣p phải khi mua hàng trực tiếp: o Quá nhiều mă ̣t hàng, khó kiểm soát. o Đôi khi, khách hàng không muốn đến của hàng vì tình hình dịch Covid -19 đang cực kì căng thẳng. o Quá trình mua hàng thanh toán châ ̣m, mất thời gian khi đông khách. o Cũng như ở nhiều cửa hàng không có kênh quảng bá và giới thiê ̣u sản phẩm đến khách hàng tiềm năng.
Chính vì vậy, nhóm 5 quyết định lựa chọn đề tài “Xây website kinh doanh đồ nội thất” nhằm xây dựng một hệ thống thương mại giúp các chủ cửa hàng nội thất tận dụng lợi thế của công nghệ thông tin vào kinh doanh.
Giải pháp
2.1.1 Công cụ sử dụng: Laravel PHP framework
- Laravel là một PHP framework, có mã nguồn mở và miễn phí, , được tạo bởi Taylor Otwell và dành cho việc phát triển các ứng dụng web theo mô hình kiến trúc mô hình MVC và dựa trên Symfony PHP framework.
- Mã nguồn của Laravel được lưu trữ trên GitHub và được cấp phép theo các điều khoản của giấy phép MIT.
- Phiên bản đầu tiên của Laravel được Taylor Otwell tạo ra vào tháng 6 năm 2011 như một giải pháp thay thế cho CodeIgniter.
- Với framework này, lập trình viên được hỗ trợ nhiều tính năng mới mẻ, hiệu quả và dễ thực hiện hơn Cho đến nay, Laravel đã được phát triển đến phiên bản 5.8 với nhiều cải tiến mới mẻ hơn.
- Ưu điểm: o Sử dụng các tính năng mới nhất của PHP: Sử dụng Laravel 5 giúp các lập trình viên tiếp cận những tính năng mới nhất mà PHP cung cấp, nhất là đối với Namespaces, Interfaces, Overloading, Anonymous functions và Shorter array syntax. o Nguồn tài nguyên vô cùng lớn và sẵn có: Nguồn tài nguyên của Laravel rất thân thiện với các lập trình viên với đa dạng tài liệu khác nhau để tham khảo Các phiên bản được phát hành đều có nguồn tài liệu phù hợp với ứng dụng của mình. o Tích hợp với dịch vụ Mail : Lavarel là framework được trang bị
API sạch trên thư viện SwiftMailer, do đó, bạn có thể gửi thư qua các dịch vụ dựa trên nền tảng đám mây hoặc local. o Tốc độ xử lý nhanh: Laravel hỗ trợ hiệu quả cho việc tạo lập website hay các dự án lớn trong thời gian ngắn Vì vậy, nó được các công ty công nghệ và lập trình viên sử dụng rộng rãi để phát triển các sản phẩm của họ o Dễ sử dụng: Laravel được đón nhận và trở nên sử dụng phổ biến vì nó rất dễ sử dụng Thường chỉ mất vài giờ, bạn có thể bắt đầu thực hiện một dự án nhỏ với vốn kiến thức cơ bản nhất về lập trình với PHP o Tính bảo mật cao:
Laravel cung cấp sẵn cho người dùng các tính năng bảo mật mạnh mẽ để người dùng hoàn toàn tập trung vào việc phát triển sản phẩm của mình:
Sử dụng PDO để chống lại tấn công SQL Injection.
Sử dụng một field token ẩn để chống lại tấn công kiểu CSRF.
Các biến đều được Laravel mặc định escape ra view, do đó có thể tránh được tấn công XSS
- Nhược điểm: o So với các PHP framework khác, Laravel bộc lộ khá ít nhược điểm.Vấn đề lớn nhất có thể kể đến của framework này là thiếu sự liên kết giữa các phiên bản, nếu cố cập nhật code, có thể khiến cho ứng dụng bị gián đoạn hoặc phá vỡ. o Bên cạnh đó, Lavarel cũng quá nặng cho ứng dụng di động, khiến việc tải trang trở nên chậm chạp. o Không hỗ trợ tính năng thanh toán.
- Laravel là một web application framework của PHP Được đánh giá là một trong những Framework có cú pháp đẹp, ngắn gọn và dễ nhớ nhất trong các PHP Framework
- Laravel cung cấp cho bạn một kiến trúc tốt để bạn có thể bắt đầu project của mình mà không cần phải thay đổi, chỉnh sửa thêm.
- Trải qua nhiều version khác nhau, Laravel ngày càng chứng minh được những nỗ lực của mình trong việc cố gắng đem lại cho lập trình viên những trải nghiệm tốt nhất.
2.2 Hệ quản trị cơ sở dữ liệu (DBMS)
- DBMS Nhóm sử dụng: MySQL Community Server
- MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (gọi tắt là
RDBMS) hoạt động theo mô hình client-server Với RDBMS là viết tắt của Relational Database Management System MySQL được tích hợp apache, PHP MySQL quản lý dữ liệu thông qua các cơ sở dữ liệu Mỗi cơ sở dữ liệu có thể có nhiều bảng quan hệ chứa dữ liệu MySQL cũng có cùng một cách truy xuất và mã lệnh tương tự với ngôn ngữ SQL MySQL được phát hành từ thập niên 90s.
- Ưu điểm: o Dễ sử dụng : MySQL là cơ sở dữ liệu tốc độ cao, ổn định, dễ sử dụng và hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh. o Độ bảo mật cao : MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên Internet khi sở hữu nhiều nhiều tính năng bảo mật thậm chí là ở cấp cao. o Đa tính năng : MySQL hỗ trợ rất nhiều chức năng SQL được mong chờ từ một hệ quản trị cơ sở dữ liệu quan hệ cả trực tiếp lẫn gián tiếp. o Khả năng mở rộng và mạnh mẽ : MySQL có thể xử lý rất nhiều dữ liệu và hơn thế nữa nó có thể được mở rộng nếu cần thiết. o Nhanh chóng : Việc đưa ra một số tiêu chuẩn cho phép MySQL để làm việc rất hiệu quả và tiết kiệm chi phí, do đó nó làm tăng tốc độ thực thi.
- Nhược điểm: o Giới hạn: Theo thiết kế, MySQL không có ý định làm tất cả và nó đi kèm với các hạn chế về chức năng mà một vào ứng dụng có thể cần. o Độ tin cậy: Cách các chức năng cụ thể được xử lý với MySQL (ví dụ tài liệu tham khảo, các giao dịch, kiểm toán, …) làm cho nó kém tin cậy hơn so với một số hệ quản trị cơ sở dữ liệu quan hệ khác. o Dung lượng hạn chế: Nếu số bản ghi của bạn lớn dần lên thì việc truy xuất dữ liệu của bạn là khá khó khăn, khi đó chúng ta sẽ phải áp dụng nhiều biện pháp để tăng tốc độ truy xuất dữ liệu như là chia tải database này ra nhiều server, hoặc tạo cache MySQL
- Server hosting mà nhóm sử dụng: Heroku
- Heroku là một nền tảng điện toán đám mây được phát triển từ công ty cùng tên Nó cho phép các doanh nghiệp, cá nhân xây dựng, quản lý và triển khai ứng dụng hiện đại Mục đích hoạt động của Heroku là rút ngắn và đơn giản hóa các quy trình khi khách hàng muốn đưa ứng dụng của họ ra thị trường Không cần code thêm, không cần cài đặt máy chủ và cũng không cần để ý đến webserver, khách hàng chỉ cần upload ứng dụng và tiến hành triển khai nó Heroku tự động thực hiện hầu hết những quy trình cần thiết để đưa vào hoạt động một phần mềm Việc của khách hàng chỉ là triển khai phần mềm đó và mở rộng, cải tiến thêm.
- Heroku hỗ trợ hầu hết các ngôn ngữ lập trình được sử dụng hiện nay, từ những loại phổ biến như NodeJS, Ruby, Python, PHP, Java, Scala,
Clojure, Go, Kotlin… cho đến cả Postgresql database hiếm thấy.
- Cả Heroku và các ứng dụng của khách hàng đều được lưu trữ trên
Amazon Web Services Nếu muốn sử dụng đầy đủ các dịch vụ của
Heroku, khách hàng cần phải chi trả các khoản phí thường niên Và tất nhiên giá cả rẻ hơn rất nhiều so với việc bạn xây dựng một website hoàn toàn mới cho phần mềm của mình.
- Ưu điểm: o Các thao tác trên Heroku đều diễn ra nhanh chóng và có độ bảo mật an toàn rất cao Người dùng có thể yên tâm phát triển ứng dụng mà không cần bị phân tán sự chú ý đến những lĩnh vực khác. o Heroku tồn tại như một hệ sinh thái với đủ loại tài nguyên và chức năng khác nhau Tính đa dạng đầu tiên của nó thể hiện ở kho ngôn ngữ lập trình đồ sộ Heroku có thể hoạt động trơn tru với tất cả những ngôn ngữ lập trình phổ biến nhất như Nodejs, Ruby, PHP, Python hay Java. o Heroku sở hữu một list Add on vô cùng rộng lớn, bao gồm cả miễn phí và trả phí Dù vậy, những tính năng này chắc chắn sẽ đem lại lợi ích rất lớn cho người dùng Bằng hiệu năng mạnh mẽ và tốc độ nhanh chóng, Add on của Heroku sẽ thay bạn xử lý rất nhiều thao tác phức tạp. o Database miễn phí hoàn toàn o Hỗ trợ công việc nhóm hiệu quả o Dễ dàng liên kết với Github đơn giản o Phiên bản Heroku Connect cho phép người dùng đồng bộ 2 chiều salesforce Từ đó bạn có thể dễ dàng đưa ra những phân tích đánh giá khách quan về khách hàng của mình.
- Nhược điểm: o Một nhược điểm có thể kể đến khi sử dụng Heroku đó chính là sử dụng được miễn phí 550 giờ/tháng Bạn cũng có thể tăng số giờ lên đến 1000 giờ/tháng qua việc trả phí, số giờ này đủ cho việc chạy một blog cá nhân mượt mà. o Từ 2 - 3 giờ, nếu server không có người truy cập lúc này nó sẽ tự động chuyển qua trạng thái ngủ.
Phân tích, thiết kế
Khảo sát yêu cầu
- Tìm hiểu được cách thức hoạt động của website Luxury Shop: o Lượng truy cập. o Hiệu suất. o Cách thức sử dụng đối với admin và user.
- Tìm hiểu cách thức hoạt động của Luxury Shop: o Cách các nhân viên xử lý khi nhận được thông báo đặt hàng.
- Tìm hiểu thông tin về các sản phẩm được giao bán: o Thông tin sản phẩm được giao bán. o Số lượng sản phẩm còn, sản phẩm đang hot …
- Tìm kiếm thông tin trên internet
- Cửa hàng nội thất Luxury Shop
1.2.1 Tổng quát về Luxury Shop
- Luxury Shop – Địa điểm cung cấp nội thất lớn số 1 Hà Nội Trải qua 30 năm hình thành và phát triển, Luxury Shop đã dần khẳng định vị trí hàng đầu trong ngành Sản phẩm được nhiều khách hàng đón nhận và tin tưởng Đến với Luxury Shop như là đến với thiên đường mua sắm, nơi đây hội tụ tất cả các phong cách từ Châu Á đến Châu Âu với nguồn gốc được nhập khẩu và phân phối tại các nước lớn trên thế giới, những thương hiệu hàng đầu Không những sản phẩm chất lượng tuyệt vời mà dịch vụ chăm sóc khách hàng cũng không thể bàn cãi, đội ngũ nhân viên nhanh nhẹn, nhiệt tình và chuyên nghiệp.
1.2.2 Quy trình quản lý của Luxury Shop
- Phía người dùng: o Đầu tiên, khi truy cập vào trang web của Luxury, người dùng không cần đăng nhập mà vẫn có thể xem được các sản phẩm đang hot, mới và giảm giá đang được bán tại trang web. o Người dùng có thể xem được sản phẩm theo danh mục, theo bộ sưu tập bằng cách ấn vào tên của danh mục và bộ sưu tập mình muốn xem hoặc truy cập vào menu -> Cửa hàng để hiển thị rõ ràng tất cả danh mục, bộ sưu tập và bộ lọc giá. o Người dùng cũng có thể xem các blog về thời trang decor được viết bằng cách chọn trên menu -> Blog. o Người dùng cũng có thể xem thông tin liên hệ và thông tin cơ bản về Shop bằng cách chọn trên menu -> Về chúng tôi. o Người dùng có thể xem chi tiết từng sản phẩm bằng cách ấn xem nút xem chi tiết hiển thị trên từng sản phẩm và tại đó người dùng có thể xem thông tin chi tiết sản phẩm mình vừa chọn, có thể để lại các bình luận (sử dụng liên kết với facebook mặc dù không đăng nhập vào trang web) và có thể thêm sản phẩm vào giỏ hàng. o Khi ấn vào xem giỏ hàng thì người dùng có thể thực hiện các tác vụ thêm, sửa, xóa sản phân trong phần giỏ hàng một cách dễ dàng
Và nếu khi đã vừa ý ấn thanh toán nếu chưa đăng nhập, người dùng phải đăng nhập vào trang web mới có thể đặt mua hàng thành công. o Nếu chưa có tài khoản, người dùng có thể lựa chọn đăng kí khi thông báo hiện lên hoặc có thể đăng kí từ bên trên thanh menu. o Sau khi đăng nhập và lựa chọn hình thức thanh toán, nếu lựa chọn là banking thì người dùng sẽ được điều hướng đến phần mềm thanh toán của mình và tiến hành thanh toán cho đơn hàng -> Đặt hàng thành công. o Nếu lựa chọn thanh toán là COD -> Đặt hàng thành công và tiến hành thanh toán khi nhận hàng trực tiếp với shipper.
- Phía người quản trị: o Người quản trị cần đăng nhập vào trang web nhưng sẽ có giao diện quản lý khác với người dùng, từ đây người quản trị có thể nhận được thông báo về đơn hàng vừa được đặt. o Người quản trị tiếp nhận đơn, liên hệ với bên kho để sắp xếp sản phẩm và gửi cho khách hàng một cách nhanh nhất. o Ngoài ra người quản trị có thể thực hiện các tác vụ thêm, sửa, xóa đối với các mục sản phẩm, danh mục, bộ sưu tập, người dùng, … hoặc có thể hủy các đơn hàng và hoàn trả lại tiền cho khách hàng. o Tài khoản của người quản trị cũng có thể sử dụng như một khách hàng bình thường và có thể thực hiện các tác vụ của khách hàng. 1.3 Xác định yêu cầu chức năng
- Giúp khách hàng xem và tìm kiếm sản phẩm theo tên, danh mục, chủ đề,
- Cung cấp cho phía bán các thông tin về khách hàng đặt mua như địa chỉ và phương thức thanh toán, phương thức vận chuyển.
- Người dùng có thể đăng bài quảng bá sản phẩm, đánh giá và nhận xét sản phẩm
- Thống kê các sản phẩm, thiết kế bán chạy, được ưa chuộng, các bài viết tư vấn thiết kế được truy cập nhiều nhất.
- Hỗ trợ phía bán cập nhật thông tin hàng, xác nhận đơn hàng, tiến hành xử lý đơn hàng.
- Hỗ trợ chức năng đăng ký, đăng nhập, khôi phục mật khẩu cho người dùng
- Hỗ trợ quản lý thông tin của người dùng (người bán, người mua) dựa trên tài khoản.
- Hỗ trợ chức năng quản trị hệ thống trong đó người quản trị chung có thể thay đổi thông tin.
- Hỗ trợ chức năng giỏ hàng cho phép khách hàng đặt mua hàng và thanh toán.
1.4 Xác định yêu cầu phi chức năng
- Hệ thống triển khai theo dạng website trên Internet.
- Hệ thống bảo mật thông tin người dùng cao.
- Thông tin phải chính xác, khách quan, thông tin về quá trình xử lý đơn hàng sẽ được thông báo cho cả người bán và người mua.
- Giao diện thân thiện và dễ sử dụng.
Phân tích thiết kế OOAD
- Mô hình hóa chức năng
STT Tên Actor Mô tả
Là người tác động vào hệ thống, có quyền quản lý hệ thống
Là người tác động vào hệ thống, sử dụng các chức năng của hệ thống như đặt hàng, thanh toán
Hình 2.1: Quan hệ kế thừa giữa Quản lí và Khách hàng
Hình 2.2: Biểu đồ Use case tổng quát
2.3.1 Usecase Đăng ký, Đăng nhập
Hình 2.8: Use case Đăng ký, Đăng nhập
Tên use case Đăng ký
Tóm tắt Giúp người dùng đăng ký tài khoản mới
Tiền điều kiện -Thiết bị của người dùng được kết nối internet.
-Người dùng truy cập vào trang web. Đảm bảo tối thiểu Thông báo lỗi và yêu cầu nhập lại dữ liệu. Đảm bảo thành công
Người dùng đăng ký thành công, tài khoản được thêm vào csdl.
Kích hoạt Người dùng chọn chức năng đăng ký.
1 Người dùng click vào nút “Tạo tài khoản” Hệ thống hiển thị lên 1 form để lấy dữ liệu khách hàng gồm Họ và tên, email, số điện thoại, mật khẩu, nhập lại mật khẩu.
2 Người dùng nhập thông tin của mình vào các ô gôm Họ và tên, email, số điện thoại, mật khẩu, nhập lại mật khẩu, sau đó click vào nút “Đăng ký”
3 Hệ thống xác thực dữ liệu thành công.
4 Hệ thống lưu lại dữ liệu khách hàng vào trong cơ sở dữ liệu và chuyển hướng đến màn hình đăng nhập.
3a: Hệ thống báo email đã tồn tại
3.a.1: Hệ thống yêu cầu nhập lại email.
3.a.2: Người dùng nhập lại email.
3b: Hệ thống báo số điện thoại đã được đăng ký.
3b.1: Hệ thống yêu cầu nhập lại số điện thoại.
3b.2: Người dùng nhập lại số điện thoại.
Tại bất kì bước nào nếu bị mất kết nối tới server sẽ tự động thoát khỏi chức năng và quay lại giao diện trước đó.
Hậu điều kiện: Không có.
Tên use case Đăng nhập
Tóm tắt Use case này cho phép người dùng đăng nhập vào hệ thống.
Khách hàng, quản líTiền điều kiện - Người dùng đã đăng ký tài khoản thành công.
-Thiết bị của khách hàng được kết nối internet. Đảm bảo tối thiểu Thông báo lỗi và quay lại bước trước. Đảm bảo thành công Người dùng đăng nhập thành công.
Kích hoạt Người dùng chọn chức năng đăng nhập
1 Hệ thống hiển thị giao diện đăng nhập.
2 Người dùng nhập dữ liệu vào form đăng nhập và click “Đăng nhập”.
3 Hệ thống xác thực dữ liệu thành công và cho phép người dùng truy cập.
4 Hệ thống ghi nhận hoạt động đăng nhập.
5 Người dùng thoát khỏi chức năng đăng nhập và chuyển hướng đến trang chủ.
Tại bất kì bước nào nếu bị mất kết nối tới server sẽ tự động thoát khỏi chức năng và quay lại giao diện trước đó.
Hậu điều kiện: Không có.
2.3.2 Usecase Quản lý sản phẩm
Hình 2.9: Use case Quản lý sản phẩm
Tên use case Quản Lý Sản Phẩm
Người chịu trách nhiệm Admin
Tiền điều kiện Đã đăng nhập thành công Đảm bảo tối thiểu Thông báo lỗi và quay lại bước trước. Đảm bảo thành công Thông tin bảng SANPHAM sẽ được thay đổi trong csdl.
Kích hoạt Admin click vào chức năng quản lý sản phẩm.
1 Admin click vào nút “Quản lý sản phẩm” trên thanh menu Hệ thống lấy thông tin chi tiết các sản phẩm từ cơ sở dữ liệu và hiển thị lên màn hình.
2 Admin chọn chức năng muốn sử dụng.
2.1 Admin chọn chức năng thêm sản phẩm.
2.1.1 Admin click vào nút “Thêm sản phẩm” hệ thống hiển thị các textbox yêu cầu nhập thông tin sản phẩm mới gồm mã sản phẩm, tên sản phẩm, đơn giá, số lượng có.
2.1.2 Admin nhập thông tin sản phẩm mói và click nút “Thêm”
Hệ thống sẽ tạo 1 bản ghi mới trong bảng SANPHAM và hiển thị lại thông tin bảng SANPHAM sau khi thêm.
2.2 Admin chọn chức năng sửa thông tin sản phẩm.
2.2.1 Admin click vào nút “Sửa sản phẩm”, hệ thống hiển thị lên
1 màn hình gồm thông tin hiện tại của sản phẩm.
2.2.2 Admin sửa thông tin sản phẩm và click nút “Cập nhật” Hệ thống sẽ cập nhập nhật thông tin sản phẩm trong bảng SANPHAM và hiển thị lại thông tin bảng SANPHAM sau khi sửa.
2.3 Admin chọn chức năng xóa sản phẩm.
2.3.1 Admin click nút “Xóa”, hệ thống hiển thị lên màn hình một xác nhận xóa.
2.3.2 Admin click nút “Đồng ý” Hệ thống sẽ thực hiện xóa sản phẩm khỏi bẳng SANPHAM và hiển thị lại thông tin bảng SANPHAM sau khi xóa.
- Admin thêm 1 sản phẩm có mã sản phẩm đã tồn tại trong bảng
SANPHAM thì hệ thống sẽ hiển thị lỗi và yêu cầu nhập lại.
- Khi thực hiện các chức năng, admin click nút “Hủy” thì hệ thống không thực hiện được thay đổi trong bảng SANPHAM
- Tại bất kì bước nào nếu bị mất kết nối tới server sẽ tự động thoát khỏi chức năng và use case kết thúc.
Hậu điều kiện: Không có.
Hình 2.10: Use case Mua hàng
Tên use case Mua hàng
Tác nhân chính Khách hàng
Người chịu trách nhiệm Khách hàng
Tiền điều kiện -Khách hàng xác nhận đầy đủ thông tin
-Thiết bị của khách hàng được kết nối internet. -Số lượng sản phẩm trong kho đủ đáp ứng đơn hàng. Đảm bảo tối thiểu -Hệ thống thông báo lỗi.
-Hệ thống loại bỏ các sản phẩm đã thêm và quay lại bước trước. Đảm bảo thành công Khách hàng đặt hàng thành công
Kích hoạt Khách hàng click vào icon giỏ hàng
1 Khách hàng thêm các sản phẩm vào giỏ hàng.
2 Khách hàng click vào icon giỏ hàng Hệ thống hiển thị danh sách các sản phẩm trong giỏ hàng.
3 Khách hàng chọn hình thức thanh toán.
4 Khách hàng xác nhận thanh toán.
5 Hệ thống tạo hóa đơn mới vào csdl.
6 Khách hàng trở về trang chủ.
Ngoại lệ: Ở bước 1, nếu hệ thống thông báo hết hàng:
1.1 Khách hàng tiến hành chọn sản phẩm khác.
Tại bất kỳ bước nào nếu bị mất kết nối tới server sẽ tự động thoát khỏi chức năng và quay lại trang chủ.
2.3.4 Usecase Quản lý khách hàng
Hình 2.11: Use case Quản lý khách hàng
Tên use case Quản Lý Khách Hàng
Người chịu trách nhiệm Admin
Tiền điều kiện Admin cần đăng nhập với vai trò quản trị hệ thống trước khi thực hiện use case. Đảm bảo tối thiểu Tài khoản được quản lý Đảm bảo thành công Nếu use case kết thúc thành công thì danh sách tài khoản khách hàng được cập nhât.
Kích hoạt Admin chọn chức năng quản lý tài khoản.
1 Admin click vào nút “Quản lý khách hàng” hệ thống sẽ lấy danh sách thông tin các tài khoản hiện có hiển thị lên màn hình.
2 Admin chọn chức năng muốn sử dụng.
2.1 Admin chọn chức năng sửa thông tin khách hàng.
2.1.1 Admin click vào nút “Sửa” hệ thống hiển thị lên 1 màn hình gồm các thông tin hiện tại của khách hàng.
2.1.2 Admin sửa thông tin khách hàng và click nút “Cập nhật” Hệ thống sẽ cập nhập nhật thông tin khách hàng trong bảng KHACHHANG và hiển thị lại thông tin bảng KHACHHANG sau khi sửa.
2.2 Admin chọn chức năng xóa Khách hàng.
2.2.1 Admin click nút “Xóa”, hệ thống hiển thị lên màn hình một xác nhận xóa.
2.2.2 Admin click nút “Đồng ý” Hệ thống sẽ thực hiện xóa khách hàng khỏi bảng KHACHHANG và hiển thị lại thông tin bảng KHACHHANG sau khi xóa.
1 Admin thêm 1 khách hàng có mã khách hàng đã tồn tại trong bảng
KHACHHANG thì hệ thống sẽ hiển thị lỗi và yêu cầu nhập lại.
2 Khi thực hiện các chức năng, admin click nút “Hủy” thì hệ thống không thực hiện được thay đổi trong bảng KHACHHANG
Tại bất kì bước nào nếu bị mất kết nối tới server sẽ tự động thoát khỏi chức năng và use case kết thúc.
2.3.5 Usecase Quản lý đơn hàng
Hình 2.12: Use case Quản lý đơn hàng
Tên use case Quản Lý Đơn Hàng
Người chịu trách nhiệm Admin
Tiền điều kiện Đã đăng nhập và có quyền admin. Đảm bảo tối thiểu Thông báo lỗi và quay lại bước trước Đảm bảo thành công Admin đăng nhập thành công
Kích hoạt Admin chọn chức năng quảng lý admins
1.Hệ thống hiển thị giao diện Form quản lý đơn hàng.
2.Hệ thống kiểm tra trạng thái đơn hàng trong CSDL
3.1.1 Admin chọn xem chi tiết đơn hàng
3.1.2 Hệ thống hiển thị Form chi tiết đơn hàng
3.2.1 Admin xác nhận giao hàng
3.2.1.1 Hệ thống cập nhật trạng thái đơn hàng vào CSDL
3.2.2 Admin chọn xem chi tiết đơn hàng
3.2.2.1 Hệ thống hiển thị Form chi tiết đơn hàng.
Tại bất kỳ bước nào nếu bị mất kết nối tới server sẽ tự động thoát khỏi chức năng và quay lại giao diện trước đó
Hậu điều kiện: Không có.
2.3.6 Usecase Quản lý giỏ hàng
Hình 2.13: Use case Quản lý giỏ hàng
Tên use case Quản Lý Giỏ Hàng
Tác nhân chính Khách hàng
Người chịu trách nhiệm Khách hàng
Tiền điều kiện -Khách hàng đã đăng nhập thành công.
-Thiết bị của khách hàng được kết nối internet.
-Số lượng sản phẩm trong kho đủ đáp ứng đơn hàng. Đảm bảo tối thiểu -Hệ thống thông báo lỗi.
-Hệ thống loại bỏ các sản phẩm đã thêm và quay lại bước trước. Đảm bảo thành công Nếu use case kết thúc hệ thống sẽ cập nhật danh sách sản phẩm trong giỏ hàng Kích hoạt Khách hàng click vào icon giỏ hàng
1 Khách Hàng kích vào nút “Quản lý giỏ hàng” trên màn hình Hệ thống lấy các thông tin ở trong cơ sở dữ liệu hiển thị lên màn hình.
2 Khách hàng chọn chức năng muốn sử dụng
2.1 Khách hàng chọn chức năng thêm sản phẩm vào giỏ hàng.
2.1.1 Khách hàng click vào nút “Thêm vào giỏ hàng” trên thanh menu Hệ thống hiển thị màn hình yêu cầu nhập thông tin sản phẩm.
2.1.2 Khách hàng nhập thông tin sản phẩm và click vào nút “Thêm mới” Hệ thống sẽ thêm một sản phẩm trong cơ sở dữ liệu của website và hiển thị lại trên màn hình.
2.2 Khách hàng chọn chức năng xóa sản phẩm khỏi giỏ hàng.
2.2.1 hàng click vào nút “Xóa sản phẩm” của mỗi sản phẩm riêng biệt Hệ thống hiển thị lên màn hình yêu cầu xác nhận xóa. 2.2.2 Khách hàng click vào nút “Đồng ý” Hệ thống sẽ xóa sản phẩm trong cơ sở dữ liệu của website và hiển thị lại giỏ hàng đã cập nhật.
2.3.Khách hàng chọn chức năng xem chi tiết sản phẩm:
2.3.1.Khách hàng click vào sản phẩm Hệ thống sẽ hiển thị màn hình thông tin chi tiết của sản phẩm
2.4.Khách hàng chọn chức năng tăng hoặc giảm số lượng sản phẩm 2.4.1.Khách hành click vào nút “+/- “ Hệ thống sẽ thêm hoặc giảm số lượng sản phẩm trong giỏ hàng.
1 Khách hàng nhập các thông tin không hợp lệ thì hệ thống sẽ thông báo lỗi bên dưới mỗi textbox sai thông tin và yêu cầu nhập đúng thông tin Khách hàng có thể nhập lại để tiếp tục hoặc kích vào nút “Quay lại” để quay lại màn hình trước đó.