LỜI CẢM ƠNLời đầu tiên, em xin được gửi lời cảm ơn chân thành đến cô với sự giúp đỡ, giảng dạy nhiệt tình trong suốt quá trình thực hiện đồ án của môn học này.Đối với đề tài này, ban đầu
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
ĐỒ ÁN 1 PHÁT TRIỂN ỨNG DỤNG HỖ TRỢ QUẢN LÝ SINH VIÊN THỰC TẬP DOANH
NGHIỆP VÀ GỢI Ý ĐỊNH HƯỚNG NGHỀ NGHIỆP
GV HƯỚNG DẪN:
Nguyễn Thị Thanh Trúc
SV THỰC HIỆN:
Lê Thế Phúc – 20521764 Nguyễn Nhật Hoàng Quân – 20521790
TP HỒ CHÍ MINH, 2023
Trang 2LỜI CẢM ƠN
Lời đầu tiên, em xin được gửi lời cảm ơn chân thành đến cô với sự giúp
đỡ, giảng dạy nhiệt tình trong suốt quá trình thực hiện đồ án của môn học này.Đối với đề tài này, ban đầu công việc thực hiện gặp rất nhiều khó khăn vì chưahiểu rõ được chi tiết của một quy trình thực tập của sinh viên là như thế nào Tuynhiên, với sự tận tâm và phân tích tỉ mỉ, dễ hiểu của cô đã giúp nhóm chúng em
có được cái nhìn rõ hơn về vấn đề mình đang cần phải giải quyết Trong suốt quátrình thực hiện, cô luôn theo dõi tiến độ thực hiện và đưa ra những góp ý bổ íchgiúp cho công việc thực hiện của nhóm trở nên đơn giản hơn rất nhiều so vớitrước đó Mặc dù thời gian của môn học là không nhiều, nhưng những kiến thức
mà chúng em nhận được là rất lớn Qua đó, em xin thay mặt nhóm để gửi đến côlời cảm ơn sâu sắc với những gì cô đã truyền đạt cho chúng em Em xin chânthành cảm ơn
TP.Hồ Chí Minh, tháng 7 năm 2023
Trang 3MỤC LỤC
Trang 5Chương 1: Tổng quan
1.1 Mục tiêu đề tài
- Xây dựng ứng dụng “Quản lý sinh viên thực tập doanh nghiệp và gợi ý địnhhướng nghề nghiệp” nhằm giúp sinh viên và nhà trường có thể quản lý, đồng
bộ thông tin, thuận tiện theo dõi quá trình thực tập, giấy tờ hay các bước đăng
ký thực tập tại doanh nghiệp Hỗ trợ giảng viên hướng dẫn thực tập đơn giảnhóa các thao tác quản lý và tạo điều kiện tốt nhất cho sinh viên thực tập hiệuquả
- Phát triển ứng dụng với các chức năng đáp ứng đầy đủ yêu cầu người dùng vàlinh hoạt để phục vụ cho nhiều hệ thống hơn, gợi ý định hướng nghề nghiệpgiúp bản thân sinh viên biết được thông tin những ngành mình có thể theođuổi trong tương lai
1.2 Đối tượng nghiên cứu
Đối tượng được nghiên cứu chính trong đề tài là sinh viên đang trong giaiđoạn phù hợp để đăng ký thực tập doanh nghiệp
Bên cạnh đó, đối tượng không thể thiếu là giảng viên hướng dẫn và ngườiquản lý Đây cũng là các đối tượng mà nhóm hướng đến trong quá trìnhnghiên cứu và thực hiện đề tài
1.3 Hướng nghiên cứu
Tìm hiểu về quy trình thực tập của các trường Đại học, Cao đẳng hiện nay
Tìm hiểu về mô hình Quản lý sinh viên
Khảo sát sinh viên về những vấn đề thường gặp, gây khó khăn cho quá trìnhđăng ký thực tập
Tìm hiểu về các ứng dụng gợi ý hướng nghiệp hiện nay: JobWay, …
Trang 6 Xây dựng các yêu cầu cơ bản và cần thiết cho ứng dụng.
Phân tích chi tiết cho từng yêu cầu bài toán
Tìm hiểu về kiến trúc phần mềm Client – Server
Tìm hiểu Figma để thiết kế UI cho ứng dụng
Phát triển ứng dụng trên nền tảng ElectronJS
Sử dụng Trello để quản lý tiến trình thực hiện
Sử dụng Google Drive để lưu trữ tài liệu
Cài đặt ứng dụng bằng IDE Visual Studio Code
2
Trang 7Chương 2: Cơ sở lý thuyết và Công nghệ sử dụng
2.1 Cơ sở lý thuyết
2.1.1 Thuật toán Tìm kiếm nhị phân (Binary Search)
a Ý tưởng thuật toán
Thuật toán tìm kiếm nhị phân hoạt động trên các mảng đãđược sắp xếp Thuật toán bắt đầu bằng việc so sánh một phần
tử đứng chính giữa mảng với giá trị cần tìm Nếu bằng nhau,
vị trí của nó trong mảng sẽ được trả về Nếu giá trị cần tìmnhỏ hơn phần tử này, quá trình tìm kiếm tiếp tục ở nửa nhỏhơn của mảng Nếu giá trị cần tìm lớn hơn phần tử ở giữa,quá trình tìm kiếm tiếp tục ở nửa lớn hơn của mảng Bằngcách này, ở mỗi phép lặp thuật toán có thể loại bỏ nửa mảng
mà giá trị cần tìm chắc chắn không xuất hiện
b Các bước thực hiện
Giả sử mảng tìm kiếm bao gồm các phần tử nằm trong left (chỉ số của phần tử đầu mảng) và right (chỉ số của phần tử cuối mảng) Các bước của giải thuật như sau:
Bước 1 Gán left = 0; right = n – 1Bước 2
mid = ¿ ¿ ¿
2 (mid là chỉ số của phần tử giữa mảng)
So sánh a[mid] với x (giá trị cần tìm kiếm):
Trang 8+ a[mid] = x Tìm thấy giá trị
Dừng thuật toán và trả về kết quả tìm thấy giá trị trong mảng
+ a[mid] > x Gán right = mid – 1 Tìm kiếm x trong mảng con a[left], …, a[mid – 1]
+ a[mid] < x Gán left = mid + 1 Tìm kiếm x trong mảng con a[mid + 1], …, a[right]
Bước 3 Nếu left ≤ right thì lặp lại bước 2 Ngược lại thì dừng thuật toán
a Ý tưởng thuật toán
Thuật toán sẽ chọn ra một phần tử trong mảng để làm điểm đánhdấu gọi là pivot Sau khi chọn được điểm đánh dấu, nó sẽ chia mảng
4
Trang 9đó thành hai mảng con bằng cách so sánh với pivot đã chọn Mộtmảng sẽ bao gồm các phần tử nhỏ hơn hoặc bằng pivot và mảng cònlại luôn lớn hơn hoặc bằng pivot.
Sau đó, quá trình này được lặp lại đủ số lần cho đến khi các mảngnhỏ có thể được sắp xếp một cách dễ dàng để tạo ra một tập dữ liệuđược sắp xếp đầy đủ
Bước 2 Nếu left ≥ right thì kết thúc (danh
sách chỉ có 1 phần tử) Ngược lại thì:
Bước 2.1: Chọn tùy ý một phần tửa[k] trong danh sách (left ≤ k ≤right) mà tại đó x = a[k]; i = left; j
Trang 10j Bước 2.3: Nếu i ≤ j thì lặp lại bước2.2
Bước 3
Nếu left < i thì gọi đệ quy để phân hoạch danh sách con a[left], …, a[j]
Nếu i < right thì gọi đệ quy để phânhoạch danh sách con a[i], …, a[right]
Recommendation System được chia thành 2 nhóm lớn: Hệ thốngdựa trên nội dung (Content – based system) và Hệ thống lọc cộngtác (Collaborative system)
Hệ thống dựa trên nội dung (Content – based system):
o Là một hệ thống gợi ý đề xuất các sản phẩm hoặc nội dung tương
tự với nội dung mà người đã thích hoặc tìm kiếm trước đó, dựa
6
Trang 11trên thuộc tính của các sản phẩm đó Quá trình thực hiện hệthống gợi ý dựa trên nội dung được thực hiện theo các bước sau:
Bước 1
Thu thập dữ liệu: Thu thập thông tin
về thuộc tính của các sản phẩm, baogồm tên, mô tả, thể loại, tác giả, đạodiễn, đánh giá của người dùng, …
Bước 2
Xác định đặc trưng của sản phẩm:
Phân tích các thuộc tính của sản phẩm
để xác định các đặc trưng của sảnphẩm đó, ví dụ thể loại, đạo diễn, diễnviên, …
Bước 3
Xây dựng mô hình: Sử dụng các thuậttoán máy học để xây dựng mô hình dựa trên các đặc trưng của sản phẩm
Các thuật toán phổ biến được sử dụngtrong hệ thống bao gồm Vector SpaceModel, Term Frequency-Inverse Document Frequency và Latent Semantic Analysis
Bước 4 Tạo các gợi ý: Sử dụng mô hình để
đưa ra các gợi ý cho người dùng dựa trên các sản phẩm đã được người dùng thích hoặc tìm kiếm trước đó
Các sản phẩm đó có các đặc trưng tương tự với các sản phẩm đã được
Trang 12người dùng thích hoặc tìm kiếm sẽ được đề xuất cho người dùng
Bước 5
Đánh giá và cải tiến: Đánh giá hiệu quả của hệ thống bằng cách sử dụng các phương pháp đánh giá như độ chính xác, độ phủ, độ đa dạng, … Sau
đó, cải tiến hệ thống bằng cách tối ưu hoaas các tham số của mô hình hoặc
bổ sung các thuộc tính mới của sản phẩm để tăng độ chính xác và hiệu quả của hệ thống
o Minh họa:
Hình 2.1: Hình ảnh minh họa về Content – based system
- Hệ thống lọc cộng tác (Collaborative system):
o Là một hệ thống gợi ý đề xuất sản phẩm cho người dùng dựa trên
sự tương đồng giữa người dùng và lịch sử sử dụng sản phẩm của
họ Hệ thống lọc cộng tác gồm hai loại: Lọc dựa trên người dùng(User-based Collaborative) và Lọc dựa trên sản phẩm (Item-based Collaborative)
o Quá trình thực hiện hệ thống lọc cộng tác bao gồm các bước sau:
8
Trang 13Các bước thực hiện Chi tiết
Bước 1
Xây dựng ma trận đánh giá: Tạo một
ma trận với người dùng ở hàng và sảnphẩm ở cột, mỗi phần tử trong matrận là đánh giá của người dùng đóvới sản phẩm tương ứng
Bước 2
Tính toán độ tương đồng giữa cácngười dùng: Sử dụng các phươngpháp đo độ tương đồng Ví dụ nhưCosine Similarity để tính toán độtương đồng giữa các người dùng
Bước 3
Đưa ra các gợi ý: Sử dụng độ tương đồng giữa các người dùng để đưa ra các gợi ý sản phẩm cho người dùng
Trang 14a Thư viện ReactJS
Là một thư viện mã nguồn mở được Facebook xây dựng vàphát triển Thư viện này được sử dụng để tạo các ứng dụngtrang Web hấp dẫn với hiệu quả cao, tốc độ tải trang nhanh
Các đặc trưng của ReactJS: JSX, Components, One-way DataBinding, Virtual DOM, Simplicity, Performance
10
Trang 15Hình 2.3: Hình ảnh khái quát về các tính năng của
dự án lớn
One-way Data Binding: ReactJS được thiết kế theo luồng dữliệu một chiều hay One-way Data Binding Flux là một mẫukiến trúc giúp dữ liệu của chúng ta luôn giữ theo một chiều.Điều này tạo tính linh hoạt và tính hiệu quả hơn cho ứng dụng
Trang 16 Virtual DOM: Là sự đại diện cho đối tượng DOM gốc và hoạtđộng theo cơ chế One-way Data Binding Người dùng khôngcần thao tác trực tiếp trên Real DOM mà vẫn có thể thấy đượccác sự thay đổi của nó Bởi vì Virtual DOM đóng vai trò như
là một model và view nên sự thay đổi một trong hai sẽ kéotheo thành phần còn lại cũng sẽ thay đổi Bất cứ khi nào cómột sự thay đổi trong ứng dụng, toàn bộ UI sẽ được re-rendered lại trong Virtual DOM và sau đó nó sẽ kiểm tra sựkhác biệt giữa DOM trước đó và DOM mới vừa thay đổi Khihoàn thành, Real DOM chỉ cập nhật lại những thành phần thực
sự thay đổi và giữ nguyên phần còn lại
Simplicity: ReactJS sử dụng JSX để tạo cho ứng dụng trở nênđơn giản và việc code trở nên dễ hiểu hơn Như đã biết,ReactJS được phát triển dựa trên nền tảng component nê cóthể tái sử dụng lại các component khi cần thiết Điều này giúpviệc học và sử dụng ReactJS trở nên đơn giản hơn
− Performance: ReactJS được biết đến với hiệu suất vô cùngtuyệt vời Đặc trưng này giúp nó trở nên hiệu quả hơn rấtnhiều frameworks hiện nay Bởi vì ReactJS quản lý mộtVirtual DOM (tồn tại hoàn toàn trong bộ nhớ) Do đó, khi tạomới một component, chúng ta không viết trực tiếp trên RealDOM mà thay vào đó là viết trên Virtual DOM Điều này giúpcho hiệu năng mượt mà và nhanh hơn rất nhiều
b ElectronJS Framework
12
Trang 17 ElectronJS là một runtime framework cho phép người dùngtạo ứng dụng chạy trên nền tảng máy tính sử dụng HTML,CSS và Javascript Đây là sự kết hợp giữa 2 công nghệ đang
vô cùng phổ biến hiện nay là NodeJS và Chromium
Thành phần kiến trúc: Chromium, NodeJS và Custom APIs
Hình 2.5: Hình ảnh mô tả thành phần kiến trúc của
Electron+ Chromium: Chịu trách nhiệm tạo và hiển thị các trangcủa Web Nội dung Web được hiển thị trongRendering process của ElectronJS và nhờ môi trườngChromium, chúng ta có quyền truy cập đến tất cả APIscủa trình duyệt và công cụ phát triển
+ NodeJS: Cho phép truy cập vào vùng hệ thống.ElectronJS chạy trên nền tảng NodeJS trong chínhMain process của nó Điều đó giúp chúng ta truy cậpvào toàn bộ chức năng của NodeJS như tương tác vớifile hệ thống, hệ điều hành, …
Trang 18+ Custom APIs: Cho phép các nhà phát triển tạo nhữngtrải nghiệm trên máy tính một cách đơn giản và làmviệc dễ dàng với các chức năng có sẵn ElectronJS cómột API dễ dàng để có thẻ sử dụng các thư viện màgiúp thực hiện các công việc như tạo và hiển thị menu,hiển thị các thông báo, làm việc với bàn phím, …
Cách hoạt động: ElectronJS bao gồm 2 tiến trình là mainprocess và rendering process
+ Main process: Chịu trách nhiệm gửi và nhận các yêucầu từ phía Client, chuyển đổi dữ liệu giữa các cửa sổkhác nhau và là nơi quản lý tất cả bộ nhớ trong hệthống Có thể nói đây là trung tâm trao đổi dữ liệu củamọi cửa sổ trong ứng dụng
+ Rendering process: Chịu trách nhiệm hiển thị giaodiện của ứng dụng, tương tác trực tiếp với người dùng,
xử lý các sự kiện và gửi yêu cầu tới Main Process
14
Trang 19Hình 2.6: Hình ảnh mô tả quy trình hoạt động của
+ Hiệu năng cao
+ Tiết kiệm chi phí và thời gian
+ Có sẵn Module để đóng gói ứng dụng
c NodeJS
NodeJS là một nền tảng hướng máy chủ được xây dựng trên
cơ chế Javascript của Chrome Nó giúp cho việc xây dựngứng dụng trở nên nhanh và dễ dàng mở rộng hơn
Trang 20 Thành phần kiến trúc: Requests, NodeJS Server, Event
Queue, Thread Pool, Event Loop, External Resources
Các thành phần quan trọng của NodeJS được mô tả qua sơ
đồ dưới đây:
Hình 2.7: Hình ảnh khái quát các thành phần quan trọng trong
NodeJS
Các đặc trưng của NodeJS:
+ Asynchronous and Event Driven: Tất cả APIs của thưviện NodeJS đều bất đồng bộ NodeJS dựa trên máychủ và không đợi cho tới khi một API trả về dữ liệu.Máy chủ chuyển đến API tiếp theo sau khi gọi nó và
sẽ có một cơ chế thông báo sự kiên của NodeJS giúpmáy chủ nhận được phản hồi từ API trước đó đã gọi.+ Single Threaded, Highly Scalable: NodeJS sử dụng
mô hình đơn luồng với các sự kiện lặp Cơ chế sự
16
Trang 21kiện giúp máy chủ phản hồi và tạo tính mở rộng caocho máy chủ NodeJS sử dụng chương trình đơnluồng và các chương trình tương tự để cung cấp dịch
vụ với số lượng lớn các yêu cầu hơn so với nhiều máychủ truyền thống như Apache HTTP
+ No Buffering: Các ứng dụng NodeJS không bao giờ
sử dụng bộ đệm cho dữ liệu
d MySQL
MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổbiến nhất thế giới và được các nhà phát triển rất ưa chuộngtrong quá trình phát triển ứng dụng Vì MySQL là hệ quảntrị cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tínhkhả chuyển, hoạt động trên nhiều hệ điều hành cung cấpmột hệ thống lớn các hàm tiện ích rất mạnh Với tốc độ vàtính bảo mật cao, MySQL rất thích hợp cho các ứng dụng
có truy cập CSDL trên internet Người dùng có thể tải vềMySQL miễn phí từ trang chủ
MySQL được sử dụng cho việc bổ trợ Node.js, PHP, Perl,
và nhiều ngôn ngữ khác, làm nơi lưu trữ những thông tintrên các trang web viết bằng NodeJs, PHP hay Perl, …
Trang 22big data của các trang thương mại điện tử hoặc nhữnghoạt động kinh doanh nặng nề liên quan đến côngnghệ thông tin.
+ An toàn: MySQL đảm bảo được tiêu chuẩn bảo mậtrất cao
Tầm quan trọng:
+ Là cơ sở dữ liệu tốc độ cao, ổn định nhất hiện nay trênthị trường
+ Độ bảo mật thông tin cao
+ MySQL mặc dù có những tính năng cao nhưng sửdụng lại đơn giản, ít phức tạp
+ Hoàn toàn miễn phí vì đây là một mã nguồn mở Tuynhiên, trong trường hợp bạn cần được hỗ trợ từMySQL, bạn vẫn phải trả phí
+ Được hỗ trợ từ công đồng vì rất nhiều thành viên.+ Hoạt động trên nhiều hệ điều hành
18
Trang 23Chương 3: Phân tích bài toán
3.1 Danh sách các yêu cầu phần mềm
Trang 253.2 Phân tích thiết kế
3.2.1 Use Cases Diagram
3.2.1.1 Use Case Đăng nhập
a Sơ đồ Use Case
b Đặc tả Use Case
trước khi sử dụng các chức năng
Điều kiện trước Người dùng có tài khoản hoặc là sinh
viên, giảng viên của trường
Điều kiện sau
Luồng sự kiện chính 1 Người dùng đăng nhập vào hệ
thống
2 Hệ thống kiểm tra và thông báo
Trang 26trạng thái đăng nhập.
Luồng sự kiện thay thế
1 Hệ thống kiểm tra tài khoản cóhợp lệ hay không
2 Nếu chưa có tài khoản, lên xinban quản trị tạo tài khoản mới.3.2.1.2 Use Case Khôi phục tài khoản
b Sơ đồ Use Case
Điều kiện trước
Người dùng đã có một tài khoản sửdụng trong hệ thống
22
Trang 27Điều kiện sau
Cập nhật lại mật khẩu mới của ngườidùng vào cơ sở dữ liệu
Luồng sự kiện chính
1 Người dùng chọn Quên mậtkhẩu để bắt đầu khôi phục tàikhoản
2 Người dùng nhập Email của tàikhoản khôi phục
3 Người dùng nhập mật khẩumới và xác nhận lại mật khẩuvừa nhập
4 Kết thúc
Luồng sự kiện thay thế 2.1 Hệ thống kiểm tra Email
của người dùng Thông báo
“Email không hợp lệ Vuilòng kiểm tra lại” chongười dùng khi Emailkhông tồn tại trong hệthống
3.1 Hệ thống kiểm tra mật khẩu
mới và mật khẩu xác nhận
có giống nhau không.Thông báo “Kiểm tra lạimật khẩu xác nhận” khi mậtkhẩu nhập lại không chính
Trang 283.2.1.3 Use Case Đăng ký môn thực tập tốt nghiệp
a Sơ đồ Use Case
b Đặc tả Use Case
môn học thực tập tốt nghiệp
Điều kiện trước Sinh viên cần đăng nhập vào hệ thống
Điều kiện sau Cập nhật thông tin thực tập của sinh
viên vào cơ sở dữ liệu
Luồng sự kiện chính 1 Sinh viên đăng nhập vào hệ
Trang 294 Sinh viên bấm nút Xác nhận.
5 Kết thúc
Luồng sự kiện thay thế
4.1 Hệ thống kiểm tra sinh viên đãchọn đăng ký môn học haychưa Thông báo “Vui lòngchọn môn đăng ký” khi sinhviên chưa chọn đăng ký mônhọc
3.2.1.4 Use Case Tìm kiếm công việc thực tập
a Sơ đồ Use Case
Trang 30Tác nhân Sinh viên
Điều kiện trước Sinh viên cần đăng nhập vào hệ thống
Luồng sự kiện chính
1 Sinh viên đăng nhập vào hệthống
2 Sinh viên chọn thanh Tìm kiếm
và nhập thông tin công việcthực tập cần tìm kiếm
3 Sinh viên nhấn nút Tìm kiếmhoặc Enter để xem danh sáchcông việc hiện đang có sẵn
4 Kết thúc
Luồng sự kiện thay thế
3.1 Hệ thống kiểm tra tất cả côngviệc liên quan và hiển thị racho người dùng
3.2 Hệ thống sẽ hiển thị thêmdanh sách Gợi ý công việc vàCông việc xu hướng để sinhviên có thể tham khảo
3.2.1.5 Use Case Chọn, Lưu và Gỡ bỏ công việc khỏi danh sách
quan tâm
a Sơ đồ Use Case
26
Trang 31b Đặc tả Use Case
tâm
Điều kiện trước
Lọc các công việc quan tâm sau đó thêm vào danh sách công việc quan tâm
Điều kiện sau
Luồng sự kiện thay thế 1 Xóa công việc khỏi danh sách
các công việc quan tâm
Trang 323.2.1.6 Use Case Gửi yêu cầu thực tập
a Sơ đồ Use Case
b Đặc tả Use Case
Điều kiện trước
Sinh viên cung cấp thông tin về nơithực tập và gửi cho giảng viên để xácnhận
Điều kiện sau Giảng viên xác nhận và gửi lên hệ
Trang 33viên phải gửi lại thông tin côngviệc khác.
3.2.1.7 Use Case Báo cáo tiến độ định kỳ
a Sơ đồ Use Case
b Đặc tả Use Case
Mô tả
Sinh viên báo cáo tiến độ định kỳ để giảng viên
có thể theo dõi và đánh giá
Điều kiện trước
Sinh viên cần đăng nhập vào hệ thống và đãđăng ký môn thực tập tốt nghiệp
Điều kiện sau
Cập nhật lại tiến độ thực hiện vào cơ sở dữ liệu
Luồng sự kiện chính 1 Sinh viên đăng nhập vào hệ thống
Trang 342 Sinh viên chọn vào chức năng Thựctập.
3 Sinh viên chọn vào mục Báo cáo
4 Sinh viên theo dõi các công việc đangđược phân công Tick vào công việc khi
đã hoàn thành công việc
5 Kết thúc
Luồng sự kiện thay thế
4.1 Hệ thống sẽ highlight khi công việc sắptới hạn hoặc hết hạn nhưng vẫn chưađược hoàn thành
3.2.1.8 Use Case Theo dõi thực tập
a Sơ đồ Use Case
b Đặc tả Use Case
30
Trang 35Use Case Theo dõi thực tập
Mô tả
Sinh viên theo dõi thực tập qua các thông báo từ
hệ thống và đánh giá từ giảng viên hướng dẫnthực tập
Điều kiện trước Sinh viên cần đăng nhập vào hệ thống và đã đăngký môn thực tập tốt nghiệp
Luồng sự kiện chính
1 Sinh viên đăng nhập vào hệ thống
2 Sinh viên chọn vào chức năng Thực tập
3 Sinh viên chọn mục Theo dõi
4 Sinh viên theo dõi các thông báo từ hệthống và đánh giá từ giảng viên để hoànthành công việc một cách tốt nhất
5 Kết thúc
Luồng sự kiện thay thế Không có
3.2.1.9 Use Case Trao đổi Chat
a Sơ đồ Use Case
Trang 36b Đặc tả Use Case
viên
theo thời gian thực trực tiếp với nhau
Điều kiện trước Sinh viên và giảng viên phải có kết nối
mạng và đăng nhập trước khi sử dụng
Điều kiện sau
Luồng sự kiện chính 1 Nhập nội dung muốn trao đổi.
2 Gửi thông tin đi
Luồng sự kiện thay thế
3.2.1.10 Use Case Nộp báo cáo cuối kỳ
a Sơ đồ Use Case
32
Trang 37Điều kiện trước
Sinh viên chuẩn bị trước đẩy đủ cácfile cần nộp Sau đó đăng nhập vào hệthống để nộp các file báo cáo theođúng link đính kèm
Điều kiện sau
Trang 38Luồng sự kiện thay thế
1 Nếu như muốn chỉnh sửa(đượcphép trước hạn nộp) thì nhấn gỡxuống
2 Đính kèm và gửi lên hệ thốnglại
3.2.1.11 Use Case Gợi ý hướng nghiệp
a Sơ đồ Use Case
b Đặc tả Use Case
tin mà người dùng cung cấp
Điều kiện trước Sinh viên đăng nhập, cung cấp thông
tin cần thiết cho hệ thống
Điều kiện sau Sinh viên có thể phản hồi, đánh giá
34