GIỚI THIỆU CHUNG
Phát biểu bài toán
Ngày nay, công nghệ thông tin và tin học hóa đóng vai trò quyết định trong hoạt động của chính phủ, tổ chức và doanh nghiệp, mang lại những bước đột phá mạnh mẽ Sự phát triển không ngừng của kỹ thuật máy tính và mạng điện tử đã giúp công nghệ thông tin chinh phục nhiều đỉnh cao mới Internet trở thành công cụ thiết yếu, nền tảng cho việc truyền tải và trao đổi thông tin toàn cầu Người dùng chỉ cần một máy tính kết nối internet để dễ dàng truy cập thông tin về bất kỳ vấn đề nào Nhờ internet, nhiều công việc được thực hiện nhanh chóng và tiết kiệm chi phí, thúc đẩy sự phát triển của thương mại điện tử và chính phủ điện tử, đồng thời cải thiện chất lượng cuộc sống Trong sản xuất và kinh doanh, thương mại điện tử đã khẳng định vai trò quan trọng trong việc thúc đẩy sự phát triển của doanh nghiệp Đối với cửa hàng, việc quảng bá sản phẩm mới đến khách hàng thông qua việc xây dựng một website là rất cần thiết.
Trên thị trường phần mềm hiện nay có nhiều hệ thống đáp ứng nhu cầu quản lý bán hàng, nhưng chúng thường phức tạp và khó sử dụng Nhận thấy điều này, nhóm chúng tôi quyết định phát triển một phần mềm mới, tập trung vào sự đơn giản và dễ tiếp cận, trong khi vẫn đảm bảo đáp ứng đầy đủ các yêu cầu nghiệp vụ Do đó, chúng tôi đã thực hiện đồ án “HỆ THỐNG HỖ TRỢ BÁN HÀNG CÓ SỬ DỤNG MÃ VẠCH”.
Một cửa hàng trực tuyến cho phép chủ sở hữu quản lý sản phẩm trên website của mình, giúp khách hàng dễ dàng đặt hàng mà không cần đến cửa hàng Sau khi đơn hàng được xác nhận, sản phẩm sẽ được gửi đến tay khách hàng Để hỗ trợ quá trình thanh toán, chủ cửa hàng và nhân viên có thể sử dụng ứng dụng quét mã, giúp thêm đơn hàng vào hóa đơn và xem thông tin sản phẩm một cách nhanh chóng.
Dưới sự hướng dẫn tận tình của Thầy Huỳnh Tuấn Anh, nhóm chúng em đã hoàn thành bài báo cáo đồ án Mặc dù đã nỗ lực tìm hiểu, phân tích thiết kế và cài đặt hệ thống, chúng em vẫn không tránh khỏi những thiếu sót Rất mong nhận được sự thông cảm và góp ý từ quý Thầy cô Chúng em xin chân thành cảm ơn.
Mục đích sử dụng tài liệu
Người sử dụng Mục đích
Nhóm phát triển hệ thống có nhiệm vụ hiểu rõ chức năng và đặc tính của hệ thống, nhằm đáp ứng các yêu cầu của người dùng trong quá trình xây dựng Trong khi đó, nhóm kiểm thử sẽ hỗ trợ trong việc xây dựng tài liệu và kiểm tra các chức năng của hệ thống.
KHẢO SÁT HIỆN TRẠNG
Kế hoạch khảo sát
- Tìm hiểu, nắm bắt được cơ cấu hoạt động của tổ chức bán hàng
- Hiện trạng tin học: xác định được mức độ về phần cứng và trình độ tin học của những tác nhân sử dụng phần mềm bán hàng
Hiện trạng nghiệp vụ của hệ thống bán hàng cần được hiểu rõ để phát triển phần mềm phù hợp, nhằm đáp ứng hiệu quả các nghiệp vụ của tổ chức bán hàng.
Phương pháp khảo sát
Khảo sát và phỏng vấn các cửa hàng vừa và nhỏ để tìm hiểu về nghiệp vụ của họ Đồng thời, quan sát và tham khảo các phần mềm mà các cửa hàng này đang sử dụng để có thêm thông tin hữu ích.
STT Câu hỏi Dạng Câu Hỏi Trả Lời
Bạn đã làm việc ở cửa hàng khoảng bao lâu rồi?
Mình đã đi làm trong cửa hàng được 1 năm Từ tháng 12/2019 đến nay
Cửa hàng hiện tại đang kinh doanh qua các nền tảng (mạng xã hội, ứng dụng)?
Hiện tại cửa hàng kinh doanh chính trên facebook, ngoài ra còn có cửa hàng trên shopee
Bạn có thể chia sẻ về công việc hàng ngày của người quản lý trang kinh doanh online không?
Hàng ngày, nhân viên của chúng tôi kiểm tra và xác nhận các đơn hàng từ khách hàng, sau đó thông báo lại thông tin để chốt đơn Các công việc còn lại sẽ được thực hiện bởi bộ phận đóng gói và vận chuyển.
Cụ thể hơn về cách thức đăng sản phẩm, hình ảnh, content, quản lý kho hàng thì cửa hàng mình thực hiên như thế nào?
Câu hỏi xác định có các nghiệp vụ như:
- nhập sản phẩm mới vào kho
- báo cáo theo yêu cầu (khoảng thời gian)
- cập nhật giá cả, hình ảnh thực tế, thông tin về sản phẩm
- liên lạc chăm sóc khách hàng
- theo dõi các đơn hàng và xử lí kịp thời các sự cố
Bạn có thể mô tả nghiệp vụ bán hàng?
- Dựa vào yêu cầu khách hàng, tạo hóa đơn bao gồm các sản phẩm, tiến hành đặt hàng
Bạn có thể mô tả nghiệp vụ thêm sản phẩm?
Khi cửa hàng cần thêm sản phẩm mới, họ sẽ chọn lọc hình ảnh và viết mô tả chi tiết về các thành phần của món ăn, cách bảo quản, cùng với giá cả theo đơn vị tính.
Bạn có thể mô tả nghiệp vụ Báo cáo?
Khi đến thời hạn báo cáo hoặc khi có yêu cầu gửi báo cáo, nhân viên quản lý sẽ tiến hành kiểm tra và thống kê doanh số bán hàng trong khoảng thời gian đó.
11 gian yêu cầu, lập phiếu báo cáo
Bạn nghĩ như thế nào về cách sử dụng nền tảng bán hàng online hiện tại của cửa hàng?
Đầu tiên, công cụ này dễ sử dụng và trực quan, nhưng có quá nhiều chức năng cần tìm hiểu hoặc không thực sự cần thiết Thứ hai, chi phí hoạt động của nó khá cao Nếu bạn đã có một website riêng và một tệp khách hàng sẵn có, điều này sẽ mang lại nhiều lợi ích hơn.
Bạn nghĩ như thế nào về một ứng dụng nhỏ ngay trên điện thoại có thể giúp bạn xem được thông tin của sản phẩm?
- Nếu có ứng dụng đó thì thật tuyệt vời Có sẵn điện thoại trong tay nên sẽ tiết kiệm được chi phí khá nhiều.
Thông tin thu thập được
2.3.1 Nhu cầu sử dụng website
Nhu cầu sử dụng website của các cửa hàng ngày càng tăng cao, giúp họ nắm bắt tình hình tiêu thụ và xu hướng sản phẩm Từ đó, các cửa hàng có thể xây dựng chiến lược kinh doanh hiệu quả hơn.
Phần mềm là công cụ quan trọng giúp các cửa hàng quảng bá sản phẩm, tạo đơn hàng và theo dõi nhu cầu thị trường, từ đó phát triển kinh doanh hiệu quả.
Website hỗ trợ các cửa hàng trong việc tạo đơn hàng một cách dễ dàng, cung cấp các thông tin cơ bản và thiết yếu về đơn hàng Đồng thời, nó cũng lưu trữ thông tin liên quan đến đơn hàng, sản phẩm được bán và người tạo đơn hàng.
Website bán hàng giúp người quản lý dễ dàng theo dõi doanh thu và đánh giá thị trường thông qua báo cáo doanh thu theo thời gian và số lượng sản phẩm đã bán.
2.3.2 Các tính năng mà website bán hàng cần có sau khi qua khảo sát
- Thay đổi thông tin tài khoản
- Thêm sản phẩm vào hóa đơn
- Xóa sản phẩm khỏi hóa đơn
2.3.3: Nhu cầu sử dụng mã vạch sản phẩm
Nhu cầu sử dụng mã vạch sản phẩm tại các cửa hàng ngày càng tăng, nhằm xác định chính xác mặt hàng và cung cấp thông tin chi tiết liên quan đến sản phẩm đó.
- Mã vạch giúp cho việc tracking thông tin sản phẩm cụ thể hơn
- Mã vạch giúp người quản lý dễ dàng theo dõi số lượng sản phẩm
- Mã vạch còn giúp cho người thu ngân có thể thêm vào hoá đơn dễ dàng hơn
Yêu cầu phần mềm
Danh sách các yêu cầu
STT Tên yêu cầu Biểu mẫu Quy Định Ghi chú
1 Tạo tài khoản mới BM1 QĐ1
4 Lập báo cáo doanh thu BM4 QĐ2
Danh sách các biểu mẫu và quy định
Biểu mẫu 1 Tạo tài khoản mới
Mật khẩu:……… Địa chỉ:……… Số điện thoại:………
Quy định 1: Có 2 loại tài khoản: tài khoản khách hàng, tài khoản quản lý
Biểu mẫu 2 KHO SẢN PHẢM
Mặt hàng Hình ảnh Đơn giá Mô tả
Ngày tạo Mặt hàng Đơn giá Thành tiền Số hóa đơn
Biểu mẫu 4 BÁO CÁO DOANH THU
STT Số hóa đơn Mã mặt hàng Doanh thu Ngày tạo
Quy định 2: báo cáo theo người tạo và theo mã mặt hàng
Biểu mẫu 5 QUÉT MÃ BARCODE
STT Tên mặt hàng Mã mặt hàng Giá mặt hàng Hình ảnh mặt hàng
MÔ TẢ TỔNG THỂ HỆ THỐNG
Mô hình tổng thể hệ thống website
Hình 1: Biểu đồ phân rã chức năng hệ thống website quán lý bán hàng
Chức năng hệ thống website yêu cầu
4.2.1 Đăng nhập: Yêu cầu chức năng đăng nhập để xác định danh tính và phân quyền người dùng
4.2.2 Thay đổi thông tin tài khoản: cho phép người dung thay đổi thông tin tài khoản
4.2.3 Tạo hóa đơn: người dùng tạo hóa đơn, thêm sản phẩm, xóa sản phẩm khỏi hóa đơn, tổng kết tiền của hóa đơn sau khi trừ khuyến mãi Thanh toán hóa đơn, hủy hóa đơn 4.2.4 Tìm kiếm sản phẩm: cho phép thực hiện tìm kiếm sản phẩm mà cửa hàng hiện có 4.2.5 Thêm sản phẩm vào hóa đơn: Cho phép thêm một sản phẩm mới vào hóa đơn 4.2.6 Thanh toán hóa đơn: Cho phép thanh toán hóa đơn
4.2.7 Hủy hóa đơn: Hủy hóa đơn nếu không muốn tiếp tục lập và lưu trữ hóa đơn
4.2.8 Xem báo cáo: xem báo cáo doanh thu của hoạt động bán hàng Có các tùy chọn xem báo cáo như xem theo nhân viên, theo sản phẩm, xem theo khoảng thời gian, xuất báo cáo
Mô hình người dùng hệ thống website
- Đặc tả mô hình người dùng hệ thống bằng sơ đồ Usecase
- Actor: nhân viên, khách hàng
Use case bắt đầu khi người dùng mở ứng dụng và thực hiện chức năng đăng nhập, với mục tiêu chính là phân biệt và phân quyền người dùng.
1 Nhân viên hoặc khách hàng nhập thông tin tài khoản để đăng nhập
2 Hệ thống kiểm tra tài khoản và mật khẩu
1 Xử lý sai thông tin tài khoản: hệ thống báo sai, không được đăng nhập và phải nhập lại thông tin tài khoản
• Use case tìm kiếm sản phẩm
- Actor: nhân viên, khách hàng
Use case bắt đầu khi người dùng nhấp vào ô tìm kiếm sản phẩm, với mục tiêu tìm kiếm các sản phẩm có tên liên quan đến từ khóa được nhập.
1 Nhân viên hoặc khách hàng nhập từ khóa tìm kiếm vào ô tìm kiếm
2 Hệ thống tìm tên sản phầm có liên quan trong cơ sở dữ liệu và hiển thị ra bảng trên ứng dụng
- Các dòng xử lý thay thế:
1 Nếu không tìm thấy sản phẩm nào ứng với từ khóa tìm kiếm thì hiển thị bảng trống
• Use case tạo hóa đơn
- Actor: nhân viên, khách hàng
- Use case bắt đầu khi người dùng bấm nút tạo hóa đơn Mục tiêu của use case là tạo hóa đơn bán hàng
1 Nhân viên hoặc khách hàng chọn được sản phẩm cần thêm vào hóa đơn từ bảng sản phẩm
2 Thêm sản phẩm vào hóa đơn, chi tiết hóa đơn, xử lý lại tồn kho
3 Cập nhật tổng tiền hóa đơn dựa trên khuyến mãi, chiết khấu
4 Thanh toán hóa đơn => đóng xử lý hóa đơn
5 Hủy hóa đơn => xóa hóa đơn, chi tiết hóa đơn, khôi phục tồn kho => đóng xử lý hóa đơn
1 Nếu xóa sản phẩm khỏi hóa đơn thì cập nhật lại hóa đơn, chi tiết hóa đơn
Use case bắt đầu khi nhân viên truy cập mục "đơn hàng" Mục tiêu của use case này là cung cấp thống kê và báo cáo về thông tin sản phẩm hoặc doanh thu dựa trên các tùy chọn mà người dùng lựa chọn.
1 Dựa vào các tiêu chí đã để cho ra các kết quả báo cáo phù hợp từ cơ sở dữ liệu
• Use case quản lý sản phẩm
Use case bắt đầu khi người dùng chọn mục quản lý sản phẩm Mục tiêu của use case này là giúp người dùng quản lý sản phẩm một cách hiệu quả, bao gồm việc xem, thay đổi thông tin sản phẩm, cũng như thêm hoặc xóa sản phẩm theo nhu cầu.
1 Người dùng chọn nút thêm sản phẩm, hệ thống sẽ yêu cầu nhập thông tin sản phẩm vào các ô
2 Chọn nút xóa sản phẩm, hệ thống thông báo cho người dùng để xác nhận xóa
3 Chọn nút sửa sản phẩm, hệ thống cho phép chỉnh sửa các thông tin đang có của sản phẩm
4 Khi chọn nút đồng ý thì hệ thống kiểm tra các ràng buộc của thông tin sản phẩm để xác nhận thêm hoặc sửa sản phẩm
5 Khi chọn nút hủy thì thoát khỏi thao tác thêm, xóa hoặc sửa sản phẩm
1 Nếu vi phạm các ràng buộc hệ thống thì không thực hiện thao tác và thông báo cho người dùng
• Use case thay đổi thông tin tài khoản
- Actor: nhân viên, quản lý
- Use case bắt đầu khi người dùng chọn mục reset password Mục đích use case là thay đổi thông tin tài khoản
1 Ấn nút thay đổi sau khi nhật các thông tin thì hệ thống kiểm tra các ràng buộc và thay đổi thông tin tài khoản
2 Cập nhật lại tài khoản
1 Nếu vi phạm các ràng buộc thì không thực hiện thao tác và thông báo cho người dùng
Mô hình người dùng hệ thống quét mã
• Use case quét mã Barcode
-Use case bắt đầu khi người dùng chủ động chiếu camera tới barcode của 1 loại mặt hàng
1 Khi chiếu camera tới barcode, hệ thống sẽ chủ động phân tách barcode thành mã dưới dạng số tự nhiên
2 Từ mã số tự nhiên sau khi phân tách được, hệ thống sẽ tiến hành gửi request tới POST API đã được xây dựng sẵn lấy về thông tin mặt hàng
1 Hệ thống sẽ thông báo cho người dùng nếu mã Barcode không tồn tại
• Use case hiển thị thông tin sản phẩm
- Use case bắt đầu khi file JSON được tả về bởi request tới POST API có message : “Add cart successfully!”
1 Khi bắt được file JSON, hệ thống sẽ tiến hành Fetch dữ liệu từ file JSON
2 Sau khi lấy được dữ liệu, sẽ tiến hành thêm dữ liệu vào các Label, cũng như ImageView để hiện thị ra màn hình
• Use case thêm sản phẩm vào hoá đơn
- Use case bắt đầu khi hệ thống bắt được file JSON tra về bởi POST API có message : “ Add cart successfully! ”
1 Sau khi lấy về được thông tin sản phẩm, hệ thống sẽ tự động thêm số lượng sản phẩm quét được vào hoá đơn Từ đây, hệ thống website sẽ tự động cập nhật vào Database
1 Khi lấy về thông tin sản phẩm thất bại, hệ thống sẽ không thêm sản phẩm vào hoá đơn
ĐẶC TẢ YÊU CẦU HỆ THỐNG
Yêu cầu chức năng của website
5.1.1 Đăng nhập: Yêu cầu chức năng đăng nhập để xác định danh tính và phân quyền người dùng
5.1.2 Thay đổi thông tin tài khoản: Cho phép người dung thay đổi thông tin tài khoản
5.1.3 Tạo hóa đơn: Người dùng tạo hóa đơn, thêm sản phẩm, xóa sản phẩm khỏi hóa đơn, tổng kết tiền của hóa đơn sau khi trừ khuyến mãi Thanh toán hóa đơn, hủy hóa đơn 5.1.4 Tìm kiếm sản phẩm: Cho phép thực hiện tìm kiếm sản phẩm mà cửa hàng hiện có 5.1.5 Thêm sản phẩm vào hóa đơn: Cho phép thêm một sản phẩm mới vào hóa đơn
5.1.6 Thanh toán hóa đơn: Cho phép thanh toán hóa đơn
5.1.7 Hủy hóa đơn: Hủy hóa đơn nếu không muốn tiếp tục lập và lưu trữ hóa đơn
5.1.8 Xem báo cáo: Xem báo cáo doanh thu của hoạt động bán hàng
5.1.9 Quản lý sản phẩm: Bao gồm các chức năng thêm, xóa, sửa thông tin sản phẩm.
Yêu cầu chức năng của ứng dụng quét mã
5.2.1 Quét mã sản phẩm: Phân tách mã Barcode thành dạng số tự nhiên
5.2.2 Hiển thị sản phẩm: Hiển thị thông tin sản phẩm bao gồm, hình ảnh, giá, mã sản phẩm
5.2.3 Thêm sản phẩm vào hoá đơn: Sau khi lấy được thông tin sản phẩm, hệ thống sẽ tiến hành thêm số lượng sản phẩm được đã được quét vào hoá đơn mà người nhân viên đó đang tạo.
Đặc tả yêu cầu của website
5.3.1.1 Thông tin chung chức năng đăng nhập
Tên chức năng Đăng nhập
Mô tả Đăng nhập vào phần mềm
Tác nhân Nhân viên, khách hàng Điều kiện trước Không có Điều kiện sau Không có
Các yêu cầu đặc biệt Không có
5.3.1.2 Biểu đồ luồng xử lý chức năng
5.3.1.3 Mô tả dòng sự kiện
Hành động của tác nhân Phản ứng của hệ thống
Mở phần mềm và điền thông tin đăng nhập
- Cho phép nhập thông tin đăng nhập
- Vào trang bán hàng chính, hiển thị các chức năng dựa theo phân quyền tài khoản
5.3.2 Chức năng thay đổi thông tin tài khoản
5.3.2.1 Thông tin chung chức năng thay đổi thông tin tài khoản
Tên chức năng Thay đổi thông tin tài khoản
Mô tả Thay đổi các thông tin cơ bản của tài khoản
Tác nhân Nhân viên, khách hàng Điều kiện trước Không có Điều kiện sau Không có
Các yêu cầu đặc biệt Không có
27 5.3.2.2 Biểu đồ luồng xử lí chức năng
5.3.2.3 Mô tả dòng sự kiện
Hành động của tác nhân Phản ứng của hệ thống
Sau khi đăng nhập thành công => thông tin tài khoản
- Hiển thị màn hình thông tin tài khoản
Nhập thông tin cần thay đổi
- Hiển thị thông tin các ràng buộc nếu có
Chọn thay đổi - Thông báo thay đổi thành công hoặc không thành công
5.3.3 Nhóm chức năng bán hàng
5.3.3.1 Chức năng tạo hóa đơn
Tên chức năng Tạo hóa đơn
Mô tả Tạo hóa đơn bán hàng
Tác nhân Nhân viên, khách hàng Điều kiện trước Người dùng đăng nhập thành công vào hệ thống Điều kiện sau Không có
Các yêu cầu đặc biệt Không có
5.3.3.1.2 Mô tả dòng sự kiện
Hành động của tác nhân Phản ứng của hệ thống
Sau khi đăng nhập thành công => tạo hóa đơn
- Hiển thị màn hình bán hàng
Chọn tạo hóa đơn - Hiển thị màn hình
- Tải thông tin sản phẩm lên bảng Chọn thêm hoặc xóa sản phẩm khỏi hóa đơn
- Hiển thị thông tin hóa đơn bao gồm các sản phẩm được thêm vào
Các thông tin khi thay đổi cần đảm bảo thỏa mãn quy cách đặt tên của phần mềm 5.3.3.2 Chức năng Thanh toán hóa đơn
5.3.3.2.1 Thông tin chung chức năng
Tên chức năng Thanh toán hóa đơn
Mô tả Thanh toán hóa đơn bán hàng
Tác nhân Nhân viên, khách hàng
30 Điều kiện trước Người dùng đăng nhập thành công vào hệ thống Điều kiện sau Không có
Các yêu cầu đặc biệt Không có
5.3.3.2.2 Mô tả dòng sự kiện
Hành động của tác nhân Phản ứng của hệ thống
Sau khi đăng nhập thành công - Hiển thị màn hình:
- Hiển thị hóa đơn hiện hành (chưa thanh toán)
Chọn nút thanh toán - Hiển thị màn hình:
- Thông báo xác nhận thanh toán
Các thông tin cần đảm bảo thỏa mãn quy cách đặt tên của phần mềm
5.3.3.3 Chức năng Hủy hóa đơn
5.3.3.3.1 Thông tin chung chức năng
Tên chức năng Hủy hóa đơn
Mô tả Hủy hóa đơn bán hàng
Tác nhân Nhân viên, khách hàng
31 Điều kiện trước Người dùng đăng nhập thành công vào hệ thống Điều kiện sau Không có
Các yêu cầu đặc biệt Không có
5.3.3.3.2 Mô tả dòng sự kiện
Hành động của tác nhân Phản ứng của hệ thống
Sau khi đăng nhập thành công - Hiển thị màn hình:
- Hiển thị hóa đơn hiện hành (chưa thanh toán)
Chọn nút hủy hóa đơn - Hiển thị màn hình:
- Thông báo xác nhận hủy hóa đơn
Các thông tin cần đảm bảo thỏa mãn quy cách đặt tên của phần mềm
5.3.3.4 Biểu đồ luồng xử lí nhóm chức năng bán hàng
5.3.4.1 Thông tin chung chức năng
Tên chức năng Báo cáo
Mô tả Thống kê, báo cáo doanh số, doanh thu, theo khoảng thời gian
Tác nhân Nhân viên Điều kiện trước Người dùng đăng nhập thành công vào hệ thống với quyền nhân viên Điều kiện sau Không có
Các yêu cầu đặc biệt Không có
5.3.4.2 Biểu đồ luồng xử lý chức năng
5.3.4.3 Mô tả dòng sự kiện chính
Hành động của tác nhân Phản ứng của hệ thống
Sau khi đăng nhập thành công => danh mục => báo cáo
- Các loại báo cáo Chọn loại báo cáo, tìm kiếm chi tiết
- Hiển thị thống kê theo lựa chọn
Chọn xuất file - Hiển thị màn hình
- Xuất ra file Excel báo cáo
- Nếu có địa chỉ mail thì sẽ xác nhận để gửi file báo cáo đến địa chỉ đó
5.3.5 Chức năng Quản lí sản phẩm
5.3.5.1 Thông tin chung chức năng
Tên chức năng Quản lý sản phẩm
Mô tả Quản lý tồn kho, giá bán, sản phẩm mới, sửa thông tin, xóa sản phẩm
Tác nhân Người quản lý Điều kiện trước Người dùng đăng nhập thành công vào hệ thống với quyền nhân viên Điều kiện sau Không có
Các yêu cầu đặc biệt Không có
36 5.3.5.2 Biểu đồ luồng xử lý chức năng
5.3.5.3 Mô tả dòng sự kiện
Hành động của tác nhân Phản ứng của hệ thống
Sau khi đăng nhập thành công => sản phẩm
- Hiển thị thông tin sản phẩm
Chọn sản phẩm cần thay đổi, thêm, xóa thông tin
- Xác nhận các dòng dữ liệu cần thay đổi
- Nếu các thông tin cần thay đổi thỏa mãn điều kiện thì xác nhận và cập nhật thay đổi
- Nếu chọn xóa sản phẩm thì xóa sản phẩm
- Nếu chọn thêm sản phẩm thì thêm sản phẩm
5.3.5.4 Ghi chú các thông tin khi thay đổi cần đảm bảo thỏa mãn quy cách đặt tên của phần mềm.
Đặc tả yêu cầu của ứng dụng quét mã
5.4.1.1 Thông tin chung của chức năng
Tên chức năng Quét mã
Mô tả Phân tách mã barcode thành số tự nhiên
Tác nhân Nhân viên Điều kiện trước Sản phẩm phải có mã barcode Điều kiện sau Không có
Các yêu cầu đặc biệt Không có
5.4.1.2 Biểu đồ luồng xử lý chức năng
5.4.1.3 Mô tả dòng sự kiện
Hành động của tác nhân Phản ứng của hệ thống
Sau khi chiếu camera tới mã barcode
- Thông báo quét thành công
5.4.2 Chức năng hiển thị thông tin sản phẩm
5.4.2.1 Thông tin chung của chức năng
Tên chức năng Hiển thị thông tin sản phẩm
Mô tả - Hiển thị thông tin sản phẩm lên màn hình
Tác nhân Nhân viên Điều kiện trước Gửi request tới POST API thành công Điều kiện sau Không có
Ngoại lệ Gửi request tới POST API thất bại, hệ thống sẽ thông báo cho người dùng
Các yêu cầu đặc biệt Không có
5.4.2.2 Biểu đồ luồng xử lý chức năng
5.4.2.3 Mô tả dòng sự kiện
Hành động của tác nhân Phản ứng của hệ thống
Sau khi hệ thống phân tách mã barcode thành công
- Tiến thành gửi request tới POST API
- Bắt file JSON được API trả về
5.4.3 Chức năng thêm sản phẩm vào hoá đơn
5.4.3.1 Thông tin chung của chức năng
Tên chức năng Thêm sản phẩm vào hoá đơn
- Thêm sản phẩm vào hoá đơn nhân viên
- Xác nhận nhân viên đang tạo hoá đơn
Tác nhân Nhân viên Điều kiện trước
- Sản phẩn phải có mã barcode
- Request từ hệ thống tới POST API phải thành công Điều kiện sau Không có
Các yêu cầu đặc biệt Không có
5.4.3.2 Biểu đồ luồng xử lý chức năng
5.4.3.3 Mô tả dòng sự kiện
Hành động của tác nhân Phản ứng của hệ thống
Sau khi gửi request tới POST API và xác nhận nhân viên thành công
- Hiển thị thông tin sản phẩm
- Thêm sản phẩm + số lượng lên hệ thống
- Hiển thị hoá đơn mới lên hệ thống website
- Cập nhật cơ sở dữ liệu
THIẾT KẾ DỮ LIỆU
Yêu cầu 1: tạo tài khoản mới (User)
Thiết kế dữ liệu với tính đúng đắn
- Biểu mẫu liên quan: BM1
• Mật khẩu (MatKhau) -Tạo bảng USER để chứa các thuộc tính liên quan đến “User”
• Giỏ hàng (GioHang) -Sơ đồ logic
Thiết kế dữ liệu với tính tiến hóa
-Quy định liên quan: Quy định 1
• Tên Loại(TenLoai) -Tạo bảng LOAITAIKHOAN
• Thêm MaLoai vào bảng USER - là khóa phụ tham chiếu đến bảng
Yêu cầu 2: Kho sản phẩm
- Thiết kế dữ liệu với tính đúng đắn
- Biểu mẫu liên quan: BM2
• Hình ảnh (HinhAnh) -Tạo bảng MATHANG chứa các thuộc tính liên quan đến “Mặt hàng”
Yêu cầu 3: Lập hóa đơn
- Thiết kế dữ liệu với tính đúng đắn
• Người lập (NguoiLap) -Tạo bảng HOADON để chứa các thuộc tính liên quan đến “Hóa đơn”
• Mã chi tiết hóa đơn (MaChiTietHoaDon)
• Thêm MaHoaDon là khóa ngoại tham chiếu đến bảng
• Thêm MaMatHang là khóa ngoại tham chiếu đến bảng -Sơ đồ logic
Yêu cầu 4: Lập báo cáo
-Thiết kế dữ liệu với tính đúng đắn
-Biểu mẫu liên quan: Biểu mẫu 4
• Ngày lập báo cáo doanh thu (NgayLapBaoCaoDoanhThu)
• Doanh thu (DoanhThu) -Tạo bảng BAOCAODOANHTHU để chứa các thuộc tính liên quan đến “Hóa đơn”
• Mã báo cáo doanh thu (MaBaoCaoDoanhThu)
• Mã chi tiết báo cáo doanh thu (MaChiTietBaoCaoDoanhThu)
• Thêm MaNhanVien là khóa phụ tham chiếu đến bảng
• Thêm MaHoaDon là khóa phụ tham chiếu đến bảng
• Thêm MaBaoCaoDoanhThu là khóa phụ tham chiếu đến bảng -Sơ đồ logic
- Nhận xét mô hình dữ liệu:
+ Ưu điểm: Mô hình đã hiệu quả cho bài toán bán đặc sản online
THIẾT KẾ GIAO DIỆN
Giao diện đăng nhập
- Chức năng liên quan: Đăng nhập
+Đăng nhập vào hệ thống
Nhấn nút “Đăng nhập” để chọn đăng nhập vào hệ thống bằng tài khoản của mình
Nhấn nút “Đặt lại mật khẩu” để tiến hành đặt lại mật khẩu
Giao diện quản lí thông tin tài khoản
7.2.1 Thay đổi thông tin tài khoản
-Chức năng liên quan: Thay đổi thông tin tài khoản
+Đổi mật khẩu tài khoản
STT Tên xử lý Ý nghĩa
(1) Load tên đăng nhập Khi load giao diện, load lên tên đăng nhập của người đang dùng hệ thống
(2) Cập nhật thông tin tài khoản
Nhấn nút “Save” thì thông tin tài khoản sẽ được cập nhật theo thông tin mà người dung mới nhập vào
-Chức năng liên quan: Tạo tài khoản mới
Biểu mẫu 1 Tạo tài khoản mới
Mật khẩu:……… Địa chỉ:……… Số điện thoại:………
Quy định 1: Có 2 loại tài khoản: tài khoản khách hàng, tài khoản quản lý
STT Tên xử lý Ý nghĩa
(1) Nhập thông tin Email Nhập vào Email
(2) Nhập địa chỉ Nhập địa chỉ
(3) Nhập số điện thoại Nhập số điện thoại
(5) Nhập lại password Nhập lại password
(5) Thực hiện lưu thông tin đăng kí tài khoản
Kiểm tra các ràng buộc, thực hiện việc lưu thông tin đăng kí vào cơ sở dữ liệu
Giao diện quản lí bán hàng
+ Thêm sản phẩm vào hóa đơn
Ngày tạo Mặt hàng Đơn giá Thành tiền Số hóa đơn
STT Tên xử lý Ý nghĩa Ghi chú
1 Load tên sản phẩm Khi load giao diện, load tên sản phẩm của cửa hàng
2 Load hình ảnh sản phẩm Tải hình ảnh sản phẩm lên khung chứa
3 Load giá sản phẩm Tải lên giá của sản phẩm
4 Load mô tả Tải lên mô tả sản phảm
5 Truy cập thông tin sản phẩm Đi đến trang thông tin chi tiết của sản phẩm
Khi nhấn nút, hệ thống sẽ thêm sản phẩm cùng số lượng đã chọn vào trong hóa đơn đang đợi thanh toán
Nếu đã tồn tại sản phẩm trước đó trong hóa đơn thì chỉ thêm số lượng vào
7 Thêm số lượng sản phẩm Số lượng tùy chọn của sản phẩm Số lượng phải lớn hơn 0
Khi ấn nút, hệ thống thực hiện tìm kiếm các sản phẩm có tên tương tự giá trị cần tìm
Giao diện hóa đơn
7.4.1 Giao diện hóa đơn chưa được đặt hàng (giỏ hàng)
-Yêu cầu: Thực hiện bổ sung cho chức năng hóa đơn
STT Tên xử lý Ý nghĩa
1 Load tên sản phẩm Khi load giao diện, load tên sản phẩm của cửa hàng
2 Số lượng Số lượng sản phẩm này có trong giỏ hàng
3 Xóa sản phẩm này khỏi giỏ hàng Khi ấn nút, hệ thống sẽ xóa sản phẩm khỏi giỏ hàng
4 Tiến hành thanh toán hóa đơn Tính tổng tiền, tiến hành thanh toán hóa đơn
7.4.1 Giao diện hóa đơn được đặt hàng
-Yêu cầu: Xem báo cáo
Biểu mẫu 4 BÁO CÁO DOANH THU
STT Số hóa đơn Mã mặt hàng Doanh thu Ngày tạo
Quy định 2: báo cáo theo người tạo và theo mã mặt hàng
STT Tên xử lý Ý nghĩa
1 Tải lên mã hóa đơn Tải lên mã hóa đơn
2 Tải lên mã khách hàng Tải lên mã khách hàng
3 Tải lên thời gian tạo hóa đơn Tải lên thời gian tạo hóa đơn
4 Xem bản PDF Dựa vào cơ sở dữ liệu, xuất ra bản PDF cho hóa đơn
5 Tải lên danh sách sản phẩm của hóa đơn Tải lên danh sách sản phẩm của hóa đơn
6 Chọn ngày Chọn ngày bắt đầu báo cáo
7 Chọn ngày Chọn ngày kết thúc báo cáo
8 Tính tổng Tính tổng doanh thu của các hóa đơn trong danh sách báo cáo
9 Tìm kiếm Thực hiện tìm kiếm các hóa đơn theo khoảng thời gian được chọn
Giao diện danh mục sản phẩm
- Chức năng liên quan: Quản lí sản phẩm
Biểu mẫu 2 KHO SẢN PHẢM
Mặt hàng Hình ảnh Đơn giá Mô tả
-Thiết kế xử lý giao diện 1:
STT Tên xử lý Ý nghĩa
1 Load tên sản phẩm Khi load giao diện, load tên sản phẩm của cửa hàng
2 Load hình ảnh sản phẩm Tải hình ảnh sản phẩm lên khung chứa
3 Load giá sản phẩm Tải lên giá của sản phẩm
4 Load mô tả Tải lên mô tả sản phảm
5 Truy cập trang chỉnh sửa sản phẩm Khi ấn nút, truy cập trang chỉnh sửa thông tin sản phẩm
6 Xóa bỏ sản phẩm Khi ấn nút, tiến hành xóa bỏ sản phẩm khỏi kho hàng
- Thiết kế xử lý giao diện 2:
STT Tên xử lý Ý nghĩa
1 Tên sản phẩm cần chỉnh sửa Nhập vào tên cần chỉnh sửa
2 Đường dẫn hình ảnh Nhập vào đường dẫn mới
3 Cập nhật giá sản phẩm Nhập vào giá mới
4 Thay đổi mô tả sản phẩm Nhập vào mô tả mới
5 Áp dụng các thay đổi
Khi ấn nút, hệ thống kiểm tra các ràng buộc, tiến hành thay đổi các cập nhật và lưu trữ
- Thiết kế xử lý giao diện 3:
STT Tên xử lý Ý nghĩa
1 Tên sản phẩm Nhập vào tên
2 Đường dẫn hình ảnh Nhập vào đường dẫn
3 Giá sản phẩm Nhập vào giá
4 Mô tả sản phẩm Nhập vào mô tả
5 Lưu trữ sản thông tin Khi ấn nút, hệ thống kiểm tra các ràng buộc, tiến hành lưu trữ thông tin
Giao diện hệ thống quét mã
- Chức năng liên quan: Quét mã sản phẩm, hiển thị thông tin sản phẩm,
Biểu mẫu 5 QUÉT MÃ BARCODE
STT Tên mặt hàng Mã mặt hàng Giá mặt hàng Hình ảnh mặt hàng
-Thiết kế xử lý giao diện 1:
STT Tên xử lý Ý nghĩa
1 SCAN Bắt đầu load giao diện của scanner view
- Thiết kế xử lý giao diện 2:
STT Tên xử lý Ý nghĩa
1 Text “ Chiếu vào mã để quét ”
Thông báo cho người dùng việc phải chiếu vào mã barcode trên sản phẩm để tiến hành quá trình quét
2 Camera View Hiển thị hình ảnh Camera thu được
3 Label mã sản phẩm Thông báo cho người dùng mã barcode thu được
- Thiết kế xử lý giao diện 3:
STT Tên xử lý Ý nghĩa
1 Product View Hình ảnh của sản phẩm
2 Label tên sản phẩm Tên của sản phẩm
3 Label giá sản phẩm Giá của sản phẩm
4 Label mã sản phẩm Mã của sản phẩm
Khi ấn nút, hệ thống sẽ quay trở về Scanner View để tiến hành quét sản phẩm tiếp theo
THIẾT KẾ KIẾN TRÚC
Thiết kế kiến trúc của hệ thống website
- Hình thức tổ chức: Phân tán nhiều máy tính
- Mẫu thiết kế: Mô hình MVC
- Nền tảng, Công nghệ áp dụng:
• Front-end: HTML, CSS, JavaScript
Sơ đồ kiến trúc phần mềm:
Thiết kế kiến trúc của hệ thống quét mã
- Hình thức tổ chức: Một thiết bị di động
- Mẫu thiết kế: Mô hình MVVM
- Nền tảng, Công nghệ áp dụng:
• Ngôn ngữ lập trình: Swift
71 § AVFoundation § Foundation § Vision § SnapKit § UIKit
Sơ đồ kiến trúc phần mềm
KẾ HOẠCH THỰC HIỆN
Tổng quan
Họ tên Mssv Email Vai trò
Nguyễn Ngọc Quan 17521309 17521309@gm.uit.edu.vn Trưởng nhóm Trần Ngọc Sơn 17521310 17521310@gm.uit.edu.vn Thành viên 10.1.2 Quy trình
Bước 1: Nhóm thống nhất ý kiến làm một đồ án hướng đến việc tin học hóa các nghiệp vụ cho cửa hàng bán đặc sản
Bước 2: Lập kế hoạch khảo sát và tiến hành khảo sát để xác định yêu cầu phần mềm
Bước 2 trong quy trình phát triển phần mềm là phân tích và xác định rõ các yêu cầu nghiệp vụ, từ đó xác định các chức năng cần có của phần mềm để mô tả và đặc tả yêu cầu phần mềm Sau khi hoàn tất tài liệu đặc tả yêu cầu phần mềm, nhóm sẽ chuyển sang bước thiết kế, bao gồm cả thiết kế dữ liệu.
+ Thiết kế giao diện và xử lí
Sau khi hoàn tất tài liệu thiết kế phần mềm, nhóm phát triển sẽ bắt đầu quá trình hiện thực hóa phần mềm thông qua việc lập trình Công việc này bao gồm việc phân chia nhiệm vụ giữa các thành viên trong nhóm để tối ưu hóa hiệu suất và đảm bảo tiến độ dự án.
Bước 5: Kiểm thử phần mềm là giai đoạn quan trọng, nơi tất cả các thành viên trong nhóm sẽ cùng nhau kiểm tra sản phẩm Nếu phát hiện bất kỳ sai sót nào, nhóm sẽ quay lại bước 4 để thực hiện chỉnh sửa code cần thiết.
Bước 6: Sau khi có chương trình hoàn hảo, tiến hành đóng gói phần mềm và kết thúc đồ án
Nhóm họp để bầu trưởng nhóm và thống nhất các nhiệm vụ cần thực hiện theo từng giai đoạn phát triển Từ đó, nhóm sẽ xây dựng roadmap và tiến hành công việc dưới sự quản lý, nhắc nhở và phân chia nhiệm vụ từ trưởng nhóm.
Cột mốc Công việc Hoàn thành Sản phẩm
- Chọn đề tài và thống nhất mô hình phát triển phần mềm
- Đề tài: Website cửa hàng đặc sản
- Mô hình phát triển: Mô hình thác nước
Xác định yêu cầu -Lập kế hoạch và tiến hành khảo sát để xác định yêu cầu chức năng của phần mềm
-Mô tả tổng thể hệ thống
-Đặc tả yêu cầu hệ thống của phần mềm
-Đặc tả yêu cầu hệ thống của phần mềm
-Thuật toán sơ đồ logic -Sơ đồ logic hoàn chỉnh
18/10 - 20/10 Thiết kế giao diện và xử lí X
-Danh sách các màn hình -Bảng vẽ các màn hình -Bảng xử lí của từng màn hình
-Thực hiện theo mô hình MVC -Bảng vẽ mô hình kiến trúc theo từng lớp
22/10 - 15/12 Hiện thực hóa phần mềm bằng code X
Phần mềm hoàn thành đầy đủ chức năng được đưa ra
Tiến thành tinh chỉnh hệ thống cho phù hợp thêm với nhu cầu thực tế
Phần mềm hoàn thành thêm các chức năng mới do khách hàng yêu cầu 10/1/2021 -
Tiến hành kiểm thử phần mềm
X Sửa thành công các lỗi tồn tại