HUỲNH TRUNG THẢO - 20521932Nội dung đề tài:Mô tả chi tiết mục tiêu, phạm vi, đối tượng, phương pháp thực hiện, kết quả mong đợi của đề tàiMục tiêu:Nghiên cứu và ứng dụng công nghệ mới:●
TỔNG QUAN VỀ ĐỀ TÀI
Giới thiệu về đề tài
Việc quản lý và đảm bảo chất lượng đào tạo là một khía cạnh quan trọng của hệ thống giáo dục Kiểm định chất lượng đào tạo là một hoạt động quan trọng nhằm đánh giá chất lượng của quá trình đào tạo, góp phần nâng cao chất lượng đào tạo Trong quá trình kiểm định chất lượng, minh chứng là một yếu tố quan trọng, giúp các cơ quan, tổ chức đánh giá một cách khách quan, toàn diện chất lượng đào tạo Chuẩn ASIIN được biết đến như một tổ chức độc lập hàng đầu trong lĩnh vực đánh giá và đảm bảo chất lượng của các chương trình đào tạo kỹ thuật tại Đức và quốc tế Điều này tạo ra một cơ hội lý tưởng để nghiên cứu và phát triển một hệ thống quản lý trực tuyến giúp kiểm định chất lượng đào tạo theo chuẩn ASIIN. Đề tài “Xây dựng website quản lý viết báo cáo và minh chứng trong kiểm định chất lượng đào tạo” nhằm xây dựng một hệ thống web cho phép quản lý các báo cáo và minh chứng liên quan tới quá trình kiểm định chất lượng ở các cơ sở đào tạo Hệ thống sẽ cho phép người dùng có thể đăng nhập, xem thông tin chuẩn đầu ra của từng chương trình đào tạo, yêu cầu minh chứng cần thiết, viết và nộp các báo cáo liên quan tới tiến trình kiểm định Đề tài này không chỉ đặt ra một thách thức hấp dẫn trong việc kết hợp kỹ thuật phần mềm mà còn mang lại giá trị thực tế bằng cách giúp các trường đại học và các cơ sở đào tạo có thể theo dõi và cải thiện chất lượng của các chương trình đào tạo. Đề tài áp dụng công nghệ web, cơ sở dữ liệu và các kỹ thuật phát triển phần mềm để xây dựng một hệ thống hữu ích, đáp ứng nhu cầu quản lý thông tin hiệu quả trong quá trình kiểm định chất lượng đào tạo với mục tiêu là xây dựng một website quản lý dễ dàng lưu trữ, tìm kiếm minh chứng mà phải đảm bảo tính bảo mật, giúp các tổ chức đào tạo tiết kiệm thời gian và công sức trong khâu quản lý.
Khảo sát hiện trạng
Trong thời đại ngày nay, chất lượng đào tạo đã trở thành một ưu tiên hàng đầu trong hệ thống giáo dục Sự tăng cao của chất lượng đào tạo được thúc đẩy bởi nhu cầu ngày càng cao từ phía doanh nghiệp và xã hội Để đáp ứng những tiêu chuẩn chất lượng ngày càng cao, nhiều cơ sở giáo dục trên thế giới, như được đánh giá bởi các tổ chức như ASIIN, đã áp dụng các quy trình và tiêu chuẩn khắt khe trong việc phát triển và duy trì chương trình đào tạo.
Theo đó, yêu cầu về quản lý báo cáo và minh chứng trong quá trình đào tạo cũng đồng loạt tăng lên Các tổ chức giáo dục cần chứng minh rằng chương trình học của họ đáp ứng hoặc vượt qua các tiêu chuẩn chất lượng quốc tế Điều này yêu cầu họ phải xây dựng và duy trì hệ thống báo cáo chi tiết và minh chứng đầy đủ Ngoài ra, giảng viên và người quản lý báo cáo đều cần có một nền tảng thuận tiện để theo dõi tiến độ và chất lượng của quá trình đào tạo Thêm vào đó, sự đồng bộ và minh bạch trong quá trình kiểm định chất lượng là điều quan trọng để đảm bảo rằng các chuẩn và tiêu chí của ASIIN được tuân thủ một cách đúng đắn và hiệu quả.
Hiện nay, hầu hết các trường đại học và cơ sở đào tạo vẫn đang sử dụng phương pháp truyền thống trong việc quản lý và đánh giá chất lượng đào tạo Các hệ thống quản lý báo cáo và minh chứng đang có hiện nay thường phức tạp, thiếu tính tương tác và khả năng đồng bộ hóa, dẫn đến việc gặp nhiều khó khăn trong việc theo dõi, đánh giá và nâng cao chất lượng.
Nắm bắt xu hướng này, yêu cầu về việc có một website kiểm định, nơi cung cấp thông tin đầy đủ về chất lượng đào tạo, đã trở thành điều không thể thiếu Những trang web này không chỉ là công cụ quan trọng để cung cấp thông tin cho việc đánh giá, mà còn giúp cơ sở giáo dục thể hiện cam kết của họ đối với chất lượng và sự minh bạch trong quá trình đào tạo.
Dưới đây là một số phần mềm “Quản lý viết báo cáo và minh chứng trong kiểm định chất lượng đào tạo” hiện có, nó không phải là website chuyên dụng cho từng tổ chức và được sinh ra cho nhu cầu chung của các cơ sở đào tạo nên vẫn còn nhiều hạn chế:
Tiêu chí Phần mềm Cục
Quản lý minh chứng Có Có Không
Thu thập phản hồi sinh viên Có Có Có
Quản lý tiến độ kiểm định Có Có Không
Lập kế hoạch kiểm định Có Có Không
Quản lý tài liệu, báo cáo Có Có Có
Phân quyền người dùng Có Có Có
Gửi nhắc việc tự động Không Có Không
Hỗ trợ nhiều thiết bị Web, mobile Chủ yếu web Web, mobile
Chi phí sử dụng Miễn phí Có phí Miễn phí
Nền tảng Đa nền tảng Chủ yếu web Đa nền tảng
Hình 1-1 Một số phần mềm hỗ trợ quản lý kiểm định chất lượng đào tạo
Đối tượng nghiên cứu
Đồ án này hướng đến nghiên cứu các đối tượng sau:
❖ Các công nghệ: o ReactJS o Redux o Node.js o Express.js o Firebase Authentication o MongoDB o Google Drive API
❖ Đối tượng trong phạm vi đề tài hướng đến: o Giảng viên trường đại học. o Người quản lý báo cáo.
Phạm vi nghiên cứu
❖ Phạm vi về nội dung: Nghiên cứu các vấn đề liên quan đến quản lý viết báo cáo và minh chứng trong kiểm định chất lượng đào tạo, bao gồm: o Các yêu cầu đối với hệ thống quản lý viết báo cáo và minh chứng o Các mô hình, thuật toán xử lý dữ liệu o Các ứng dụng web
❖ Phạm vi về đối tượng: Nghiên cứu các cơ sở đào tạo đại học, cao đẳng, trung cấp chuyên nghiệp, các tổ chức, cá nhân có liên quan đến kiểm định chất lượng đào tạo. Đề tài tập trung vào việc xây dựng website quản lý báo cáo và minh chứng phục vụ công tác kiểm định chất lượng đào tạo, bao gồm các chức năng chính: o Quản lý thông tin người dùng, phân quyền. o Quản lý các chương trình đào tạo và chuẩn đầu ra. o Thu thập, lưu trữ minh chứng đào tạo. o Quản lý tiến độ và lịch trình kiểm định. o Hỗ trợ viết, nộp và phê duyệt các báo cáo trong quá trình kiểm định.
Phương pháp nghiên cứu
Nghiên cứu lí luận: nghiên cứu cơ sở lí luận về kiểm định chất lượng đào tạo.
Khảo sát thực tế: Khảo sát nhu cầu quản lí thông tin và yêu cầu về chức năng của hệ thống.
Phân tích, thiết kế và xây dựng hệ thống.
Triển khai, thử nghiệm và đánh giá hệ thống.
Nhiệm vụ của đề tài
Nghiên cứu cơ sở lý thuyết và các yêu cầu đối với hệ thống quản lý viết báo cáo và minh chứng trong kiểm định chất lượng đào tạo.
Khảo sát thực trạng và phân tích yêu cầu, cũng như các công nghệ liên quan có thể áp dụng.
Thiết kế giao diện và chức năng của website.
Xây dựng các mô hình, thuật toán xử lý dữ liệu phục vụ cho việc lưu trữ, tìm kiếm, phân tích minh chứng.
Triển khai xây dựng, kiểm thử và hoàn thiện hệ thống website.
Hướng dẫn và đánh giá việc vận hành, sử dụng hệ thống sau khi triển khai.
CƠ SỞ LÝ THUYẾT
Tổng quan về ReactJS
React.js là một thư viện Javascript đang nổi lên trong những năm gần đây với xu hướng Single Page Application Trong khi những framework khác cố gắng hướng đến một mô hình MVC hoàn thiện thì React nổi bật với sự đơn giản và dễ dàng phối hợp với những thư viện Javascript khác Nếu như AngularJS là một Framework cho phép nhúng code javascript trong code html thông qua các attribute như ng-model, ng- repeat thì với react là một library cho phép nhúng code html trong code javascript nhờ vào JSX, có thể dễ dàng lồng các đoạn HTML vào trong JS Tích hợp giữa javascript và HTML vào trong JSX làm cho các component dễ hiểu hơn.
React là một thư viện UI phát triển tại Facebook để hỗ trợ việc xây dựng những thành phần (components) UI có tính tương tác cao, có trạng thái và có thể sử dụng lại được React được sử dụng tại Facebook trong production, và Instagram được viết hoàn toàn trên React.
Một trong những điểm hấp dẫn của React là thư viện này không chỉ hoạt động trên phía client, mà còn được render trên server và có thể kết nối với nhau React so
Hình 2-2 ReactJS sánh sự thay đổi giữa các giá trị của lần render này với lần render trước và cập nhật ít thay đổi nhất trên DOM. ĐẶC TRƯNG CỦA REACTJS
Trong React, thay vì thường xuyên sử dụng JavaScript để thiết kế bố cục trang web thì sẽ dùng JSX JSX được đánh giá là sử dụng đơn giản hơn JavaScript và cho phép trích dẫn HTML cũng như việc sử dụng các cú pháp thẻ HTML để render các subcomponent JSX tối ưu hóa code khi biên soạn, vì vậy nó chạy nhanh hơn so với code JavaScript tương đương.
Một thành phần cực kỳ quan trọng, không một react developer nào mà không biết Vì vậy hãy tìm hiểu ngay Redux là gì?
Hình 2-3 Single-way data flow (Luồng dữ liệu một chiều)
ReactJS không có những module chuyên dụng để xử lý data, vì vậy ReactJS chia nhỏ view thành các component nhỏ có mỗi quan hệ chặt chẽ với nhau Tại sao chúng ta phải quan tâm tới cấu trúc và mối quan hệ giữa các component trong ReactJS? Câu trả lời chính là luồng truyền dữ liệu trong ReactJS: Luồng dữ liệu một chiều từ cha xuống con Việc ReactJS sử dụng one-way data flow có thể gây ra một chút khó khăn cho những người muốn tìm hiểu và ứng dụng vào trong các dự án Tuy nhiên, cơ chế này sẽ phát huy được ưu điểm của mình khi cấu trúc cũng như chức năng của view trở nên phức tạp thì ReactJS sẽ phát huy được vai trò của mình.
Những Framework sử dụng Virtual-DOM như ReactJS khi Virtual-DOM thay đổi, chúng ta không cần thao tác trực tiếp với DOM trên View mà vẫn phản ánh được sự thay đổi đó Do Virtual-DOM vừa đóng vai trò là Model, vừa đóng vai trò là View nên mọi sự thay đổi trên Model đã kéo theo sự thay đổi trên View và ngược lại Có nghĩa là mặc dù chúng ta không tác động trực tiếp vào các phần tử DOM ở View nhưng vẫn thực hiện được cơ chế Data-binding Điều này làm cho tốc độ ứng dụng tăng lên đáng kể – môt lợi thế không thể tuyệt vời hơn khi sử dụng Virtula-DOM.
2.1.2 Tại sao nên sử dụng Reactjs
● React là một thư viện GUI nguồn mở JavaScript tập trung vào một điều cụ thể; hoàn thành nhiệm vụ UI hiệu quả Nó được phân loại thành kiểu “V” trong mô hình MVC (Model-View-Controller).
● Là lập trình viên JavaScript, bạn sẽ dễ dàng hiểu được những điều cơ bản vềReact Bạn thậm chí có thể bắt đầu phát triển các ứng dụng dựa trên web bằng cách sử dụng react chỉ trong vài ngày.
● Để củng cố hiểu biết của mình, bạn hãy thử khám phá thêm nhiều hướng dẫn về React Chúng mang đến nhiều thông tin về cách sử dụng công cụ: videos, hướng dẫn và dữ liệu làm phong phú góc nhìn của bạn.
Hỗ trợ Reusable Component trong Java:
● React cho phép bạn sử dụng lại components đã được phát triển thành các ứng dụng khác có cùng chức năng Tính năng tái sử dụng component là một lợi thế khác biệt cho các lập trình viên.
Viết component dễ dàng hơn:
● React component dễ viết hơn vì nó sử dụng JSX, mở rộng cú pháp tùy chọn cho JavaScript cho phép kết hợp HTML với JavaScript.
● JSX là một sự pha trộn tuyệt vời của JavaScript và HTML Nó làm rõ toàn bộ quá trình viết cấu trúc trang web Ngoài ra, phần mở rộng cũng giúp render nhiều lựa chọn dễ dàng hơn.
● JSX có thể không là phần mở rộng cú pháp phổ biến nhất, nhưng nó được chứng minh là hiệu quả trong việc phát triển components đặc biệt hoặc các ứng dụng có khối lượng lớn.
Hiệu suất tốt hơn với Virtual DOM:
● React sẽ cập nhật hiệu quả quá trình DOM (Document Object Model – Mô hình đối tượng tài liệu) Như đã biết, quá trình này có thể gây ra nhiều thất vọng trong các dự án ứng dụng dựa trên web May mắn là React sử dụng virtual DOMs, vì vậy có thể tránh được vấn đề này.
● Công cụ cho phép xây dựng các virtual DOMs và host chúng trong bộ nhớ.Nhờ vậy, mỗi khi có sự thay đổi trong DOM thực tế, thì virtual sẽ thay đổi ngay lập tức.
● Hệ thống này sẽ ngăn DOM thực tế để buộc các bản cập nhật được liên tục Do đó, tốc độ của ứng dụng sẽ không bị gián đoạn.
Firebase
Firebase là một nền tảng sở hữu bởi google giúp chúng ta phát triển các ứng dụng di động và web Họ cung cấp rất nhiều công cụ và dịch vụ tiện ích để phát triển ứng dụng nên một ứng dụng chất lượng Điều đó rút ngắn thời gian phát triển và giúp ứng dụng sớm ra mắt với người dùng.
Firebase cung cấp cho người dùng các dịch vụ cơ sở dữ liệu hoạt động trên nền tảng đám mây với hệ thống máy chủ cực kỳ mạnh mẽ của Google Chức năng chính của firebase là giúp người dùng lập trình ứng dụng, phần mềm trên các nền tảng web, di động bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu
Với firebase, bạn có thể tạo ra những ứng dụng real-time như app chat, cùng nhiều tính năng như xác thực người dùng, Cloud Messaging Bạn có thể dùng firebase giống như phần backend của app.
Các dịch vụ của firebase hoàn toàn miễn phí, tuy nhiên bạn cần phải trả thêm tiền nếu muốn nâng cấp lên Điều này bạn nên cân nhắc nếu muốn xây dựng một ứng dụng lớn sử dụng phần backend là firebase, vì cái giá khi muốn nâng cấp còn khá đắt đỏ so với việc xây dựng backend truyền thống
2.2.2 Tại sao nên sử dụng Firebase
Firebase realtime database là một cơ sở dữ liệu thời gian thực, NoSQL được lưu trữ đám mây cho phép lưu trữ và đồng bộ dữ liệu Dữ liệu được lưu trữ dưới dạng cây Json, và được đồng bộ theo thời gian thực đối với mọi kết nối.
Khi xây dựng những ứng dụng đa nền tảng như android, IOS và Web App, tất cả các client của bạn sẽ kết nối trên cùng một cơ sở dữ liệu Firebase và tự động cập nhật dữ liệu mới nhất khi có sự thay đổi
Cả một cơ sở dữ liệu là một cây json lớn, với độ trễ thấp, Firebase realtime database cho phép bạn xây dựng các ứng dụng cần độ realtime như app chat, hay game online…
Firebase có các tính năng bảo mật hàng đầu
Tất cả dữ liệu được truyền qua một kết nối an toàn SSL, việc truy vấn cơ sở dữ liệu truy vấn và việc xác nhận thông tin được điều khiển theo một số các quy tắc security rules language Các logic bảo mật dữ liệu của bạn được tập trung ở một nơi để dễ dàng cho việc sửa đổi, cập nhật và kiểm thử.
Firebase Authentication là chức năng xác thực người dùng Hiểu một cách đơn giản, app của bạn cần phải đăng nhập/ đăng ký tài khoản để sử dụng, Firebase cung cấp cho chúng ta chức năng xác thực người dùng bằng email, số điện thoại, hay tài khoản Facebook, Google,
Firebase Cloud Storage là một không gian lưu trữ dữ liệu, nó giống như một chiếc ổ cứng Bạn có thể upload và download các loại file bạn muốn Đó có thể là một file ảnh, hay file văn bản, zip,
Firebase là một nền tảng cung cấp rất nhiều những dịch vụ tiện ích để phát triển ứng dụng app, web, mobile
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Mô tả yêu cầu
Phần mềm quản lý viết báo cáo và minh chứng trong kiểm định chất lượng đào tạo giúp giảng viên và người quản lý báo cáo kiểm định quản lý và thực hiện hiệu quả các công việc trong quá trình kiểm định chất lượng giáo dục chẳng hạn như tải lên và lưu trữ minh chứng, hỗ trợ tạo báo cáo theo mẫu, viết và lưu báo cáo online,… Một số chức năng chính của ứng dụng website có thể kể đến như sau:
Chức năng Mô tả Đăng nhập và đăng ký
Người dùng có thể đăng nhập và đăng ký tài khoản trên hệ thống.
Người dùng có thể quản lý thông tin tài khoản của mình, bao gồm: thay đổi mật khẩu, cập nhật thông tin cá nhân
Người dùng có thể quản lý minh chứng của mình, bao gồm: thêm, chỉnh sửa, xóa minh chứng; tải lên, tải xuống minh chứng; phân loại minh chứng.
Quản lý báo cáo Người dùng có thể quản lý báo cáo của mình, bao gồm: tạo mới báo cáo, chỉnh sửa báo cáo, xem báo cáo
Người dùng có thể tìm kiếm minh chứng theo các tiêu chí khác nhau, như: tiêu đề minh chứng, loại minh chứng, ngày tháng,…
Bảng 3-1 Mô tả chức năng ứng dụng
3.1.2 Yêu cầu phi chức năng
Tính bảo mật: Mã hóa mật khẩu và dữ liệu nhạy cảm trước khi lưu trữ Sử dụng giao thức HTTPS để bảo mật kênh truyền tải dữ liệu Xác thực và phân quyền truy cập chi tiết từng tính năng, chức năng cho người dùng Có chính sách quản lý thông tin người dùng đảm bảo an toàn, bảo mật dữ liệu.
Tính tiện dụng: Thiết kế giao diện thân thiện, dễ sử dụng Cho phép truy cập từ nhiều thiết bị: máy tính, điện thoại, tablet Hỗ trợ tìm kiếm, lọc và sắp xếp dữ liệu một cách dễ dàng Có tài liệu hướng dẫn chi tiết cách sử dụng từng chức năng.
Tính hiệu quả: Phản hồi nhanh chóng, không để người dùng chờ đợi quá lâu. Cho phép nhiều người dùng truy cập đồng thời mà không ảnh hưởng tốc độ. Tối ưu hóa các api và cơ sở dữ liệu đảm bảo xử lý và truy vấn nhanh chóng.
Tính tương thích: Thiết kế responsive đảm bảo tương thích với mọi kích thước màn hình Hỗ trợ sử dụng trên nhiều trình duyệt web phổ biến Cho phép tích hợp, kết nối với các hệ thống phần mềm khác thông qua các API được xác định trước.
Khả năng mở rộng: Cho phép tùy biến chỉnh sửa quy mô theo nhu cầu thực tế.
Có thể dễ dàng tích hợp thêm các tính năng, module mới trong tương lai Triển khai đa kênh: web, mobile app với UI hoàn toàn tách biệt.
Báo cáo - thống kê: Cho phép xuất các báo cáo tổng hợp dữ liệu dưới nhiều dạng khác nhau: excel, pdf, biểu đồ Thống kê các số liệu, metric quan trọng phục vụ công tác quản trị.
Kiến trúc hệ thống
3.2.1 Sơ đồ kiến trúc tổng quát
Hình 3-4 Sơ đồ kiến trúc hệ thống
3.2.2 Mô tả kiến trúc Front-End
Hình 3-5 Sơ đồ kiến trúc front-end
Front-End được xây dựng bằng ReactJS và được chia thành các thành phần chính như sau:
Thành phần Ý nghĩa Ghi chú
Thành phần cơ bản của ReactJS
Mỗi component là một tập hợp các logic và HTML để tạo ra một phần tử giao diện người dùng
State Trạng thái của component State là dữ liệu của component, có thể thay đổi theo thời gian
Props Thuộc tính của component Props là dữ liệu được truyền vào component từ bên ngoài
Render() Hàm trả về HTML của component
Hàm render() được gọi khi component cần được hiển thị
Hooks Hàm giúp xử lý state và props của component
Hooks giúp viết code ReactJS ngắn gọn và dễ hiểu hơn
Redux StoreQuản lý và lưu trữ trạng thái ứng dụng
Dùng để chia sẻ dữ liệu giữa các components
Bảng 3-2 Mô tả thành phần kiến trúc front-end
3.2.3 Mô tả kiến trúc Back-End
Back-End sử dụng công nghệ NET core xây dựng theo chuẩn RESTful API và được chia thành bốn thành phần chính như sau:
Hình 3-6 Sơ đồ kiến trúc back-end
STT Thành phần Ý nghĩa, ghi chú
Có nhiệm vụ nhận HTTP request (GET, POST) từ Client, xử lý tính hợp lệ của payload và trả response về cho người dùng
2 Core Là thành phần xử lý logic, nghiệp vụ chính của hệ thống
3 Models Là thành phần có chức năng lưu trữ và thao tác với dữ liệu
4 Service Đảm nhiệm vai trò kết nối với các dịch vụ của bên thứ ba như các dịch vụ về cơ sở dữ liệu Azure SQL, Swagger UI, caching
Bảng 3-3 Mô tả thành phần kiến trúc back-end
Mối quan hệ giữa các thành phần:
● Controllers sau khi nhận request và kiểm tra tính hợp lệ của payload sẽ gọi đến thành phần Core xử lý để lấy thông tin cần trả về cho Front-End.
● Core nhận yêu cầu xử lý từ Controllers, lấy dữ liệu từ Service và xử lý để trả kết quả về cho Controllers.
● Service nhận yêu cầu sử dụng dịch vụ từ Core và trả về kết quả để Core xử lý
● Model giúp cho các thành phần Controllers, Core, Service truyền dữ liệu và giao tiếp với nhau.
Ngoài ra hệ thống Back-End còn sử dụng Token để xác thực và cấp quyền cho mỗi request từ phía Client nhằm đảm bảo tính bảo mật và an toàn dữ liệu của hệ thống.
USE CASE
Use case diagram
Danh sách Actor
Danh sách Use case
STT Tên use case Mô tả
1 Đăng nhập Người dùng có thể truy cập hệ thống bằng cách nhập thông tin đăng nhập của mình.
2 Quản lý báo cáo Người dùng có thể xem, sắp xếp và quản lý danh sách các báo cáo trong hệ thống.
3 Upload minh chứng từ local Người dùng có thể tải lên các minh chứng từ thiết bị cá nhân của họ để gắn kết vào báo cáo.
4 Xóa báo cáo Người dùng có thể xóa các báo cáo không cần thiết khỏi hệ thống.
5 Xem báo cáo và minh chứng Người dùng có thể xem nội dung của báo cáo cùng với các tệp minh chứng được đính kèm.
6 Chỉnh sửa nội dung báo cáo có sẵn Người dùng có thể sửa đổi thông tin trong báo cáo đã tồn tại trong hệ thống.
7 Mở file báo cáo Mở xem nhanh nội dung của file báo cáo.
8 Tải lên báo cáo từ local Người dùng có thể tải lên các báo cáo mới từ thiết bị cá nhân của họ.
9 Load nội dung báo cáo từ Google Drive Import nội dung của báo cáo trực tiếp từ Google Drive.
10 Load nội dung báo cáo từ URL Người dùng có thể nhập URL để nạp nội dung của báo cáo.
11 Lưu file báo cáo Lưu lại thay đổi hoặc tạo bản sao mới của file báo cáo.
12 Link file minh chứng cho từng mục Tạo liên kết đến các tệp minh chứng cụ thể liên quan đến mỗi mục trong báo cáo.
13 Upload minh chứng Người dùng có thể tải lên các minh chứng từ thiết bị cá nhân của họ để liên kết với hệ thống.
14 Link minh chứng từ Drive Kết nối và liên kết minh chứng trực tiếp từ Google Drive để quản lý tệp tin một cách thuận tiện.
15 Xem song song hai màn hình Người dùng có thể hiển thị cùng một báo cáo hoặc nội dung trên hai màn hình để so sánh hoặc tham chiếu.
16 Chọn chuẩn và custom nội dung Lựa chọn giữa các chuẩn mẫu có sẵn hoặc tùy chỉnh nội dung theo yêu cầu cụ thể của người dùng.
17 Tạo báo cáo mới Khởi tạo báo cáo mới trong hệ thống để bắt đầu quá trình thêm thông tin và minh chứng.
Bảng 4-5 Danh sách use case
Đặc tả Use case
Mô tả Người dùng truy cập hệ thống bằng cách nhập thông tin đăng nhập của mình.
Luồng chính Người dùng nhập tên đăng nhập và mật khẩu, sau đó nhấn nút đăng nhập.
Luồng thay thế Nếu thông tin đăng nhập không chính xác, hệ thống hiển thị thông báo lỗi. Điều kiện kích hoạt Người dùng muốn truy cập hệ thống. Điều kiện cần Tồn tại tài khoản với thông tin đăng nhập đúng.
Kết quả Người dùng được đăng nhập vào hệ thống.
Bảng 4-6 Use case đăng nhập
4.4.2 Use case “Quản lý báo cáo.”
Mô tả Người dùng có thể xem, sắp xếp và quản lý danh sách các báo cáo trong hệ thống.
Luồng chính Người dùng truy cập giao diện quản lý báo cáo, xem danh sách, sắp xếp theo tiêu chí, thực hiện các thao tác quản lý. Luồng thay thế Nếu không có báo cáo nào, hiển thị thông báo trống. Điều kiện kích hoạt Người dùng muốn quản lý báo cáo. Điều kiện cần Đã đăng nhập
Kết quả Người dùng quản lý được danh sách báo cáo.
Bảng 4-7 Use case quản lý báo cáo
4.4.3 Use case “Upload minh chứng từ local.”
Mô tả Người dùng tải lên các minh chứng từ thiết bị cá nhân để liên kết với hệ thống.
Luồng chính Người dùng chọn tệp từ máy tính, nhấn nút tải lên, hệ thống lưu trữ minh chứng.
Luồng thay thế Nếu tải lên thất bại, hiển thị thông báo lỗi. Điều kiện kích hoạt Đã đăng nhập Điều kiện cần Tệp minh chứng hợp lệ.
Kết quả Minh chứng được liên kết với báo cáo.
Bảng 4-8 Use case upload minh chứng từ local
4.4.4 Use case “Xóa báo cáo.”
Mô tả Người dùng có khả năng xóa các báo cáo không cần thiết khỏi hệ thống.
Luồng chính Người dùng chọn báo cáo cần xóa, sau đó xác nhận quyết định xóa.
Luồng thay thế Nếu hủy bỏ quyết định xóa, không có thay đổi nào xảy ra. Điều kiện kích hoạt Đã đăng nhập Điều kiện cần Tồn tại ít nhất một báo cáo để xóa.
Kết quả Báo cáo được xóa khỏi hệ thống.
Bảng 4-9 Use case xóa báo cáo
4.4.5 Use case “Xem báo cáo và minh chứng.”
Mô tả Người dùng có thể xem nội dung của báo cáo cùng với các tệp minh chứng được đính kèm.
Luồng chính Người dùng chọn một báo cáo từ danh sách, hệ thống hiển thị nội dung báo cáo và liệt kê các minh chứng.
Luồng thay thế Nếu không có minh chứng, hiển thị thông báo không có dữ liệu. Điều kiện kích hoạt Đã đăng nhập Điều kiện cần Tồn tại ít nhất một báo cáo với hoặc không có minh chứng. Kết quả Người dùng xem được nội dung báo cáo và các minh chứng liên quan.
Bảng 4-10 Use case xem báo cáo và minh chứng
4.4.6 Use case “Chỉnh sửa nội dung báo cáo có sẵn.”
Mô tả Người dùng có thể sửa đổi thông tin trong báo cáo đã tồn tại trong hệ thống.
Luồng chính Người dùng chọn báo cáo cần chỉnh sửa, thực hiện các thay đổi và lưu lại.
Luồng thay thế Nếu hủy bỏ quyết định chỉnh sửa, không có thay đổi nào xảy ra. Điều kiện kích hoạt Đã đăng nhập Điều kiện cần Tồn tại ít nhất một báo cáo để chỉnh sửa.
Kết quả Báo cáo được cập nhật với thông tin mới.
Bảng 4-11 Use case chỉnh sửa nội dung báo cáo có sẵn
4.4.7 Use case “Mở file báo cáo.”
Mô tả Người dùng có khả năng mở xem nhanh nội dung của file báo cáo.
Luồng chính Người dùng chọn báo cáo cần xem, hệ thống mở file báo cáo để xem nội dung.
Luồng thay thế Nếu không thể mở file, hiển thị thông báo lỗi. Điều kiện kích hoạt Người dùng muốn xem nhanh nội dung báo cáo. Điều kiện cần Tồn tại ít nhất một báo cáo để xem.
Kết quả Người dùng có thể xem nhanh nội dung báo cáo.
Bảng 4-12 Use case mở file báo cáo
4.4.8 Use case “Tải lên báo cáo từ local.”
Mô tả Người dùng có thể tải lên các báo cáo mới từ thiết bị cá nhân của họ.
Luồng chính Người dùng chọn tệp báo cáo từ máy tính, sau đó tải lên hệ thống.
Luồng thay thế Nếu quá trình tải lên thất bại, hiển thị thông báo lỗi. Điều kiện kích hoạt Người dùng muốn thêm một báo cáo mới vào hệ thống. Điều kiện cần Tệp báo cáo phải hợp lệ.
Kết quả Báo cáo mới được thêm vào hệ thống.
Bảng 4-13 Use case tải lên báo cáo từ local
4.4.9 Use case “Load nội dung báo cáo từ Google Drive.”
Mô tả Người dùng có thể import nội dung của báo cáo trực tiếp từ
Luồng chính Người dùng chọn tải lên từ Google Drive, chọn tệp cần import, hệ thống lấy nội dung và minh chứng từ Drive.
Luồng thay thế Nếu quy trình import thất bại, hiển thị thông báo lỗi. Điều kiện kích hoạt Người dùng muốn sử dụng nội dung từ Google Drive. Điều kiện cần Đã kết nối với tài khoản Google Drive.
Kết quả Nội dung báo cáo được tải lên từ Google Drive.
Bảng 4-14 Use case load nội dung báo cáo từ Google Drive
4.4.10.Use case “Load nội dung báo cáo từ URL.”
Mô tả Người dùng nhập URL để nạp nội dung của báo cáo từ nguồn trực tuyến.
Luồng chính Người dùng nhập URL, hệ thống tải và hiển thị nội dung báo cáo từ đường dẫn đó.
Luồng thay thế Nếu URL không hợp lệ hoặc nội dung không thể tải, hiển thị thông báo lỗi. Điều kiện kích hoạt Người dùng muốn sử dụng nội dung từ một nguồn trực tuyến. Điều kiện cần URL phải đúng và trỏ đến nội dung báo cáo.
Kết quả Nội dung báo cáo được tải lên từ URL.
Bảng 4-15 Use case Load nội dung báo cáo từ URL
4.4.11.Use case “Lưu file báo cáo.”
Mô tả Người dùng có thể lưu lại các thay đổi hoặc tạo bản sao mới của file báo cáo.
Luồng chính Người dùng chọn lưu file sau khi chỉnh sửa hoặc tạo bản sao mới, hệ thống thực hiện lưu trữ.
Luồng thay thế Nếu quá trình lưu không thành công, hiển thị thông báo lỗi. Điều kiện kích hoạt Người dùng muốn lưu lại các thay đổi hoặc tạo bản sao. Điều kiện cần Tồn tại ít nhất một báo cáo cần lưu.
Kết quả Bản sao mới được tạo hoặc các thay đổi được lưu vào báo cáo hiện tại.
Bảng 4-16 Use case lưu file báo cáo
4.4.12.Use case “Link file minh chứng cho từng mục.”
Mô tả Người dùng có thể tạo liên kết đến các tệp minh chứng cụ thể liên quan đến mỗi mục trong báo cáo.
Luồng chính Người dùng chọn một mục trong báo cáo, tạo liên kết với minh chứng hoặc file liên quan.
Luồng thay thế Nếu quá trình tạo liên kết thất bại, hiển thị thông báo lỗi. Điều kiện kích hoạt Đã đăng nhập Điều kiện cần Minh chứng hoặc file liên quan đã được tải lên.
Kết quả Liên kết được tạo và liên kết tới minh chứng từ mục trong báo cáo.
Bảng 4-17 Use case link flie minh chứng cho từng mục
4.4.13.Use case “Upload minh chứng.”
Mô tả Người dùng có khả năng tải lên các minh chứng từ thiết bị cá nhân để liên kết với hệ thống.
Luồng chính Người dùng chọn tệp minh chứng từ máy tính, sau đó tải lên hệ thống.
Luồng thay thế Nếu quá trình tải lên thất bại, hiển thị thông báo lỗi. Điều kiện kích hoạt User Điều kiện cần Tệp minh chứng phải hợp lệ.
Kết quả Minh chứng được liên kết với báo cáo.
Bảng 4-18 Use case upload minh chứng
4.4.14.Use case “Link minh chứng từ Drive.”
Mô tả Người dùng có thể liên kết minh chứng trực tiếp từ Google
Drive để quản lý tệp tin một cách thuận tiện.
Luồng chính Người dùng chọn minh chứng từ Google Drive, hệ thống tạo liên kết.
Luồng thay thế Nếu quá trình liên kết thất bại, hiển thị thông báo lỗi. Điều kiện kích hoạt Đã đăng nhập Điều kiện cần Kết nối với tài khoản Google Drive.
Kết quả Minh chứng được liên kết với báo cáo.
Bảng 4-19 Use case link minh chứng từ drive
4.4.15.Use case “Xem song song hai màn hình.”
Mô tả Người dùng có thể hiển thị cùng một báo cáo hoặc nội dung trên hai màn hình để so sánh hoặc tham chiếu.
Luồng chính Người dùng chọn tùy chọn xem song song, hệ thống mở hai màn hình cho cùng một báo cáo hoặc nội dung.
Luồng thay thế Nếu không thể mở song song, hiển thị thông báo lỗi. Điều kiện kích hoạt Không Điều kiện cần Tồn tại ít nhất một báo cáo để xem song song.
Kết quả Hai màn hình được mở để so sánh nội dung.
Bảng 4-20 Use case xem song song hai màn hình
4.4.16.Use case “Chọn chuẩn và custom nội dung.”
Mô tả Người dùng có thể lựa chọn giữa các chuẩn mẫu có sẵn hoặc tùy chỉnh nội dung theo yêu cầu cụ thể của họ.
Luồng chính Người dùng chọn chuẩn mẫu có sẵn hoặc tùy chỉnh nội dung báo cáo theo ý muốn.
Luồng thay thế Nếu không thể chọn hoặc tùy chỉnh, hiển thị thông báo lỗi. Điều kiện kích hoạt Đã đăng nhập Điều kiện cần Các tùy chọn chuẩn mẫu hoặc tùy chỉnh đã được cài đặt. Kết quả Bắt đầu tạo báo cáo mới theo chuẩn hoặc tùy chỉnh đã chọn.
Bảng 4-21 Use case chọn chuẩn và custom nội dung
4.4.17 Use case “Tạo báo cáo mới.”
Mô tả Người dùng có thể khởi tạo báo cáo mới trong hệ thống để bắt đầu quá trình thêm thông tin và minh chứng.
Luồng chính Người dùng chọn tạo báo cáo mới, chọn loại báo cáo hoặc chuẩn mẫu, sau đó bắt đầu thêm thông tin.
Luồng thay thế Nếu quá trình tạo báo cáo không thành công, hiển thị thông báo lỗi. Điều kiện kích hoạt Đã đăng nhập Điều kiện cần Các tùy chọn chuẩn mẫu hoặc tùy chỉnh đã được cài đặt. Kết quả Bắt đầu quá trình tạo báo cáo mới.
Bảng 4-22 Use case tạo báo cáo mới
THIẾT KẾ CLASS
Class diagram
Danh sách class
5.2.1 Danh sách các class phần backend
1 user.model Đại diện cho đối tượng người dùng
2 document.model Đại diện cho đối tượng tài liệu
3 auth.controller Xử lý các code logic liên quan tới phần đăng nhập
4 doc.controller Xử lý các logic liên quan tới phần soạn thảo văn bản
5 user.controller Xử lý các logic liên quan tới thay đổi liên quan tới tài khoản
6 auth.middleware Xử lý các chức năng cần đăng nhập mới có thể sử dụng
7 doc.middleware Xử lý các yêu cầu phía trước của soạn thảo văn bản
Bảng 5-23 Danh sách class backend
HIỆN THỰC HỆ THỐNG
Thiết kế dữ liệu
Hệ thống sử dụng MongoDB và Google Drive cá nhân người dùng để lưu trữ dữ liệu Dữ liệu lưu trữ ở mongoDB bao gồm dữ liệu người dùng còn ở google drive thì lưu trữ các tài liệu doc và minh chứng.
6.1.1 Danh sách các đối tượng trong hệ thống
STT Tên đối tượng Ý nghĩa, ghi chú
1 User Lưu trữ người dùng phục vụ đăng nhập
2 Document Lưu trữ thông tin dữ liệu về tài liệu và nội dung tài liệu
Bảng 6-24 Danh sách các đối tượng trong hệ thống (chức năng)
Hình 6-9 Danh sách các đối tượng trong hệ thống (thuộc tính)
STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa, ghi chú
1 username String Tên đăng nhập
3 email String Địa chỉ email
4 profilePicture String Hình ảnh đại diện
Bảng 6-25 Mô tả dữ liệu user
STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa, ghi chú
1 author String Tên tác giả
2 title String Tên tài liệu
3 isPublic Boolean Có public hay không?
4 doc Object Nội dung tài liệu
Bảng 6-26 Mô tả dữ liệu document
Thiết kế giao diện
Hình 6-12 Giao diện màn hình đăng nhập
Hình 6-13 Giao diện màn hình đăng ký
Hình 6-14 Giao diện màn hình chính
Hình 6-15 Giao diện màn hình file báo cáo
Hình 6-16 Giao diện màn hình up minh chứng
Hình 6-17 Giao diện màn hình upload local
Hình 6-18 Giao diện màn hình soạn thảo
Hình 6-19 Giao diện màn hình thay đổi tài khoản
Hình 6-20 Giao diện màn hình thùng rác
Hình 6-21 Giao diện màn hình upload từ drive