Đồ án Xây dựng website quản lý bán hàng mây tre đanPTKHHT
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
Tel (84-511) 736 949, Fax (84-511) 842 771Website: itf.ud.edu.vn, E-mail: cntt@edu.ud.vn
CBHD : Đỗ Thị Tuyết Hoa
ĐÀ NẴNG, 06/2014
Trang 21.1 Nghiên cứu lý thuyết 1
1.1.1 Giới thiệu về ngôn ngữ PHP 1
1.1.2 Giới thiệu về framework CakePHP và gói mã nguồn mở Croogo 1
1.2 Nghiên cứu thực tiễn 3
1.2.1 Quy trình quản lý bán hàng tại cửa hàng 3
1.2.2 Quy trình mua hàng 4
CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 5
2.1 Phân tích đặc tả yêu cầu 5
2.1.1 Phạm vi sử dụng 5
2.1.2 Yêu cầu chức năng 6
2.1.3 Yêu cầu phi chức năng 21
2.2 Thiết kế hệ thống 22
2.2.1 Tổng quan về hệ thống 22
2.2.2 Phương pháp thiết kế 22
2.2.3 Môi trường thực thi 22
2.2.4 Các nhóm chức năng của hệ thống 22
2.2.5 Khảo sát hệ thống 22
2.2.6 Biểu đồ use case 24
2.2.7 Biểu đồ tuần tự 28
2.2.8 Biểu đồ lớp 39
2.2.9 Biểu đồ hoạt động 40
CHƯƠNG 3: TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ 48
3.1 Triển khai 48
3.1.1 Thiết kế cơ sở dữ liệu 48
3.1.2 Giao diện website 55
3.2 ĐÁNH GIÁ KẾT QUẢ 61
KẾT LUẬN 62
3.3 Kết quả 62
Trang 3Hình 2.1.Biểu đồ hoạt động “Người dùng Đăng ký” 24
Hình 2.2.Biểu đồ hoạt động “Đăng nhập Hệ thống” 25
Hình 2.3.Biểu đồ hoạt động “Đăng xuất” 25
Hình 2.4.Biểu đồ hoạt động “Tìm kiếm Mặt hàng” 26
Hình 2.5.Biểu đồ hoạt động “Thêm mặt hàng” 26
Hình 2.6.Biểu đồ hoạt động “Sửa mặt hàng 27
Hình 2.7.Biểu đồ hoạt động “Xóa mặt hàng” 27
Hình 2.8.Biểu đồ hoạt động “Lấy lại Mật khẩu” 28
Hình 2.9.Biểu đồ hoạt động “Sửa tài khoản Cá nhân” 28
Hình 2.10.Biểu đồ hoạt động “Đặt mua” 29
Hình 2.11.Biểu đồ hoạt động “Tìm kiếm đơn hàng” 29
Hình 2.12.Biểu đồ hoạt động “Xem đơn hàng 29
Hình 2.13.Biểu đồ hoạt động “Tìm kiếm Nhà cung cấp” 30
Hình 2.14.Biểu đồ hoạt động “Xóa đơn hàng” 30
Hình 2.15.Biểu đồ hoạt động “Thêm nhà cung cấp” 31
Hình 2.16.Biểu đồ hoạt động “Sửa Nhà cung cấp” 31
Hình 2.17.Biểu đồ hoạt động “Xóa Nhà cung cấp” 32
Hình 2.18.Biểu đồ hoạt động “Sửa đơn hàng” 32
Hình 2.19.Biểu đồ hoạt động “Tìm kiếm Người dùng” 33
Hình 2.20.Biểu đồ “use case Tổng quát” Use case khách hàng 34
Hình 2.21.Biểu đồ “use case Khách hàng” 35
Hình 2.22.Biểu đồ “use case Người quản trị” 36
Hình 2.23.Biểu đồ “Use case chi tiết quản lý Danh mục” 36
Hình 2.24.Biểu đồ“Use case chi tiết quản lý Sản phẩm” 37
Hình 2.25.Biểu đồ “Use case chi tiết quản lý Thành viên” 37
Hình 2.26.Biểu đồ “Use case quản lý Đơn hàng” 37
Hình 2.27.Biểu đồ “Use case chi tiết quản lý Nhà cung cấp” 39
Hình 2.28.Biểu đồ tuần tự “Người dùng Đăng nhập” 39
Hình 2.29.Biểu đồ tuần tự “Đăng xuất” 40
Hình 2.30.Biểu đồ tuần tự “Tìm kiếm Mặt hàng” 40
Trang 4Hình 2.34 Biểu đồ tuần tự “Xóa Mặt hàng” 42
Hình 2.35.Biểu đồ tuần tự “Xóa Đơn hàng” 42
Hình 2.36 Biểu đồ tuần tự “Tìm kiếm Đơn hàng” 43
Hình 2.37.Biểu đồ tuần tự “Tìm kiếm Nhà cung cấp” 43
Hình 2.38.Biểu đồ tuần tự “Thêm Nhà cung cấp” 44
Hình 2.39 Biểu đồ tuần tự “Sửa Nhà cung cấp” 45
Hình 2.40.Biểu đồ tuần tự “Xóa Nhà cung cấp 46
Hình 2.41 Biểu đồ tuần tự “Sửa tài khoản Cá nhân” 46
Hình 2.42.Biểu đồ tuần tự “Lấy lại mật khẩu” 47
Hình 2.43.Biểu đồ tuần tự “Tìm kiếm Người dùng” 47
Hình 2.44.Biểu đồ tuần tự “Sửa Người dùng” 48
Hình 2.45.Biểu đồ tuần tự “Xóa Người dùng” 48
Hình 2.46.Biểu đồ tuần tự “Tìm kiếm Danh mục” 49
Hình 2.47.Biểu đồ tuần tự “Thêm Danh mục” 49
Hình 2.48.Biểu đồ tuần tự “Sửa Danh mục” 50
Hình 2.49.Biểu đồ tuần tự “Xóa Danh mục” 50
Hình 2.50.Biểu đồ tuần tự “Đặt mua” 51
Hình 2.51.Biểu đồ lớp 52
Hình 3.1.Mối kết hợp “Quyền và Người dùng” 53
Hình 3.2.Mối kết hợp “Người dùng và Đơn đặt hàng” 54
Hình 3.3.Mối kết hợp “Mặt hàng và Chi tiết đơn đặt hàng” 54
Hình 3.4.Mối kết hợp “Mặt hàng và Nhà cung cấp” 54
Hình 3.5.Mối kết hợp “Danh mục và Mặt hàng” 54
Hình 3.6.Mô hình thực thể kết hợp 55
Hình 3.7.Giao diện dành cho người dùng 58
Hình 3.8.Giao diện dành cho người quản trị 58
Hình 3.9.Giao diện dành cho admin nhập hàng 60
Hình 3.10.Giao diện dành cho admin đăng nhập 61
Trang 5Hình 3.16.Xem thông tin giỏ hàng 65 Hình 3.17.Khách hàng xác nhận thông tin 65 Hình 3.18.Thông báo kết quả mua hàng 66
Trang 6Bảng 2.2.Đặc tả “Đăng ký” 7
Bảng 2.3.Đặc tả “Lấy lại mật khẩu” 8
Bảng 2.4.Đặc tả “Đăng xuất” 8
Bảng 2.5.Đặc tả “Xem thông tin Cá nhân” 9
Bảng 2.6.Đặc tả “Sửa thông tin Cá nhân” 9
Bảng 2.7.Đặc tả “Tìm kiếm Mặt hang” 10
Bảng 2.8.Đặc tả “Xem mặt hàng” 10
Bảng 2.9.Đặc tả Use case “Đặt mua” 11
Bảng 2.10.Đặc tả “Xem đơn hàng” 12
Bảng 2.11.Đặc tả “Xóa đơn hàng” 12
Bảng 2.12.Đặc tả “tạo mặt hàng mới” 13
Bảng 2.13.Đặc tả “Sửa thông tin Mặt hàng” 14
Bảng 2.14.Đặc tả “Xóa Mặt hàng” 14
Bảng 2.15.Đặc tả “Thêm Danh mục” 15
Bảng 2.16.Đặc tả Use case “Tìm kiếm Danh mục” 15
Bảng 2.17.Đặc tả Use case “Sửa Danh mục” 16
Bảng 2.18.Đặc tả Use case “Xóa Danh mục” 17
Bảng 2.19.Đặc tả Use case “Tìm kiếm Thành viên” 18
Bảng 2.20.Đặc tả Use case “Sửa thông tin Thành viên” 18
Bảng 2.21.Đặc tả Use case “Xóa Thành viên” 19
Bảng 2.22.Đặc tả Use case “Thêm nhà cung cấp” 20
Bảng 2.23.Đặc tả Use case “Tìm kiếm nhà cung cấp” 20
Bảng 2.24.Đặc tả Use case “Sửa thông tin nhà cung cấp” 21
Bảng 3.1.Người dùng 55
Bảng 3.2.Mặt hàng 56
Bảng 3.3.Chi tiết mặt hàng 56
Bảng 3.4.Bảng đơn hàng 56
Bảng 3.5.Bảng chi tiết đơn hàng 56
Trang 7CHƯƠNG 1: NGHIÊN CỨU LÝ THUYẾT, THỰC TIỄN
Trong chương này nhóm chúng em sẽ trình bày lý thuyết và ngôn ngữ lậptrình sử dụng để cài đặt và xây dựng chương trình cho bài toán Quản lý cửa hàng MâyTre Đà Nẵng
Cụ thể, hệ thống được cài đặt trên nền Web, sử dụng ngôn ngữ PHP dựa trênnền tảng framework CakePHP với gói mã nguồn mở Croogo 1.3.2 với hệ quản trị cơ
sở dữ liệu MySQL
1.1 Nghiên cứu lý thuyết
1.1.1 Giới thiệu về ngôn ngữ PHP
PHP(Hypertext Preprocessor) là ngôn ngữ script trên server được thiết kế để dễdàng xây dựng các trang web động Mã PHP có thể thực thi trên Webserver để tạo ra
mã HTML và xuất ra trình duyệt web theo yêu cầu của người sử dụng
Ngôn ngữ PHP ra đời năm 1995 bởi Rasmus Lerdorf, sau đó được phát triển bởinhiều người và trải qua nhiều phiên bản Phiên bản PHP hiện tại là PHP 5
1.1.2 Giới thiệu về framework CakePHP và gói mã nguồn mở Croogo
CakePHP là một framework mã nguồn mở, miễn phí, sử dụng ngôn ngữ lập trìnhPHP, giúp chúng ta có thể xây dựng nhanh một ứng dụng trên nền web
CakePHP có thể làm việc với nhiều hệ quản trị CSDL khác nhau: MySQL, SQLServer… Một đặc tính quan trọng khác của CakePHP là nó được xây dựng theo môhình MVC (Model – View – Controller) Với mô hình này, việc xử lý dữ liệu, giaotiếp CSDL, hiển thị dữ liệu được phân tách rõ ràng, giúp cho công tác lập trình cũngnhư bảo trì dễ dàng hơn
Một số tính năng của CakePHP:
Trang 8- Kiểm tra ràng buộc dữ liệu.
- Xây dựng nhiều thư viện hỗ trợ cho View như: Ajax, HTML Form,Javascript…
- Xây dựng nhiều thư viện hỗ trợ cho Controller: Email, Security, Session,Cookies, Request Handling
- Dễ dàng viết thêm thư viện hỗ trợ, liên kết với ứng dụng khác (thông quavendors)
- Đa giao diện
- Hỗ trợ nhiều hệ QTCSDL
Giới thiệu mô hình MVC: Cũng như các PHP framework khác, CakePHP hoạtđộng theo mô hình MVC Mô hình MVC trong CakePHP chia ứng dụng ra 3 phầnchính: Model, Controller và View, việc phân tách ứng dụng rõ ràng như vậy sẽ giúpbạn tách các phần xử lý riêng biệt cho website của bạn, nó giúp cho code của bạntrong sáng hơn, dễ lập trình, dễ quản lý, chỉnh sửa, nâng cấp Trong đó:
- Model: Mô tả dữ liệu của ứng dụng Trên Model ta có thể thiết lập các ràng
buộc dữ liệu, quan hệ giữa các bảng Model giao tiếp với database, bạn sẽ viết cácquery cũng như các xử lý logic ở đây
- View: Đảm nhận việc hiển thị thông tin đã được xử lý gới đến từ Controller,
View còn được hiểu nôm na là nơi chứa các file html của bạn để hiển thị cho nguờixem
- Controller: xử lý và điều hướng các yêu cầu của client, Controller nơi bạn
trực tiếp viết các xử lý lấy các request từ url và form để thao tác trực tiếp với Model,sau đó dùng View để hiển thị ra
Trang 9để truy xuất dữ liệu Dữ liệu ở đây có thể là các record trong table của một database, hoặc một dạng khác.
CHƯƠNG IV: Sau khi lấy được dữ liệu, Controller sẽ đưa dữ liệu này ra View
và View này có nhiệm vụ chuẩn bị đưa dữ liệu đầu ra View có thể chuẩn bị dữ liệu ở dạng HTML, PDF, tài liệu XML hoặc một đối tượng JSON, cuối cùng là view sẽ được hiển thị trên trình duyệt
Croogo là mã nguồn mở miễn phí, được xây dựng dựa trên ngôn ngữ PHP có bộ khung là framework CakePHP
1.1.2.1 Cơ sở dữ liệu MySQL
My SQL là một phần mềm quản trị CSDL mã nguồn mở, miễn phí nằm trong
nhóm LAMP (Linux - Apache -MySQL - PHP)
MySQL là phần mềm miễn phí hoàn toàn, ổn định, an toàn
Hiện nay trong số các Website có lưu lượng truy cập lớn thuộc hàng "top" trênInternet, có rất nhiều Website sử dụng liên minh LAMP này
Một số đặc điểm của MySQL:
- MySQL là một phần mềm quản trị CSDL dạng server-based (gần tương
đương với SQL Server của Microsoft)
- MySQL quản lý dữ liệu thông qua các CSDL, mỗi CSDL có thể có nhiều
bảng quan hệ chứa dữ liệu
- MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có thể
được quản lý một hoặc nhiều CSDL khác nhau, mỗi người dùng có một tên truy cập(user name) và mật khẩu tương ứng để truy xuất đến CSDL
- Khi ta truy vấn tới CSDL MySQL, ta phải cung cấp tên truy cập và mật khẩucủa tài khỏan có quyền sử dụng CSDL đó Nếu không, chúng ta sẽ không làm được gìcả
1.2 Nghiên cứu thực tiễn
1.2.1 Quy trình quản lý bán hàng tại cửa hàng
Trang 10Các sản phẩm trong cửa hàng được bày bán theo danh mục mặt hàng,nhà cung cấp.Nhân viên cửa hàng sẽ thực hiện các công việc kiểm kê số lượng,báo giá mặt hàng, báo cáo kết quả doanh thu.
1.2.2 Quy trình mua hàng
Để thực hiện thành công một buổi đi mua sắm với các sản phẩm hiện có trongcửa hàng thì khách hàng cần phải:
- Chọn mặt hàng cần mua với số lượng phù hợp với số lượng hàng trong kho
- Tiếp theo, khách hàng có thể tiến hàng thanh toán tại quầy thu ngân với sốtiền tương ứng với đơn hàng
- Khách hàng cũng có thể nhờ sự hỗ trợ của nhân viên cửa hàng hướng dẫn quytrình mua sắm tại cửa hàng, Khách hàng có thể tìm kiếm và tham khảo giá cả cũngnhư các thông tin liên quan đến mặt hàng, cửa hàng
- Hình thức thanh toán: Khách hàng sẽ trả tiền trực tiếp tại cửa hàng
Trang 11CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 2.1 Phân tích đặc tả yêu cầu
2.1.1 Phạm vi sử dụng
Hệ thống sẽ được đưa lên mạng internet và có thể truy cập ở tất cả mọi nơi trênthế giới Hệ thống cho phép người quản lý dễ dàng thêm và theo dõi thông tin sảnphẩm của cửa hàng, đồng thời cho phép người mua dễ dàng theo dõi, tìm kiếm và muanhững mặt hàng mong muốn.Hệ thống được điều khiển bởi một admin, hỗ trợ kháchhàng
Với website này, người sử dụng có thể dễ dàng sử dụng các thao tác sau:
- Chức năng khách hàng
Đăng ký
Đăng nhập
Đăng xuất
Quản lý tài khoản cá nhân
Lấy lại mật khẩu
Lấy lại mật khẩu
Quản lý tài khoản cá nhân
Quản lý danh mục mặt hàng
Quản lý thành viên
Quản lý nhà cung cấp
Quản lý mặt hàng
Quản lý đơn hàng
Quản lý thống kê
Trang 122.1.2 Yêu cầu chức năng
2.1.2.1 Đăng nhập hệ thống
Use case ID 1
Use Case Name ĐĂNG NHẬP
Actors Thành viên, người quản lý.
Description Đăng nhập thành công vào hệ thống.
Preconditions Hệ thống chưa được đăng nhập.
Postconditions Nếu chức năng thành công người dùng sẽ được đăng nhập vào hệ thống.
Nếu không thành công hệ thống xuất thông báo đăng nhập thất bại và giữ nguyên trạng thái hiện hành.
Flows of Events Actor Input System Response
1 Nhấn nút đăng nhập từ giao diện.
Hiển thị khung đăng nhập.
2 Nhập username và password và nhấn nút OK.
Hệ thống kiểm tra username và password có hợp lệ hay không.
- Nếu hợp lệ thì thông báo đăng nhập thành công.
Nếu không hợp lệ thì hiển thị thông báo đăng nhập không thành công và quay lại bước 2 Constraints Password không cho phép bỏ trống, và phải là ký tự *.
Description Tạo mới một thành viên
Preconditions Người dùng chưa có tài khoản trên hệ thống
Trang 13Flows of Events Actor Input System Response
1 Người dùng nhấnvào nút Đăng ký Hiển thị form Đăng ký.
2 Nhập thông tin đăngký và nhấn nútĐăng ký
Hệ thống kiểm tra thông tin đăng kýxem có hợp lệ hay không
- Nếu thông tin đăng ký hợp lệ: Lưuthông tin vào CSDL và thông báođăng ký thành công
- Nếu thông tin đăng ký không hợplệ: Quay lại bước 2
Constraints Thông tin đăng ký bao gồm: Username, Password, confirm
password, Email, Họ và tên, Số điện thoại, Địa chỉ, Bank, CMND
và không được bỏ trống Password và confirm phải khớp với nhau
Bảng 2.2.Đặc tả “Đăng ký”
2.1.2.3 Lấy lại mật khẩu
Use case ID 3
Use Case Name LẤY LẠI MẬT KHẨU
Actors Thành viên, người quản lý
Description Lấy lại mật khẩu khi người dùng quên hay đánh mất mật khẩu
Preconditions Chưa đăng nhập vào hệ thống
Postconditions Đăng nhập thành công
Flows of Events Actor Input System Response
1 Nhấn nút Quên mậtkhẩu
Hiển thị khung nhập thông tin ngườidùng
2 Nhập Email đã đăngký, nhấn Gửi đi
Gửi thông tin hỗ trợ hướng dẫn vàomail người dùng
Constraints Các trường password và confirm password hiển thị ký tự * và phải
trùng khớp nhau
Bảng 2.3.Đặc tả “Lấy lại mật khẩu”
Trang 142.1.2.4 Đăng xuất
Use case ID 4
Use Case Name ĐĂNG XUẤT
Actors Thành viên, người quản lý
Description Đăng xuất khỏi hệ thống.
Preconditions Hệ thống đã được đăng nhập.
Postconditions Nếu chức năng thành công người dùng sẽ được đăng xuất khỏi hệ thống Flows of Events Actor Input System Response
1 Nhấn nút đăng xuất từ giao diện.
Hiển thị form xác nhận Đăng xuất.
2 Người dùng xác nhận có đăng xuất hay không.
Nếu đồng ý đăng xuất hệ thống xóa phiên làm việc và quay trở về trang chủ.
Nếu không đồng ý hệ thống quay lại trạng thái trước khi nhấn nút đăng xuất.
Constraints Người dùng đã đăng nhập thành công vào hệ thống.
Bảng 2.4.Đặc tả “Đăng xuất”
2.1.2.5 Xem thông tin cá nhân
Use case ID 5
Use Case Name XEM THÔNG TIN CÁ NHÂN
Actors Thành viên, người quản lý
Description Xem thông tin cá nhân
Preconditions Người dùng đã đăng nhập vào hệ thống
Postconditions Nếu chức năng thành công người dùng có thể xem thông tin tài khoản
cá nhân
Flows of Events Actor Input System Response
Trang 15Constraints Người dùng đã đăng ký thông tin cá nhân ở trên hệ thống.
Bảng 2.5.Đặc tả “Xem thông tin Cá nhân”
2.1.2.6 Sửa thông tin cá nhân
Use case ID 6
Use Case Name SỬA THÔNG TIN CÁ NHÂN
Actors Thành viên, người quản lý
Description Sửa thông tin cá nhân
Preconditions Người dùng đang ở trang xem thông tin cá nhân
Postconditions Nếu thành công, thông tin tài khoản người dùng được thay đổi
Flows of Events Actor Input System Response
1 Nhấn nút Sửa thôngtin cá nhân
Hiển thị form bao gồm thông tin cóthể chỉnh sửa
2 Nhập các thông tinmuốn chỉnh sửa.Nhấnnút Sửa
Kiểm tra các thông tin chỉnh sửa cóhợp lệ không
Nếu không hợp lệ, hiện thông báochỉnh sửa thông tin không hợp lệ,quay lại bước 2
3 Thay đổi thông tin cánhân người dùng
Hiển thị thông báo người dùng đãchỉnh sửa thông tin thành công
Constraints Các trường cần chỉnh sửa không được để trống Nội dung bao gồm:
username, password, phone, adderess
Bảng 2.6.Đặc tả “Sửa thông tin Cá nhân”
2.1.2.7 Tìm kiếm mặt hàng
Use case ID 7
Use Case Name TÌM KIẾM MẶT HÀNG
Description Tìm kiếm mặt hang
Preconditions Có thể đăng nhập hoặc không đăng nhập vào hệ thống
Trang 16Postconditions Nếu chức năng thành công thì hiển thị kết quả tìm kiếm.
Flows of Events Actor Input System Response
1 Nhập từ khóa vào ôtìm kiếm
Nhấn nút tìm kiếm
Hiển thị các mặt hàng được tìm thấy.Nếu không có hiển thị thông báokhông tìm thấy kết quả nào
Constraints Chọn loại sản phẩm, và nhập tên mặt hàng vào ô tìm kiếm Ô tìm
kiếm không được rỗng
Description Xem thông tin chi tiết mặt hang
Preconditions Có thể đăng nhập hoặc không đăng nhập vào hệ thống
Postconditions Nếu chức năng thành công người dùng có thể xem thông tin mặt
hàng
Flows of Events Actor Input System Response
1 Chọn mặt hàng cầnxem
Hiển thị thông tin mặt hàng gồm:hình ảnh, tên, trạng thái còn hay hết,giá, đơn vị tính
Trang 17Preconditions Đã đăng nhập thành công vào hệ thống và đang ở trang xem mặt
2 Cập nhật thông tinhoặc bỏ qua, chọn tiếptục
Tăng số lượng đơn vị mặt hàng đó đãđược đặt và hiển thị đơn hàng
Constraints Phải tìm và chọn sản phẩm cần mua, ô số lượng không được rỗng và
phải là chữ số lớn và hơn hoặc bằng 1
Bảng 2.9.Đặc tả Use case “Đặt mua”
2.1.2.10 Xem đơn hàng
Use case ID 10
Use Case Name XEM ĐƠN HÀNG
Actors Thành viên, người quản lý
Description Khách hàng có thể xem đơn hàng
Preconditions Người dùng đã đăng nhập vào hệ thống
Postconditions Hiển thi tất cả các đơn hàng của người mua
Flows of Events Actor Input System Response
1 Nhấn nút Xem đơnhàng Hiển thị tất cả các đơn hàng.
Constraints - Khách hàng: đã mua hàng, đơn hàng đã tồn tại trong trên hệ
thống, khách hàng chọn đơn hàng cần xem
- Quản trị: chọn mã đơn hàng cần xem ở trên hệ thống
Trang 18Bảng 2.10.Đặc tả “Xem đơn hàng”
Trang 192.1.2.11 Xóa Đơn hàng
Use case ID 11
Use Case Name XÓA ĐƠN HÀNG
Actors Thành viên, người quản lý
Description Xóa đơn hàng
Preconditions Người dùng đang ở trang xem đơn hàng
Postconditions Thông báo đơn hàng đã được xóa
Flows of Events Actor Input System Response
1 Nhấn nút Xóađơn hàng
Hiển thi form người dùng có chắc chắn muốnxóa hay không?
2 Nhấn nút Cóhoặc Không
Nếu người dùng nhấn Có, xóa đơn hànggiảm số lượng mua tương ứng Hiện thôngbáo đã xóa đơn hàng thành công
Bảng 2.11.Đặc tả “Xóa đơn hàng”
2.1.2.12 Tạo mặt hàng mới
Use case ID 12
Use Case Name TẠO MẶT HÀNG MỚI
Actors Người quản lý
Description Tạo mặt hàng mới
Preconditions Người quản lý đã dăng nhập với tài khoản người quản lý
Postconditions Thông báo tạo mặt hàng mới thành công
Flows of Events Actor Input System Response
1 Nhấn nút tạo mặt hàngmới Hiển thị form tạo mặt hàng.
2 Nhập các thông tin
Nhấn nút xem trước
Hiển thị trang mặt hàng mẫu
Trang 203 Chọn chỉnh sửa hoặcOK.
Nếu người người chọn chỉnh sửa,quay lại bước 2
Nếu người dùng chọn OK, thêm mặthàng mới vào cơ sở dữ liệu, hiểu thịmặt hàng lên website, hiển thị thôngbáo đã tạo mặt hàng thành công
Constraints Các trường không được bỏ trống, amount bắt buộc là chữ số
Bảng 2.12.Đặc tả “tạo mặt hàng mới”
2.1.2.13 Sửa thông tin mặt hàng
Use case ID 13
Use Case Name SỬA MẶT HÀNG
Actors Người quản lý
Description Sửa mặt hàng
Preconditions Người quản lý đã dăng nhập với tài khoản người quản lý
Đang ở trang xem mặt hàng
Postconditions Thông báo sửa mặt hàng thành công
Flows of Events Actor Input System Response
1 Nhấn nút sửa mặthàng
Hiển thị form sửa mặt hàng
2 Chỉnh sửa thông tin
Trang 212.1.2.14 Xóa mặt hàng
Use case ID 14
Use Case Name XÓA MẶT HÀNG
Actors Người quản lý
Description Xóa mặt hàng
Preconditions Người quản lý đã dăng nhập với tài khoản người quản lý
Đang ở trang xem mặt hàng
Flows of Events Actor Input System Response
1 Nhấn nút Xóa mặthàng
Hiển thị form nhập lý do xóa
2 Nhập lý do
Nhấn nút OK hoặcCancel
Nếu người dùng nhấn Cancel, kếtthúc
Nếu người dùng nhấn OK:
Gửi email thông báo mặt hàng đãđược xóa kèm lí do cho những ngườiđặt mua
Chuyển người dùng về trang chủ.Xóa mặt hàng khỏi sơ sở dữ liệu
Hiển thị thông báo đã xóa thành công.Constraints Trong form nhập lý do, nút cancel luôn active, còn nút OK chỉ được
active khi đã nhập thông tin vào trường lý do
Bảng 2.14.Đặc tả “Xóa Mặt hàng”
2.1.2.15 Thêm danh mục
Use case ID 15
Use Case Name THÊM DANH MỤC MỚI
Actors Người quản lý
Description Thêm danh mục mới
Preconditions Người quản lý đã dăng nhập với tài khoản người quản lý
Trang 22Postconditions Thông báo tạo danh mục mới thành công.
Flows of Events Actor Input System Response
1 Nhấn nút tạo danhmục
Hiển thị form tạo danh mục
2 Nhập các thông tin
Nhấn nút xem trước
Hiển thị trang danh mục mẫu
3 Chọn chỉnh sửa hoặcOK
Nếu người người chọn chỉnh sửa,quay lại bước 2
Nếu người dùng chọn OK, thêm danhmục mới vào cơ sở dữ liệu, hiểu thịdanh mục lên website, hiển thị thôngbáo đã tạo danh mục thành công
Constraints Form tạo danh mục bao gồm các thông tin: tên danh mục, mô tả
Description Tìm kiếm danh mục
Preconditions Có thể đăng nhập hoặc không đăng nhập vào hệ thống
Postconditions Nếu chức năng thành công thì hiển thị kết quả tìm kiếm
1 Nhập từ khóa vào ô tìm kiếm
Nhấn nút tìm kiếm
Hiển thị các danh mụcđược tìm thấy
Nếu không có hiển thịthông báo không tìm thấykết quả nào
Bảng 2.16.Đặc tả Use case “Tìm kiếm Danh mục”
Trang 232.1.2.17 Sửa danh mục
Use case ID 17
Use Case Name SỬA DANH MỤC
Actors Người quản lý
Description Sửa danh mục
Preconditions Người quản lý đã dăng nhập với tài khoản người quản lý
Đang ở trang xem các danh mục
Postconditions Thông báo sửa danh mục thành công
Flows of Events Actor Input System Response
1 Nhấn nút sửa mặt hàng Hiển thị form sửa danh mục
2 Chỉnh sửa thông tin
Constraints Các trường trong form chỉnh sửa danh mục không được để trống
Bảng 2.17.Đặc tả Use case “Sửa Danh mục”
2.1.2.18 Xóa danh mục
Use case ID 18
Use Case Name XÓA DANH MỤC
Actors Người quản lý
Description Xóa danh mục
Preconditions Người quản lý đã dăng nhập với tài khoản người quản lý
Đang ở trang xem danh mục
Postconditions
Flows of Events Actor Input System Response
Trang 241 Nhấn nút Xóa danhmục.
Hiển thị form nhập lý do xóa
2 Nhập lý do
Nhấn nút OK hoặcCancel
Nếu người dùng nhấn Cancel, kếtthúc
Nếu người dùng nhấn OK:
Gửi email thông báo danh mục đãđược xóa kèm lí do cho nhữngngười đặt mua
Chuyển người dùng về trang chủ.Xóa mặt hàng khỏi sơ sở dữ liệu.Hiển thị thông báo đã xóa thànhcông
Constraints Trong form nhập lý do, nút cancel luôn active, còn nút OK chỉ được
active khi đã nhập thông tin vào trường lý do
Bảng 2.18.Đặc tả Use case “Xóa Danh mục”
2.1.2.19 Tìm kiếm thành viên
Use case ID 19
Use Case Name TÌM KIẾM THÀNH VIÊN
Actors Người quản trị
Description Tìm kiếm thành viên
Preconditions Đăng nhập thành công vào hệ thống
Postconditions Nếu chức năng thành công thì hiển thị kết quả tìm kiếm
Flows of Events Actor Input System Response
1 Nhập từ khóa vào ô tìmkiếm
Nhấn nút tìm kiếm
Hiển thị thành viên được tìmthấy Nếu không có hiển thịthông báo không tìm thấy kết quảnào
Constraints Form tìm kiếm thành viên gồm: tên thành viên, username, phone
Không được bỏ trống tất cả các trường, có thể nhập một trường bất
Trang 262.1.2.20 Sửa thông tin thành viên
Use case ID 20
Use Case Name SỬA THÔNG TIN THÀNH VIÊN
Actors Người quản lý
Description Sửa thông tin thành viên
Preconditions Người quản lý đã đăng nhập với tài khoản người quản lý, đang ở
trang xem danh sách thành viên
Postconditions Thông báo sửa thông tin thành viên thành công
Flows of Events Actor Input System Response
1 Nhấn nút sửa thông tinthành viên
Hiển thị form sửa thông tin thànhviên
2 Chỉnh sửa thông tin
Nhấn nút xem trước
Hiển thị trang thông tin thành viênmẫu
3 Chọn chỉnh sửa hoặc
OK hoặc Hủy Nếu người dùng chọn OK: cập nhậtlại cơ sở dữ liệu Hiển thị thông tin
đã chỉnh sửa Nếu người dùng chọnHủy, kết thúc
Constraints Các thông tin chỉnh sửa không được để trống (username, full name,
email, phone, address)
Bảng 2.20 Đặc tả Use case “Sửa thông tin Thành viên”
2.1.2.21 Xóa thành viên
Use case ID 21
Use Case Name XÓA THÀNH VIÊN
Actors Người quản lý
Description Xóa thành viên.
Preconditions Người quản lý đã dăng nhập với tài khoản người quản lý.
Đang ở trang xem danh sách thành viên.
Trang 271 Nhấn nút Xóa thành viên.
Nếu người dùng nhấn Cancel, kết thúc Nếu người dùng nhấn OK:
Chuyển người dùng về trang chủ.
Xóa thành viên khỏi sơ sở dữ liệu.
Hiển thị thông báo đã xóa thành công.
2 Nhấn nút OK hoặc Cancel
Constraints
Bảng 2.21 Đặc tả Use case “Xóa Thành viên”
2.1.2.22 Thêm nhà cung cấp
Use case ID 22
Use Case Name THÊM NHÀ CUNG CẤP
Actors Người quản lý
Description Thêm nhà cung cấp
Preconditions Người quản lý đã dăng nhập với tài khoản người quản lý
Postconditions Thông báo thêm nhà cung cấp mới thành công
Flows of Events Actor Input System Response
1 Nhấn nút thêm nhàcung cấp
Hiển thị form thêm nhà cung cấp
Nếu người người chọn chỉnh sửa,quay lại bước 2
Nếu người dùng chọn OK, thêm nhàcung cấp mới vào cơ sở dữ liệu, hiểnthị thông báo thêm nhà cung cấp mớithành công
Constraints Form tạo danh mục bao gồm các thông tin:
- Tên danh mục
- Mô tả
Trang 28Bảng 2.22 Đặc tả Use case “Thêm nhà cung cấp”
2.1.2.23 Tìm kiếm nhà cung cấp
Use case ID 23
Use Case Name TÌM KIẾM NHÀ CUNG CẤP
Actors Người quản trị
Description Tìm kiếm nhà cung cấp
Preconditions Đăng nhập thành công vào hệ thống
Postconditions Nếu chức năng thành công thì hiển thị kết quả tìm kiếm
Events
Actor Input System Response
1 Nhập từ khóa vào ôtìm kiếm
Nhấn nút tìm kiếm
Hiển thị nhà cung cấp được tìmthấy Nếu không có hiển thị thôngbáo không tìm thấy kết quả nào.Constraints
Bảng 2.23 Đặc tả Use case “Tìm kiếm nhà cung cấp”
2.1.2.24 Sửa thông tin nhà cung cấp
Use case ID 24
Use Case Name SỬA THÔNG TIN NHÀ CUNG CẤP
Actors Người quản lý
Description Sửa thông tin nhà cung cấp
Preconditions Người quản lý đã dăng nhập với tài khoản người quản lý
Đang ở trang xem danh sách nhà cung cấp
Postconditions Thông báo sửa danh mục thành công
Flows of Events Actor Input System Response
1 Nhấn nút sửa nhà cungcấp Hiển thị form sửa thông tin nhà cungcấp
Trang 29Nhấn nút xem trước.
3 Chọn chỉnh sửa hoặc
OK hoặc Hủy Nếu người người chọn chỉnh sửa,quay lại bước 2
Nếu người dùng chọn OK: cập nhậtlại cơ sở dữ liệu
Hiển thị thông tin nhà cung cấp đãchỉnh sửa
Nếu người dùng chọn Hủy, kết thúc.Constraints Form sửa thông tin nhà cung cấp bao gồm các thông tin: tên nhà cung
cấp, address, phone
Bảng 2.24 Đặc tả Use case “Sửa thông tin nhà cung cấp”
2.1.3 Yêu cầu phi chức năng
2.1.3.1 Yêu cầu tính năng của hệ thống
Hiệu năng: Có thể thực hiện tức thì các truy vấn yêu cầu
Tính bảo mật: Mã hóa mật khẩu, các thông tin của người dùng Tránh lộ thôngtin cá nhân của người dùng
Độ tin cậy: Thông tin truy xuất phải tuyệt đối chính xác, tránh nhầm lẫn khôngđáng có
Tính sẵn sàng: Thường xuyên backup nhằm đáp ứng tức thì các trục trặc của hệthống Hệ thống có khả năng phục vụ 24/24
Tính lâu dài: Có khả năng nâng cấp Hệ thống dễ dàng được bảo trì về sau
Tính tương thích: Chạy được trên các loại trình duyệt khác nhau
2.1.3.2 Yêu cầu về hệ cơ sở dữ liệu, ngôn ngữ xây dựng phần mềm
Cơ sở dữ liệu được lưu ở server Sử dụng hệ quản trị cơ sở dữ liệu MySQL.Trang website được xây dựng bằng ngôn ngữ PHP với framework CakePHP dựatrên mã nguồn mở Croogo
2.1.3.3 Yêu cầu về giao diện người dùng
Giao diện thiết kế đẹp, dễ nhìn dễ sử dụng
Ngôn ngữ hiển thị bằng tiếng Việt
Font chữ của trang website theo chuẩn Unicode
Trang 302.1.3.4 Yêu cầu về giao diện dành cho đội ngũ nhân lực của hệ thống
Phải đáp ứng đầy đủ, linh hoạt các yêu cầu về cập nhật , tìm kiếm, sửa đổi nộidung
Giao diện riêng và chi tiết về các chức năng
Ngôn ngữ hiển thị bằng tiếng Việt
2.2 Thiết kế hệ thống
2.2.1 Tổng quan về hệ thống
Xây dựng cơ sở dữ liệu cho trang website dựa trên cơ sở dữ liệu quan hệ Cơ sở
dữ liệu phải đáp ứng được tốc độ và tính ổn định, có khả năng mở rộng
2.2.2 Phương pháp thiết kế
Sử dụng phương pháp phân tích thiết kế hướng đối tượng UML (UnifiedModeling Language )
2.2.3 Môi trường thực thi
Trang website xây dựng bằng ngôn ngữ PHP Chạy trên một trình duyệt web Cơ
sở dữ liệu thiết kế MySQL
2.2.4 Các nhóm chức năng của hệ thống
Chức năng của hệ thống có thể chia thành các nhóm chức năng sau:
- Nhóm chức năng đăng ký, đăng nhập thành viên
- Nhóm chức năng xem thông tin, bao gồm xem thông tin giỏ hàng, xem thôngtin đơn hàng, xem thông tin sản phẩm, xem thông tin cá nhân
- Nhóm chức năng quản lý thông tin, bao gồm quản lý thông tin cá nhân, quảnlý danh sách thành viên, danh mục sản phẩm
- Nhóm chức năng mua hàng, tiếp nhận và xử lý đơn hàng
Trang 31Cập nhật những thông tin về những sản phẩm mới trên thị trường.
Đáp ứng được nhu cầu của khách hàng khi vào trang web
Đảm bảo dữ liệu khi chạy website trực tuyến
Khách hàng chỉ có thể viếng thăm trang web chứ không có quyền chỉnh sửatrang web
Nhân viên cửa hàng được phép cập nhật thông tin
Quản trị hệ thống có toàn quyền đối với website
- Tìm hiểu hệ thống:Hệ thống xây dưng nhằm mục đích thay thế cho hình thứcgiới thiệu sản phẩm trực tiếp như: tờ rơi, aphic, tiếp thị… Khách hàng phải đến tậncủa hàng để tìm kiếm mất rất nhiều thời gian, cần một lượng nhân viên và các thiết bịtrợ giúp để giới thiệu và quản lý sản phẩm Ngoài ra, không thể có đủ không giantrưng bày tất cả các loại sản phẩm Từ việc khảo sát, đánh giá hệ thống cũ rút ra đượcmục đích của hệ thống sẽ xây dựng:
Khắc phục một số nhựợc điểm và kế thừa một số ưu điểm của một hệ thốngcũ
Tiếp cân thị trường mây, tre, đan trong và ngoài nước
Nội dung khảo sát
- Tìm hiểu cách thức hoạt động, chức năng của cửa hàng mây tre đan ĐàNẵng.Sau khi khảo sát hiện trạng, em nắm bắt được những thông tin sau:
Quản lý khách hàng: Mỗi khách hàng được quản lý những thông tin sau:
Họ tên, điạ chỉ, điện thoại, fax, email, tên đăng nhập, mật khẩu,…Ngoài ra, nếu kháchhàng là cơ quan hay công ty thì quản lý thêm tên công ty, cơ quan
Quản lý mặt hàng: Mỗi mặt hàng được quản lý những thông tin sau: tên
mặt hàng, đơn giá, số lượng, hình ảnh, mô tả…
Quá trình đặt hàng của khách hàng: Khách hàng xem và lựa chọn mặt
hàng cần mua Trong quá trình lựa chọn,nhân viên bán hàng sẽ trực tiếp trao đổi thôngtin cùng khách hàng, chịu trách nhiệm hướng dẫn Sau khi lựa chọn mặt hàng xong,
bộ phận bán hàng sẽ tiến hành lập đặt đơn hàng của khách hàng Sau khi tiếp nhận yêucầu trên, bộ phận trên sẽ làm hóa đơn và thanh toán tiền
- Trong trường hợp nhiều công ty, doanh nghiệp… có yêu cầu đặt hàng, muavới số lượng nhiều thì cửa hàng nhanh chóng làm phiếu đặt hàng và giao hàng theoyêu cầu
Trang 322.2.6 Biểu đồ use case
2.2.6.1 Use case tổng quát
Hình 2.1.Biểu đồ “use case Tổng quát” Use case khách hàng
Trang 332.2.6.2 Use case khách hàng
Hình 2.2.Biểu đồ “use case Khách hàng”
2.2.6.3 Use case người quản trị
Trang 34Hình 2.3.Biểu đồ “use case Người quản trị”
2.2.6.4 Các use case chi tiết người quản trị
Hình 2.4.Biểu đồ “Use case chi tiết quản lý Danh mục”
Trang 35Hình 2.5.Biểu đồ“Use case chi tiết quản lý Sản phẩm”
Hình 2.6.Biểu đồ “Use case chi tiết quản lý Thành viên”
Trang 36Hình 2.7.Biểu đồ “Use case quản lý Đơn hàng”
Trang 37Hình 2.8.Biểu đồ “Use case chi tiết quản lý Nhà cung cấp”
2.2.7 Biểu đồ lớp