Phát triển website quản lí khóa học phục vụ công việc giảng dạy và học tập môn Công nghệ phần mềm | Đại học Bách Khoa, Đại học Đà Nẵng

Phát triển website quản lí khóa học phục vụ công việc giảng dạy và học tập môn Công nghệ phần mềm | Đại học Bách Khoa, Đại học Đà Nẵng giúp sinh viên tham khảo, ôn luyện và phục vụ nhu cầu học tập của mình cụ thể là có định hướng, ôn tập, nắm vững kiến thức môn học và làm bài tốt trong những bài kiểm tra, bài tiểu luận, bài tập kết thúc học phần, từ đó học tập tốt và có kết quả cao cũng như có thể vận dụng tốt những kiến thức mình đã học

TÀI LIỆU ĐẶC TẢ YÊU CẦU PHẦN MỀM
(Software Requirement Specification – SRS)
Phát triển website quản lí khóa học phục vụ công việc
giảng dạy và học tập
Phiên bản 1.0.1
Hướng dẫn bởi: TS. Võ Đức Hoàng
Được soạn bởi: Nguyễn Gia Bảo
Lê Đình Khánh
Đặng Xuân Khánh
Hồ Đăng Minh Đức
Đà Nẵng, tháng 3, năm 2024
DANH MỤC
1. Giới thiệu...........................................................................14
1.1. Từ điển thuật ngữ
1.2. Tài liệu tham khảo...............................................................................................................14
1.3. Tổng quát.............................................................................................................................15
2. Các yêu cầu chức năng......................................................15
2.1. Các tác nhân.........................................................................................................................15
2.2. Các chức năng của hệ thống.................................................................................................15
2.3. Biểu đồ use case tổng quan..................................................................................................16
2.4. Biểu đồ use case phân rã......................................................................................................17
2.4.1. Phân rã use case mua khóa học....................................................................................17
2.4.2. Phân rã use case quản lí khóa học cá nhân...................................................................18
2.4.3. Phân rã use case quản lí khóa học của giảng viên........................................................19
2.4.4. Phân rã use case quản lí bài viết...................................................................................20
2.4.5. Phân rã use case quản lí mã giảm giá...........................................................................21
2.4.6. Phân rã use case quản lí tài khoản người dùng.............................................................21
2.4.7. Phân rã use case quản lí doanh thu...............................................................................22
2.4.8. Phân rã use case quản lí khóa học của admin...............................................................23
2.4.9. Phân rã use case quản lí tài khoản cá nhân...................................................................24
2.5. Quy trình nghiệp vụ.............................................................................................................25
2.6. Đặc tả use case.....................................................................................................................25
2.6.1. Đăng nhập..........................................................................................................................25
2.6.2. Đăng xuất...........................................................................................................................26
2.6.3. Đăng kí..............................................................................................................................27
2.6.4. Mua khóa học....................................................................................................................28
2.6.5. Xem khóa học cá nhân.......................................................................................................29
2.6.6. Bình luận vào bài giảng.....................................................................................................30
2.6.7. Thêm học viên vào khóa học.............................................................................................31
2.6.8. Đăng bài viết......................................................................................................................31
2.6.9. Bình luận về bài viết..........................................................................................................32
2.6.10. Khóa tài khoản.................................................................................................................33
2.6.11. Mở khóa tài khoản...........................................................................................................33
2.6.12. Tạo mã giảm giá..............................................................................................................34
2.6.13. Tạo tài khoản giảng viên..................................................................................................35
2.6.14. Tạo bài giảng...................................................................................................................36
3. Các yêu cầu phi chức năng................................................37
3.1. Giao diện người dùng..........................................................................................................37
3.2. Tính bảo mật........................................................................................................................37
3.3. Ràng buộc............................................................................................................................37
1. Giới thiệu
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.
Tài liệu này được cung cấp như một tài liệu tham khảo cho sinh viên trực tiếp tham gia phát
triển dự án phục vụ cho việc hoàn thành đồ án tốt nghiệp. Ngoài ra trong môi trường thực tế
bên ngoài tài liệu này còn phục vụ cho những nhà phát triển phần mềm, kiểm thử viên, nhà
quản lý dự án cũng như các bên liên quan.
Phạm vi
Tài liệu đặc tả yêu cầu phần mềm này được xây dựng nhằm phục vụ cho dự án Phát triển
website quản lí khóa học phục vụ công việc giảng dạy và học tập.
Với việc phát triển hệ thống học trực tuyến cung cấp cho khách hàng, tổ chức cá nhân một
công cụ đi kèm với cách dạy và học truyền thống. Mang lại nhiều lợi ích về kinh tế với chi
phí thấp nhưng vẫn đảm bảo được nội dung cũng như chất lượng của việc học trực tuyến.
1.1. Từ điển thuật ngữ
Software Requirements Specifications
(SRS)
Đặc tả yêu cầu phần mềm
Use Case Biểu đồ mô tả những yêu cầu của hệ thống
Bảng 1.1: Từ điển thuật ngữ
1.2. 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.
Software Design and Construction - Nguyen Thi Thu Trang, IT4490:
trangntt@soict.hust.edu.vn
1.3. 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 (Software
Requirements Specifications - SRS) được giải thích trong "IEEE Recommended Practice for
Software Requirements Specifications" và " IEEE Guide for Developing System
Requirements Specifications".
Với cấu trúc được chia làm ba phần:
Phần 1: Cung cấp cái nhìn tổng quan về các thành phần của SRS.
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ực thi
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ức
nă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 đó.
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à Học viên, Giảng viên và Quản trị viên. Học viên có thể đăng
kí hoặc đăng nhập vào hệ thống. Giảng viên được cung cấp tài khoản và các chức năng giảng
dạy và hướng dẫn học tập. Quản trị viên có vai trò quản trị hoạt động của hệ thống
2.2. Các chức năng của hệ thống
1. Đăng kí: Để truy cập sử dụng hệ thống thì Người dùng trước hết cần đăng tài
khoản.
2. Đăng nhập: Chức năng này nhằm mục đínch xác thực người dùng khi tương tác với
hệ thống nhằm cung cấp quyền cũng như phạm vi truy cập hệ thống
3. Quản trị người dùng: Quản trị viên vai trò quản trị những người dùng trong hệ
thống.
4. Các nhóm chức năng quản khóa học, bài giảng, bài tập: Công việc quản trị khóa
học của Giảng viên.
5. Đăng khóa học: Người dùng sử dụng chức năng nhằm mục đích ghi danh, truy
cập đến nguồn kiến thức từ những khóa học do Giảng viên tạo ra.
Để thể hình dung 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
2.3. Biểu đồ use case tổng quan
2.4. Biểu đồ use case phân rã
2.4.1. Phân rã use case mua khóa học
2.4.2. Phân rã use case quản lí khóa học cá nhân
2.4.3. Phân rã use case quản lí khóa học của giảng viên
2.4.4. Phân rã use case quản lí bài viết
2.4.5. Phân rã use case quản lí mã giảm giá
2.4.6. Phân rã use case quản lí tài khoản người dùng
2.4.7. Phân rã use case quản lí doanh thu
2.4.8. Phân rã use case quản lí khóa học của admin
2.4.9. Phân rã use case quản lí tài khoản cá nhân
2.5. Quy trình nghiệp vụ
2.6. Đặc tả use case
2.6.1. Đăng nhập
Đăng nhập
Use Case ID
Use Case
Name Đăng nhập
Description Là người dùng , người muốn sử dụng hệ thống
Actor Học viên, Giảng viên, Administrator
Priority Cao
Trigger Người dùng muốn được xác thực bởi hệ thống để sử dụng dịch vụ
Pre –
conditions Người dùng có tài khoản đã được cấp quyền trong hệ thống
Post –
conditions
Người dùng đăng nhập thành công, hệ thống xác thực đúng người dùng và
quyền hạn của người dùng trong hệ thống
Main Flow
1. User truy cập vào login page thông qua home page
2. User nhập tài khoản, mật khẩu
3. User nhấn enter hoặc click nút Login
4. Hệ thống xác thực người dùng, sau đó đưa người dùng vào page
dashboard tương ứng với quyền hạn của người dùng. [Exception 1]
5. Hệ thống lưu lại phiên đăng nhập của người dùng
Alternative
Flows
1. User click login with gmail
- Hệ thống mở lên 1 popup màn hình đăng nhập với gmail
- Người dùng nhập thông tin tài khoản gmail
- Gmail trả về trạng thái login đến hệ thống
- Quay về bước 4 Main Flow
2. User click login with facebook
- Hệ thống mở lên 1 trang đăng nhập với facebook
- Người dùng nhập thông tin tài khoản facebook
- Facebook trả về trạng thái login đến hệ thống
- Quay về bước 4 Main Flow
Exception Hệ thống báo lỗi “Invalid password or email, not found, not empty”… 1.
2. Hệ thống đưa người dùng quay lại trang login rỗng
3. Nếu đăng nhập sau quá 5 lần, hệ thống sẽ khóa đăng nhập trong 30 phút
(có thể khóa tài khoản nếu spam login )
4. Hệ thống đưa ra kiến nghị reset password
2.6.2. Đăng xuất
Đăng xuất
Use Case ID
Use Case Name Logout
Description Là người dùng , người muốn đăng xuất khỏi hệ thống
Actor Học viên, Giảng viên, Administrator
Priority
Thấp
Trigger Người dùng muốn tạm ngừng sử dụng dịch vụ hệ thống
Pre –
conditions Người dùng đã thực hiện việc login vào hệ thống
Post –
conditions
Người dùng logout thành công, hệ thống kết thúc phiên đăng nhập của
người dùng
Main Flow 1. Người dùng nhấn vào nút logout ở trang home
2. Hệ thống xác thực người dùng và phiên đăng nhập [Exception 1,2]
3. Hệ thống xác thực thành công và kết thúc phiên đăng nhập
Alternative
Flows
Exception 1. Người dùng chưa đăng nhập
- Hệ thống đưa người dùng sang trang Login và yêu cầu người dùng
đăng nhập
2. Phiên đăng nhập của người dùng đã hết hạn
2.6.3. Đăng kí
Đăng kí
Use Case ID
Use Case
Name Register
Description Là người dùng , người muốn tạo tài khoản mới trong hệ thống
Actor Học viên, Giảng viên, Administrator
Priority Cao
Trigger
Người dùng muốn bắt đầu sử dụng dịch vụ của hệ thống
Người dùng lựa chọn tài khoản hoặc email mới để đăng kí
Pre –
conditions
Post –
conditions Người dùng cung cấp đầy đủ thông tin mà hệ thống yêu cầu
Main Flow Người dùng nhấn vào nút Register trong home page 1.
2. Người dùng thực hiện việc nhập dữ liệu
[Exception 1]
3. Hệ thống validate thông tin
4. Hệ thống tiến hành tạo tài khoản người dùng và cấp quyền người dùng
[Exception 2]
5. Hệ thống xác nhận tạo tài khoản thành công đến người dùng
Alternative
Flows
Exception Người dùng nhập sai định dạng dữ liệu, không đủ dữ liệu mà hệ thống1.
yêu cầu
-Hệ thống đưa người dùng về trang register rỗng
-Nếu đăng kí quá 5 lần, hệ thống tạm ngưng hành động đăng kí của
người dùng trong 30 phút
-Hệ thống đưa ra kiến nghị về login with facebook or email
2. Email hoặc username tài khoản đã tồn tại trong hệ thống -Hệ thống
đưa người dùng về trang register rỗng
2.6.4. Mua khóa học
Mua khóa học
Use Case ID
Use Case
Name Purchase course
Description Là người dùng , người muốn mua một khóa học trong hệ thống
Actor Học viên
Priority Trung bình
Trigger Người dùng muốn mua khóa học trong hệ thống
Pre –
conditions
Số dư tài khoản của người dùng lớn hơn hoặc bằng giá khóa học Người
dùng đã đăng nhập thành công
Post –
conditions
Người dùng mua thành công khóa học, khóa học được thêm vào hàng đợi
của người dùng
Main Flow Người dùng thực hiện nạp tiền vào hệ thống 1. [Exception 1]
2. Người dùng chọn khóa học muốn mua ở trang course page, thông qua
home page
3. Người dùng thực hiện apply voucher (nếu có) [Exception 2]
4. Người dùng thực hiện việc thanh toán khóa học [Exception 3]
Alternative
Flows
1. Người dùng thực hiện việc mua khóa học thông qua Quản trị viên, Cộng
tác viên hệ thống.
2. Người dùng được hệ thống tặng khóa học, hoặc cho phép sử dụng thử
hoặc miễn phí
Exception Người dùng nạp tiền vào hệ thống không thành công do ngân hàng hoặc 1.
hệ thống
- Hệ thống đưa người dùng về lại trang nạp tiền
- Người dùng thực hiện việc nạp tiền lại
2. Voucher không tồn tại hoặc đã hết hạn
- Hệ thống tắt popup apply voucher và thông báo message
3. Thanh toán khóa học không thành công do số dư không đủ - Hệ thống
kiểm tra số dư
- Hệ thống điều hướng người dùng đến trang nạp tiền
- Sau khi hệ thống xác nhận đủ số dư, hệ thống điều hướng người dùng
về lại trang thanh toán
- Người dùng xác nhận thành công
2.6.5. Xem khóa học cá nhân
XEM KHÓA HỌC CÁ NHÂN
Use Case ID
Use Case Name Xem khóa học cá nhân
Description(mục tiêu) Hiển thị danh sách khóa học đã mua của học viên, cũng như bài
giảng của từng khóa học đó.
Actor Học viên
Priority Trung bình
Trigger(khi nào UC thực
thi)
Người dùng muốn xem danh sách khóa học đã mua và bài
giảng
Pre – conditions(cần gì
thì UC thực hiện) Người dùng đã login thành công và tồn tại khóa học đã mua
Post – conditions(UC
thành công thì dữ liệu như
nào) Học viên xem được thông tin khóa học và bài giảng
Main Flow Nguời dùng nhấn nút xem khóa học 1.
2. Hệ thống tiến hành xác thực tài khoản học vi [Exception 1]
3. Hệ thống hiển thị ra danh sách khóa học đã mua của học viên
( hiển thị ra bài giảng của khóa học nếu học viên nhấn vào
khóa học nào đó) [ Exception 2]
Alternative Flows 1. Học viên thể xem những khóa học miễn phí hệ thống
cung cấp
Exception Học viên chưa đăng nhập vào hệ thống 1.
2. Học viên chưa mua khóa học muốn truy cập bài giảng
2.6.6. Bình luận vào bài giảng
BÌNH LUẬN VÀO BÀI GIẢNG
Use Case ID
Use Case
Name Bình luận về bài học
Description Để học viên trao đổi thông tin trong bài giảng
Actor Học viên, Giảng viên, Administrator
Priority Trung bình
Trigger Khi học viên muốn đăng một bình luận vào bài giảng
Pre –
conditions
1. Người dùng đã login thành công và còn tồn tại phiên đăng nhập
2. Khóa học mà học viên thực hiện bình luận đã được học viên mua
Post –
conditions
1. Lưu bình luận vào cơ sở dữ liệu
2. Hệ thống tiến hành hiển thị bình luận trong bài giảng đó
Main Flow Người dùng nhập nội dung bình luận và nhấn đăng 1.
2. Hệ thống lưu bình luận trong cơ sở dữ liệu và hiển thị bình luận
trong bài giảng
Alternative
Flows
Exception
2.6.7. Thêm học viên vào khóa học
Thêm học viên vào khóa học
Use Case ID
Use Case Name Thêm học viên vào khóa học
Description Thực hiện thêm học viên đã mua khóa học vào khóa học
Actor Giảng viên, Administrator
Priority Trung bình
Trigger Khi học viên mua khóa học thành công
Pre – conditions Học viên tiến hành thanh toán khóa học thành công
Post –
conditions Thông tin học viên được thêm vào khóa học
Main Flow Học viên thanh toán thành công khóa học 1.
2. Hệ thống lưu thông tin học viên thuộc khóa học đó
Alternative
Flows 1. Học viên được tặng khóa học
2. Học viên do administrator hoặc giảng viên trực tiếp thêm vào
khóa học
Exception
2.6.8. Đăng bài viết
ĐĂNG BÀI VIẾT
Use Case
ID
Use Case
Name Đăng bài viết
Description Thực hiện đăng bài viết lên hệ thống
Actor Học viên, Giảng viên, Administrator
Priority Trung bình
Trigger Khi người dùng thực nhập nội dung bài viết và nhấn nút đăng
Pre –
conditions Người dùng đăng nhập thành công vào hệ thống
Post –
conditions Bài viết được lưu vào cơ sở dữ liệu và hiển thị trên hệ thống
Main Flow Người dùng nhập nội dung bài viết [Exception 1] 1.
2. Người dùng nhấn nút đăng
3. Hệ thống kiểm tra quyền, nếu là giảng viên hoặc học viên thì hệ thống sẽ
đưa bài viết đó vào hàng đợi để administrator duyệt bài, ngược lại nếu là
administrator thì bài viết đó lập tức được hiển thị trên hệ thống
[Exception 2]
Alternative
Flows
Exception Nhập thiếu thông tin cần thiết 1.
2. Bài viết có nội dung không cho phép
2.6.9. Bình luận về bài viết
BÌNH LUẬN BÀI VIẾT
Use Case ID
Use Case Name Bình luận bài viết
Description Thực hiện bình luận trong bài viết
Actor Học viên, Giảng viên, Administrator
Priority Trung bình
Trigger Khi người dùng thực nhập nội dung bình luận và nhấn nút đăng
Pre – conditions Người dùng đăng nhập thành công vào hệ thống
Post – conditions Bình luận được lưu vào cơ sở dữ liệu và hiển thị trên hệ thống
Main Flow Người dùng nhập nội dung bài viết 1.
2. Người dùng nhấn nút đăng
3. Hệ thống lưu bình luận vào hệ thống và hiển thị lên giao diện
Alternative Flows
Exception
2.6.10. Khóa tài khoản
KHÓA TÀI KHOẢN
Use Case ID
Use Case Name Khóa tài khoản
Description Thực hiện khóa tài khoản của học viên vi phạm
Actor Administrator
Priority Trung bình
Trigger Khi administrator thực hiện thêm tài khoản vào danh sách khóa tài
khoản
Pre – conditions Người dùng vi phạm tiêu chuẩn của hệ thống
Post – conditions Người dùng bị khóa tài khoản, không thể đăng nhập vào hệ thống
Main Flow Administrator chọn học viên và nhấn nút thêm 1.
2. Hệ thống tiến hành lưu học viên và danh sách khóa
Alternative
Flows
Exception
2.6.11. Mở khóa tài khoản
MỞ KHÓA TÀI KHOẢN
Use Case ID
Use Case Name Mở khóa tài khoản
Description Thực hiện mở khóa tài khoản của học viên vi phạm
Actor Administrator
Priority Trung bình
Trigger Khi administrator thực hiện xóa tài khoản khỏ danh sách khóa tài
khoản
Pre – conditions Người dùng nằm trong danh sách khóa tài khoản
Post – conditions Người dùng được mở tài khoản và được phép login vào hệ thống
Main Flow Administrator chọn học viên và nhấn nút thêm 1.
2. Hệ thống tiến hành lưu học viên và danh sách khóa
Alternative
Flows
Exception
2.6.12. Tạo mã giảm giá
TẠO MÃ GIẢM GIÁ
Use Case ID
Use Case
Name Tạo mã giảm giá
Description Thực hiện tạo mã giảm giá khi thực hiện mua khóa học trong hệ thống
Actor Administrator
Priority Trung bình
Trigger Administrator thực hiện tạo mộtgiảm giá cho người dùng trong hệ
thống
Pre – conditions
Post – conditions Mã giảm giá tạo thành công, người dùng có thể sử dụng
Main Flow
1. Administrator nhấn nút thêm mã giảm giá
2. Thực hiện nhập thông tin cần thiết cho một mã giảm giá
[Exception 1]
3. Hệ thống lưu lại mã giảm giá
Alternative
Flows
Exception 1. Thiếu thông tin cần thiết
2.6.13. Tạo tài khoản giảng viên
TẠO TÀI KHOẢN GIẢNG VIÊN
Use Case ID
Use Case
Name Tạo tài khoản giảng viên
Description Thực hiện tạo một tài khoản giảng viên trong hệ thống
Actor Administrator
Priority Trung bình
Trigger Administrator thực hiện tạo một tài khoản với role là giảng viên
Pre –
conditions Tài khoản chưa tồn tại trong hệ thống
Post –
conditions Tài khoản giảng viên tạo thành công và sử dụng trong hệ thống
Main Flow Administrator nhấn nút thêm giảng viên trên giao diên 1.
2. Administrator nhập thông tin giảng viên như tên giảng viên, môn dạy,
số điện thoại, email, …. [Exception 1]
3. Administrator nhấn nút tạo, hệ thống lưu lại thông tin tài khoản giảng
viên
Alternative
Flows
Exception 1. Thiếu thông tin yêu cầu
2.6.14. Tạo bài giảng
| 1/24

Preview text:

TÀI LIỆU ĐẶC TẢ YÊU CẦU PHẦN MỀM
(Software Requirement Specification – SRS)
Phát triển website quản lí khóa học phục vụ công việc
giảng dạy và học tập Phiên bản 1.0.1
Hướng dẫn bởi: TS. Võ Đức Hoàng
Được soạn bởi: Nguyễn Gia Bảo Lê Đình Khánh Đặng Xuân Khánh
Hồ Đăng Minh Đức
Đà Nẵng, tháng 3, năm 2024 DANH MỤC
1. Giới thiệu...........................................................................14 1.1. Từ điển thuật ngữ 1.2.
Tài liệu tham khảo...............................................................................................................14 1.3.
Tổng quát.............................................................................................................................15
2. Các yêu cầu chức năng......................................................15 2.1.
Các tác nhân.........................................................................................................................15 2.2.
Các chức năng của hệ thống.................................................................................................15 2.3.
Biểu đồ use case tổng quan..................................................................................................16 2.4.
Biểu đồ use case phân rã......................................................................................................17 2.4.1.
Phân rã use case mua khóa học....................................................................................17 2.4.2.
Phân rã use case quản lí khóa học cá nhân...................................................................18 2.4.3.
Phân rã use case quản lí khóa học của giảng viên........................................................19 2.4.4.
Phân rã use case quản lí bài viết...................................................................................20 2.4.5.
Phân rã use case quản lí mã giảm giá...........................................................................21 2.4.6.
Phân rã use case quản lí tài khoản người dùng.............................................................21 2.4.7.
Phân rã use case quản lí doanh thu...............................................................................22 2.4.8.
Phân rã use case quản lí khóa học của admin...............................................................23 2.4.9.
Phân rã use case quản lí tài khoản cá nhân...................................................................24 2.5.
Quy trình nghiệp vụ.............................................................................................................25 2.6.
Đặc tả use case.....................................................................................................................25
2.6.1. Đăng nhập..........................................................................................................................25
2.6.2. Đăng xuất...........................................................................................................................26
2.6.3. Đăng kí..............................................................................................................................27
2.6.4. Mua khóa học....................................................................................................................28
2.6.5. Xem khóa học cá nhân.......................................................................................................29
2.6.6. Bình luận vào bài giảng.....................................................................................................30
2.6.7. Thêm học viên vào khóa học.............................................................................................31
2.6.8. Đăng bài viết......................................................................................................................31
2.6.9. Bình luận về bài viết..........................................................................................................32
2.6.10. Khóa tài khoản.................................................................................................................33
2.6.11. Mở khóa tài khoản...........................................................................................................33
2.6.12. Tạo mã giảm giá..............................................................................................................34
2.6.13. Tạo tài khoản giảng viên..................................................................................................35
2.6.14. Tạo bài giảng...................................................................................................................36
3. Các yêu cầu phi chức năng................................................37 3.1.
Giao diện người dùng..........................................................................................................37 3.2.
Tính bảo mật........................................................................................................................37 3.3.
Ràng buộc............................................................................................................................37 1. Giới thiệu 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.
Tài liệu này được cung cấp như một tài liệu tham khảo cho sinh viên trực tiếp tham gia phát
triển dự án phục vụ cho việc hoàn thành đồ án tốt nghiệp. Ngoài ra trong môi trường thực tế
bên ngoài tài liệu này còn phục vụ cho những nhà phát triển phần mềm, kiểm thử viên, nhà
quản lý dự án cũng như các bên liên quan. Phạm vi
Tài liệu đặc tả yêu cầu phần mềm này được xây dựng nhằm phục vụ cho dự án Phát triển
website quản lí khóa học phục vụ công việc giảng dạy và học tập.
Với việc phát triển hệ thống học trực tuyến cung cấp cho khách hàng, tổ chức cá nhân một
công cụ đi kèm với cách dạy và học truyền thống. Mang lại nhiều lợi ích về kinh tế với chi
phí thấp nhưng vẫn đảm bảo được nội dung cũng như chất lượng của việc học trực tuyến.
1.1. Từ điển thuật ngữ
Software Requirements Specifications
Đặc tả yêu cầu phần mềm (SRS) Use Case
Biểu đồ mô tả những yêu cầu của hệ thống
Bảng 1.1: Từ điển thuật ngữ
1.2. 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.3. 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 (Software
Requirements Specifications - SRS) được giải thích trong "IEEE Recommended Practice for
Software Requirements Specifications" và " IEEE Guide for Developing System Requirements Specifications".
Với cấu trúc được chia làm ba phần:
Phần 1: Cung cấp cái nhìn tổng quan về các thành phần của SRS.
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ực thi
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ức
nă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 đó.
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à Học viên, Giảng viên và Quản trị viên. Học viên có thể đăng
kí hoặc đăng nhập vào hệ thống. Giảng viên được cung cấp tài khoản và các chức năng giảng
dạy và hướng dẫn học tập. Quản trị viên có vai trò quản trị hoạt động của hệ thống
2.2. Các chức năng của hệ thống
1. Đăng kí: Để truy cập sử dụng hệ thống thì Người dùng trước hết cần đăng ký tài khoản.
2. Đăng nhập: Chức năng này nhằm mục đínch xác thực người dùng khi tương tác với
hệ thống nhằm cung cấp quyền cũng như phạm vi truy cập hệ thống
3. Quản trị người dùng: Quản trị viên có vai trò quản trị những người dùng trong hệ thống.
4. Các nhóm chức năng quản lý khóa học, bài giảng, bài tập: Công việc quản trị khóa học của Giảng viên.
5. Đăng ký khóa học: Người dùng sử dụng chức năng nhằm mục đích ghi danh, truy
cập đến nguồn kiến thức từ những khóa học do Giảng viên tạo ra.
Để 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
2.3. Biểu đồ use case tổng quan
2.4. Biểu đồ use case phân rã
2.4.1. Phân rã use case mua khóa học

2.4.2. Phân rã use case quản lí khóa học cá nhân
2.4.3. Phân rã use case quản lí khóa học của giảng viên
2.4.4. Phân rã use case quản lí bài viết
2.4.5. Phân rã use case quản lí mã giảm giá
2.4.6. Phân rã use case quản lí tài khoản người dùng
2.4.7. Phân rã use case quản lí doanh thu
2.4.8. Phân rã use case quản lí khóa học của admin
2.4.9. Phân rã use case quản lí tài khoản cá nhân
2.5. Quy trình nghiệp vụ 2.6. Đặc tả use case 2.6.1. Đăng nhập Đăng nhập Use Case ID Use Case Name Đăng nhập
Description Là người dùng , người muốn sử dụng hệ thống Actor
Học viên, Giảng viên, Administrator Priority Cao Trigger
Người dùng muốn được xác thực bởi hệ thống để sử dụng dịch vụ Pre – conditions
Người dùng có tài khoản đã được cấp quyền trong hệ thống Post –
Người dùng đăng nhập thành công, hệ thống xác thực đúng người dùng và conditions
quyền hạn của người dùng trong hệ thống Main Flow
1. User truy cập vào login page thông qua home page
2. User nhập tài khoản, mật khẩu
3. User nhấn enter hoặc click nút Login
4. Hệ thống xác thực người dùng, sau đó đưa người dùng vào page
dashboard tương ứng với quyền hạn của người dùng. [Exception 1]
5. Hệ thống lưu lại phiên đăng nhập của người dùng Alternative
1. User click login with gmail Flows
- Hệ thống mở lên 1 popup màn hình đăng nhập với gmail
- Người dùng nhập thông tin tài khoản gmail
- Gmail trả về trạng thái login đến hệ thống
- Quay về bước 4 Main Flow
2. User click login with facebook
- Hệ thống mở lên 1 trang đăng nhập với facebook
- Người dùng nhập thông tin tài khoản facebook
- Facebook trả về trạng thái login đến hệ thống
- Quay về bước 4 Main Flow Exception
1. Hệ thống báo lỗi “Invalid password or email, not found, not empty”…
2. Hệ thống đưa người dùng quay lại trang login rỗng
3. Nếu đăng nhập sau quá 5 lần, hệ thống sẽ khóa đăng nhập trong 30 phút
(có thể khóa tài khoản nếu spam login )
4. Hệ thống đưa ra kiến nghị reset password 2.6.2. Đăng xuất Đăng xuất Use Case ID Use Case Name Logout Description
Là người dùng , người muốn đăng xuất khỏi hệ thống Actor
Học viên, Giảng viên, Administrator Priority Thấp Trigger
Người dùng muốn tạm ngừng sử dụng dịch vụ hệ thống Pre – conditions
Người dùng đã thực hiện việc login vào hệ thống Post –
Người dùng logout thành công, hệ thống kết thúc phiên đăng nhập của conditions người dùng Main Flow
1. Người dùng nhấn vào nút logout ở trang home
2. Hệ thống xác thực người dùng và phiên đăng nhập [Exception 1,2]
3. Hệ thống xác thực thành công và kết thúc phiên đăng nhập Alternative Flows Exception
1. Người dùng chưa đăng nhập
- Hệ thống đưa người dùng sang trang Login và yêu cầu người dùng đăng nhập
2. Phiên đăng nhập của người dùng đã hết hạn 2.6.3. Đăng kí Đăng kí Use Case ID Use Case Name Register Description
Là người dùng , người muốn tạo tài khoản mới trong hệ thống Actor
Học viên, Giảng viên, Administrator Priority Cao
Người dùng muốn bắt đầu sử dụng dịch vụ của hệ thống Trigger
Người dùng lựa chọn tài khoản hoặc email mới để đăng kí Pre – conditions Post – conditions
Người dùng cung cấp đầy đủ thông tin mà hệ thống yêu cầu Main Flow
1. Người dùng nhấn vào nút Register trong home page
2. Người dùng thực hiện việc nhập dữ liệu [Exception 1]
3. Hệ thống validate thông tin
4. Hệ thống tiến hành tạo tài khoản người dùng và cấp quyền người dùng [Exception 2]
5. Hệ thống xác nhận tạo tài khoản thành công đến người dùng Alternative Flows Exception
1. Người dùng nhập sai định dạng dữ liệu, không đủ dữ liệu mà hệ thống yêu cầu
-Hệ thống đưa người dùng về trang register rỗng
-Nếu đăng kí quá 5 lần, hệ thống tạm ngưng hành động đăng kí của người dùng trong 30 phút
-Hệ thống đưa ra kiến nghị về login with facebook or email
2. Email hoặc username tài khoản đã tồn tại trong hệ thống -Hệ thống
đưa người dùng về trang register rỗng 2.6.4. Mua khóa học Mua khóa học Use Case ID Use Case Name Purchase course Description
Là người dùng , người muốn mua một khóa học trong hệ thống Actor Học viên Priority Trung bình Trigger
Người dùng muốn mua khóa học trong hệ thống Pre –
Số dư tài khoản của người dùng lớn hơn hoặc bằng giá khóa học Người conditions
dùng đã đăng nhập thành công Post –
Người dùng mua thành công khóa học, khóa học được thêm vào hàng đợi conditions của người dùng Main Flow
1. Người dùng thực hiện nạp tiền vào hệ thống [Exception 1]
2. Người dùng chọn khóa học muốn mua ở trang course page, thông qua home page
3. Người dùng thực hiện apply voucher (nếu có) [Exception 2]
4. Người dùng thực hiện việc thanh toán khóa học [Exception 3] Alternative
1. Người dùng thực hiện việc mua khóa học thông qua Quản trị viên, Cộng Flows tác viên hệ thống.
2. Người dùng được hệ thống tặng khóa học, hoặc cho phép sử dụng thử hoặc miễn phí Exception
1. Người dùng nạp tiền vào hệ thống không thành công do ngân hàng hoặc hệ thống
- Hệ thống đưa người dùng về lại trang nạp tiền
- Người dùng thực hiện việc nạp tiền lại
2. Voucher không tồn tại hoặc đã hết hạn
- Hệ thống tắt popup apply voucher và thông báo message
3. Thanh toán khóa học không thành công do số dư không đủ - Hệ thống kiểm tra số dư
- Hệ thống điều hướng người dùng đến trang nạp tiền
- Sau khi hệ thống xác nhận đủ số dư, hệ thống điều hướng người dùng về lại trang thanh toán
- Người dùng xác nhận thành công
2.6.5. Xem khóa học cá nhân XEM KHÓA HỌC CÁ NHÂN Use Case ID Use Case Name Xem khóa học cá nhân Description(mục tiêu)
Hiển thị danh sách khóa học đã mua của học viên, cũng như bài
giảng của từng khóa học đó. Actor Học viên Priority Trung bình
Trigger(khi nào UC thực Người dùng muốn xem danh sách khóa học đã mua và bài thi) giảng Pre – conditions(cần gì thì UC thực hiện)
Người dùng đã login thành công và tồn tại khóa học đã mua Post – conditions(UC
thành công thì dữ liệu như nào)
Học viên xem được thông tin khóa học và bài giảng Main Flow
1. Nguời dùng nhấn nút xem khóa học
2. Hệ thống tiến hành xác thực tài khoản học vi[Exception 1]
3. Hệ thống hiển thị ra danh sách khóa học đã mua của học viên
( hiển thị ra bài giảng của khóa học nếu học viên nhấn vào
khóa học nào đó) [Exception 2] Alternative Flows
1. Học viên có thể xem những khóa học miễn phí mà hệ thống cung cấp Exception
1. Học viên chưa đăng nhập vào hệ thống
2. Học viên chưa mua khóa học muốn truy cập bài giảng
2.6.6. Bình luận vào bài giảng
BÌNH LUẬN VÀO BÀI GIẢNG Use Case ID Use Case Name Bình luận về bài học Description
Để học viên trao đổi thông tin trong bài giảng Actor
Học viên, Giảng viên, Administrator Priority Trung bình Trigger
Khi học viên muốn đăng một bình luận vào bài giảng Pre –
1. Người dùng đã login thành công và còn tồn tại phiên đăng nhập conditions
2. Khóa học mà học viên thực hiện bình luận đã được học viên mua Post –
1. Lưu bình luận vào cơ sở dữ liệu conditions
2. Hệ thống tiến hành hiển thị bình luận trong bài giảng đó Main Flow
1. Người dùng nhập nội dung bình luận và nhấn đăng
2. Hệ thống lưu bình luận trong cơ sở dữ liệu và hiển thị bình luận trong bài giảng Alternative Flows Exception
2.6.7. Thêm học viên vào khóa học
Thêm học viên vào khóa học Use Case ID Use Case Name
Thêm học viên vào khóa học Description
Thực hiện thêm học viên đã mua khóa học vào khóa học Actor Giảng viên, Administrator Priority Trung bình Trigger
Khi học viên mua khóa học thành công Pre – conditions
Học viên tiến hành thanh toán khóa học thành công Post – conditions
Thông tin học viên được thêm vào khóa học Main Flow
1. Học viên thanh toán thành công khóa học
2. Hệ thống lưu thông tin học viên thuộc khóa học đó Alternative Flows
1. Học viên được tặng khóa học
2. Học viên do administrator hoặc giảng viên trực tiếp thêm vào khóa học Exception
2.6.8. Đăng bài viết ĐĂNG BÀI VIẾT Use Case ID Use Case Name Đăng bài viết
Description Thực hiện đăng bài viết lên hệ thống Actor
Học viên, Giảng viên, Administrator Priority Trung bình Trigger
Khi người dùng thực nhập nội dung bài viết và nhấn nút đăng Pre – conditions
Người dùng đăng nhập thành công vào hệ thống Post – conditions
Bài viết được lưu vào cơ sở dữ liệu và hiển thị trên hệ thống
Main Flow 1. Người dùng nhập nội dung bài viết [Exception 1]
2. Người dùng nhấn nút đăng
3. Hệ thống kiểm tra quyền, nếu là giảng viên hoặc học viên thì hệ thống sẽ
đưa bài viết đó vào hàng đợi để administrator duyệt bài, ngược lại nếu là
administrator thì bài viết đó lập tức được hiển thị trên hệ thống [Exception 2] Alternative Flows Exception
1. Nhập thiếu thông tin cần thiết
2. Bài viết có nội dung không cho phép
2.6.9. Bình luận về bài viết BÌNH LUẬN BÀI VIẾT Use Case ID Use Case Name Bình luận bài viết Description
Thực hiện bình luận trong bài viết Actor
Học viên, Giảng viên, Administrator Priority Trung bình Trigger
Khi người dùng thực nhập nội dung bình luận và nhấn nút đăng Pre – conditions
Người dùng đăng nhập thành công vào hệ thống Post – conditions
Bình luận được lưu vào cơ sở dữ liệu và hiển thị trên hệ thống Main Flow
1. Người dùng nhập nội dung bài viết
2. Người dùng nhấn nút đăng
3. Hệ thống lưu bình luận vào hệ thống và hiển thị lên giao diện Alternative Flows Exception
2.6.10. Khóa tài khoản KHÓA TÀI KHOẢN Use Case ID Use Case Name Khóa tài khoản Description
Thực hiện khóa tài khoản của học viên vi phạm Actor Administrator Priority Trung bình Trigger
Khi administrator thực hiện thêm tài khoản vào danh sách khóa tài khoản Pre – conditions
Người dùng vi phạm tiêu chuẩn của hệ thống Post – conditions
Người dùng bị khóa tài khoản, không thể đăng nhập vào hệ thống Main Flow
1. Administrator chọn học viên và nhấn nút thêm
2. Hệ thống tiến hành lưu học viên và danh sách khóa Alternative Flows Exception
2.6.11. Mở khóa tài khoản MỞ KHÓA TÀI KHOẢN Use Case ID Use Case Name Mở khóa tài khoản Description
Thực hiện mở khóa tài khoản của học viên vi phạm Actor Administrator Priority Trung bình Trigger
Khi administrator thực hiện xóa tài khoản khỏ danh sách khóa tài khoản Pre – conditions
Người dùng nằm trong danh sách khóa tài khoản Post – conditions
Người dùng được mở tài khoản và được phép login vào hệ thống Main Flow
1. Administrator chọn học viên và nhấn nút thêm
2. Hệ thống tiến hành lưu học viên và danh sách khóa Alternative Flows Exception
2.6.12. Tạo mã giảm giá TẠO MÃ GIẢM GIÁ Use Case ID Use Case Name Tạo mã giảm giá Description
Thực hiện tạo mã giảm giá khi thực hiện mua khóa học trong hệ thống Actor Administrator Priority Trung bình Trigger
Administrator thực hiện tạo một mã giảm giá cho người dùng trong hệ thống Pre – conditions Post – conditions
Mã giảm giá tạo thành công, người dùng có thể sử dụng Main Flow
1. Administrator nhấn nút thêm mã giảm giá
2. Thực hiện nhập thông tin cần thiết cho một mã giảm giá [Exception 1]
3. Hệ thống lưu lại mã giảm giá Alternative Flows Exception
1. Thiếu thông tin cần thiết
2.6.13. Tạo tài khoản giảng viên
TẠO TÀI KHOẢN GIẢNG VIÊN Use Case ID Use Case Name
Tạo tài khoản giảng viên Description
Thực hiện tạo một tài khoản giảng viên trong hệ thống Actor Administrator Priority Trung bình Trigger
Administrator thực hiện tạo một tài khoản với role là giảng viên Pre – conditions
Tài khoản chưa tồn tại trong hệ thống Post – conditions
Tài khoản giảng viên tạo thành công và sử dụng trong hệ thống Main Flow
1. Administrator nhấn nút thêm giảng viên trên giao diên
2. Administrator nhập thông tin giảng viên như tên giảng viên, môn dạy,
số điện thoại, email, …. [Exception 1]
3. Administrator nhấn nút tạo, hệ thống lưu lại thông tin tài khoản giảng viên Alternative Flows Exception
1. Thiếu thông tin yêu cầu
2.6.14. Tạo bài giảng