I. GIỚI THIỆU 1. Quan điểm về sản phẩm Hệ thống cho thuê sách được xây dựng nhằm tự động hóa các bước kiểm tra sách tồn, cài đặt giá thuê, ngày thuê, ngày hết hạn giúp người quản lý nắm bắt được tổng thể tình trạng của cửa hàng và người dùng cũng sử dụng một cách dễ dàng hơn.
Trang 1ĐẶC TẢ YÊU CẦU PHẦN MỀM
<<XÂY DỰNG TRANG WEB CHO THUÊ
SÁCH>>
Trang 2< Đồng Nai, 14/07/2021 >
Mục lục
I GIỚI THIỆU 5
1 Quan điểm về sản phẩm 5
2 Yêu cầu của người dùng 5
2.1 Các lớp người dùng 5
2.2 Các tính năng chính 5
2.3 Sơ đồ Ca sử dụng (Use case) 7
3 Tổng quan về hệ thống 8
3.1 Vai trò của người dùng 8
3.2 Chức năng hệ thống 9
3.3 Hệ thống cấp quyền 10
II YÊU CẦU CHỨC NĂNG 12
1 Chức năng quản lý tài khoản 12
2 Chức năng tìm kiếm và đặt thuê sách 13
3 Chức năng thêm, sửa, xóa sách 14
4 Chức năng quản lý đơn hàng 14
III YÊU CẦU PHI CHỨC NĂNG 15
1 Khả năng sử dụng 15
2 Hiệu suất 15
3 Độ tin cậy 15
4 Độ bảo mật 15
5 Độ an toàn 15
6 Khả năng hỗ trợ 15
7 Ràng buộc về thiết kế 15
8 [Các yêu cầu liên quan khác] 16
Trang 3NHẬT KÝ THAY ĐỔI
*A – Added (Thêm vào) M – Modified (Chỉnh sửa) D – Deleted (Xóa đi)
Ngày có
hiệu lực
M, D
mới
Trang 4I GIỚI THIỆU
1 Quan điểm về sản phẩm
Hệ thống cho thuê sách được xây dựng nhằm tự động hóa các bước kiểm tra sách tồn, cài đặt giá thuê, ngày thuê, ngày hết hạn giúp người quản lý nắm bắt được tổng thể tình trạng của cửa hàng và người dùng cũng sử dụng một cách dễ dàng hơn
Book rental
Người thuê
Store manager
Hệ thống Thanh toán
Hệ thống Vận chuyển
Yêu cầu Vận chuyển List Sách
2 Yêu cầu của người dùng
2.1 Các lớp người dùng
Khách: là người dùng chưa đăng ký tài khoản, có thể xem các sách có trên hệ thống, có thể thêm sách vào giỏ hàng và đặt hàng tuy nhiên không được theo dõi đơn hàng, không quản lý được tình trạng các sách đang thuê, thời gian hết hạn,…
Người dùng: Là người đã đăng ký tài khoản trên trang web người này duyệt các sách có trên hệ thống rồi lựa chọn sách thêm vào giỏ hàng kết thúc là bước thanh toán và yêu cầu vận chuyển, có thể duyệt sách, thêm sách vào giỏ hàng, đặt sách và thời gian thuê theo dõi tình trạng đơn hàng, theo dõi thời gian trả sách, các sách đang thuê,…
Quản lý: Là người quản trị của web, ở đây là chủ cửa hàng sẽ quản lý toàn bộ thông tin về sách (có thể thêm, sửa, xóa sách, danh mục sách, cài đặt giá bán) về đơn hàng (các đơn hàng hiện tại, đơn nào đang quá hạn thuê,…) và về tài khoản của các user (thêm, sửa, xóa user)
Shipper: khi nhận được thông tin đơn đặt hàng bao gồm các sách cần thuê, người thuê, địa chỉ, sdt shipper sẽ giao sách từ cửa hàng đến cho người thuê
2.2 Các tính năng chính
FE-1 Đặt sách: đặt hàng và thanh toán cho giỏ hàng sau đó có nhân viên đến giao sách
Trang 5FE-2 Quản lý sách: thêm, sửa, xóa các loại sách và các thông tin liên quan, kiểm tra tình trạng tồn kho
FE-3 Quản lý đơn hàng: Xem, process, cancel các đơn hàng Theo dõi tình trạng đơn hàng, thời gian thuê còn lại và nhắc nhở, tính phí phạt dựa trên số ngày trễ
FE-4 Đăng ký tài khoản: Đăng ký tài khoản để thực hiện thuê sách, theo dõi các đơn hiện tại, nhận thông tin sách mới từ cửa hàng
FE-5 Giao sách: Danh sách các đơn hàng cùng với địa chỉ được cập nhật khi có người mới đăng ký thuê, sau khi giao xong sẽ xác nhận đơn được giao và bắt đầu tính thời gian thuê
Book rental System
Đặt sách
Quản lý sách
Quản lý Đơn hàng
Đăng ký Tài khoản
Giao sách
Order sách
Cancel đơn hàng
Cập nhật đơn hàng
Theo dõi đơn cần giao
Xác nhận giao hàng
Process đơn hàng Cancel đơn hàng
Theo dõi số ngày Thuê còn lại
Nhắc nhở, phạt Trả sách chậm
Cập nhật thông tin sách
Kiểm tra tồn kho
Đăng ký
Tài khoản
Chọn loại
Tài khoản (admin)
2.3 Sơ đồ Ca sử dụng (Use case)
Trang 6Người dùng
Quản lý
Shipper
Login/signup
Xem sách
Đặt Sách
Đăng ký Tài khoản
Thanh toán
Kiểm tra đơn hàng
Hủy đơn hàng
Gia hạn thời gian trả
Yêu cầu sách mới
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
Cập nhật Thông tin sách
Kiểm tra tồn kho
Hủy đơn hàng
Process Đơn hàng
Nhắc nhở Phạt trả chậm Giao sách
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
a Tác nhân hệ thống
1 Khách Người dùng chưa đăng ký tài khoản, có thể xem và đặt sách mà không cần đăng ký tài khoản nhưng không theo
dõi được đơn hàng và không có các lợi ích như khách hàng
2 Người dùng Là người sử dụng đã đăng ký tài khoản
3 Quản lý Người điều hành hệ thống, xử lý các vấn đề liên quan đến đơn hàng, người dùng
4 Shipper Nhận thông tin đơn hàng từ cửa hàng và giao cho người đặt
b Danh sách Ca sử dụng
1 Đăng ký tài khoản Khách - Đăng ký tài khoản cho người dùng mới
Trang 72 Xem sách Người dùng Khách Xem các sách có trên trang web, khách không cần đăng ký cũng xem
được
3 Đặt sách Người dùng Khách Đặt các sách có trên trang web, khách không cần đăng ký cũng đặt
được
5 Kiểm tra đơn hàng Người dùng - Kiểm tra lại các sách trong giỏ hàng
6 Hủy đơn hàng Người dùng - Hủy đơn hàng nếu trạng thái đơn hàng vẫn chưa được giao
7 Gia hạn thời gian trả Người dùng - Gia hạn và trả thêm phí khi cần thêmthời gian đọc sách
8 Yêu cầu sách mới Người dùng - Khi người dùng cần sách mà không có trên hệ thống
9 Cập nhậ thôngtin sách Quản lý - Cập nhật lại thông tin các sách có trên hệ thống
10 Kiểm tra tồn kho Quản lý - Kiểm tra tất cả các sách có trên hệ thống
11 Hủy đơn hàng Quản lý - Hủy đơn hàng nếu có vấn đề không phù hợp
12 Process đơn hàng Quản lý - Tiếp nhận đơn hàng của khách và chuyển sang trạng thái giao hàng
13 Nhắc nhở, phạt trả chậm Quản lý - Nhắn thông tin cảnh báo đến người dùng khi gần hết hạn
14 Giao sách Shipper - Nhận đơn hàng từ quản lý và giao cho khách hàng.
3 Tổng quan về hệ thống
3.1 Vai trò của người dùng
Hệ thống sẽ có các vai trò người dùng sau:
Khách Người dùng chưa đăng ký tài khoản, có thể xem và đặt sách mà không cần đăng ký tài khoản nhưng không theo dõi được
đơn hàng và không có các lợi ích như khách hàng
Người dùng Là người sử dụng đã đăng ký tài khoản để thuê sách
Quản lý Người điều hành hệ thống, xử lý các vấn đề liên quan đến đơnhàng, người dùng
Trang 8Shipper Nhận thông tin đơn hàng từ cửa hàng và giao cho người đặt
3.2 Chức năng hệ thống
a Luồng màn hình (Screen flow)
Trang chủ
Đăng nhập
Đăng ký
Thông tin tài khoản
Quên mật khẩu
Lấy lại mật khẩu
Thông tin giỏ hàng
Thông tin liên hệ
Danh sách sách
Tìm kiếm
Thêm vào giỏ hàng
Xem chi tiết
Add to cart
View details
Sửa thông tin sách
Admin
Thanh toán, Sửa, hủy đơn hàng
Danh sách đơn hàng
Thêm sách
Click all orders (admin)
Click add Books - admin
Danh sách người dùng
Click all user -admin
Process, hủy đơn hàng
Click detail
b Mô tả màn hình
[Cung cấp mô tả cho các màn hình trong Luồng màn hình ở trên]
1 Trang chủ Chứa tùy chọn duyệt sách theo thể loại và tìm kiếm sách
2 Thông tin tài khoản Chứa, ID, user name, họ tên, giới tính, ngày sinh, địa chỉ, mật khẩu, đổi mật khẩu, xóa tài khoản
3 Đăng nhập Username/email và password
4 Đăng ký User name, địa chỉ, họ tên, giới tính, ngày sinh, địa chỉ, mật khẩu
5 Lấy lại mật khẩu User name, email, mã xác thực
6 Danh sách người dùng ID, user name, ngày đăng ký, địa chỉ, số đơn hàng
7 Thông tin giỏ hàng ID sách, tên sách, số ngày thuê, giá thuê, tổng giá tiền
Trang 98 Thông tin liên hệ Email, comment, tên người liên hệ
9 Danh sách sách Tiêu đề sách, tác giả, tóm tắt, bìa sách, thêm sách vào giỏ hàng, giá thuê 1
0 Danh sách đơn hàng ID đơn hàng, danh sách sách, thông tin người thuê, địa chỉ, tổng tiền 1
2 Thêm sách/thể loại Tên sách, thể loại, tiêu đề, tác giả, tóm tắt, bìa sách.
1
3 Thanh toán hủy, sửa đơn hàng ID đơn hàng, danh sách sách, giá thuê
1
4 Thêm vào giỏ hàng ID sách, tên sách, giá thuê, thanh toán, khuyễn mãi
1
5 Xem chi tiết Tên sách, bìa sách, mô tả
1
6 Sửa thông tin sách Tên sách, thể loại, tiêu đề, tác giả, tóm tắt, bìa sách.
1
7 Process, sửa, hủy đơn hàng ID đơn hàng, danh sách sách, người thuê, địa chỉ nhận, số tiền thanh toán
c Các chức năng không liên quan đến màn hình
[Cung cấp mô tả cho các chức năng hệ thống không liên quan đến màn hình, tức là công việc theo lô/ cron job, dịch vụ, API, v.v
1
2
3.3 Hệ thống cấp quyền
Các quyền truy cập vào màn hình và hoạt động của màn hình như bên dưới
Màn hình
Quản lý tài khoản
Tìm kiếm và đặt thuê sách
sửa/
thêm/ xóa sách
quản lý đơn hàng.
Thông tin tài khoản x
Trang 10Đăng ký x
Lấy lại mật khẩu x
Danh sách người dùng x
Thông tin liên hệ x
Trong đó:
Chức năng quản lý tài khoản
Chức năng tìm kiếm và đặt thuê sách
Chức năng sửa/thêm/xóa sách
Chức năng quản lý đơn hàng
Trang 11II YÊU CẦU CHỨC NĂNG
1 Chức năng quản lý tài khoản
Tạo mới tài khoản cho người dùng, và quản lý (thêm xóa sửa) cho admin
1.1 Màn hình thông tin tài khoản
Khi người dùng chọn My account trên trang chủ sẽ xuất hiện màn hình thông tin, cho phép cập nhật, chỉnh sửa thông tin người dùng, đổi mật khẩu
1.2 Màn hình đăng nhập và đăng ký tài khoản
Khi khách nhấn chọn register thì sẽ xuất hiện màn hình cho phép điền các thông tin cần thiết và đăng ký tài khoản
1.3 Màn hình danh sách người dùng
Khi admin nhấn chọn view users thì sẽ xuất hiện bảng danh sách các người dùng đã đăng ký, cho phép xem thông tin và xóa user
Trang 122 Chức năng tìm kiếm và đặt thuê sách
2.1 Màn hình trang chủ
Trang chủ hiện ra khi người dùng truy cập vào website bất kể khách, hay quản lý đều có thể sử dụng
để tìm theo danh mục, tên sách, tên tác giả để duyệt các sách có trong cửa hàng
2.2 Màn hình danh sách sách
Có 2 cách để hiện ra màn hình danh sách sách 1 là tìm kiếm trên trang chủ và sẽ hiện ra các sách cần tìm Cách thứ 2 là nhấn chọn Books ở menu góc phải màn hình để duyệt tất cả các sách có trong cửa hàng
2.3 Màn hình quản lý giỏ hàng và thanh toán
Khi người dùng nhấn chọn My orders sẽ hiện ra giỏ hàng bao gồm các sách vừa chọn, giá sách tổng tiền thuê và xác nhận đặt hàng, sau khi xác nhận đặt hàng thông tin giỏ hàng sẽ được chuyển tới người quản lý để tiếp tục process
Trang 133 Chức năng thêm, sửa, xóa sách
3.1 Màn hình cập nhật thông tin sách
Màn hình hiện ra khi nhấn chọn Add books, đây là chức năng của admin cho phép thêm, sửa, xóa sách, thêm danh mục sách
4 Chức năng quản lý đơn hàng
4.1 Màn hình quản lý các đơn hàng
Chức năng quản lý đơn hàng của admin hiện ra khi nhấn chọn All Orders cho phép admin kiểm soát được có đơn hàng nào đang được đặt, process tiếp hay là hủy
Trang 14III YÊU CẦU PHI CHỨC NĂNG
1 Khả năng sử dụng
Các yêu cầu đặt hàng phải được xử lý trong vòng 1 giờ
Thời gian load trang web tối đa trong vòng 2 giây
Tài khoản đăng ký của khách hàng có hiệu lực sử dụng ngay sau khi đăng ký
2 Hiệu suất
Hệ thống phải đáp ứng được lượt truy cập 10.000 visitors/tháng, lượt truy cập cùng lúc 500 lượt
Dữ liệu phải được mô hình hóa bằng mô hình mối quan hệ - thực thể (ER) chia ra các bảng nhỏ để giảm thiểu bị trùng lặp đảm bảo mỗi dữ liệu chỉ lưu trữ 1 lần để tăng hiệu quả sử dụng bộ nhớ, giảm các thao tác cập nhật dữ liệu ở nhiều vị trí khác nhau, đồng nhất dữ liệu trên cả trang web
3 Độ tin cậy
[Yêu cầu về độ tin cậy của hệ thống nên được nêu rõ ở đây Dưới đây là một số gợi ý:
Tính khả dụng — chỉ định phần trăm thời gian khả dụng (xx.xx%), số giờ sử dụng, quyền truy cập bảo trì, hoạt động ở chế độ bị xuống cấp, v.v
Thời gian trung bình giữa hai lỗi (MTBF) - thường được xác định bằng giờ, nhưng cũng có thể được xác định theo ngày, tháng hoặc năm
Thời gian trung bình để sửa chữa (MTTR) —hệ thống được phép ngừng hoạt động sau khi bị lỗi trong bao lâu?
Độ chính xác — chỉ định độ chính xác (độ phân giải) và độ chính xác (theo một số tiêu chuẩn đã biết) được yêu cầu trong đầu ra của hệ thống
Số lỗi tối đa hoặc tỷ lệ lỗi — thường được biểu thị bằng số lỗi trên một nghìn dòng mã (bug / KLOC) hoặc số lỗi trên mỗi điểm chức năng (bug / function-point)
Lỗi hoặc Tỷ lệ Lỗi — được phân loại theo các lỗi nhỏ, lớn và nghiêm trọng: (các) yêu cầu phải xác định ý nghĩa của một lỗi “nghiêm trọng”; ví dụ: mất hoàn toàn dữ liệu hoặc hoàn toàn không thể sử dụng các phần nhất định của chức năng của hệ thống.]
Thời gian trung bình giữa hai lỗi (MTBF) là 10 ngày
Thời gian trung bình để sửa chữa (MTTR): Hệ thống được ngừng hoạt động sau khi bị lỗi là 1h
4 Độ bảo mật
Hệ thống được phần quyền chặt chẽ phân biệt rõ ràng giữa người dùng và quản lý để đảm bảo người dùng không có quyền thay đổi nội dung hệ thống Dữ liệu lưu trữ thông tin người dùng, mật khẩu của tài khoản phải được mã hóa
5 Độ an toàn
Hệ thống phải được backup theo thời gian thực để đảm bảo khi có sự cố mất dữ liệu có thể lấy lại được đầy đủ thông tin
7 Ràng buộc về thiết kế
Ngôn ngữ web sử dụng: HTML5, PHP, javascript và SQL cho lưu trữ, xử lý dữ liệu
Nội dung trang web phải được thiết kế tuân thủ theo tiêu chuẩn Web Content Accessibility Guidelines
WCAG 2.1