Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.41 MB, 100 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<b>TRƯỜNG ĐẠI HỌC XÂY DỰNG HÀ NỘIKHOA CÔNG NGHỆ THÔNG TIN</b>
<b>Đề tài : </b>
<b>Họ và tên:</b> <i><b>Phạm Huy Hưng</b></i>
HÀ NỘI, NĂM 2023
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2"><b>TRƯỜNG ĐẠI HỌC XÂY DỰNG HÀ NỘIKHOA CÔNG NGHỆ THÔNG TIN</b>
<b>Đề tài : </b>
<b>Họ và tên:</b> <i><b>Phạm Huy Hưng</b></i>
HÀ NỘI, NĂM 2023
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">CỘNG HỒ XÃ HỘI CHỦ NGHĨA VIỆT NAM
<b>Khoa: Cơng nghệ thông tin</b>
<b>1</b><i><b>. TÊN ĐỀ TÀI: HỆ THỐNG CHIA SẺ TÀI LIỆU TRỰC TUYẾN</b></i>.
<b>2. CÁC TÀI LIỆU THAM KHẢO:</b>
[1] "HTML và CSS," [Online]. Available: css-co-ban-7ymwGXV0R4p1.
a/p/tim-hieu-ve-html-va-[2] "Javascript," [Online]. Available: ORNZqDzeK0n.
a/p/javascript-can-ban-[3] "PHP," [Online]. Available: gi/#.ZJC0KHbP23A.
"MySQL," [Online]. Available: "Laravel," [Online]. Available: "Git," [Online]. Available: "Github," [Online]. Available: class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">
[8] "Studocu," [Online]. Available: "123doc," [Online]. Available: "Studocu là gì?," [Online]. Available: studocu-la-gi-cach-download-tai-lieu-tu-studocu/.
"Số liệu thống kê 123doc," [Online]. Available: "Similarweb," [Online]. Available: NỘI DUNG CÁC PHẦN THUYẾT MINH: </b>
<b>Nội dung cần thuyết minh</b>
MỞ ĐẦU
Chương 1: TỔNG QUAN VÀ CƠ SỞ LÝ THUYẾTChương 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNGChương 3: THỰC NGHIỆM, SO SÁNH VÀ ĐÁNH GIÁKẾT LUẬN
<b>4. NGÀY GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP</b>
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6"><b>KHOA CÔNG NGHỆ THÔNG TIN</b>
<i><b>TÊN ĐỀ TÀI: HỆ THỐNG CHIA SẺ TÀI LIỆU TRỰC TUYẾN</b></i>
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 ý
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">tà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.
● 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.● Áp dụng SEO website.
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">● 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.
<b>TÀI LIỆU THAM KHẢO</b>
[1] Framework laravel: Object storage MinIO : Apache Tika Server: class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">
<b>LỜI CAM ĐOAN</b>
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ừavà 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.
<b> Tác giả ĐATN</b>
Hưng
<b> Phạm Huy Hưng</b>
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">Em cũng xin gửi lời cảm ơn chân thành đến Ban giám hiệu và toàn thể các giảng viêncủa trường Đại học Xây dựng Hà Nội. Sự tận tâm và nhiệt huyết của các Thầy/Cô đãgiúp em thu nhận một cách tốt hơn những kiến thức quý báu và phát triển bản thân sâuhơn về kiến thức trong ngành. Em rất biết ơn vì sự cống hiến khơng ngừng của qThầy/Cơ trong việc truyền đạt kiến thức và tạo điều kiện tốt nhất để em phát triển.Trong quá trình thực hiện đồ án, dù đã nhận được sự hướng dẫn nhiệt tình từ TS. PhạmHồng Phong và sự nỗ lực khơng ngừng, em nhận thức rằng sẽ luôn tồn tại những hạnchế khơng tránh khỏi. Em ln sẵn lịng tiếp nhận và đánh giá cao mọi đóng góp vàphản hồi từ TS. Phạm Hồng Phong, Ban giám hiệu và các giảng viên, vì đó đóng vaitrị vơ cùng quan trọng và mang ý nghĩa lớn trong việc hoàn thiện đồ án tốt nghiệp củaem.
Cuố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 q 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
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11"><b>MỤC LỤC</b>
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.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
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">2.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
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">3.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
<b>DANH MỤC CÁC HÌNH ẢNH</b>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
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">Hì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
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">Hì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. .53Hì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
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">Hì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
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">Hình 2.5 Biểu đồ use case phân rã chức năng của người dùng
<i><b>2.4.2 Bản mô tả yêu cầu chức năng</b></i>
2.1.3.2.1 Chức năng kiểm duyệt tài liệu
<b>Pre-Condition:</b> <sup>Admin đăng nhập vào hệ thống và truy cập trang quản lý</sup><sub>tài liệu.</sub>
<b>Post-Condition(s):</b> Hệ thống hiển thị các thay đổi thành công và hiển thị kếtquả trên màn hình.
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18"><b>Basic Path:</b>
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.
<b>Alternative Paths:</b> <sup>7a. Admin không xác nhận thông báo</sup>
8a. Hệ thống chuyển hướng về trang quản lý tài liệu.
<b>Business Rules:</b> thì khơng bị ẩn đi<sup>Những tài liệu bị report trong danh sách chờ duyệt</sup>
<b>Requirements:</b> <sup>Thời gian truy vấn không quá 2s</sup>Thời gian cập nhật thông tin không quá 5sBảng 2.1 Kịch bản use case kiểm duyệt liệu
21
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">Hình 2.6 Sơ đồ activity chức năng “quản lý tài liệu” của admin
</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">Hì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
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21"><b>Post-Condition(s):</b> Hệ thống hiển thị kết quả tìm kiếm trên màn hình.
<b>Basic Path:</b>
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ểu
tà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.
<b>Alternative Paths:</b>
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.
<b>Business Rules:</b> <sup>Kết quả tìm kiếm sẽ hiển thị thêm thơng tin về lịch</sup>
sử tìm kiếm tài liệu.
<b>Requirements:</b> <sup>Thời gian truy vấn không quá 2s</sup>Thời gian cập nhật thông tin không quá 5sBảng 2.2 Kịch bản use case tìm kiếm tài liệu
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">Hì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
</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">Hệ 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.
<b>Basic Path:</b>
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.
<b>Alternative Paths:</b>
5a. Admin không ấn nút “Lưu” và thốt ra khỏi trang thêmtà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.
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
<b>Business Rules:</b> Email người dùng không được trùng nhau
<b>Requirements:</b> <sup>Thời gian truy vấn không quá 2s</sup>Thời gian cập nhật thông tin không quá 5sBảng 2.3 Kịch bản use case thêm tài khoản người dùng
</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">2.1.3.2.4 Chức năng cập nhật thông tin tài khoản người dùng
<b>Basic Path:</b>
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.
<b>Alternative Paths:</b> 5a. Admin không ấn nút “Lưu” và thốt ra khỏi trang thêmtà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
</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">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
<b>Business Rules:</b> Email người dùng không được trùng nhau
</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">2.1.3.2.5 Chức năng xóa tài khoản người dùng
<b>Pre-Condition:</b> <sub>tài khoản người dùng.</sub><sup>Admin đăng nhập vào hệ thống và truy cập trang quản lý</sup>
<b>Post-Condition(s):</b> <sub>thay đổi trên màn hình.</sub><sup>Hệ thống hiển thị danh sách tài khoản người dùng sau khi</sup>
<b>Basic Path:</b>
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à 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.
</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27"><b>Business Rules:</b> Admin khơng thể xóa cùng lúc nhiều tài khoản.
</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">Hì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
<b>Actor(s):</b> Admin
<b>Summary Description: Quản lý giao dịch phát sinhPriority:</b> Should have (Ưu tiên 2)
<b>Pre-Condition:</b> <sup>Admin đăng nhập vào hệ thống và truy cập trang quản lý</sup><sub>giao dịch.</sub>
<b>Post-Condition(s):</b> <sup>Hệ thống hiển thị thông tin chi tiết của các giao dịch trên</sup><sub>hệ thống.</sub><b>Basic Path:</b> 1. Admin chọn chức năng quản lý giao dịch.
31
</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">2. 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.
<b>Alternative Paths:Business Rules:Non-Functional</b>
<b>Requirements:</b> <sup>Thời gian truy vấn không quá 2s</sup>Thời gian cập nhật thông tin không quá 5sBả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
<b>Actor(s):</b> Admin
<b>Summary Description:</b> Thống kê thông tin website
<b>Priority:</b> Should have (Ưu tiên 2)
<b>Pre-Condition:</b> <sup>Admin đăng nhập vào hệ thống và truy cập trang</sup><sub>dashboard.</sub>
<b>Post-Condition(s):</b> Hệ thống hiển thị danh sách các thông tin của website.
<b>Basic Path:</b> 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 sau
Tổ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.
</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">Tổng số tài liệu đang ở trạng thái “cơng khai”
<b>Pre-Condition:</b> <sup>Người dùng cần có tài khoản trên hệ thống, sau đó chọn</sup><sub>tính năng đăng nhập trên website.</sub>
<b>Post-Condition(s):</b> Hệ thống hiển thị trang chủ của website.
<b>Basic Path:</b> 1.Người dùng chọn tính năng đăng nhập bằng tài khoảntrê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
</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">4.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.
<b>Requirements:</b> <sup>Thời gian truy vấn không quá 2s</sup>Thời gian cập nhật thông tin không quá 5sBảng 2.8 Kịch bản use case đăng nhập
</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">Hình 2.12 Sơ đồ activity chức năng “đăng nhập” của người dùng
35
</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">Hì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
</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34"><b>Pre-Condition:</b> <sup>Người dùng cần vào website, sau đó chọn tính năng đăng</sup><sub>nhập.</sub>
<b>Post-Condition(s):</b> <sup>Hệ thống thơng báo lưu thông tin mật khẩu mới và chuyển</sup>
hướng sang trang chủ của website.
<b>Basic Path:</b>
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ệ.6. 7. Người dùng nhập mã xác nhận
7. 8. Hệ thống hiển thị form để người dùng nhập mật khẩumới.
8. 9. Người dùng nhập mật khẩu mới, nhập lại mật khẩu mớivà ấn nút lưu
9. 10. Hệ thống thông báo đăng nhập thành công và chuyểnhướng về trang chủ.
<b>Alternative Paths:</b>
<b>Business Rules:</b>
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
</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">Hì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
</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37"><b>Post-Condition(s):</b> <sup>Hệ thống hiển thị đăng ký tài khoản thành công và chuyển</sup><sub>hướng sang trang chủ của website.</sub>
<b>Basic Path:</b>
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ẩuvà 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.
<b>Alternative Paths:</b>
5a. Người dùng bỏ trống các trường thơng tin thì hệthống sẽ hiển thị thơng báo:”Người dùng chưa nhậpđủ thông tin”.
5b. Hệ thống hiển thị thông báo:”Email này đã sửdụng” nếu kiểm tra thấy email người dùng đăng kýtài khoản bị trùng lặp
<b>Business Rules:</b>
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.
<b>Requirements:</b> <sup>Thời gian truy vấn không quá 2s</sup>Thời gian cập nhật thông tin không quá 5sBảng 2.10 Kịch bản use case đăng ký tài khoản
</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38">Hì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
</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39">2.1.3.2.11 Chức năng tải tài liệu
<b>Actor(s):</b> User
<b>Description:</b> <sup>Tải tài liệu</sup>
<b>Priority:</b> Should have (Ưu tiên 2)
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.
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
</div><span class="text_page_counter">Trang 40</span><div class="page_container" data-page="40">4a. Người dùng xác nhận thông báo
5a. Hệ thống hiển thị phương thức thanh tốn 6a. Người dùng điền thơng tin và thanh tốn tàiliệu
7a. Hệ thống thơng báo thanh tố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.
<b>Requirements:</b> <sup>Thời gian khởi tạo đơn hàng khoảng 3 phút.</sup>Thời gian cập nhật thông tin không quá 15sBảng 2.11 Kịch bản use case cho chức năng tải tài liệu
43
</div>