Quản lý đơn hàng: Ứng dụng cung cấp tính năng quản lý đơn hàng cho cả người dùng và quảntrị viên, bao gồm xem trạng thái của đơn hàng, lịch sử đặt hàng và thực hiện các thao tác liênquan
Trang 1TÀI LIỆU ĐẶC TẢ YÊU CẦU PHẦN MỀM (Software Requirement Specification – SRS)
Phát triển ứng dụng hỗ trợ tìm kiếm và đặt đồănPhiên bản 1.0Giảng viên hướng dẫn: Trịnh Công DuyNgười thực hiện: Võ Thanh TúLê Nguyễn Ái Trân
Đà Nẵng, tháng 3, năm 2024
Trang 42.7.12 Truy cập vào trung tâm hỗ trợ khách hàng 252.7.13 Thêm nhà hàng vào giỏ hàng yêu thích 25
2.8.12 Truy cập vào trung tâm hỗ trợ khách hàng 35
Trang 5Truy cập vào trung tâm hỗ trợ khách hàng 352.7.13 Thêm nhà hàng vào giỏ hàng yêu thích 36
Trang 6Dưới đây là mục tiêu cụ thể của tài liệu này:
- Xác định rõ ràng các yêu cầu chức năng và phi chức năng: tài liệu đặc tả này cung cấp một danhsách chi tiết và rõ ràng về những gì phần mềm cần thực hiện (chức năng) và những giới hạn hoặcđiều kiện mà phần mềm phải tuân theo (phi chức năng).
- Định nghĩa rõ các thành phần và tính năng của ứng dụng: tài liệu mô tả các thành phần cấuthành ứng dụng, như giao diện người dùng (sử dụng figma), cơ sở dữ liệu, hệ thống đặt hàng,tính năng tìm kiếm và các tính năng khác một cách chi tiết
- Tạo cơ sở cho việc phát triển và kiểm thử: tài liệu đặc tả cung cấp hướng dẫn cho nhà pháttriển để xây dựng phần mềm theo đúng yêu cầu và cho đội kiểm thử để kiểm tra xem phầnmềm có đáp ứng các yêu cầu đó không.
- Duy trì và quản lý yêu cầu: SRS không chỉ là một tài liệu tạm thời mà còn là cơ sở cho việc theodõi và quản lý các yêu cầu trong suốt quá trình phát triển và sau khi phần mềm được triển khai.
- Ứng dụng cho phép người dùng đặt hàng trực tuyến từ danh sách menu của các nhà hàng đượcliệt kê và cho phép thanh toán đơn hàng trực tuyến thông qua nhiều phương thức thanh toán khácnhau, bao gồm thẻ tín dụng, ví điện tử, hoặc thanh toán khi nhận hàng.
- Ứng dụng cung cấp tính năng theo dõi đơn hàng để người dùng có thể biết được tình trạng củađơn hàng của mình từ lúc đặt hàng đến khi nhận hàng Đồng thời người dùng có thể đánh giá vàviết nhận xét về trải nghiệm của mình sau khi đặt hàng.
1.3 Từ điển thuật ngữ
Trang 7Software Requirements Specifications SRS
1.5 Tài liệu tham khảo
IEEE Recommended Practice for Software Requirements Specifications," in IEEE Std 830-1998,vol., no., pp.1-40, 20 Oct 1998.
IEEE Guide for Developing System Requirements Specifications," in IEEE Std 1233-1996, vol.,no., pp.1-30, 22 Dec 1996.
Custom Software Requirements Specification Document Example (International Standard) Software Development Company.
-IT4490: Software Design and Construction - Nguyen Thi Thu Trang,trangntt@soict.hust.edu.vn.
1.6 Tổng quát
Tài liệu này được viết dựa theo chuẩn của Tài liệu đặc tả yêu cầu phần mềm (SoftwareRequirements Specifications - SRS) được giải thích trong "IEEE Recommended Practice forSoftware Requirements Specifications" và "IEEE Guide for Developing System RequirementsSpecifications".
Với cấu trúc được chia làm ba phần:
1 Phần 1: Cung cấp cái nhìn tổng quan về các thành phần của SRS.
2 Phần 2: Mô tả tổng quan các nhân tố, ràng buộc, đặc điểm người dùng, môi trường thựcthi tác động lên hệ thống và các yêu cầu của nó Cung cấp thông tin chi tiết các yêu cầu chứcnăng, cung cấp cho các nhà phát triển phần mềm thông tin để phát triển phần mềm đáp ứngđược các yêu cầu đó.
3 Phần 3: Các yêu cầu phi chức năng.2 Các yêu cầu chức năng
2.1 Các tác nhân
Hệ thống gồm có các tác nhân là Khách, Quản trị viên, Người mua hàng, Chủ cửa hàng, Ngườigiao hàng Trong đó:
Trang 8- Khách: Là người dùng chưa đăng nhập vào hệ thống Vai trò chính của khách là trải nghiệm cáctính năng cơ bản của ứng dụng mà không cần phải đăng nhập
- Quản trị viên: Quản trị viên có vai trò quản lý hoạt động của hệ thống Họ có quyền truy cậpvào các tính năng quản lý, bao gồm quản lý người dùng, quản lý sản phẩm và đơn hàng, xác nhậnđơn hàng, và xem báo cáo về hoạt động của hệ thống.
- Người mua hàng: Người mua hàng là các tài khoản đã đăng ký và đăng nhập vào hệ thống Vaitrò của họ là tìm kiếm sản phẩm, thêm sản phẩm vào giỏ hàng, xác nhận đơn hàng và thực hiệnthanh toán.
- Chủ cửa hàng: Chủ cửa hàng là những người quản lý các cửa hàng hoặc nhà hàng trên nềntảng Vai trò của họ bao gồm quản lý thông tin cửa hàng, thêm và cập nhật thực đơn, xác nhậncác đơn hàng được đặt từ phía khách hàng và quản lý kho hàng.
- Người giao hàng: Người giao hàng là những người được giao nhiệm vụ giao hàng đến địa chỉđược chỉ định từ đơn hàng đã được xác nhận
2.2 Các chức năng của hệ thống
Ứng dụng hỗ trợ tìm kiếm và đặt đồ ăn có các chức năng chính:
1 Tìm kiếm đồ ăn: Ứng dụng cung cấp chức năng tìm kiếm cho người dùng để họ có thể dễ dàngtìm kiếm các món đồ ăn theo tiêu chí như tên món, loại món, quốc gia xuất xứ, hoặc đặc điểmdinh dưỡng.
2 Đặt hàng: Người dùng có khả năng đặt đồ ăn trực tuyến thông qua ứng dụng, bao gồm việcchọn món, thêm vào giỏ hàng, xác nhận đơn đặt hàng và thực hiện thanh toán.
3 Quản lý tài khoản người dùng: Ứng dụng cung cấp chức năng quản lý tài khoản cho ngườidùng, bao gồm đăng ký, đăng nhập, quản lý thông tin cá nhân và cập nhật thông tin tài khoản.
4 Thanh toán: Hệ thống hỗ trợ các phương thức thanh toán trực tuyến để người dùng có thểthanh toán cho các đơn hàng một cách tiện lợi và an toàn.
5 Quản lý đơn hàng: Ứng dụng cung cấp tính năng quản lý đơn hàng cho cả người dùng và quảntrị viên, bao gồm xem trạng thái của đơn hàng, lịch sử đặt hàng và thực hiện các thao tác liênquan đến đơn hàng như hủy bỏ hoặc chỉnh sửa.
Bên cạnh đó, còn hỗ trợ các tác nhân như người giao hàng: xác nhận đơn hàng, theo dõi đơnhàng, cập nhật trạng thái; chủ nhà hàng: quản lí thực đơn, xác nhận đơn hàng, thống kê và báocáo.
Để có thể hình dung rõ hơn về các tác nhân cũng như yêu cầu chức năng của hệ thống bằng cáchmô hình hóa chúng dưới các sơ đồ use cases, các sơ đồ sẽ được trình bày phía sau.
2.3 Biểu đồ use case tổng quan
Trang 9Hình 1 Biểu đồ usecase tổng quảt
2.4 Biểu đồ lớp
Trang 10Hình
2.5 Sơ đồ kiến trúc
Trang 112.6 Sơ đồ hoạt động
2.6.1 Người dùng đăng ký sử dụng
Trang 12Hình 2-4: Biểu đồ hoạt động người dùng đăng ký
2.6.2 Người dùng đăng nhập
Hình 2-5: Người dùng đăng nhập
Trang 132.6.3 Tìm kiếm nhà hàng
Hình 2-6: Biểu đồ tìm kiếm nhà hàng
2.6.4 Khám phá các món ăn trên bảng tin
Hình 2-7: Khám phá món ăn trên bảng tin
Trang 142.6.5 Đặt hàng
Hình 2-8: Đặt hàng
Trang 152.6.6 Theo dõi quá trình vận chuyển
Hình 2-9: Theo dõi quá trình vận chuyển
2.6.7 Trả phí
Hình 2-10: Quy trình trả phí
Trang 17Hình 2-13: Quản lý tài khoản
2.6.11 Truy cập hỗ trợ khách hàng
Hình 2-14: Truy cập hỗ trợ khách hàng
2.6.12 Thêm nhà hàng yêu thích vào giỏ hàng yêu thích
Trang 18Hình 2-15: Thêm nhà hàng yêu thích vào giỏ hàng yêu thích
2.6.13 Xem khuyến mãi và ưu đãi
2.7 Sơ đồ tuần tự
2.7.1 Người dùng đăng ký
Trang 19Hình 2-11: Người dùng đăng ký
2.7.2 Người dùng đăng nhập
Trang 20Hình 2-11: Người dùng đăng nhập
2.7.3 Tìm kiếm nhà hàng
Hình 2-11: Tìm kiếm nhà hàng
2.7.4 Khám phá thực đơn
Trang 21Hình 2-11: Khám phá thực đơn
2.7.5 Quản lý giỏ hàng
Hình 2-11: Quản lý giỏ hàng
2.7.6 Đặt hàng
Trang 22Hình 2-11: Đặt hàng
2.7.7 Theo dõi đơn hàng
Hình 2-11: Theo dõi đơn hàng
2.7.8 Quá trình trả phí
Trang 23Hình 2-11: Theo dõi trả phí
2.7.9 Xem lịch sử đặt hàng
Hình 2-11: Xem lịch sử đặt hàng
2.7.10 Đánh giá và nhận xét
Trang 24Hình 2-11: Đánh giá và nhận xét
2.7.11 Quản lý tài khoản
Hình 2-11: Quản lý tài khoản
Trang 252.7.12 Truy cập vào trung tâm hỗ trợ khách hàng
Hình 2-11: Truy cập vào trung tâm hỗ trợ khách hàng
2.7.13 Thêm nhà hàng vào giỏ hàng yêu thích
Hình 2-11: Thêm nhà hàng vào giỏ hàng yêu thích
2.7.14 Xem ưu đãi
Trang 26Hình 2-11: Xem ưu đãi
2.8 Đặc tả các usecase
2.8.1 Người dùng đăng ký
Use case ID UC1
Tên Use case Người đùng đăng kíTác nhân: Khách
Mô tả: Khách đăng ký vào hệ thống bằng cách sử dụng email của họ đểtruy cập vào ứng dụng đặt món ăn và dịch vụ giao hàng.
Sự kiện: Được thực hiện bởi Khách.
Điều kiện trước: Người dùng nhập thông tin xác thực hợp lệ.Điều kiện sau: Người dùng chọn đăng kí.
Luồng sự kiện thôngthường:
Người dùng nhập thông tin xác thực hợp lệ (email, mật khẩu,thông tin liên lạc).
Luồng sự kiện thay thế: Người dùng đăng kí thông qua Gmail hoặc Facebook.
Ngoại lệ: Ngoại lệ được ném khi đăng kí có trường bỏ trống hoặc thôngtin xác thực sai.
Bao gồm Xác minh Yêu cầu đặc biệt: Email, Internet.
Trang 27Hình 2-11: Người dùng đăng ký
2.8.2 Người dùng đăng nhậpUse case ID UC2
Tên Use case Người dùng đăng nhập
Tác nhân: Khách hàng, Người giao hàng, Nhà hàng, Quản trị viên
Mô tả: Người dùng bao gồm Khách hàng và Người giao hàng, Nhàhàng có thể đăng nhập vào hệ thống bằng cách sử dụng emailvà mật khẩu đã đăng kí.
Quản trị viên có thể đăng nhập vào tài khoản để quản lí ngườidùng và người giao hàng, nhà hàng.
Sự kiện: Được thực hiện bởi người dùng.
Điều kiện trước: Người dùng phải có tài khoản đã đăng kí.Điều kiện sau: Người dùng đăng nhập thành công.Luồng sự kiện thông
Người dùng nhập email đã đăng kí và mật khẩu.
Luồng sự kiện thay thế: Người dùng đăng nhập thông qua Gmail hoặc Facebook.Ngoại lệ: Lỗi do thông tin xác thực không chính xác.
Bao gồm Xác minhYêu cầu đặc biệt: Email, Internet.
Hình 2-11: Người dùng đăng nhập
2.8.3 Tìm kiếm nhà hàng
Use case ID UC3
Tên Use case Tìm kiếm nhà hàngTác nhân: Khách hàng, Khách.
Mô tả: Khách hàng có thể tiềm kiếm các nhà hàng tại mục tìm kiếm,xem thông tin chi tiết về nhà hàng đó như thực đơn, địa điểm,xếp hạng để thực hiện lựa chọn các món ăn.
Sự kiện: Được thực hiện bởi người dùng hoặc khách.Điều kiện trước: Người dùng hoặc khách vào ứng dụng.
Điều kiện sau: Người dùng hoặc khách xem chi tiết các nhà hàng.Luồng sự kiện thông
Người dùng hoặc khách nhập trên thanh tìm kiếm các nhàhàng.
Trang 28Luồng sự kiện thay thế: Người dùng hoặc khách có thể chọn sử dụng dịch vụ định vị đểtìm nhà hàng gần đó.
Ngoại lệ: Ngoại lệ được ném nếu không tìm thấy kết quả tìm kiếm.Bao gồm Chi tiết các nhà hàng.
Yêu cầu đặc biệt: Internet.
Hình 2-11: Tìm kiếm nhà hàng
2.8.4 Khám phá thực đơn
Use case ID UC4
Tên Use case Khám phá thực đơnTác nhân: Khách hàng.
Mô tả: Khách hàng có thể khám phá thực đơn của một nhà hàng đãchọn trong ứng dụng hoặc món ăn được nhập trên thanh tìmkiếm để xem các món ăn có sẵn, mô tả, giá cả và bất kỳ ưu đãiđặc biệt nào để lựa chọn món ăn để đặt hàng.
Sự kiện: Được thực hiện bởi Khách hàng.Điều kiện trước: Người dùng vào ứng dụng.
Điều kiện sau: Người dùng xem thực đơn nhà hàng và có thể thêm mónănvào xe đẩy.
Luồng sự kiện thôngthường:
Khách hàng duyệt qua các món trong thực đơn của nhà hàng.Khách hàng chọn một mục menu để xem chi tiết.
Khách hàng xem tên mặt hàng, mô tả, giá cả và các lựa chọn.Khách hàng thêm sản phẩm vào giỏ hàng.
Luồng sự kiện thay thế: Khách hàng có thể tùy chỉnh các mục menu với các tùy chọnnhư thêm chú thích.
Ngoại lệ: Ngoại lệ được ném nếu không tìm thấy mục thực đơn nào.Bao gồm Giỏ hàng.
Yêu cầu đặc biệt: Internet.
Trang 29Hình 2-11: Khám phá thực đơn
2.8.5 Quản lý giỏ hàng
Use case ID UC5
Tên Use case Quản lí giỏ hàngTác nhân: Khách hàng
Mô tả: Khách hàng có thể quản lí giỏ hàng trong ứng dụng đặt đồ ăn,cho phép họ thêm, xóa, hoặc điều chỉnh số lượng các món ănđã chọn, xem lại đơn đặt hàng của họ, và tiến hàng quá trìnhthanh toán.
Sự kiện: Được thực hiện bởi Khách hàng.Điều kiện trước: Người dùng vào ứng dụng.
Điều kiện sau: Giỏ hàng của khách hàng được cập nhật theo yêu cầu của họLuồng sự kiện thông
Khách hàng xem danh sách các mặt hàng trong giỏ hàng.Khách hàng có thể tăng giảm số lượng các mặt hàng trong giỏhàng.
Mô tả: Xem lại chi tiết đơn hàng sắp đặt và nhấn chọn đặt hàng Chophép người dùng thêm chú thích nếu có.
Sự kiện: Được thực hiện bởi Khách hàng.
Điều kiện trước: Khách hàng phải đăng nhập vào hệ thống và có mặt hàng trong
Trang 30Yêu cầu đặc biệt: Internet.
Hình 2-11: Đặt hàng
2.8.7 Theo dõi đơn hàng
Use case ID UC7
Tên Use case Theo dõi đơn hàng
Tác nhân: Khách hàng, Người giao hàng.
Mô tả: Người dùng có thể theo dõi tình trạng, vị trí món ăn của mìnhvà đơn đặt hàng theo thời gian thực trong ứng dụng, đảm bảotính minh bạch và cung cấp ước tính thời gian giao hàng.Sự kiện: Được thực hiện bởi người dùng.
Điều kiện trước: Người dùng phải đăng nhập vào hệ thống và có ít nhất mộtđơn hàng đang hoạt động.
Điều kiện sau: Người dùng xem trạng thái và vị trí thời gian thực của đặthàng.
Luồng sự kiện thôngthường:
Người dùng xem danh sách các đơn hàng đang hoạt động.Người dùng chọn một đơn hàng cụ thể để theo dõi.
Hệ thống hiển thị trạng thái thời gian thực của đơn hàng, từchuẩn bị đến giao hàng.
Trang 31Người dùng nhận được thông báo về các giai đoạn quan trọngtrong
quá trình giao hàng, chẳng hạn như xác nhận đơn hàng, thựcphẩm đã được chuẩn bị và giao đi.
Thời gian giao hàng ước tính được cung cấp chongười dùng.
Luồng sự kiện thay thế: Người dùng có thể liên hệ với người giao hàng trung tâm hỗtrợ khác hàng để được giải đáp thắc mắc hoặc cập nhật thôngtin.
Ngoại lệ: Ngoại lệ được ném khi không có đơn hàng nào.Bao gồm Thông báo.
Yêu cầu đặc biệt: Internet.
Hình 2-11: Theo dõi đơn hàng
2.8.8 Quá trình trả phí
Use case ID UC8
Tên Use case Quá trình trả phíTác nhân: Khách hàng.
Mô tả: Khách hàng có thể thanh toán cho đơn hàng của mình trongứng dụng, đảm bảo an toàn và giao dịch thuận tiện.
Sự kiện: Được thực hiện bởi người dùng.
Điều kiện trước: Khách hàng phải đăng nhập vào hệ thống, giỏ hàng đã có mặthàng và đã xác nhận đơn đơn hàng.
Điều kiện sau: Thanh toán xác nhận thành công và đơn hàng được xác nhận.Luồng sự kiện thông
Hệ thống xử lý việc thanh toán và xác nhận đơn hàng.
Người dùng nhận được xác nhận đơn hàng với thời gian giaohàng ước tính.
Trang 32Luồng sự kiện thay thế: Khách hàng có thể áp dụng mã khuyến mãi, giảm giá hoặcđiểm trung thành nếu có để giảm tổng đơn hàng trước khi xácnhận thanh toán.
Ngoại lệ: Ngoại lệ được ném khi chi tiết thanh toán không chính xáchoặc không thể xử lí được.
Nếu phương thức thanh toán là trả tiền khi giao hàng, hệthống sẽ đánh dấu đơn hàng là thanh toán tiền mặt khi giaohàng.
Bao gồm Mã khuyến mãi, điểm thành viên.Yêu cầu đặc biệt: Internet.
Hình 2-11: Theo dõi trả phí
2.8.9 Xem lịch sử đặt hàng
Use case ID UC9
Tên Use case Xem lịch sử đặt hàngTác nhân: Khách hàng.
Mô tả: Khách hàng có thể xem lịch sử đặt hàng của mình, cung cấpquyền truy cập vào chi tiết các đơn hàng trước đây để thamkhảo và sắp xếp lại.
Sự kiện: Được thực hiện bởi người dùng.
Điều kiện trước: Khách hàng phải đăng nhập vào hệ thống.Điều kiện sau: Khách hàng xem được lịch sử đơn hàng.Luồng sự kiện thông
Khách hàng xem danh sách các đơn hàng trước đây, bao gồmsố đơn đặt hàng, nhà hàng, ngày đặt hàng và tình trạng đặthàng.
Khách hàng chọn một đơn hàng cụ thể để xem chi tiết.
Hệ thống hiển thị chi tiết đơn hàng bao gồm các mặt hàng đãđặt, tổng chi phí, địa chỉ giao hàng.
Luồng sự kiện thay thế: Khách hàng có tùy chọn đặt lại các mặt hàng từ lịch sử đặthàng của họ chỉ bằng một cú nhấp chuột.
Ngoại lệ: Ngoại lệ được ném khi không có lịch sử đặt hàng.Bao gồm Chức năng đặt lại.
Yêu cầu đặc biệt: Internet.
Hình 2-11: Xem lịch sử đặt hàng
Trang 332.8.10 Đánh giá và nhận xét
Use case ID UC10
Tên Use case Đánh giá và nhận xétTác nhân: Khách hàng.
Mô tả: Khách hàng đánh giá và nhận xét về quán ăn và dịch vụ giaohàng trên ứng dụng đặt đồ ăn.
Sự kiện: Được thực hiện bởi khách hàng.
Điều kiện trước: Khách hàng phải đăng nhập vào hệ thống, và đã có đơn hànggiao thành công.
Điều kiện sau: Đánh giá được hiển thị trên trang thông tin của quán ăn/ mónăn.
Luồng sự kiện thôngthường:
Khách hàng viết nhận xét (tùy chọn).Khách hàng gửi đánh giá.
Hệ thống lưu trữ đánh giá và hiển thị trên trang thông tincủa quán ăn.
Luồng sự kiện thay thế: Khách hàng chọn không đánh giá đơn hàng.
Khách hàng bắt đầu viết nhận xét nhưng không hoàn tất.
Ngoại lệ: Ngoại lệ được ném khi không có lịch sử đặt hàng.
Bao gồm Chức năng đánh giá và nhận xét trải nghiệm của người dùngđối với món ăn, người giao hàng.
Yêu cầu đặc biệt: Internet.
Hình 2-11: Đánh giá và nhận xét
2.8.11 Quản lý tài khoản
Use case ID UC11
Tên Use case Quản lí tài khoản
Tác nhân: Khách hàng, Người giao hàng
Mô tả: Người dùng có thể quản lí hồ sơ của mình trong ứng dụng, cho