Xây dựng ứng dụng tìm kiếm chuyên gia
giải đáp thắc mắc
Software Requirements Specification
Version 1.0
Trang 2
1. Document History
Date
29-09-2019
10-10-2019
30-10-2019
30-11-2019
Summary of Changes
-
Mô tả sườn của báo cáo
-
Xác định mục đích của hệ thống
-
Ai sẽ sử dụng hệ thống này
-
Xác định các chức năng của hệ thống
-
Công nghệ sử dụng
-
Vẽ UseCase cho Người dùng
-
Vẽ UseCase cho Chuyên gia
-
Vẽ UseCase cho Admin
-
Mô tả chi tiết các chức năng
-
Mô tả chi tiết các màn hình của hệ thống
-
Mô tả những ràng buộc của hệ thống
-
Kiểm tra, sửa đổi, bổ sung những thiếu
Version
1.0
1.0
1.0
1.0
sót (Usecase chưa chuẩn, sai kí hiệu, ...)
24-12-2019
-
Hoàn thiện báo cáo
Trang 3
2. Reference
Document Name
Description
AnyQuestion_SRS_Nhom2.docx
Là tài liệu của nhóm 2 lớp 16TCLC2, nội dung
bên trong bao gồm cách báo cáo hoàn chỉnh mô
hình SRS.
3. Distribution list and approvals
Name
Trần Văn Dương
Title
-
Tổng hợp báo cáo.
-
Phân chia công việc cho các thành viên.
-
Phân tích Usecase cho Admin.
-
Thiết kế giao diện ứng dụng, web
-
Thiết kế cơ sở dữ liệu
-
Tham gia vào viết tài liệu SRS cho nội dung
Admin.
-
Tham gia lập trình và xử lý phía máy chủ, ứng
dụng
Nguyễn Thái Minh
-
Tham gia kiểm thử
-
Phân tích Usecase Người dùng.
-
Tham gia vào viết tài liệu SRS cho nội dung
Người dùng.
-
Thiết kế giao diện android, giao diện trang web
quản lý của người quản trị
-
Tổng hợp các bản thiết kế
-
Tham gia lập trình và xử lý phía máy chủ
-
Tham gia kiểm thử dự án
Trang 4
Nguyễn Thị Khánh Như
-
Đề xuất giải pháp hệ thống
-
Phân tích Usecase Chuyên gia
-
Tham gia vào viết tài liệu SRS cho nội dung
Chuyên gia.
Cái Thế Đức Anh
-
Thiết kế giao diện ứng dụng
-
Làm trang web, video giới thiệu ứng dụng
-
Tham gia thiết kế test case
-
Tham gia kiểm thử dự án
-
Đề xuất giải pháp hệ thống
-
Tham gia vào viết tài liệu SRS cho nội dung
Admin, Người dùng và Chuyên gia.
Nguyễn Hữu Công
-
Phác họa các màn hình Chuyên gia của ứng dụng
-
Thiết kế giao diện ứng dụng
-
Vẽ sơ đồ hoạt động, sơ đồ tuần tự
-
Tham gia kiểm thử dự án
-
Tham gia vào viết tài liệu SRS cho Admin,
Người dùng và Chuyên gia.
-
Phác họa giao diện trang web
-
Thiết kế giao diện ứng dụng
-
Vẽ sơ đồ hoạt động, vẽ sơ đồ tuần tự
-
Tham gia kiểm thử dự án
4. Introduction
4.1. Purpose
Mục đích của tài liệu này mô tả một cách chi tiết về những chức năng của ứng dụng: “Tìm kiếm
chuyên gia giải đáp thắc mắc” (tên gọi khác là “Ứng dụng Any Question”). Minh họa chi tiết
chức năng và xây dựng một hệ thống hoàn chỉnh. Đồng thời, giải thích rõ ràng cấu trúc của hệ
Trang 5
thống, trình bày tổng quan về giao diện và những tương tác với hệ thống. Tài liệu này dùng mô tả
trình bày lại với khách hàng nhằm chỉnh sửa và điều chỉnh được tốt hơn.
4.2. In scope
- “Ứng dụng Any Question” chạy trên nền Android, ứng dụng ra đời để giải đáp những thắc
mắc trong học tập cho người dùng cần giúp đỡ trong quá trình học tập của mình. Ứng dụng kết nối
những câu hỏi thắc mắc đến các chuyên gia đúng lĩnh vực để đưa ra cách giải quyết nhanh chóng,
tiện lợi và hiệu quả. Về phía chuyên gia, ứng dụng giúp các chuyên gia kiếm tiền vào những thời
gian rảnh rỗi trong ngày của mình.
- Hệ thống phục vụ cho 3 đối tượng chính:
+
Người quản trị.
+
Chuyên gia.
+
Người dùng.
- Ứng dụng cho phép người dùng đặt câu hỏi lên hệ thống bằng cách đăng nhập vào tài khoản đã
đăng ký. Sau khi đặt câu hỏi, hệ thống sẽ tìm kiếm chuyên gia phù hợp và chuyển người dùng vào
màn hình nhắn tin với chuyên gia. Sau khi câu hỏi thắc mắc được chuyên gia giải đáp, người dùng
có thể đánh giá số sao tương ứng với mức độ đóng góp của chuyên gia. Mỗi câu hỏi người dùng sẽ
trả tiền ở mức giá nhất định tùy vào mức độ câu hỏi, số tiền này sẽ được gửi đến các chuyên gia
cũng như duy trì hệ thống.
5. Overview
5.1. Actors
Actor
Description
Trang 6
Người quản
trị
- Quản trị chính:
+
Xem chi tiết, vô hiệu hóa, thêm mới Người dùng,
Chuyên gia và Quản trị viên.
+
Phê duyệt yêu cầu đăng ký làm Chuyên gia.
+
Xem xét những phản hồi khiếu nại.
+
Xem thống kê chi tiết các cuộc thảo luận.
+
Xem doanh thu.
- Quản trị viên:
Người dùng
Chuyên gia
+
Xem xét những phản hồi khiếu nại để giải quyết.
+
Khôi phục mật khẩu cho các tài khoản khác.
-
Quản lý tài khoản cá nhân.
-
Đặt câu hỏi, tìm chuyên gia và đánh giá Chuyên gia.
-
Nạp tiền.
-
Xem lại những lịch sử đặt câu hỏi.
-
Gửi khiếu nại.
-
Xem số tiền còn dư.
-
Quản lý tài khoản cá nhân
-
Nhận câu hỏi và tham gia thảo luận với Người dùng.
-
Rút tiền.
Trang 7
-
Xem lịch sử câu hỏi đã giải đáp.
-
Xem thứ hạng của bản thân.
-
Xem số tiền đã kiếm được.
5.2. System Use Case Diagram
Sơ đồ sau đây cung cấp một cái nhìn tổng quan về các nhóm chức năng, tác nhân tham gia vào
Ứng dụng Any Question.
5.2.1. Admin
Trang 8
5.2.2.Người dùng
5.2.3. Chuyên gia
Trang 9
Trang 10
6. Functional Description
6.1. Admin
6.1.1. Quản lý thông tin cá nhân
6.1.1.1. Đăng nhập
Màn hình đăng nhập vào hệ thống
Screen
Description
Đăng nhập
Cho phép Admin đăng nhập vào hệ thống
Trang 11
Screen Access
Admin chọn ĐĂNG NHẬP ở màn hình Trang chủ
Screen Content
Item
Tài khoản
Type
Data
EditText – String(100)
Tên tài khoản
Description
Trường dành cho
Admin nhập tài
khoản
Mật khẩu
EditText – String(100)
Mật khẩu
Trường dành cho
Admin nhập mật
khẩu
Đăng nhập
Button
Đăng nhập
Đăng nhập vào hệ
thống
Screen Actions
Action Name
Đăng nhập
Description
Success
Failure
Khi bấm nút đăng
Chuyển sang màn
Hiển thị: ”Sai tên
nhập, hệ thống sẽ kiểm
hình chính của
tài khoản hoặc mật
tra tính hợp lệ của mật
Admin.
khẩu”. Vẫn ở lại
khẩu và tài khoản.
màn hình này.
Trang 12
6.1.2. Quản lý chuyên gia
Quản lý danh sách các Chuyên gia của hệ thống
Use Case Name
Quản lý Chuyên gia
Use Case ID
UC02
High Level
Cho phép Admin quản lý thông tin của Chuyên gia tạo mới, cấp quyền,
Requirement
khóa, chỉnh sửa, xóa, xem chi tiết, hiển thị danh sách Chuyên gia.
Ref
Actor
Admin
Trang 13
Description
Tất cả các thông tin được truy vấn từ cơ sở dữ liệu và hiển thị trên màn
hình. Admin có thể trả lời yêu cầu trở thành chuyên gia, khóa, hiển thị
danh sách Chuyên gia.
6.1.2.1. Xét duyệt yêu cầu trở thành chuyên gia
Xét duyệt yêu cầu trở thành chuyên gia
Screen
Description
Xét duyệt yêu cầu trở thành chuyên gia
Khi Chuyên gia đăng ký vào hệ thống, Bộ phận nhân sự sẽ làm việc với
các Chuyên gia để đánh giá kiến thức chuyên môn và kỹ năng sư phạm.
Trang 14
Đồng thời, nếu Chuyên gia đủ điều kiện và vượt qua các bài kiểm tra từ
phía Bộ phận nhân sự thì các Chuyên gia sẽ được training về kỹ năng sử
dụng hệ thống cũng như các kỹ năng cần thiết để hỗ trợ Người dùng tốt
nhất. Bộ phận nhân sự sẽ gửi thông tin các ứng viên vượt qua phỏng vấn
đến Admin. Admin sẽ Đồng ý hoặc Từ chối yêu cầu đăng ký của
Chuyên gia dựa theo danh sách mà Bộ phận nhân sự cung cấp.
Screen Access
Admin chọn Quản lý chuyên gia -> Chấp nhận yêu cầu trở thành
chuyên gia.
Screen Content
Item
Tên Chuyên gia
Type
Text field –
Data
Description
Tên Chuyên gia
Họ tên của Chuyên gia
Địa chỉ
Địa chỉ của Chuyên gia
Text field –
Tài khoản đăng
Tên tài khoản của chuyên gia
String (50)
nhập
Text field –
Lĩnh vực đăng
Chuyên ngành / Lĩnh vực
String (50)
ký
chuyên gia chọn
Text field –
Trình độ học
Trình độ học vấn của Chuyên
String (50)
vấn của Chuyên
gia
String (50)
Địa chỉ
Text field –
String (50)
Tài khoản
Lĩnh vực
Học vấn
gia
Chấp nhận
Button
Admin kích vào Chấp nhận
khi muốn thêm Chuyên gia vào
hệ thống
Xóa
Button
Admin kích vào Xóa khi muốn
xóa Chuyên gia ra khỏi hệ
thống
Trang 15
Screen Actions
Action Name
Chấp nhận
Description
Success
Failure
Khi Admin kích
Trở về màn hình
Khi có lỗi kết nối cơ sở dữ
vào Chấp nhận ,
Danh sách
liệu -> Hiển thị thông báo
hệ thống kiểm tra
chuyên gia và
“Lỗi kết nối Cơ sở dữ liệu”.
tính hợp lệ của dữ
hiển thị thông
liệu.
báo “Thêm
Chuyên gia
thành công”.
Xóa
Khi Admin kích
Trở về màn hình
Khi có lỗi kết nối cơ sở dữ
vào Xóa, hệ thống
Danh sách
liệu -> Hiển thị thông báo
kiểm tra tính hợp
chuyên gia và
“Lỗi kết nối Cơ sở dữ liệu”.
lệ của dữ liệu.
hiển thị thông
báo “Xóa
Chuyên g
ia thành công”
Trang 16
6.1.2.2. Hiển thị danh sách chuyên gia
Danh sách chuyên gia
Screen
Description
Screen Access
Danh sách chuyên gia
Hiển thị danh sách chuyên gia
Người quản lý chọn Quản lý chuyên gia
Screen Content
Item
Họ tên
Type
Data
Label - String (50)
Tên Chuyên gia
Description
Hiển thị tên của Chuyên gia.
Trang 17
Lĩnh vực
Label -String(50)
Hiển thị lĩnh vực của Chuyên
gia.
Học vấn
Label -String(50)
Hiển thị trình độ học vấn của
Chuyên gia
Địa chỉ
Label -String(50)
Hiển thị địa chỉ hiện tại đang
sinh sống của Chuyên gia
Phân trang
Link
Cho phép phân trang nếu dữ liệu
lớn.
Screen Actions
Action Name
Phân trang
Description
Success
Failure
Khi có nhỏ hơn hoặc
Chuyển đến trang
Khi có lỗi kết nối Cơ
bằng 10 trường dữ liệu
được yêu cầu.
sở dữ liệu -> Hiển thị
thì không có phần
thông báo “Lỗi kết
phân trang.
nối Cơ sở dữ liệu”.
Khi có hơn 10 trường
dữ liệu thì hiển thị
phân trang.
Nhấn vào mỗi trang sẽ
chuyển đến trang đó.
Nhấn vào nút <</>>
sẽ chuyển đến trang kế
trước/kế sau trang
hiện tại nếu vẫn còn
trang trước/sau.
Trang 18
6.1.2.3. Khóa Chuyên gia
Khóa Chuyên gia
Screen
Description
Khóa Chuyên gia
Cho phép Admin khóa Chuyên gia
Screen
Admin kích vào Quản lý Chuyên gia --> Chọn “Danh sách Chuyên gia”
Access
--> kích “Xem” --> kích “Khóa”.
Screen Content
Item
Tiêu đề
Type
Label-String (20)
Data
Description
Hiển thị tiêu đề của popup.
Trang 19
Nội dung
Label – String
Hiển thị nội dung popup, cảnh báo
(50)
người dùng hãy chắc chắn nếu muốn
khóa.
Có
Button
Kích vào Có nếu muốn khóa Chuyên
gia.
Không
Button
Kích vào Không nếu không muốn
khóa Chuyên gia nữa.
Screen Actions
Action Name
Không
Description
Success
Failure
Admin kích nút
Tắt popup,
Khi có lỗi kết nối Cơ sở dữ
“Không” nếu không
hiển thị trang
liệu -> Hiển thị thông báo
muốn khóa Chuyên gia
hiện tại
“Lỗi kết nối Cơ sở dữ liệu”.
này.
Màn hình vẫn hiển thị trang
hiện tại.
Có
Admin kích nút “Có”khi
Màn hình hiển
Khi có lỗi kết nối Cơ sở dữ
đã chắc chắn muốn khóa
thị thông báo
liệu -> Hiển thị thông báo
Chuyên gia này.
“Khóa thành
“Lỗi kết nối Cơ sở dữ liệu”.
công” và quay
Màn hình vẫn hiển thị trang
về màn hình
hiện tại.
hiện tại. Khi
đó Chuyên gia
đó sẽ không
login vào được
cho đến khi
được mở lại tài
khoản.
Trang 20
6.1.3. Quản lý Người dùng
Danh sách Người dùng của hệ thống
Use Case Name
Quản lý Người dùng
Use Case ID
UC03
High Level
Cho phép Admin quản lý thông tin của Người dùng khóa, hiển thị danh
Requirement
sách Chuyên Gia.
Ref
Actor
Admin
Trang 21
Description
Tất cả các thông tin được truy vấn từ Cơ sở dữ liệu và hiển thị trên màn
hình. Admin có thể tạo mới, khóa, chỉnh sửa, xóa, xem chi tiết, hiển thị
danh sách Chuyên Gia.
6.1.3.1. Hiển thị danh sách Người dùng
Danh sách Người dùng
Screen
Description
Danh sách Người dùng
Hiển thị danh sách chuyên gia
Trang 22
Screen Access
Người quản lý chọn Người dùng
Screen Content
Item
Họ tên
Type
Label - String (50)
Data
Description
Tên Người
Hiển thị tên của Người dùng.
dùng
Địa chỉ
Label -String(50)
Địa chỉ sinh
Hiển thị địa chỉ hiện tại đang
sống của người
sinh sống của Người dùng
dùng
Tài khoản
Số dư
Label -String(50)
Label -String(50)
Tài khoản của
Hiển thị tài khoản của Người
Người dùng
dùng đăng ký với hệ thống.
Số dư hiện tại
Số dư hiện tại của Người dùng
của Người
trong hệ thống.
dùng trong hệ
thống.
Địa chỉ Email
Label -String(50)
Địa chỉ Email
Hiển thị địa chỉ Email của
của Người
Người dùng khi họ đăng ký với
dùng khi đăng
hệ thống
ký với hệ thống
Phân trang
Link
Cho phép phân trang nếu dữ liệu
lớn.
Screen Actions
Action Name
Description
Success
Failure
Trang 23
Phân trang
Khi có nhỏ hơn hoặc
Chuyển đến trang
Khi có lỗi kết nối Cơ
bằng 10 trường dữ liệu
được yêu cầu.
sở dữ liệu -> Hiển thị
thì không có phần
thông báo “Lỗi kết
phân trang.
nối Cơ sở dữ liệu”.
Khi có hơn 10 trường
dữ liệu thì hiển thị
phân trang.
Nhấn vào mỗi trang sẽ
chuyển đến trang đó.
Nhấn vào nút <</>>
sẽ chuyển đến trang kế
trước/kế sau trang
hiện tại nếu vẫn còn
trang trước/sau.
Trang 24
6.1.3.2. Khóa Người dùng
Khóa Người dùng
Screen
Description
Screen
Khóa Người dùng
Cho phép Admin khóa Người dùng
Admin kích vào Quản lý User --> kích “Xem chi tiết” --> kích “Khóa”.
Access
Screen Content
Item
Tiêu đề
Type
Label-String (20)
Data
Description
Hiển thị tiêu đề của popup.
Trang 25