TRƯỜNG ĐẠI HỌC XÂY DỰNGKHOA CÔNG NGHỆ THÔNG TINBẢN TÓM TẮT ĐỒ ÁN TỐT NGHIỆPTÊN ĐỀ TÀI: HỆ THỐNG CHIA SẺ TÀI LIỆU TRỰC TUYẾNSinh viên thực hiện: Phạm Huy HưngVới sự phát triển của công ng
Trang 1TRƯỜNG ĐẠI HỌC XÂY DỰNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN
-🙡🙡🙡
-ĐỒ ÁN TỐT NGHIỆP
Đề tài :
HỆ THỐNG CHIA SẺ TÀI LIỆU TRỰC TUYẾN
Giảng viên hướng dẫn: TS Phạm Hồng Phong
Họ và tên: Phạm Huy Hưng
HÀ NỘI, NĂM 2023
Trang 2TRƯỜNG ĐẠI HỌC XÂY DỰNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN
-🙡🙡🙡
-ĐỒ ÁN TỐT NGHIỆP
Đề tài :
HỆ THỐNG CHIA SẺ TÀI LIỆU TRỰC TUYẾN
Giảng viên hướng dẫn: TS Phạm Hồng Phong
Họ và tên: Phạm Huy Hưng
HÀ NỘI, NĂM 2023
Trang 3CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Khoa: Công nghệ thông tin
1 TÊN ĐỀ TÀI: HỆ THỐNG CHIA SẺ TÀI LIỆU TRỰC TUYẾN
2 CÁC TÀI LIỆU THAM KHẢO :
[1] "HTML và CSS," [Online] Available: css-co-ban-7ymwGXV0R4p1
https://viblo.asia/p/tim-hieu-ve-html-va-[2] "Javascript," [Online] Available: ORNZqDzeK0n
https://viblo.asia/p/javascript-can-ban-[3] "PHP," [Online] Available: gi/#.ZJC0KHbP23A
https://glints.com/vn/blog/lap-trinh-php-la-[4] "MySQL," [Online] Available: https://www.mysql.com/
[5] "Laravel," [Online] Available: https://laravel.com/
[6] "Git," [Online] Available: https://git-scm.com/
[7] "Github," [Online] Available: https://github.com/
Trang 4[8] "Studocu," [Online] Available: https://www.studocu.com/.
[9] "123doc," [Online] Available: https://123docz.net/trang-chu.htm
[10] "Studocu là gì?," [Online] Available: studocu-la-gi-cach-download-tai-lieu-tu-studocu/
https://chiasepremium.com/review-[11] "Số liệu thống kê 123doc," [Online] Available:https://www.similarweb.com/website/123docz.net/#overview
[12] "Similarweb," [Online] Available: https://www.similarweb.com/
3 NỘI DUNG CÁC PHẦN THUYẾT MINH:
Nội dung cần thuyết minh
MỞ ĐẦU
Chương 1: TỔNG QUAN VÀ CƠ SỞ LÝ THUYẾT
Chương 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Chương 3: THỰC NGHIỆM, SO SÁNH VÀ ĐÁNH GIÁ
KẾT LUẬN
4 NGÀY GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Trang 6TRƯỜNG ĐẠI HỌC XÂY DỰNG
KHOA CÔNG NGHỆ THÔNG TIN
BẢN TÓM TẮT ĐỒ ÁN TỐT NGHIỆP
TÊN ĐỀ TÀI: HỆ THỐNG CHIA SẺ TÀI LIỆU TRỰC TUYẾN
Sinh viên thực hiện: Phạm Huy Hưng
Với sự phát triển của công nghệ, các hệ thống chia sẻ tài liệu trực tuyến đã đượcphát triển để đáp ứng nhu cầu ngày càng cao của người sử dụng Những hệ thống nàycung cấp cho người dùng một nền tảng để tải lên, chia sẻ và quản lý tài liệu một cáchđơn giản và hiệu quả Ngoài ra, hệ thống cũng cung cấp các công cụ để quản lý tàiliệu, cho phép người dùng xác định quyền truy cập cho từng tài liệu, thực hiện các thaotác như chuyển từ miễn phí sang có phí và ngược lại, di chuyển tài liệu sang danh mụckhác, và theo dõi các thông tin về số người đọc, người tải xuống của tài liệu
Đặc biệt hơn, vì hướng tới tệp đối tượng người dùng đa dạng, việc làm cho ứngdụng trở nên thân thiện hơn đối với người dùng là điều đặc biệt quan trọng Với ngườidùng đến từ nhiều quốc gia, sử dụng nhiều ngôn ngữ khác nhau, việc xác định và gợi ý
Trang 7tài liệu hướng tới người dùng là điều đáng lưu tâm Vì thế, phát hiện ngôn ngữ là mộtgiải pháp sẽ triển khai và ứng dụng trong đề tài này.
Đề tài “Hệ thống chia sẻ tài liệu trực tuyến” có thể được áp dụng trong nhiều lĩnhvực, từ giáo dục đến doanh nghiệp, đáp ứng nhu cầu ngày càng tăng về việc quản lý vàchia sẻ tài liệu trực tuyến, đồng thời hướng tới đa dạng các tối tượng sử dụng hơn
CÁC MỤC TIÊU CHÍNH
Lý thuyết
● Tìm hiểu về framework Laravel của PHP
● Tìm hiểu cơ bản về SEO website
● Tìm hiểu về Apache Tika để phân loại ngôn ngữ
Kỹ năng
● Tự động hóa các khâu kiểm duyệt, lọc và xử lý tài liệu
● Tích hợp chức năng trả phí cho tài liệu để người bán có doanh thu và dự án cókinh phí duy trì và phát triển
● Tích Apache Tika vào phân loại ngôn ngữ cho tài liệu
● Sinh viên có khả năng phát triển và tùy biến hệ thống chia sẻ tài liệu trực tuyến
để phù hợp với nhu cầu sử dụng của khách hàng
Trang 8● Thu thập tài liệu và xử lí tài liệu.
● Sinh viên có khả năng thiết kế và triển khai hệ thống chia sẻ tài liệu trực tuyếnmột cách chuyên nghiệp
● Sinh viên có khả năng nghiên cứu và áp dụng các công nghệ mới nhất để nângcao hiệu suất và tính năng của hệ thống chia sẻ tài liệu trực tuyến
TÀI LIỆU THAM KHẢO
[1] Framework laravel: https://laravel.com/
[2] Object storage MinIO : https://min.io/
[3] Apache Tika Server: https://cwiki.apache.org/confluence/display/TIKA/TikaServer
Trang 9LỜI CAM ĐOAN
Tác giả xin cam đoan đây là Đồ án tốt nghiệp của bản thân tác giả Các kết quả trong
Đồ án tốt nghiệp này là trung thực, các thư viện và vấn đề liên quan đến tác quyền tácgiả đã được sự đồng ý cho phép của bên thứ ba Đồng thời đó là sự cho phép kế thừa
và phát triển từ dự án gốc 1libvn – bản quyền thuộc Công ty Cổ phần VNP Group.Việc tham khảo các nguồn tài liệu đã được thực hiện trích dẫn và ghi nguồn tài liệutham khảo đúng quy định
Tác giả ĐATN
Hưng
Phạm Huy Hưng
Trang 10Cuối cùng, em xin chân thành cảm ơn TS Phạm Hồng Phong, Ban giám hiệu và toànthể các giảng viên vì sự hỗ trợ và đóng góp quý báu của Thầy/Cô trong hành trình họctập và nghiên cứu của em.
Em xin chân thành cảm ơn!
ii
Trang 11MỤC LỤC
DANH MỤC CÁC HÌNH ẢNH vi
DANH MỤC BẢNG BIỂU x
DANH MỤC CÁC TỪ VIẾT TẮT VÀ GIẢI THÍCH CÁC THUẬT NGỮ xii
CHƯƠNG 1 TỔNG QUAN VÀ CƠ SỞ LÝ THUYẾT 1
1.1 Giới thiệu 1
1.1.1 Lý do chọn đề tài 1
1.1.2 Mục tiêu nghiên cứu 2
1.1.3 Ý nghĩa thực tiễn 3
1.2 Cơ sở lý thuyết 4
1.2.1 Apache Tika 5
1.3 Công nghệ sử dụng 10
1.3.1 Ngôn ngữ lập trình 10
1.3.2 Hệ quản trị cơ sở dữ liệu MySQL [4] 11
1.3.3 Framework Laravel [5] 12
1.3.4 Công cụ quản lý source code 13
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 14
2.1 Đặc tả yêu cầu phần mềm 14
2.1.1 Mô tả chung 14
2.1.2 Về giao diện 14
Trang 122.2 Biểu đồ phân cấp chức năng 16
2.3 Use Case của các tác nhân trong hệ thống 16
2.4 Thiết kế chi tiết hệ thống 18
2.4.1 Biểu đồ use case 18
2.4.2 Bản mô tả yêu cầu chức năng 20
2.4.3 Bản mô tả yêu cầu phi chức năng 62
2.5 Thiết kế cơ sở dữ liệu 62
2.5.1 Các bảng trong CSDL 62
2.5.2 Sơ đồ quan hệ CSDL 76
CHƯƠNG 3 THỰC NGHIỆM, SO SÁNH VÀ ĐÁNH GIÁ KẾT QUẢ 76
3.1 Môi trường thực nghiệm 76
3.2 Kết quả đạt được 77
3.2.1 Về phía admin: 77
3.2.2 Về phía người dùng 86
3.3 So sánh kết quả với các hệ thống tương đương 100
3.3.1 Giới thiệu các hệ thống tương đương 100
3.3.2 Tiêu chí so sánh các hệ thống 100
3.3.3 Bảng so sánh kết quả giữa hệ thống của đề tài và các hệ thống tương đương 102
3.4 Đánh giá kết quả 103
3.4.1 Phân tích và đánh giá kết quả thực nghiệm 103
iv
Trang 133.4.2 Đánh giá tổng thể kết quả đề tài 105
3.5 Hạn chế 106
3.5.1 Phân tích và đánh giá các hạn chế của đề tài 106
3.6 Đề xuất hướng phát triển đề tài trong tương lai 106
KẾT LUẬN 109
DANH MỤC CÁC HÌNH ẢNH Hình 1.1 Chu kỳ mô hình MVC trong laravel 7
Hình 2.1 Biểu đồ Use case tổng quát 14
Trang 14Hình 2.2 Biểu đồ use case phân rã chức năng của Admin 15
Hình 2.4 Biểu đồ use case phân rã chức năng của khách vãng lai 15
Hình 2.3 Biểu đồ use case phân rã chức năng của người dùng 16
Hình 2.5 Sơ đồ activity chức năng “quản lý tài liệu” của admin 18
Hình 2.6 Sơ đồ tuần tự chức năng “quản lý tài liệu” của admin 19
Hình 2.7 Sơ đồ activity chức năng “lọc/tìm kiếm tài liệu” của admin 21
Hình 2.8 Sơ đồ activity chức năng “quản lý tài khoản người dùng” của admin 25
Hình 2.9 Sơ đồ activity chức năng “xoá tài khoản người dùng” của admin 27
Hình 2.10 Sơ đồ tuần tự chức năng “quản lý tài khoản người dùng” của admin 28
Hình 2.11 Sơ đồ activity chức năng “đăng nhập” của người dùng 32
Hình 2.12 Sơ đồ tuần tự chức năng “đăng nhập” của người dùng 33
Hình 2.13 Sơ đồ activity chức năng “quên mật khẩu” của người dùng 35
Hình 2.14 Sơ đồ tuần tự chức năng “quên mật khẩu” của người dùng 36
Hình 2.15 Sơ đồ activity chức năng “đăng ký tài khoản” của người dùng 38
Hình 2.16 Sơ đồ tuần tự chức năng “đăng ký tài khoản” của người dùng 38
Hình 2.17 Sơ đồ activity chức năng “tải tài liệu” của người dùng 41
Hình 2.18 Sơ đồ tuần tự chức năng “tải tài liệu” của người dùng 42
Hình 2.19 Sơ đồ activity chức năng “đánh giá tài liệu” của người dùng 44
Hình 2.20 Sơ đồ tuần tự chức năng “đánh giá tài liệu” của người dùng 45
Hình 2.21 Sơ đồ activity chức năng “nạp tiền vào tài khoản” của người dùng 48
vi
Trang 15Hình 2.22 Sơ đồ tuần tự chức năng “nạp tiền vào tài khoản” của người dùng 48
Hình 2.23 Sơ đồ activity chức năng “đăng tài liệu” của người dùng 50
Hình 2.24 Sơ đồ tuần tự chức năng “đăng tài liệu” của người dùng 51
Hình 2.25 Sơ đồ activity chức năng “cập nhật thông tin tài khoản” của người dùng .53 Hình 2.26 Sơ đồ tuần tự chức năng “cập nhật thông tin tài khoản” của người dùng 54
Hình 2.27 Sơ đồ activity chức năng “quản lý tài liệu đã đăng” của người dùng 56
Hình 2.28 Sơ đồ tuần tự chức năng “quản lý tài liệu đã đăng” của người dùng 56
Hình 2.29 Sơ đồ quan hệ CSDL 71
Hình 3.1 Giao diện đăng nhập admin 72
Hình 3.2 Trang quản lý người dùng 73
Hình 3.3 Trang tạo mới người dùng 73
Hình 3.4 Trang cập nhật thông tin người dùng 74
Hình 3.5 Trang quản lý danh mục 74
Hình 3.6 Trang thêm danh mục 75
Hình 3.7 Trang cập nhật danh mục 76
Hình 3.8 Trang quản lý tài liệu 76
Hình 3.9 Trang thêm mới tài liệu 77
Hình 3.10 Trang cập nhật thông tin tài liệu 77
Hình 3.11 Trang thống kê lượt tải xuống 78
Hình 3.12 Trang quản lý tags 78
Trang 16Hình 2.3 Biểu đồ use case phân rã chức năng của Admin
Hình 2.4 Biểu đồ use case phân rã chức năng của khách vãng lai
19
Trang 17Hình 2.5 Biểu đồ use case phân rã chức năng của người dùng
2.4.2 Bản mô tả yêu cầu chức năng
2.1.3.2.1 Chức năng kiểm duyệt tài liệu
Actor(s): Admin
Summary
Description: Kiểm duyệt tài liệu
Priority: Should have (Ưu tiên 2)
Status:
Pre-Condition: Admin đăng nhập vào hệ thống và truy cập trang quản lýtài liệu.
Post-Condition(s): Hệ thống hiển thị các thay đổi thành công và hiển thị kết
quả trên màn hình
Trang 18Basic Path:
1 Admin chọn tính năng quản lý tài liệu
2 Hệ thống hiển thị ra màn hình trang quản lý tài liệu
3 Admin chọn “kiểm duyệt tài liệu”
4 Hệ thống hiển thị danh sách những tài liệu bị report
5 Admin chọn tài liệu cần kiểm duyệt sau đó kiểm tra vàthay đổi trạng thái của tài liệu thành “Ẩn” và ấn “Lưu”
6 Hệ thống gửi thông báo xác nhận ẩn tài liệu
7 Admin xác nhận thông báo
8 Hệ thống thông báo cập nhật tài liệu thành công vàkhông hiện tài liệu trên website
Alternative Paths: 7a Admin không xác nhận thông báo
8a Hệ thống chuyển hướng về trang quản lý tài liệu
Business Rules: thì không bị ẩn điNhững tài liệu bị report trong danh sách chờ duyệt
Non-Functional
Requirements: Thời gian truy vấn không quá 2sThời gian cập nhật thông tin không quá 5s
Bảng 2.1 Kịch bản use case kiểm duyệt liệu
21
Trang 19Hình 2.6 Sơ đồ activity chức năng “quản lý tài liệu” của admin
Trang 20Hình 2.7 Sơ đồ tuần tự chức năng “quản lý tài liệu” của admin
2.1.3.2.2 Chức năng lọc/tìm kiếm tài liệu
Actor(s): Admin
Summary
Description: Lọc/tìm kiếm tài liệu
Priority: Should have (Ưu tiên 2)
Status:
Pre-Condition: Admin đăng nhập vào hệ thống và truy cập trang quản lýtài liệu.
23
Trang 21Post-Condition(s): Hệ thống hiển thị kết quả tìm kiếm trên màn hình.
Basic Path:
1 Admin chọn tính năng quản lý tài liệu
1 Hệ thống hiển thị ra màn hình trang quản lý tài liệu
2 Admin chọn lọc tài liệu theo: danh mục, giá bán, kiểutài liệu, ngôn ngữ và số lượt tải của tài liệu
3 Hệ thống hiển thị danh sách những tài liệu thỏa mãn cácyêu cầu lọc của admin
Alternative Paths:
3a Admin tìm kiếm tài liệu bằng cách nhập tiêu đề của tàiliệu trên thanh công cụ tìm kiếm và ấn “enter” hoặc buttontìm kiếm
4a Hệ thống hiển thị kết quả tìm kiếm của admin
Business Rules: Kết quả tìm kiếm sẽ hiển thị thêm thông tin về lịch
sử tìm kiếm tài liệu
Non-Functional
Requirements: Thời gian truy vấn không quá 2sThời gian cập nhật thông tin không quá 5s
Bảng 2.2 Kịch bản use case tìm kiếm tài liệu
Trang 22Hình 2.8 Sơ đồ activity chức năng “lọc/tìm kiếm tài liệu” của admin
2.1.3.2.3 Chức năng thêm tài khoản người dùng
Actor(s): Admin
Summary
Description: Thêm tài khoản người dùng
Priority: Should have (Ưu tiên 2)
Status:
Pre-Condition: Admin đăng nhập vào hệ thống và truy cập trang quản lý tài
khoản người dùng
25
Trang 23Hệ thống hiển thị danh sách tài khoản người dùng sau khithay đổi trên màn hình và lưu thông tin người dùng mớitrong cơ sở dữ liệu
Basic Path:
1 Admin chọn chức năng quản lý tài khoản
2 Hệ thống hiển thị ra màn hình trang quản lý tài liệu
3 Admin chọn “thêm người dùng”
4 Hệ thống hiển thị trang thêm mới để admin nhập thôngtin tài khoản của người dùng
5 Admin nhập thông tin tài khoản và chọn nút “Lưu”
6 Hệ thống kiểm tra thông tin của người dùng và thông báothêm thành công, tài khoản của người dùng được thêm vàoCSDL
6b Hệ thống thông báo “thông tin người dùng không hợplệ” và yêu cầu nhập lại thông tin
7b Quay lại bước 5
Business Rules: Email người dùng không được trùng nhau
Non-Functional
Requirements: Thời gian truy vấn không quá 2sThời gian cập nhật thông tin không quá 5s
Bảng 2.3 Kịch bản use case thêm tài khoản người dùng
Trang 242.1.3.2.4 Chức năng cập nhật thông tin tài khoản người dùng
Actor(s): Admin
Summary
Description: Cập nhật thông tin khoản người dùng
Priority: Should have (Ưu tiên 2)
Basic Path:
1 Admin chọn chức năng quản lý tài liệu
2 Hệ thống hiển thị ra màn hình trang quản lý tài liệu
3 Admin chọn tài khoản người dùng muốn cập nhật vàchọn chức năng “cập nhật tài khoản người dùng”
4 Hệ thống hiển thị trang thông tin tài khoản của ngườidùng
5 Admin thay đổi các thông tin tài khoản và chọn nút
“Lưu”
6 Hệ thống kiểm tra thông tin của người dùng và thông báocập nhật thành công, tài khoản của người dùng được thayđổi trong CSDL
Alternative Paths: 5a Admin không ấn nút “Lưu” và thoát ra khỏi trang thêm
tài khoản
5b Thông tin người dùng không hợp lệ6a Hệ thống chuyển hướng về trang quản lý tài khoảnngười dùng
27
Trang 256b Hệ thống thông báo “thông tin người dùng không hợplệ” và yêu cầu nhập lại thông tin
7b Quay lại bước 5
Business Rules: Email người dùng không được trùng nhau
Non-Functional
Requirements: Thời gian truy vấn không quá 2sThời gian cập nhật thông tin không quá 5s
Bảng 2.4 Kịch bản use case cập nhật thông tin người dùng
Hình 2.9 Sơ đồ activity chức năng “quản lý tài khoản người dùng” của admin
Trang 262.1.3.2.5 Chức năng xóa tài khoản người dùng
Actor(s): Admin
Summary
Description: Xóa tài khoản người dùng
Priority: Should have (Ưu tiên 2)
Status:
Pre-Condition: tài khoản người dùng.Admin đăng nhập vào hệ thống và truy cập trang quản lý
Post-Condition(s): thay đổi trên màn hình.Hệ thống hiển thị danh sách tài khoản người dùng sau khi
Basic Path:
1 Admin chọn chức năng quản lý tài khoản người dùng
2 Hệ thống hiển thị ra màn hình trang quản lý tài khoảnngười dùng
3 Admin chọn tài khoản người dùng muốn xóa và chọn nút
“xóa”
4 Hệ thống hiển thị thông báo và yêu cầu xác nhận xóa tàikhoản người dùng
5 Admin xác nhận xóa tài khoản người dùng
6 Hệ thống kiểm tra thông tin của người dùng và thông báoxóa tài khoản thành công, tài khoản của người dùng bị xóakhỏi CSDL
Trang 27Business Rules: Admin không thể xóa cùng lúc nhiều tài khoản.
Non-Functional
Requirements: Thời gian truy vấn không quá 2sThời gian cập nhật thông tin không quá 5s
Bảng 2.5 Kịch bản use case xóa tài khoản người dùng
Hình 2.10 Sơ đồ activity chức năng “xoá tài khoản người dùng” của admin
Trang 28Hình 2.11 Sơ đồ tuần tự chức năng “quản lý tài khoản người dùng” của admin2.1.3.2.6 Chức năng quản lý giao dịch phát sinh
Actor(s): Admin
Summary Description: Quản lý giao dịch phát sinh
Priority: Should have (Ưu tiên 2)
Status:
Pre-Condition: Admin đăng nhập vào hệ thống và truy cập trang quản lýgiao dịch.
Post-Condition(s): Hệ thống hiển thị thông tin chi tiết của các giao dịch trênhệ thống.Basic Path: 1 Admin chọn chức năng quản lý giao dịch
31
Trang 292 Hệ thống hiển thị ra màn hình trang quản lý giao dịchbao gồm tất cả lịch sử giao dịch trên hệ thống
Alternative Paths:
Business Rules:
Non-Functional
Requirements: Thời gian truy vấn không quá 2sThời gian cập nhật thông tin không quá 5s
Bảng 2.6 Kịch bản use case quản lý giao dịch
2.1.3.2.7 Chức năng thống kê thông tin website
Actor(s): Admin
Summary Description: Thống kê thông tin website
Priority: Should have (Ưu tiên 2)
Status:
Pre-Condition: Admin đăng nhập vào hệ thống và truy cập trangdashboard.
Post-Condition(s): Hệ thống hiển thị danh sách các thông tin của website
Basic Path: 1 Admin chọn chức năng thống kê thông tin
2 Hệ thống hiển thị ra màn hình trang dashboard
3 Hệ thống hiển thị thông tin chi tiết của các phần sauTổng số giao dịch theo ngày tuần tháng.Tổng số lượt tải tài liệu theo ngày tuần tháng.Tổng số tài liệu được tải lên
Trang 30Tổng số tài liệu đang ở trạng thái “công khai”
Alternative Paths:
Business Rules: Admin không thể thay đổi các thông tin đượcthống kê trên website.
Non-Functional
Requirements: Thời gian truy vấn không quá 2sThời gian cập nhật thông tin không quá 5s
Bảng 2.7 Kịch bản use case thống kê thông tin
Pre-Condition: Người dùng cần có tài khoản trên hệ thống, sau đó chọntính năng đăng nhập trên website.
Post-Condition(s): Hệ thống hiển thị trang chủ của website
Basic Path: 1.Người dùng chọn tính năng đăng nhập bằng tài khoản
trên website
2.Hệ thống hiển thị ra màn hình trang đăng nhập
3.Người dùng nhập địa chỉ email và mật khẩu
33
Trang 314.Người dùng ấn nút “Login”.
5.Hệ thống sẽ kiểm tra thông tin của người dùng
6.Hệ thống thông báo đăng nhập thành công và chuyểnhướng về trang chủ
4a Người dùng xác nhận đăng nhập
Non-Functional
Requirements: Thời gian truy vấn không quá 2sThời gian cập nhật thông tin không quá 5s
Bảng 2.8 Kịch bản use case đăng nhập
Trang 32Hình 2.12 Sơ đồ activity chức năng “đăng nhập” của người dùng
35
Trang 33Hình 2.13 Sơ đồ tuần tự chức năng “đăng nhập” của người dùng
2.1.3.2.9 Chức năng lấy lại mật khẩu
Actor(s): User
Summary
Description: Quên mật khẩu
Priority: Must have (Ưu tiên 1)
Status:
Trang 34Pre-Condition: Người dùng cần vào website, sau đó chọn tính năng đăngnhập.
Post-Condition(s): Hệ thống thông báo lưu thông tin mật khẩu mới và chuyển
hướng sang trang chủ của website
Basic Path:
1 Người dùng chọn tính năng đăng nhập
2 Hệ thống hiển thị ra màn hình trang đăng nhập
3 Người dùng chọn:”quên mật khẩu”
4 Hệ thống hiển thị form điền email đã đăng ký trên hệthống để lấy lại mật khẩu
5 Người dùng điền email và chọn :”gửi yêu cầu”
5 6 Hệ thống kiểm tra thông tin email của người dùng vàgửi mã xác nhận nếu email hợp lệ
Email của người dùng không tồn tại thì
hệ thống gửi thống báo :”email khôngtồn tại” tới người dùng
Người dùng nhập mã xác nhận sai thì hệ thống gửithông báo :”mã xác nhận sai”
Người dùng nhập sai mã quá 5 lần thì hệ thống sẽchuyển hướng về trang đăng nhập
37
Trang 35Requirements: Thời gian truy vấn không quá 2sThời gian cập nhật thông tin không quá 5s
Bảng 2.9 Kịch bản use case cho chức năng lấy lại mật khẩu
Hình 2.14 Sơ đồ activity chức năng “quên mật khẩu” của người dùng
Trang 36Hình 2.15 Sơ đồ tuần tự chức năng “quên mật khẩu” của người dùng
2.1.3.2.10 Chức năng đăng ký tài khoản
Pre-Condition: Người dùng cần truy cập vào website, sau đó chọn tính năng
đăng ký tài khoản
39
Trang 37Post-Condition(s): Hệ thống hiển thị đăng ký tài khoản thành công và chuyểnhướng sang trang chủ của website.
Basic Path:
1 Người dùng chọn đăng ký tài khoản
2 Hệ thống hiển thị ra màn hình trang đăng ký tài khoản
3 Người dùng nhập các thông tin: họ tên, email, mật khẩu
và nhập lại mật khẩu
4 Người dùng ấn nút “Đăng ký”
5 Hệ thống sẽ kiểm tra thông tin của người dùng, thông báođăng nhập thành công và chuyển hướng về trang chủ củawebsite
Business Rules:
Người dùng đăng ký thành công thì thôngtin của người dùng được lưu vào CSDL vàđăng nhập trực tiếp sau khi đăng ký thànhcông
Non-Functional
Requirements: Thời gian truy vấn không quá 2sThời gian cập nhật thông tin không quá 5s
Bảng 2.10 Kịch bản use case đăng ký tài khoản
Trang 38Hình 2.16 Sơ đồ activity chức năng “đăng ký tài khoản” của người dùng
Hình 2.17 Sơ đồ tuần tự chức năng “đăng ký tài khoản” của người dùng
41
Trang 392.1.3.2.11 Chức năng tải tài liệu
Actor(s): User
Summary
Description: Tải tài liệu
Priority: Should have (Ưu tiên 2)
1 Người dùng chọn tài liệu cần tải và ấn nút “tải xuống”
2 Hệ thống hiển thị ra màn hình trang tải tài liệu với 2 lựachọn cho người dùng là :”đăng nhập” và “không đăng nhập”
3 Người dùng chọn đăng nhập để tải tài liệu
4 Hệ thống hiển thị ra form đăng nhập
5 Người dùng điền thông tin để đăng nhập vào hệ thống
6 Hệ thống kiểm tra số dư trong tài khoản của người dùng đểthanh toán tài liệu
7 Hệ thống thông báo tải tài liệu thành công và tài liệu đượctải về máy người dùng
Alternative
Paths:
1a Người dùng đã đăng nhập thì chuyển qua bước6
2a Người dùng chọn “không đăng nhập”
3a Hệ thống hiển thị thông báo xác nhận tải tàiliệu khi không đăng nhập
Trang 404a Người dùng xác nhận thông báo5a Hệ thống hiển thị phương thức thanh toán 6a Người dùng điền thông tin và thanh toán tàiliệu
7a Hệ thống thông báo thanh toán thành công vàtài liệu được tải về máy của người dùng
Đối với người dùng đã có tài khoản nếu có số dư trongtài khoản lớn hơn giá trị của tài liệu thì hệ thống sẽ trừtiền trong tài khoản và tài liệu được tải về máy củangười dùng
Đối với người dùng đã có tài khoản nếu có số dư trongtài khoản nhỏ hơn giá trị của tài liệu thì hệ thống sẽ gửithông báo yêu cầu người dùng nạp tiền vào tài khoản,nếu người dùng nạp nhiều hơn giá trị của tài liệu thì sốtiền thừa sẽ được cộng vào tài khoản của người dùng
Non-Functional
Requirements: Thời gian khởi tạo đơn hàng khoảng 3 phút.Thời gian cập nhật thông tin không quá 15s
Bảng 2.11 Kịch bản use case cho chức năng tải tài liệu
43