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 đồ
ăn Phiên bản 1.0
Giảng viên hướng dẫn: Trịnh Công Duy
Ngườ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 6Danh mục hình ảnh, bảng biểu
1 Giới thiệu
1.1 Mục đích
Mục đích của tài liệu đặc tả yêu cầu phần mềm này là cung cấp một cái nhìn tổng quan, dễ hiểu
về các yêu cầu, thành phần của dự án Phát triển ứng dụng hỗ trợ tìm kiếm và đặt đồ ăn
Dướ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
Đặc tả yêu cầu phần mềmUse Case(s) Biểu đồ mô tả những yêu cầu của hệ thốngWeb server Phần mềm máy chủ cung cấp các chức
năng, tài nguyên cho máy kháchBảng 0-1: Từ điển thuật ngữ
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ách
mô 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ông
thườ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ông
tin 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ập
Use 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 email
và 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
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 minh
Yê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àng
Tá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
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ị để
Use case ID UC4
Tên Use case Khám phá thực đơn
Tá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
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àng
Tá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
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
Ngoại lệ: Ngoại lệ được ném khi giỏ hàng trống hoặc không có mặt hàng
nào được tìm thấy để sửa đổi
Bao gồm Mã khuyến mãi, giảm giá
Yêu cầu đặc biệt: Internet
Hình 2-11: Quản lý giỏ hàng
2.8.6 Đặt hàng
Use case ID UC6
Tên Use case Đăt hàng
Tác nhân: Khách hàng
Mô tả: Xem lại chi tiết đơn hàng sắp đặt và nhấn chọn đặt hàng Cho
phé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ình
và đơ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 đặt
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ặt
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ác
hoặ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àng
Tá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ấp
quyề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
thường:
Khách hàng xem danh sách các đơn hàng trước đây, bao gồm
số đơ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ử đặt
hà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ét
Tá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ụ giao
hà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à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