Xây dựng website bán cây cảnh tích hợp chatbot hỗ trợ tư vấn Xây dựng website bán cây cảnh tích hợp chatbot hỗ trợ tư vấn Xây dựng website bán cây cảnh tích hợp chatbot hỗ trợ tư vấn Xây dựng website bán cây cảnh tích hợp chatbot hỗ trợ tư vấn
Trang 1Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
Trang 2Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
Trang 3Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
Trang 4Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
Trang 5Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
Trang 6Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
Trang 7Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
1 Introduction
1.1.Purpose
Tài liệu Thiết kế và Đặc tả kỹ thuật yêu cầu Phần mềm cho dự án “Xây dựng website cây cảnh và chatbot hỗ trợ” chứa các yêu cầu phần mềm nhằm mục đích triểnkhai xây dựng, phát triển trên các nền tảng web Tài liệu này xác định chuyên sâu về mặt kỹ thuật, các yêu cầu đặt ra và cách thức hoạt động Các lập trình viên sẽ căn cứ vào tài liệu này để tiến hành lập kế hoạch phát triển, phân công nhiệm vụ và triển khai ứng dụng Các Tester sẽ dựa vào tài liệu này để thiết kế các test case phù hợp vớiyêu cầu
1.2.Scope
Tài liệu được xây dựng nhằm mục đích phát triển phần phầm trên môi trường web Dự án dành cho công ty Cây Cảnh, phần mềm tạo ra sử dụng trong tổ chức công ty Nhằm mục đích chuyển đổi quy trình làm việc từ truyền thống sang công nghệ, phục vụ cho công tác thương mại của công ty
- Nền tảng phát triển: Web
- Ngôn ngữ lập trình:
+ Front-end: JavaScript hoặc TypeScript (Library: React )
+ Back-end: JavaScript (NodeJS)
- Cơ sở dữ liệu: MongoDB, MySql
- Quy mô: Công ty ( 20-30 người )
1.3.Intended Audiences and Document Organization
Tài liệu được dự định dành cho:
❖ Development Team: chịu trách nhiệm phát triển chi tiết về thiết kế, triển khai
❖ Testing Team: chịu trách nhiệm xây dựng các unit test để kiểm tra chức năng hệ thống
❖ Data Migration Team: chịu trách nhiệm thiết kế, xây dựng cơ sở dữ liệu có phần mềm
❖ Documentation Team: chịu trách nhiệm viết bảng hướng dẫn sử dụng phần mềm
❖ UAT team: Chịu trách nhiệm thực hiện các phiên kiểm tra sự chấp nhận của ngườidùng với người dùng cuối
Dưới đây là các thành phần chính của tài liệu:
Trang 8Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
❖ 1 Introduction: Mô tả phần giới thiệu chung của tài liệu.
❖ 2 Functional Requirements: Mô tả chi tiết các yêu cầu chức năng.
❖ 3 Non-functional Requirements: Mô tả các yêu cầu phi chức năng của ứng
dụng này như quyền truy cập và bảo mật của người dùng, giao diện, màn hình và hiệu suất
❖ 4 Other Requirements: Mô tả các yêu cầu khác như chức năng kiểm tra lưu trữ
Trang 9Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
1.4.References
1 Tài liệu lấy yêu
cầu từ khách
hàng
2 Functionalist
CayCanhWeb_Functio nsList.xlsx
2 Functional Requirements
2.1.Use Case Description
Quản lý tài khoản
UC1: Đăng ký tài khoản
Name Đăng ký tài khoản
Description Cho phép khách hàng tạo tài khoản để tham gia vào hệ thống
Trigger - Khách hàng muốn đăng ký tài khoản
- Nhấn vào nút “Sign up”
Basic flow B1: Nhấn vào nút “sign up” trên form đăng nhập
B2: Tải và xuất hiện form đăng kýB3: Chọn loại hình đăng ký ( hệ thống hoặc mạng xã hội ) Nếu là mạng xã hội phải đăng nhập vào bằng mạng xã hội vàtiến hành bước 4
B4: Điền các thông tin vào form đăng ký tài khoản B5: Kiểm tra thông tin đầu vào Nếu thông tin sai, [Error] = [DetailError], textbox xuất hiện [Error] Nếu thành công, nút
“Submit” cho phép thực hiện thao tác tiếp theo B6: Thực hiện nhấn vào nút “submit”
B7: Gửi dữ liệu về sever tiến hành xử lý dữ liệuB8: Nếu đăng ký thành công (status = 200), thông báo MSG
1 Nếu lỗi (status 200), thông báo MSG 2
Trang 10Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
Pre-condition ❖ Truy cập vào đường đẫn dành cho người dùng
webcaycanh.vn
❖ Dữ liệu trong form đăng ký phải trống
❖ Nút “Submit” bị mờ đi, người dùng không thể tiến hành đăng ký
❖ [TextBoxColor] = “Gray”
❖ [Error] = “”
Post-condition ❖ Tạo mới 1 tài khoản trong DB
❖ Thông báo cho người dùng
❖ Hệ thống tải màn hình đăng ký tài khoản
(5) BR2 Kiểm tra dữ liệu đầu vào:
Trang 11Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
Khi khách hàng điền các thông tin vào “Sign up” form Nếu có trường dữ liệu bị bị sai yêu cầu hoặc thiếu thông tin, hệ thống
sẽ xuất hiện thông báo cho người dùng biết
❖ Nếu ô dữ liệu bị sai hoặc thiếu thông tin, ô dữ liệu chuyển sang đỏ [TextBoxColor] = “Red” Phía dưới ô dữ liệu sẽ có thông báo:
+ Bỏ trống thông tin: [TextError] = “<<Tên trường dữ liệu>>”+ “ bắt buộc phải có dữ liệu” Ví dụ: “Họ Tên bắt buộc phải có
dữ liệu”
+ Sai kiểu dữ liệu: [TextError] = “<<Tên trường dữ liệu>>” +
“ phải có giá trị là “ + “<<Kiểu dữ liệu phù hợp>>” Ví dụ “Sốđiện thoại phải có giá trị là chuỗi số”
+ Thiếu ký tự: [TextError] = “<<Tên trường dữ liệu>>” + “ phải có “ + “<<lỗi>>”
Ví dụ “Mật khẩu phải có ký tự đặc biệt”, “Họ và Tên phải có nhiều hơn 6 ký tự”
❖ Nếu ô dữ liệu đúng thông tin, chuyển sang màu xanh [TextBoxColor] = “Green”
“Sign up” form:
Đăng ký bằng hệ thống
Sign up
Họ TênNgày sinh
Số điện thoạiEmailĐịa chỉTên tài khoảnMật khẩuNhập lại mật khẩu
Trang 12Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
Mã Cacha[Checkbox] Tôi đồng ý với điều khoản
Submit Đăng ký bằng mạng xã hội
Sign up
Họ TênNgày sinh
Số điện thoạiEmailĐịa chỉ
Mã Captcha[Checkbox] Tôi đồng ý với điều khoản
Submit
(6) BR 3 Xử lý dữ liệu:
❖ Nếu hệ thống xử lý dữ liệu thành công sẽ trả về mã trạng thái [status] = 200 và thông báo MG1
❖ Nếu bị lỗi về hệ thống đăng ký tài khoản không thành công
sẽ trả về mã trạng thái lỗi ( vd [status] = 500 ) và thông báo MSG 2
Trigger Nhấn vào nút “Login”
Basic flow B1: Truy cập vào trang web
B2: Tiến hành điền username và password và nhấn “Login” (đăng nhập bằng hệ thống) hoặc chọn tài khoản mạng xã hội
đã đăng ký để đăng nhập (đăng nhập bằng mạng xã hội)
Trang 13Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấnB3: Kiểm tra tài khoản
B4: Đăng nhập thành công, ảnh đại trên thanh công cụ được xuất hiện
Pre-condition ❖ Truy cập vào trang web đúng với nhu cầu sử dụng ( xem
mục 5 để truy cập đúng đường dẫn mong muốn)
Post-condition ❖ trả về token để xác định loại tài khoản và các chức năng
Trang 14Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
❖ Mạng xã hội cho phép đăng nhập+ Facebook
(5) BR 2 Kiểm tra tài khoản:
❖ Kiểm tra định dạng username
❖ Kiểm tra định dạng password
❖ Kiểm tra thời gian nhân được yêu cầu trong khoảng thời gian cho phép hay không ( <3000ms )
❖ Tiến hành hash password và kiểm tra trong Proxy
❖ Nếu có trong Proxy thì tiến hành bước tiếp theo, ngược tại truy cập vào cơ sở dữ liệu và kiểm tra tài khoản Nếu đúng thực hiện bước tiếp theo Ngược lại gửi về mã lỗi
❖ Tiến hành tạo Token cho tài khoản và trả về người dùng ( status = 200 )
UC3: Tạo tài khoản nhân viên
Name Tạo tài khoản nhân viên
Description Cho phép nhân viên hệ thống cung cấp tài khoản cho nhân viên
trong công ty
Actor Nhân viên hệ thống
Trigger - Truy cập vào mục “Tài khoản nhân viên”
- Nhấn nút kích hoạt
Basic flow B1: Truy cập vào mục “tài khoản nhân viên” (Employee
Account)B2: Nhấn nút “Create”
B3: Thiết lập Username và password và các thông tin cơ bản (mail, chức vụ, )
B3: Thiết lập chức vụ và phân quyềnB4: Nhấn nút kích hoạt
B5: Hệ thống kiểm tra và gửi về mail của nhân viên
Pre-condition ❖ Đăng nhập vào đường dẫn webcaycanh.system.vn
Trang 15Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
Post-condition ❖ Tài khoản sẽ được kích hoạt trong 72h
❖ Yêu cầu nhân viên thay đổi mật khẩu nếu quá 72h tài khoản sẽ bị vô hiệu hoá
(8) BR1 Kiểm tra thông tin:
Nếu có trường dữ liệu bị bị sai yêu cầu hoặc thiếu thông tin, hệ thống sẽ xuất hiện thông báo cho người dùng biết
❖ Nếu ô dữ liệu bị sai hoặc thiếu thông tin, ô dữ liệu chuyển sang đỏ [TextBoxColor] = “Red” Phía dưới ô dữ liệu sẽ có thông báo:
+ Bỏ trống thông tin: [TextError] = “<<Tên trường dữ liệu>>”+ “ bắt buộc phải có dữ liệu” Ví dụ: “Họ Tên bắt buộc phải có
Trang 16Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
dữ liệu”
+ Sai kiểu dữ liệu: [TextError] = “<<Tên trường dữ liệu>>” +
“ phải có giá trị là “ + “<<Kiểu dữ liệu phù hợp>>” Ví dụ “Sốđiện thoại phải có giá trị là chuỗi số”
+ Thiếu ký tự: [TextError] = “<<Tên trường dữ liệu>>” + “ phải có “ + “<<lỗi>>”
Ví dụ “Mật khẩu phải có ký tự đặc biệt”, “Họ và Tên phải có nhiều hơn 6 ký tự”
❖ Nếu ô dữ liệu đúng thông tin, chuyển sang màu xanh [TextBoxColor] = “Green”
Mẫu Form Đăng ký tài khoản nhân viên:
Đăng ký tài khoản nhân viên
Họ TênNgày sinhĐịa chỉChức vụTên tài khoảnMật khẩuNhập lại mật khẩu
Active
UC4: Cập nhật thông tin người dùng
Name Cập nhật thông tin người dùng
Description Cho phép người dùng thay đổi thông tin cá nhân của mình
Trang 17Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấnB2: Thay đổi các thông tin cần thiết
B3: Nhấn nút cập nhậtB4: Hệ thống kiểm tra và thông báo MSG 4
Pre-condition ❖ Đăng nhập vào hệ thống
Post-condition ❖ Dữ liệu được cập nhật trên hệ thống
(5) BR1 Kiểm tra thông tin người dùng:
- Nếu thông tin không đúng format hoặc bị lỗi thì hệ thống
sẽ thông báo
UC5: Tạo tài khoản nhà cung cấp
Name Tạo tài khoản nhà cung cấp
Description Cho phép nhân viên hệ thống cung cấp tài khoản cho nhà cung
cấp
Actor Nhân viên hệ thống
Trigger - Muốn tạo tài khoản nhà cung cấp
Trang 18Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
- Truy cập vào mục tài khoản nhà cung cấp
Basic flow B1: Truy cập vào mục tạo tài khoản nhà cung cấp (Provider)
B2: Thiết lập Username và password và các thông tin cơ bảnB3: Thiết lập chức vụ và phân quyền
B4: Nhấn nút kích hoạtB5: Hệ thống kiểm tra và gửi về mail của nhà cung cấp
Pre-condition ❖ Đăng nhập vào đường dẫn webcaycanh.system.vn
Post-condition ❖ Tài khoản sẽ được kích hoạt trong 72h
❖ Yêu cầu nhà cung cấp thay đổi mật khẩu nếu quá 72h tài khoản sẽ bị vô hiệu hoá
Trang 19Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
(8) BR 1 Kiểm tra thông tin:
Nếu có trường dữ liệu bị bị sai yêu cầu hoặc thiếu thông tin, hệ thống sẽ xuất hiện thông báo cho người dùng biết
❖ Nếu ô dữ liệu bị sai hoặc thiếu thông tin, ô dữ liệu chuyển sang đỏ [TextBoxColor] = “Red” Phía dưới ô dữ liệu sẽ có thông báo:
+ Bỏ trống thông tin: [TextError] = “<<Tên trường dữ liệu>>”+ “ bắt buộc phải có dữ liệu” Ví dụ: “Họ Tên bắt buộc phải có
dữ liệu”
+ Sai kiểu dữ liệu: [TextError] = “<<Tên trường dữ liệu>>” +
“ phải có giá trị là “ + “<<Kiểu dữ liệu phù hợp>>” Ví dụ “Sốđiện thoại phải có giá trị là chuỗi số”
+ Thiếu ký tự: [TextError] = “<<Tên trường dữ liệu>>” + “ phải có “ + “<<lỗi>>”
Ví dụ “Mật khẩu phải có ký tự đặc biệt”, “Họ và Tên phải có nhiều hơn 6 ký tự”
Nếu ô dữ liệu đúng thông tin, chuyển sang màu xanh [TextBoxColor] = “Green”
Mẫu Form Đăng ký tài khoản nhà cung cấp:
Tạo tài khoản nhà cung cấp
Tên nhà cung cấpĐịa chỉ
Chi nhánhLoại mặt hàng cung cấpTên tài khoảnMật khẩuNhập lại mật khẩu
Active
Trang 20Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
UC6: Lấy lại mật khẩu
Name Lấy lại mật khẩu
Description Cho phép người dùng lấy lại mật khẩu tài khoản trong trường
hợp người dùng quên tài khoản
Actor Tất cả người dùng
Trigger - Truy cập vào mục quên mật khẩu trong màn hình đăng
nhập
Basic flow B1: Nhấn nút quên mật khẩu
B2: Điền email hoặc số điện thoạiB3: Nếu chọn hình thức gửi mail, link thay đổi mật khẩu sẽ được gửi vào mail Nếu chọn hình thức bằng số điện thoại, tin nhắn chứa mã xác nhận gửi vào máy
B4: Truy cập link, tiến hành cập nhậtB5: Hệ thống kiểm tra và cập nhật
Pre-condition ❖ None
Post-condition ❖ Hệ thống lưu trữ mật khẩu mới trong DB
Trang 21Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
❖ Xác nhận qua email, người dùng điền email vào ô email sau
đó nhấn “Gửi” Một đường link thay đổi mật khẩu gửi vào email người dùng nhập
● Kiểm tra thông tin email, nếu email không có ký tự
@ Hệ thống thông báo cho người dung “Đây không phải định dạng của thư điện tử”
● Nếu phía sau ký tự @ không có nội dung hoặc không
có ký tự “.” Hệ thống thông báo => “Đây không phải định dạng của thư điện tử”
Trang 22Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
● Nhấn gửi: SendLinkToEmail(email) gọi API gửi nội đường link thay đổi mật khẩu với email mẫu như sau.From webcaycanh@gmail.com
● Kiểm tra thông tin số điện thoại, nếu số điện thoại có
ký tự số không đủ (< 10) hoặc có đính kèm ký tự khôngphải số Hệ thống sẽ thông báo => “Đây không phải định dạng của số điện thoại
● Nếu chọn hình thức “Gọi”, hệ thống sẽ gọi về số điện thoại người dùng và thông báo mã code để điền xác nhận
● Nếu chọn hình thức “Send SMS”, hệ thống sẽ gửi tin nhắn chứa mã code xác nhận vào máy
⮚ Người dùng điền mã code vào ô xác nhận nếu đúng mã
hệ thống sẽ chuyển tiếp vào trang đổi mật khẩuTrong màn hình đổi mật khẩu, người dùng tiến hành điền thông tin và đổi mật khẩu mới
(5) BR 3 Kiểm tra thông tin:
❖ Mật khẩu mới và nhập lại mật khẩu phải giống nhauIf(newPassword.equal(retypeNewPassword) == false) => xuất thông báo mật khẩu mới và nhập lại mật khẩu không giống nhau
❖ Mật khẩu lớn hơn 6 ký tự, có chữ số, chữ thường, chữ in hoa và ký tự đặc biệt
❖ Khi nhấn nút “Submit” hệ thống sẽ cập nhật lại mật khẩu mới cho người dung UpdatePassword(AccountID,
Trang 23Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấnnewPassword)
UC7: Khoá tài khoản
Name Khoá tài khoản
Description Cho phép nhân viên hệ thống chặn truy cập của tài khoản người
dùng hoặc ngưng tài khoản của nhân viên trong trường hợp nghỉviệc
Actor Nhân viên hệ thống
Trigger - Chọn tài khoản muốn xoá, nhấn OK
Basic flow B1: truy cập vào mục danh sách tài khoản
B2: chọn tài khoản muốn khoáB3: chọn nút khoá tài khoảnB4: Hiện thông báo MSG 6B4: Chọn OK
B5: Hệ thống tiến hành vô hiệu hoá tài khoản
Pre-condition ❖ Truy cập vào đường dẫn webcaycanh.system.vn
❖ Đăng nhập với tài khoản nhân viên hệ thống
Post-condition ❖ Tài khoản bị vô hiệu hoá
❖ Cập nhật vào BD
Activity flow
Trang 24Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
UC8: Tạo thông tin nhân viên
Name Tạo thông tin nhân viên
Description Cho phép quản trị viên tạo hồ sơ thông tin cho nhân viên
Actor Quản trị viên
Trigger - Muốn tạo thông tin nhân viên
- Truy cập vào mục thông tin nhân viên
Basic flow B1: Truy cập vào mục thông tin nhân viên
B2: Chọn mục Tạo mớiB3: Điền thông tin nhân viên hoặc truy xuất dữ liệu từ file Excel
B4: Nhấn nút xác nhậnB5: hệ thống kiểm tra thông tin và thông báoB6: Cập nhật thông tin trên DB
Pre-condition ❖ Đăng nhập vào hệ thống bằng đường dẫn
webcaycanh.system.vn
Post-condition ❖ Cập nhật thông tin trên DB
❖ Thông báo thành công
Trang 25Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
(7) BR1 Kiểm tra thông tin:
Khi quản trị viên điền các thông tin vào “Thông tin nhân viên” form Nếu có trường dữ liệu bị bị sai yêu cầu hoặc thiếu thông
tin, hệ thống sẽ xuất hiện thông báo cho người dùng biết
❖ Nếu ô dữ liệu bị sai hoặc thiếu thông tin, ô dữ liệu chuyển sang đỏ [TextBoxColor] = “Red” Phía dưới ô dữ liệu sẽ có thông báo:
+ Bỏ trống thông tin: [TextError] = “<<Tên trường dữ liệu>>”+ “ bắt buộc phải có dữ liệu” Ví dụ: “Họ Tên bắt buộc phải có
dữ liệu”
+ Sai kiểu dữ liệu: [TextError] = “<<Tên trường dữ liệu>>” +
“ phải có giá trị là “ + “<<Kiểu dữ liệu phù hợp>>” Ví dụ “Số
Trang 26Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấnđiện thoại phải có giá trị là chuỗi số”
❖ Nếu ô dữ liệu đúng thông tin, chuyển sang màu xanh [TextBoxColor] = “Green”
Form thông tin nhân viên:
Form thông tin nhân viên
Họ TênHình ảnh [Image]
Ngày sinhGiới tính
Số điện thoạiChức vụĐịa chỉCCCD/CMND
Submit
UC9: Xem thông tin nhân viên
Name Xem thông tin nhân viên
Description Cho phép quản trị viên xem danh sách thông tin nhân viên
Actor Quản trị viên
Trigger - Muốn xem thông tin nhân viên
- Truy cập vào mục nhân viên
Basic flow B1: Truy cập vào mục thông tin nhân viên
B2: Xem thông tin chi tiết nhân viênB3: Xuất file excel
Pre-condition ❖ Đăng nhập vào hệ thống với đường dẫn
webcaycanh.system.vn bằng tài khoản quản trị viên
Post-condition ❖
Trang 27Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
UC10: Tạo bảng chấm công
Name Tạo bảng chấm công
Description Cho phép quản trị viên tạo bảng chấm công
Actor Quản trị viên
Trigger - Muốn tạo bảng chấm công
- Chọn mục chấm công
Basic flow B1: Truy cập vào mục nhân viên
B2: Chọn mục chấm côngB3: Chọn tạo mớiB4: Nhập thông tin chấm công của nhân viên hoặc truy xuất
từ file ExcelB5: Nhấn nút Chấp nhậnB6: Hệ thống kiểm tra dữ liệuB7: Cập nhật vào DB và thông báo
Pre-condition ❖ Đăng nhập vào đường dẫn webcaycanh.system.vn bằng
tài khoản của Quản trị viên
Trang 28Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
UC11: Tạo mới sản phẩm
Name Tạo mới sản phẩm
Description Cho phép tạo mới thông tin của một sản phẩm ( cây cảnh, chậu
cây, dụng cụ hỗ trợ, phân bón cho cây, )
Trang 29Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
Actor Nhân viên kiểm kho
Trigger - Truy cập vào mục sản phẩm
- Chọn mục tạo mới sản phẩm và chọn loại sản phẩm cần tạo mới
Basic flow B1: Truy cập vào mục sản phẩm ( Product )
B2: Chọn mục tạo mới sản phẩm (Create) và chọn loại sản phẩm cần tạo mới
B3: Form thông tin tạo mới tương ứng sẽ được xuất hiệnB4: Điền thông tin vào form
B5: Nhấn nút “Submit”
B6: Kiểm tra dữ liệu và cập nhật vào hệ thống và thông báo MSG 3
Pre-condition ❖ Đăng nhập vào đường dẫn webcaycanh.system.vn bằng
tài khoản của nhân viên kiểm kho
Post-condition ❖ Cập nhật thông tin vào trong DB
Activity flow
Trang 30Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
Business Rules
Activit
y
BR Code Description
(2) BR 1 Tải thông tin page:
❖ Tải màn hình tạo mới sản phẩm “Sản phẩm” (tham khảo màn hình “Sản phẩm” trong “Description List” file)
(4) BR 2 Tải form loại sản phẩm:
❖ Khi chọ loại sản phẩm để tạo mới sản phẩm + Nếu cây cảnh: [TypeForm] = “CayCanh”
+ Nếu chậu cây: [TypeForm] = “ChauCay”
+ Nếu dụng cụ hỗ trợ: [TypeForm] = “DungCu”
+ Nếu phân bón: [TypeForm] = “PhanBon”
❖ Các form sản phẩm tương ứng sẽ được xuất hiện
Giá trị
Submit
- Form Chậu cây
Form chậu cây
Tên chậuKiểu chậuLoại chậuCông dụng
Trang 31Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
Giá trị
Submit
(7) BR 3 Kiểm tra dữ liệu:
❖ Kiểm tra thông tin các trường dữ liệu
- Nếu thông tin bị sai, hệ thống sẽ thông báo và [TextColor]
= “Red”
- Nếu đúng thì [TextColor] = “Green”
❖ If([TypeForm] == “CayCanh”)
● Kiểm tra tên cây
⮚ If(txtTenCay.Trim().isEmpty()) => thông báo trường dữliệu bị bỏ trống
● Kiểm tra loại cây
⮚ Giá trị combobox ban đầu mặc định giá trị đầu tiên
● Kiểm tra thông tin chi tiết
Trang 32Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
⮚ If(txtTT.Trim().isEmpty()) => Thông báo trường dữ liệu bị bỏ trống
● Kiểm tra giá trị
⮚ If(!txtPrice.isNumber()) => Thông báo giá trị không có
ký tự chữ
❖ If([TypeForm] == “ChauCay”)
● Kiểm tra tên chậu
⮚ If(txtTenChau.Trim().isEmpty()) => thông báo trường
dữ liệu bị bỏ trống
● Kiểm tra loại chậu
⮚ If(txtLCC.Trim().isEmpty()) => thông báo trường dữ liệu bị bỏ trống
● Kiểm tra kiểu chậu
⮚ If(txtKC.Trim().isEmpty()) => thông báo trường dữ liệu bị bỏ trống
● Kiểm tra công dụng
⮚ If(txtCD.isEmpty()) => thông báo trường dữ liệu bị bỏ trống
● Kiểm tra giá trị
⮚ If(!txtPrice.isNumber()) => thông báo giá trị không có
ký tự chữ
❖ If([TypeForm] == “DungCu”)
● Kiểm tra tên dụng cụ
⮚ If(txtDC.Trim().isEmpty()) => thông báo trường dữ liệu bị bỏ trống
● Kiểm tra loại dụng cụ
⮚ If(txtLDC.Trim().isEmpty()) => thông báo trường dữ liệu bị bỏ trống
● Kiểm tra cách sử dụng
⮚ If(txtCSD.Trim().isEmpty()) => thông báo trường dữ
Trang 33Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấnliệu bị bỏ trống
● Kiểm tra giá trị
⮚ If(!txtPrice.isNumber()) => thông báo giá trị không có chữ số
❖ If([TypeForm] == “PhanBon”)
▪Kiểm tra tên phân bón
⮚ If(txtPB.Trim().isEmpty()) => thông báo trường dữ liệu
bị bỏ trống
▪Kiểm tra loại phân bón
⮚ If(txtLPB.Trim().isEmpty()) => thông báo trường dữ liệu bị bỏ trống
▪Kiểm tra xuất xứ
⮚ If(txtXS.Trim().isEmpty()) => thông báo trường dữ liệubị
bỏ trống
▪Kiểm tra công dụng
⮚ If(txtCD.Trim().isEmpty()) => thông báo trường dữ liệu bị bỏ trống
▪Kiểm tra giá trị
⮚ If(!txtPrice.isNumber()) => thông báo giá trị không có kiểu
dữ liệu chữKiểm tra thông tin hoàn tất hệ thống cập nhập vào cơ sở dữ liệu:
▪ String query =”insert into SanPham value (… )”;
▪ int result = InsertDB(query);
▪ if(result > 0) => MSG 3UC12: Sửa sản phẩm
Trang 34Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
Description Cho phép sửa đổi thông tin sản phẩm
Actor Nhân viên kiểm kho
Trigger - Truy cập vào mục sản phẩm
- Chọn Update
Basic flow B1: Truy cập vào mục sản phẩm ( Product )
B2: Chọn mục sửa đổi sản phẩm (Update), chọn loại sản phẩm cần sửa đổi và chọn sản phẩm cần sửa đổi
B3: Thông tin sản phẩm tương ứng sẽ được xuất hiệnB4: Thay đổi thông tin vào form
B5: Nhấn nút “Update”
B6: Kiểm tra dữ liệu và cập nhật vào hệ thống và thông báo MSG 4
Pre-condition ❖ Đăng nhập vào đường dẫn webcaycanh.system.vn bằng
tài khoản của Quản trị viên
Post-condition ❖ Cập nhật thông tin DB
Activity flow
Business Rules
Activit BR Code Description
Trang 35Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
y
(2) BR 1 Tải màn hình:
❖ Tải màn hình hình sản phẩm (tham khảo màn hình sản phẩm trong “Description List” file)
(4) BR 2 Hiện thông tin sản phẩm:
Khi chọn một sản phẩm, dữ liệu của sản phẩm trong cơ sở dữ liệu
sẽ được lấy lên và điền vào form thông tin sản phẩm
▪ String query = “Select * from SanPham where IdSanPham
= [id của sản phẩm được chọn]”;
▪ SanPham sp = getDB(query);
▪ renderSpInView(sp);
(7) BR 3 Kiểm tra dữ liệu:
❖ Kiểm tra thông tin các trường dữ liệu
- Nếu thông tin bị sai, hệ thống sẽ thông báo và [TextColor]
= “Red”
- Nếu đúng thì [TextColor] = “Green”
❖ If([TypeForm] == “CayCanh”)
● Kiểm tra tên cây
⮚ If(txtTenCay.Trim().isEmpty()) => thông báo trường dữliệu bị bỏ trống
● Kiểm tra loại cây
⮚ Giá trị combobox ban đầu mặc định giá trị đầu tiên
● Kiểm tra thông tin chi tiết
⮚ If(txtTT.Trim().isEmpty()) => Thông báo trường dữ liệu bị bỏ trống
● Kiểm tra giá trị
⮚ If(!txtPrice.isNumber()) => Thông báo giá trị không có
ký tự chữ
❖ If([TypeForm] == “ChauCay”)
● Kiểm tra tên chậu
⮚ If(txtTenChau.Trim().isEmpty()) => thông báo trường
Trang 36Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
dữ liệu bị bỏ trống
● Kiểm tra loại chậu
⮚ If(txtLCC.Trim().isEmpty()) => thông báo trường dữ liệu bị bỏ trống
● Kiểm tra kiểu chậu
⮚ If(txtKC.Trim().isEmpty()) => thông báo trường dữ liệu bị bỏ trống
● Kiểm tra công dụng
⮚ If(txtCD.isEmpty()) => thông báo trường dữ liệu bị bỏ trống
● Kiểm tra giá trị
⮚ If(!txtPrice.isNumber()) => thông báo giá trị không có
ký tự chữ
❖ If([TypeForm] == “DungCu”)
● Kiểm tra tên dụng cụ
⮚ If(txtDC.Trim().isEmpty()) => thông báo trường dữ liệu bị bỏ trống
● Kiểm tra loại dụng cụ
⮚ If(txtLDC.Trim().isEmpty()) => thông báo trường dữ liệu bị bỏ trống
● Kiểm tra giá trị
⮚ If(!txtPrice.isNumber()) => thông báo giá trị không có chữ số
❖ If([TypeForm] == “PhanBon”)
▪Kiểm tra tên phân bón
⮚ If(txtPB.Trim().isEmpty()) => thông báo trường dữ liệu
bị bỏ trống
Trang 37Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
▪Kiểm tra loại phân bón
⮚ If(txtLPB.Trim().isEmpty()) => thông báo trường dữ liệu bị bỏ trống
▪Kiểm tra xuất xứ
⮚ If(txtXS.Trim().isEmpty()) => thông báo trường dữ liệubị
bỏ trống
▪Kiểm tra công dụng
⮚ If(txtCD.Trim().isEmpty()) => thông báo trường dữ liệu bị bỏ trống
▪Kiểm tra giá trị
⮚ If(!txtPrice.isNumber()) => thông báo giá trị không có kiểu
▪ Int result = updatedDB(query)
▪ If(result > 0) => thông báo MSG4
UC13: Xóa sản phẩm
Description Cho phép xóa (ẩn) thông tin sản phẩm
Actor Nhân viên kiểm kho
Trigger - Truy cập mục sản phẩm
- Nhấn nút Delete
Basic flow B1: Truy cập vào mục sản phẩm ( Product )
B2: chọn sản phẩm cần xoáB3: Nhấn nút “Delete”
B4: Thông báo MSG 6 xuất hiệnB5: Nhấn nút “OK”
Trang 38Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấnB6: Trường dữ liệu _destroy (=true) sẽ cập nhật vào hệ thống
và thông báo MSG 5
Pre-condition ❖ Đăng nhập vào đường dẫn webcaycanh.system.vn bằng
tài khoản của Quản trị viên
(2) BR 1 Tải thông tin page:
Tải thông tin của page với mục Product
❖ Cập nhật trường dữ liệu _destroy = true trong DB
UC14: Xem chi tiết sản phẩm
Name Xem chi tiết sản phẩm
Description Cho phép người dùng xem thông tin chi tiết sản phẩm
Actor Khách hàng, Ban giám đốc, Quản trị viên, Nhân viên bán hàng,
Nhân viên hỗ trợ khách hàng, Nhân viên kiểm kho, nhà cung cấp
Trang 39Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấn
Trigger - Chọn sản phẩm muốn xem chi tiết
Basic flow B1: Truy cập vào mục Sản phẩm
B2: Chọn loại sản phẩm muốn xemB3: Chọn sản phẩm theo nhu cầu ( có thể sử dụng công cụ tìm kiếm, lọc để hỗ trợ )
B4: Thông tin chi tiết của sản phẩm được xuất hiện
Pre-condition ❖ Đăng nhập vào trang web
- Chậu cây: chậu to, chậu nhỏ, chậu độc lạ,…
- Dụng cụ hỗ trợ: Giá treo, bình tưới nước,…
- Phân bón: phân bón sinh học, phân bón thường,…
(7) BR 2 Tải thông tin chi tiết sản phẩm:
- Truy cập vào cơ sở dữ liệu lấy thông tin sản phẩm theo yêu
Trang 40Prepared for Xây dựng website bán cây cảnh và chatbot hỗ trợ tư vấncầu dựa vào ID của sản phẩm, sử dụng phương thức GET
để lấy dữ liệu
- Trả về thông tin thông tin của sản phẩm và thể hiện trên giao diện
UC15: Tạo loại sản phẩm
Name Tạo loại sản phẩm
Description Cho phép tạo mới một loại sản phẩm
Actor Nhân viên kiểm kho
Trigger - Chọn mục tạo mới sản phẩm
Basic flow B1: Truy cập vào mục sản phẩm
B2: Chọn mục tạo mới loại sản phẩmB3: Điền Tên loại sản phẩm và mô tả B4: Nhấn nút submit
B5: Hệ thống kiểm tra dữ liệu và cập nhật vào DB và thông báo MSG 3
Pre-condition ❖ Đăng nhập vào đường dẫn webcaycanh.system.vn bằng
tài khoản của Nhân viên kiểm kho
Post-condition ❖ Cập nhật DB
❖ Xuất hiện lên giao diện người dùng