đồ án 2 quản lý quá trình thực hiện khóa luận tốt nghiệp

75 0 0
Tài liệu đã được kiểm tra trùng lặp
đồ án 2 quản lý quá trình thực hiện khóa luận tốt nghiệp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trang 1

THÔNG TIN -🙚🙚🙚🙚🙚 -

Đồ án 2

Quản lý quá trình thực hiện khóa luận tốt nghiệp

Giáo viên hướng dẫn:Lê Thanh Trọng

20521404 – Nguyễn Quốc Huy20521419 – Vũ Quang Huy

TPHCM, 01 - 2023

Trang 3

3 Yêu cầu tính năng

4 Yêu cầu về không tính năng5 Yêu cầu về hiệu năng6 Yêu cầu về tính tiện nghi7 Yêu cầu về tương thích8 Yêu cầu về sự an toàn9 Yêu cầu về công nghệ

III Công nghệ sử dụng và demo sản phẩm

1 Công nghệ sử dụng1.1 ReactJS

a Lý do nên sử dụng ReactJSb Điểm mạnh

c Điểm yếu1.2 NextJS

a Lý do nên sử dụng Next.jsb Điểm mạnh

c Điểm yếu1.3 TailwindCSS

a Lý do nên sử dụng Tailwind CSSb Điểm mạnh

c Điểm yếu1.4 Typescript

a Giới thiệu về TypeScriptb Lý do nên sử dụng TypeScriptc Điểm mạnh

d Điểm yếu1.5 NodeJS

a Giới thiệu về Node.js

Trang 4

b Lý do nên sử dụng Node.jsc Điểm mạnh

d Điểm yếu1.6 MongoDB

a Giới thiệu về MongoDBb Lý do nên sử dụng MongoDBc Điểm mạnh

d Điểm yếu

IV Use case diagram

1 Tổng quan:2 Actor list3 Use-case list4 Đặc tả Use- case4.1 Use-case “Sign In”4.2 Use-case “Chọn đề tài”

4.3 Use-case “Đăng ký đổi tên đề tài”4.4 Use-case “Đăng ký đề tài ĐATN”4.5 Use-case “Quản lý đề tài”

4.6 Use-case “Quản lý thông báo”4.7 Use-case “Quản lý deadline”4.8 Use-case “Quản lý report”

4.9 Use-case “Chấp thuận đổi tên đề tài”4.10 Use-case “Quản lý tài khoản”4.11 Use-case “Quản lý báo cáo”

V Class diagram

1 Sơ đồ lớp (Mức khái niệm)2 Sơ đồ lớp (Mức phân tích)3 Giải thích sơ đồ lớp3.1 Bảng tài khoản:3.2 Bảng đề tài:3.3 Bảng thông báo:3.4 Bảng đăng ký đề tài:3.5 Bảng Deadline:3.6 Bảng báo cáo:3.7 Bảng nộp deadline:3.8 Bảng nộp báo cáo:3.9 Bảng enum:

VI Activity diagram

1 Sign in diagram

VII State diagram

1 Authentication status diagram

Trang 5

2 Change topic status diagram

VIII Sequence diagram

1 Change thesis topic2 Create deadline3 Tạo thông báo4 Tạo report

IX Thiết kế kiến trúc

1 Tổng quan kiến trúc của hệ thống2 Chi tiết kiến trúc của hệ thống2.1 Tầng front-end

2.2 Tầng back-end

X Thiết kế giao diện

1 Màn hình “Đăng nhập”2 Màn hình “Trang chủ”

3 Màn hình “Đăng ký đề tài” của giáo viên4 Màn hình “Thông báo”

5 Màn hình “Deadline”6 Màn hình “Thêm deadline”7 Màn hình “Thêm báo cáo”

7.2 Màn hình “Đăng ký đề tài” của sinh viên7.3 Màn hình thông báo của sinh viên

7.4 Màn hình “Nộp Deadline/Report” của sinh viên7.5 Màn hình “Đổi tên đề tài”

7.6 Màn hình “Quản lý tài khoản” của khoa8 Màn hình “Quản lý báo cáo”

9 Màn hình “Thêm tài khoản”

10 Màn hình “Quản lý yêu cầu của sinh viên”

XI Summary

1 Development Environment and Deployment Environment1.1 Development Environment

1.2 Deployment Environment2 Achievement

3 Future development

Trang 6

I. Tổng quan về đồ án1 Mô tả bài toán

- Dự án Quản lý Quá trình Thực hiện Khóa luận Tốt nghiệp nhằm tạo ra một hệthống hiệu quả hỗ trợ sinh viên và người hướng dẫn trong việc quản lý và thực hiệncác bước quan trọng của quá trình làm khóa luận tốt nghiệp Dưới đây là mô tả vềmục tiêu và yêu cầu cơ bản của dự án:

● Mục tiêu của dự án: Tạo ra một hệ thống quản lý thông tin toàn diện, hỗ trợsinh viên trong việc lập kế hoạch, theo dõi tiến độ và hoàn thành khóa luậntốt nghiệp

● Cung cấp giao diện dễ sử dụng, giúp người dùng dễ dàng theo dõi và điềuchỉnh các công việc liên quan đến khóa luận.

● Tối ưu hóa quy trình giao tiếp và tương tác giữa sinh viên và người hướngdẫn

● Cung cấp công cụ phân tích và báo cáo để đánh giá tiến độ và hiệu suất củaquá trình thực hiện khóa luận.

II.Sơ lược về hệ thống1 Mục tiêu của hệ thống

1.1 Nhu cầu đáp ứng của hệ thống

- Hệ thống Quản lý Khóa luận Tốt nghiệp được thiết kế để tối ưu hóa và cải thiện quátrình quản lý trong việc hoàn thành các đồ án tốt nghiệp Giải pháp phần mềm nàynhằm cung cấp một phương tiện công nghệ để giám sát, đánh giá và báo cáo về quátrình hoàn thành khóa luận

Trang 7

1.2 Tiềm năng phát triển

- Quản lý các quy trình cũ không hiệu quả, đòi hỏi một hệ thống cho phép quản lýhiệu quả nhất đối với cả người sử dụng và sinh viên Từ quản lý công việc của sinhviên, thông tin học liệu, hợp đồng, báo cáo tiến độ, hồ sơ nghiên cứu, v.v., sử dụngcùng một hệ thống đồng bộ và minh bạch không chỉ tiết kiệm công sức và thời gianmà còn tăng độ chính xác Phần mềm trong tương lai sẽ đáp ứng nhu cầu củanhiều người hướng dẫn và sinh viên khi nhu cầu quản lý và thực hiện khóa luận tốtnghiệp trở nên quan trọng và đang gia tăng.

2 Mô tả chi tiết

- Tình trạng kinh doanh: Xác định danh sách các hoạt động kinh doanh sẽ được hỗtrợ bằng việc sử dụng hệ thống quản lý khóa luận tốt nghiệp, bao gồm các yêu cầuchức năng và không chức năng

- Những bước này giúp tạo nên một cơ sở cụ thể, từ việc hiểu rõ cấu trúc tổ chức,đánh giá mức độ công nghệ và xác định yêu cầu kinh doanh cần thiết để triển khaihệ thống quản lý khóa luận tốt nghiệp một cách hiệu quả.

2.2 Phương thức

- Phương pháp nghiên cứu tài liệu: Để hiểu về tình trạng hiện tại của quá trình thực hiện khóa luận tốt nghiệp, bao gồm tình trạng tổ chức, công nghệ thông tin và hoạt động kinh doanh Phương pháp phỏng vấn: Để tìm hiểu về công nghệ thông tin hiện tại và tình hìnhchuyên môn Trọng tâm là khả năng sử dụng máy tính, giao diện và các yêu cầu chức năng cần thiết cho quá trình làm khóa luận.

● Xác định quy trình làm việc cụ thể cho sinh viên và giáo viên hướng dẫn

● Xác nhận và quản lý các deadlines cho việc nộp báo cáo và các giai đoạn quan trọngkhác của quá trình làm khóa luận

● Xử lý yêu cầu thêm đề tài và các thay đổi trong quá trình thực hiện khóa luận từ

Trang 8

giáo viên và sinh viên Hệ thống quản lý thông tin:

2.3.2 Cấu hình cần thiết

• Phần cứng

Cấu hình hệ thống máy tính

Bộ xử lý CPU Intel XeonPlatinum 8280 /38.5 MB / 2.7GHzturbo / 28 cores 56 threads

AMD Ryzen Threadripper PRO 3995WX

/ Socket sWRX80 / 256MB / 4.2Ghz / 64cores 128 threads

Trang 9

Tên Chứng chỉ Chức năng

Database Management

3 Yêu cầu tính năng

chú1 Quản lý tài khoản

3 Quản lý deadline4 Quản lý report5 Quản lý thông báo6 Quản lý đề tài khóa luận7 Thay đổi đề tài khóa luận

4 Yêu cầu về không tính năng5 Yêu cầu về hiệu năng

No Vận hành Thời gian xử lý Lưu trữ Ghi chú1 Tạo report 500-1000 milliseconds

2 Tạo thông báo 500-1000 milliseconds3 Tạo deadline 500-1000 milliseconds4 Tải dữ liệu 500-1000 milliseconds

6 Yêu cầu về tính tiện nghi

Trang 10

3 phút hướng dẫn Giao diện dễ sử dụng

3 Quản lý

deadline 3 phút hướng dẫn4 Quản lý

thông báo 3 phút hướng dẫn

5 Thông báo Không cần hướng dẫn

Không cần thao tác

lại file

Không cần hướng dẫn

Không quá nhiều bước

7 Yêu cầu về tương thích

1 Gửi thông báo

Tất cả các thiết bị sử dụng

website Independent of OS version or application version

3 In report

8 Yêu cầu về sự an toàn

Trang 11

Notification

9 Yêu cầu về công nghệNo

1 Dễ vá lỗi Nhận dạng lỗi trong thời gian trung bình khoảng 15 phút

Không ảnh hưởng

2 Dễ duy trì Vá lỗi trong khoảng 1 tiếng

3 Dễ dàng nângcấp

Thêm chức năng mới hoặc nâng cấp 1 tính năng cũ nhanh chóng

III. Công nghệ sử dụng và demo sản phẩm1 Công nghệ sử dụng

1.1 ReactJS

ReactJS, thường được gọi đơn giản là React, là một thư viện JavaScript phổ biến được dùng để xây dựng giao diện người dùng, đặc biệt là các ứng dụng một trang (single-page applications - SPA) Nó được phát triển bởi Facebook (nay là Meta) và ra mắt vào năm 2013.

a Lý do nên sử dụng ReactJS

1 Component-Based Architecture: React sử dụng cấu trúc dựa trên các thành phần

Trang 12

(component), giúp phát triển ứng dụng trở nên linh hoạt và dễ tái sử dụng code.

2 Virtual DOM: React tạo ra một DOM ảo (Virtual DOM), cho phép ứng dụng cập nhật hiệu quả và nhanh chóng mà không cần tái tải toàn bộ trang.

3 Hỗ trợ Lớn từ Cộng đồng: Với cộng đồng lớn, React có nhiều tài nguyên học tập, thư viện bổ trợ và công cụ phát triển.

4 Tối ưu cho Hiệu suất: Kỹ thuật so sánh và cập nhật thông minh giúp tăng hiệu suất ứng dụng.

5 JSX: JSX là cú pháp mở rộng cho JavaScript, giúp viết code giao diện trở nên dễ dàng và rõ ràng hơn.

6 Tích hợp Linh hoạt: React có thể tích hợp với nhiều framework và thư viện khác như Redux, React Router,

Trang 13

a Lý do nên sử dụng Next.js

1 Server-Side Rendering (SSR) và Static Site Generation (SSG): Next.js hỗ trợ SSR và SSG một cách nhanh chóng và dễ dàng Điều này giúp cải thiện hiệu suất và tối ưu trải nghiệm người dùng.

2 Routing tích hợp: Next.js có hệ thống routing tự động, giúp quản lý các đường dẫn URL một cách dễ dàng và tự nhiên.

3 Hot Module Replacement (HMR): HMR giúp người phát triển xem những thay đổi ngay lập tức mà không cần làm mới trình duyệt, tăng tốc độ phát triển.

4 Tích hợp dễ dàng với React: Next.js được xây dựng trên nền tảng React, giúp tích hợp với các thành phần React hiện có một cách mượt mà.

5 Tích hợp API Routes: Cung cấp API Routes để xây dựng các API một cách dễ dàng và có thể được tích hợp trực tiếp vào ứng dụng Next.js.

6 Cộng đồng và Hỗ trợ: Next.js có một cộng đồng lớn và đội ngũ phát triển đằng sau được hỗtrợ chặt chẽ.

styled-4 Phát Triển Nhanh chóng: HMR giúp tăng tốc quá trình phát triển bằng cách hiển thị những

thay đổi ngay lập tức.

5 Tích hợp TypeScript dễ dàng: Hỗ trợ TypeScript nền tảng, giúp kiểm soát kiểu dữ liệu và tăng tính ổn định của ứng dụng.

c Điểm yếu

1 Nhiều kiến thức cần nắm trước khi vận dụng: Có một số khái niệm và tính năng mới (ví dụ:Server-Side Rendering) có thể đòi hỏi thời gian để hiểu rõ, đặc biệt là đối với những người mới bắt đầu.

2 Tích hợp cụm cơ sở dữ liệu phức tạp: Khi ứng dụng phức tạp, việc quản lý cơ sở dữ liệu cóthể đòi hỏi sự xử lý cẩn thận và kiến thức sâu rộng về Next.js và React.

3 Cần hiểu rõ React: Đối với những người mới sử dụng Next.js, việc có kiến thức vững về React là quan trọng để tận dụng đầy đủ tiềm năng của framework.

1.3 TailwindCSS

Trang 14

Tailwind CSS là một framework CSS utility-first, có ý nghĩa là nó cung cấp một tập hợp các lớp CSS có sẵn để bạn có thể sử dụng trực tiếp trong HTML của mình Dưới đây là một giới thiệu về Tailwind CSS, bao gồm lý do nên sử dụng, điểm mạnh và điểm yếu:

a Lý do nên sử dụng Tailwind CSS

1 Tốc độ Phát triển Nhanh chóng: Tailwind giúp tăng tốc quá trình phát triển bằng cách giảmthiểu việc viết CSS từ đầu, thay vào đó sử dụng các lớp CSS đã được định nghĩa sẵn.2 Dễ Dàng Tùy chỉnh và Mở Rộng: Mặc dù cung cấp nhiều lớp CSS mặc định, nhưng

Tailwind cũng cho phép bạn tùy chỉnh và mở rộng theo ý muốn của bạn thông qua tệp cấu hình.

3 Khả năng Tương tác và Hiệu quả cao: Tailwind giúp tối ưu hóa trải nghiệm người dùng bằng cách giảm kích thước file CSS và tối ưu hóa hiệu suất của trang web.

4 Không Cần Chọn Lựa Tên Lớp: Bạn không cần phải đặt tên cho lớp CSS của mình, giúp tránh những quyết định khó khăn về tên lớp.

5 Cộng Đồng Lớn và Hỗ Trợ Mạnh Mẽ: Tailwind có một cộng đồng rộng lớn, có nhiều tài nguyên hỗ trợ và ví dụ sử dụng.

3 Khả năng tích hợp tốt với các framework và thư viện khác: Tailwind dễ tích hợp với các

framework JavaScript như React, Vue.js, và Angular.

4 Tiếp cận Utility-First: Giúp tăng khả năng tái sử dụng và giảm độ phức tạp của CSS.

Trang 15

a Giới thiệu về TypeScript

TypeScript là một ngôn ngữ lập trình được phát triển bởi Microsoft, là một siêu tập (superset) của JavaScript Nó thêm vào các tính năng của JavaScript, đặc biệt là hệ thống kiểu dữ liệu tĩnh (statictyping) TypeScript được biên dịch thành JavaScript, có nghĩa là nó có thể chạy trên bất kỳ trình duyệt, máy chủ hoặc môi trường nào khác mà JavaScript có thể chạy.

3 Cần Cập Nhật Kiểu Dữ Liệu cho Các Thư viện Bên Ngoài: Một số thư viện JavaScript có thể không có kiểu dữ liệu TypeScript sẵn có, yêu cầu phải tự định nghĩa hoặc tìm kiếm kiểu dữ liệu từ cộng đồng.

Trang 16

4 Khả Năng Tương Thích Ngược: Trong một số trường hợp, việc tích hợp TypeScript vào một dự án JavaScript hiện có có thể gây ra vấn đề về khả năng tương thích ngược.

1.5 NodeJS

a Giới thiệu về Node.js

Node.js là một môi trường chạy JavaScript trên phía máy chủ (server-side), dựa trên V8 Engine của Google Chrome Nó được thiết kế để xây dựng các ứng dụng mạng quy mô lớn và có khả năng xử lý đồng thời nhiều kết nối một cách hiệu quả Node.js sử dụng mô hình non-blocking, event-driven I/O, giúp nó nhẹ và hiệu quả, phù hợp với các ứng dụng thời gian thực trên phân tán dữ liệu.

đơn giản hóa quá trình phát triển.

4 Hệ sinh thái mạnh mẽ: Có sẵn hàng nghìn module qua npm, giúp dễ dàng mở rộng và tích hợp.

5 Cộng đồng lớn và sôi nổi: Hỗ trợ tốt từ cộng đồng, với nhiều tài liệu và nguồn học tập.

d Điểm yếu

1 Không thích hợp cho tác vụ tính toán nặng CPU: Do bản chất single-threaded, nó không phù hợp cho các ứng dụng cần nhiều xử lý CPU.

Trang 17

2 Callback Hell: Trong mô hình non-blocking, việc xử lý nhiều tác vụ đồng thời có thể dẫn đến "callback hell", khiến code khó đọc và quản lý.

3 Không ổn định: Một số API của Node.js vẫn đang trong giai đoạn phát triển và thường xuyên thay đổi, có thể gây khó khăn trong việc bảo trì.

4 Học curve: Đối với những người mới, việc làm quen với mô hình non-blocking và asynchronous có thể mất thời gian.

5 Quản lý bộ nhớ: Node.js có thể không hiệu quả trong việc quản lý bộ nhớ cho các ứng dụng lớn.

1.6 MongoDB

a Giới thiệu về MongoDB

MongoDB là một hệ thống quản lý cơ sở dữ liệu (Database Management System - DBMS) thuộc loại NoSQL, được thiết kế để lưu trữ và truy xuất dữ liệu một cách linh hoạt và hiệu quả

MongoDB sử dụng mô hình dữ liệu JSON-similar được gọi là BSON (Binary JSON) và không yêu cầu định cấu trúc cố định cho dữ liệu.

ứng dụng với lượng dữ liệu lớn.

4 Hỗ trợ truy vấn phức tạp: MongoDB hỗ trợ truy vấn phức tạp và indexing, cho phép truy xuất dữ liệu một cách nhanh chóng.

5 Tính Nhanh và Hiệu quả: Với cơ chế lưu trữ dữ liệu linh hoạt và việc sử dụng indexing, MongoDB có thể cung cấp hiệu suất cao cho việc truy xuất dữ liệu.

Trang 18

dụng với lưu lượng dữ liệu lớn và nhiều truy vấn.

4 Tích hợp tốt với JavaScript và JSON: Được tạo ra với JavaScript và JSON, MongoDB hỗ trợ sự tích hợp tốt với các ứng dụng web phía client.

5 Cộng đồng và tài liệu lớn: MongoDB có một cộng đồng sôi nổi và nhiều tài liệu học tập và hỗ trợ từ cộng đồng.

Trang 19

IV Use case diagram

1 Tổng quan:

Trang 20

2 Actor listN

o Actor Short description/Notes

1 Sinh viên Đăng ký đề tài từ giáo viên, có thể xem thông báo, reports, deadline từ giáo viên đăng ký

2 Giáo viên Làm việc với sinh viên, có dashboard quản lý notification, reports, deadlines cho sinh viên

3 Khoa Quản lý account, báo cáo từ sinh viên

3 Use-case listN

1 Sinh viên, Giáo viên Sign In

3 Sinh viên Đăng ký đổi tên đề tài

Trang 21

4 Sinh viên, Giáo viên,

7 Giáo viên Quản lý thông báo8 Giáo viên Quản lý deadline

Trang 22

4 Đặc tả Use- case

4.1. Use-case “Sign In”Tên Use case Sign In

Actor Sinh viên, Giáo viên

Điều kiện đầu Cần được cấp phép

Flow cơ bản 1) Người dùng nhập tài khoản đã được cung cấp2) Nhấn vào nút Sign In

3) Người dùng được chuyển hướng vào Homepage

Alternative flow

1) Thất bại, người dùng yêu cầu nhập lại

Điều kiện sau Hệ thống sẵn sàng cho các hoạt động sauĐiểm mở rộng Không

4.2. Use-case “Chọn đề tài”Tên Use case Chọn đề tài

Điều kiện đầu Cần được cấp phép

Flow cơ bản 1) Người dùng nhấn vào Đăng ký đề tài KLTN trên NavBar

2) Chuyển hướng sang trang đăng ký3) Chọn đề tài mong muốn để đăng kýAlternative

Trang 23

Điều kiện đầu Cần được cấp phép

Flow cơ bản 1) Người dùng nhấn vào nút “ĐTĐT” trên danh sách Đăng ký đề tài

2) Chuyển đơn ĐTĐT tới giáo viên thành công

Alternative flow

Điều kiện sau Hệ thống sẵn sàng cho các hoạt động sauĐiểm mở rộng Không

4.4. Use-case “Đăng ký đề tài ĐATN”Tên Use case Đăng ký đề tài ĐATN

Điều kiện đầu Cần được cấp phép

Trang 24

Flow cơ bản 1) Người dùng nhấn vào nút “Đăng ký ĐT” trên thanh NavBar, để chuyển hướng sang trang đăng ký đề tài2) Điền các thông tin đề tài mới trên modal

3) Nhấn Submit để đăng ký đề tài

4) Xuất hiện thông báo khi đăng ký thành công hoặc thất bại

Alternative flow

Điều kiện sau Hệ thống sẵn sàng cho các hoạt động sauĐiểm mở rộng Không

4.5. Use-case “Quản lý đề tài”Tên Use case Quản lý đề tài

Điều kiện đầu Cần được cấp phép

Flow cơ bản 1) Nhấn vào biểu tượng 3 chấm trên đề tài để tiến hành chỉnh sửa

2) Người dùng có thể sửa chữa lại nội dung đề tài, hoặc xóa đi đề tài

3) Xuất hiện thông báo khi người dùng chỉnh sửa thành công hoặc thất bại

Alternative flow

Điều kiện sau Hệ thống sẵn sàng cho các hoạt động sauĐiểm mở rộng Không

4.6. Use-case “Quản lý thông báo”

Trang 25

Tên Use case Quản lý thông báo

Điều kiện đầu Cần được cấp phép

Flow cơ bản 1) Người dùng nhấn vào Dashboard trong Navbar để chuyển hướng sang trang Dashboard

2) Nhấn vào nút Thông báo, để chuyển hướng sang trang Notification

3) Người dùng có thể quản lý thông báo như: tạo thông báo, update thông báo

4) Xuất hiện thông báo khi thực thi thành công hoặc thất bại

Alternative flow

Điều kiện sau Hệ thống sẵn sàng cho các hoạt động sauĐiểm mở rộng Không

4.7. Use-case “Quản lý deadline”Tên Use case Quản lý deadline

Điều kiện đầu Cần được cấp phép

Flow cơ bản 1) Người dùng nhấn vào Dashboard trong Navbar để chuyển hướng sang trang Dashboard

2) Nhấn vào nút Deadline & Report, để chuyển hướng sang trang Deadline & Report

3) Người dùng có thể quản lý deadline như: tạo deadline, update deadline

4) Xuất hiện thông báo khi thực thi thành công hoặc thất bại

Alternative

Trang 26

Điều kiện sau Hệ thống sẵn sàng cho các hoạt động sauĐiểm mở rộng Không

Trang 27

4.8. Use-case “Quản lý report”Tên Use case Quản lý report

Điều kiện đầu Cần được cấp phép

Flow cơ bản 1) Người dùng nhấn vào Dashboard trong Navbar để chuyển hướng sang trang Dashboard

2) Nhấn vào nút Deadline & Report, để chuyển hướng sang trang Deadline & Report

3) Người dùng có thể quản lý report như: tạo report, update report

4) Xuất hiện thông báo khi thực thi thành công hoặc thất bại

Alternative flow

Điều kiện sau Hệ thống sẵn sàng cho các hoạt động sauĐiểm mở rộng Không

4.9. Use-case “Chấp thuận đổi tên đề tài”Tên Use case Chấp thuận đổi tên đề tài

Actor Giáo viên, Khoa

Điều kiện đầu Cần được cấp phép

Trang 28

Flow cơ bản 1) Xem danh sách mong muốn ĐTĐT từ sinh viên2) Khi giáo viên chấp thuận, gửi thông báo ĐTĐT qua

cho Khoa xem

3) Khi Khoa chấp thuận, sinh viên được tiến hành ĐTĐT

Alternative flow

1) Khi giáo viên từ chối yêu cầu ĐTĐT, sinh viên sẽ không thực hiện KLTN chung với giáo viên đó nữa2) Khi khoa từ chối, sinh viên không được tiến hành

Điều kiện đầu Cần được cấp phép

Flow cơ bản 1) Người dùng có quản lý tài khoản của sinh viên, giáo viên

2) Có thể thực hiện: tạo, update, xóa tài khoản

Alternative flow

Điều kiện sau Hệ thống sẵn sàng cho các hoạt động sauĐiểm mở rộng Không

Trang 29

4.11. Use-case “Quản lý báo cáo”Tên Use case Quản lý báo cáo

Điều kiện đầu Cần được cấp phép

Flow cơ bản 1) Khoa có thể xem các file báo cáo đã nộp từ sinh viên

Alternative flow

Điều kiện sau Hệ thống sẵn sàng cho các hoạt động sauĐiểm mở rộng Không

V. Class diagram

1 Sơ đồ lớp (Mức khái niệm)

Trang 30

2 Sơ đồ lớp (Mức phân tích)

Trang 31

3 Giải thích sơ đồ lớp

3.1. Bảng tài khoản:

mỗi tài khoản khitạo sẽ có một mãđịnh danh.

Trang 32

dùng để xác định vai trò của tài khoản đó

khoản

Trang 33

3.2. Bảng đề tài:

Tên thuộc tính

1 _id ObjectId PK Mã đề tài mỗi đề tài khi tạo sẽ có một mã định danh.

3 topic_descri

4 teacher_id ObjectId FK Mã giáo viên tạo đề tài

Trang 34

3.3. Bảng thông báo:

d PK Mã thông báo mỗi thôngbáo khi tạo sẽ có một mãđịnh danh.

3.4. Bảng đăng ký đề tài:

d PK Mã đăng ký đề tài mỗiđăng ký đề tài khi tạo sẽcó một mã định danh.

2 student_id ObjectId

FK Mã sinh viên đăng ký đề

tài

Trang 35

4 topic_id ObjectI

d FK Mã đề tài mà sinh viên đăng ký

6 teacher_id

Mã giáo viên tạo đề tài

7 deadlines

Danh sách mã deadline mà giáo viên tạo đề tài tạo

8 deadlines_done

Danh sách mã deadline đã hoàn thành

9

Danh sách mã nộp deadline

10 reports List<Report> Danh sách mã báo cáo mà giáo viên tạo đề tài tạo

11 reports_done List<Report> Danh sách báo cáo mà sinh viên đã hoàn thành

12 reports_submit List<SubmitReport>

Danh sách mã nộp báo cáo mà sinh viên đã nộp để lưu trữ file nộp của sinh viên

Trang 36

3.5. Bảng Deadline:

d PK Mã deadline, khi tạo một deadline sẽ có mộtmã đinh danh

deadline có thể đính kèm file để sinh viên tham khảo

Trang 37

7 teacher_id ObjectId

FK Mã giáo viên hướng

3.6. Bảng báo cáo:

d PK Mã báo cáo, khi tạo một báo cáo sẽ có một mã đinh danh

Ngày đăng: 15/05/2024, 09:24

Tài liệu cùng người dùng

Tài liệu liên quan