Xây dựng hệ thống quản lý công việc cho khoa công nghệ thông tin trường cao đẳng công nghệ thủ đức

76 2 0
Xây dựng hệ thống quản lý công việc cho khoa công nghệ thông tin trường cao đẳng công nghệ thủ đức

Đ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

ỦY BAN NHÂN DÂN TP.HCM TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THỦ ĐỨC NGHIÊN CỨU KHOA HỌC NĂM HỌC 2021 - 2022 Đề tài: XÂY DỰNG HỆ THỐNG QUẢN LÝ CÔNG VIỆC CHO KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THỦ ĐỨC Mã số: Chủ nhiệm đề tài: Phan Thanh Nhuần Đồng thực hiện: Cao Trần Thái Anh TP Hồ Chí Minh, tháng 03 năm 2022 ỦY BAN NHÂN DÂN TP.HCM TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THỦ ĐỨC NGHIÊN CỨU KHOA HỌC NĂM HỌC 2021 - 2022 Đề tài: XÂY DỰNG HỆ THỐNG QUẢN LÝ CÔNG VIỆC CHO KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THỦ ĐỨC Mã số: Chủ nhiệm đề tài: Phan Thanh Nhuần Đồng thực hiện: Cao Trần Thái Anh TP Hồ Chí Minh, tháng 03 năm 2022 MỤC LỤC DANH MỤC CHỮ VIẾT TẮT ii DANH MỤC BIỂU BẢNG SỐ LIỆU iii DANH MỤC HÌNH ẢNH .iv CHƯƠNG 1: TỔNG QUAN 1.1 Lý chọn đề tài 1.2 Mục đích nghiên cứu 1.3 Đối tượng khách thể nghiên cứu 11 1.4 Giả thuyết nghiên cứu 11 1.5 Phương pháp nghiên cứu 11 1.6 Phạm vi ảnh hưởng .12 CHƯƠNG 2: TÌM HIỂU VỀ CẤU TRÚC VÀ KỸ THUẬT XÂY DỰNG HỆ THỐNG 13 2.1 Tìm hiểu Kotlin 13 2.2 Dịch vụ FCM (FireBase Cloud Messaging) 32 2.3 Xác thực phân quyền người dùng 35 CHƯƠNG 3: XÂY DỰNG, THỬ NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG 46 3.1 Giới thiệu ứng dụng 46 3.2 Yêu cầu phần mềm .46 3.3 Phân tích yêu cầu hệ thống 46 3.4 Sử dụng Kotlin xây dựng ứng dụng Android 47 3.5 Phát triển ứng dụng quản lý công việc 54 CHƯƠNG 4: KẾT LUẬN VÀ KIẾN NGHỊ 68 TÀI LIỆU THAM KHẢO 69 i DANH MỤC CHỮ VIẾT TẮT STT Chữ viết đầy đủ Ký hiệu chữ viết tắt CNTT Công nghệ thông tin GV Giảng viên SV Sinh viên HTGD & HT Hỗ trợ giảng dạy học tập NCKH Nghiên cứu khoa học STT Số thứ tự API Application Programming Interface REST Representational state transfer ORM Object–relational mapping 10 CSRF Cross-Site Request Forgery 11 XSS Cross-site scripting 12 SQL Structured Query Language 13 IDOR Insecure direct object references (IDOR) 14 FCM Firebase Cloud Messaging ii DANH MỤC BIỂU BẢNG SỐ LIỆU Bảng - Mô tả thư viện thay đổi 39 Bảng - Mơ tả hạng mục hình danh sách công việc 55 Bảng - Bảng mô tả thông tin công việc 56 Bảng - Bảng mơ tả hạng mục tìm kiếm 58 Bảng - Bảng mô tả hạng mục hình thơng tin cơng việc 60 Bảng - Thông tin công việc tḥc tính 61 Bảng – Bảng mô tả trạng thái công việc 66 iii DANH MỤC HÌNH ẢNH Hình - Kết thống kê hỏi đáp liên quan đến Java (StackOverflow) Hình - Kết thống kê hỏi đáp liên quan đến Kotlin (StackOverflow) .5 Hình - Thêm cợt device_token vào bảng user_profile lược đồ ERD Hình - Lược đồ ERD Laravel Passport sử dụng OAuth 2.0 Hình - Dùng Postman gửi yêu cầu xác thực Hình - Kết trả sau thực yêu cầu Postman Hình - Màn hình thống kê trạng thái việc phân công GV Hình - Màn hình quản lý công việc GV phụ trách Hình - Màn hình tạo thơng tin cơng việc, mời thành viên thực cơng việc 10 Hình 10 - Màn hình nhận notification cài ứng dụng thiết bị di đợng (Android) 10 Hình 11 - Tạo project với Android Kotlin .13 Hình 12 - Màn hình khai báo tḥc tính dự án .14 Hình 13 - Cấu trúc source dự án 15 Hình 14 - Các file xml ứng dụng 16 Hình 15 - Các biểu tượng ứng dụng 17 Hình 16 - Các file XML thư mục values 17 Hình 17 - Cấu trúc thư mục manifests 18 Hình 18 - Cấu trúc Gradle Script 19 Hình 19 - Cấu trúc file activity_main.xml chế độ Design .19 Hình 20 - Activity life cycle (Nguồn: Geeksforgeeks.org) 26 Hình 21 - Visible Lifetime, Foreground Lifetime (Nguồn: Geeksforgeeks.org) 27 Hình 22 - Activity Stack (Nguồn: Geeksforgeeks.org) 28 Hình 23 - Vịng đời Fragment (Nguồn: Geeksforgeeks.org) 30 Hình 24 - Kiến trúc FCM (Nguồn Firebase) 33 Hình 25 - Kiến trúc FCM Khoa CNTT 33 Hình 26 - File cấu hình Firebase SDK dùng cho web app .34 Hình 27 - Thơng tin cấu hình app đăng ký Firebase 34 Hình 28 - Sơ đồ tổ chức vendor hệ thống web Khoa CNTT .36 Hình 29 - Lược đồ ERD theo mơ hình ACL 37 Hình 30 - Tùy chỉnh thông tin người dùng ACL 38 iv Hình 31 - Giao diện quản lý người dùng sau thay đổi 39 Hình 32 - Lược đồ ERD Laravel Passport 40 Hình 33 - Protocol Flow OAuth 2.0 (Nguồn: https://oauth.net) 42 Hình 34 - Triển khai một ứng dụng khác sử dụng quyền chứng thực từ web Khoa CNTT 44 Hình 35 - Gửi yêu cầu xác thực người dùng 45 Hình 36 – Kết trả xác thực thành công 45 Hình 37 - Sequence diagram cho tính đăng nhập 48 Hình 38 - Màn hình đăng nhập 48 Hình 39 - Thông tin GV sau đăng nhập 49 Hình 40 - Sequence diagram xử lý người dùng (đã đăng nhập) .49 Hình 41 - Màn hình hồ sơ (sau đăng nhập thành cơng) 50 Hình 42 - Màn hình danh sách cơng việc GV 51 Hình 43 - Màn hình chi tiết cơng việc GV 52 Hình 44 - Màn hình danh sách thơng báo nhận 53 Hình 45 - Tin nhắn gửi đến thiết bị có cơng việc 53 Hình 46 - Thiết kế layout master ứng dụng web 54 Hình 47 - Màn hình quản lý công việc 55 Hình 48 - Menu điều hướng quản lý công việc 56 Hình 49 - Màn hình quản lý cơng việc tạo 57 Hình 50 - Cho phép xóa cơng việc tạo .57 Hình 51 - Tìm kiếm cơng việc .59 Hình 52 - Màn hình cập nhật thơng tin cơng việc 60 Hình 53 - Màn hình cập nhật thơng tin cơng việc bị lỗi 62 Hình 54 - Màn hình cập nhật thơng tin thành công .63 Hình 55 - Màn hình mơ tả chi tiết công việc 63 Hình 56 - Màn hình thêm file mô tả 64 Hình 57 - Màn hình mời thành viên 64 Hình 58 - Màn hình tìm kiếm 65 Hình 59 - Màn hình thống kê giảng viên cơng việc phụ trách .65 Hình 60 - Màn hình thống kê việc làm theo thành viên phụ trách 66 Hình 61 - Màn hình quản lý danh mục 67 v CHƯƠNG 1: TỔNG QUAN 1.1 Lý chọn đề tài 1.1.1 Tính thời đề tài Trường Cao đẳng Công nghệ Thủ Đức tiếp cận phát triển hướng dạy học theo dự án thực tế, bám sát thực tiễn Thể qua hoạt động đưa Giảng viên, Sinh viên thực tập doanh nghiệp, mời chuyên gia trường chia sẻ công nghệ thực tế, xây dựng chương trình đào tạo thể công nghệ mà sử dụng doanh nghiệp, … Với mong muốn sinh viên trường có hợi việc làm, làm ngành nghề đào tạo Ngồi Nhà trường cịn định hướng phát triển chương trình hợp tác quốc tế, chia sẻ kỹ thuật, đào tạo gắn kết với đối tác nước ngồi Điển chương trình cơng nghệ thông tin gắn kết với đối tác Nhật Bản, Tập đồn Freesia Trường Cao đẳng Cơng nghệ Cơng nghiệp Tokyo để đạt chương trình đào tạo với gắn kết ba bên Chương trình đào tạo ngành Cơng nghệ thơng tin theo mơ hình gắn kết với doanh nghiệp trường cao đẳng Nhật Bản (gọi tắt Chương trình IT-TFT) chương trình xây dựng sở tiếp cận mơ hình KOSEN Nhật Bản, kết hợp chương trình đào tạo Trường Cao đẳng Công nghệ Thủ Đức (TDC) Trường Cao đẳng Công nghệ Công nghiệp Tokyo - Nhật Bản (Tokyo Metropolitan College of Industrial Technology TMCIT), với hợp tác hỗ trợ từ Tập đoàn Freesia - Nhật Bản Qua thấy tính thực tiễn chương trình đào tạo Nhà trường, phát triển ứng dụng tảng web, thiết bị di động nghề nghiệp hấp dẫn, hướng đào tạo Khoa CNTT, đa số công ty quan tâm tuyển dụng Các công nghệ bật Node.js, Java, Python, Kotlin, PHP, … áp dụng vào nhiều dự án Đây hội sinh viên tiếp cận, đào tạo sớm nhà trường, có hợi ứng tuyển vào ngành nghề sau trường Xây dựng hệ sinh thái phần mềm tảng web Khoa CNTT, cung cấp nhiều dịch vụ để GV SV có mơi trường giảng dạy học tập bám sát thực tiễn quản lý người dùng áp dụng mơ hình ACL (được phát triển Sentry's PHP SDK, Sentinel, Cartalyst), OAuth 2.0, web Khoa CNTT thiết kế hướng dịch vụ, chia nhỏ thành module nhỏ xử lý nghiệp vụ, cung cấp API tương tác với hệ thống, … Nhờ GV & SV phát triển thêm tiện ích để cài đặt vào hệ thống GV, SV tham gia vào hệ sinh thái phần mềm Khoa CNTT có điều kiện làm việc nhóm, quản lý source code với Git với hàng trăm thành viên tham gia, hàng trăm branch Xử lý nhuần nhuyễn xử lý Git merge, conflict, rebase, … Đây những kỹ cần thiết tham gia dự án doanh nghiệp Doanh nghiệp ngày yêu cầu cao mặt kỹ giải vấn đề, lập trình viên có kỹ xử lý lỗi, khả tìm kiếm giải pháp, kỹ hợp tác làm việc nhóm Do đó, SV có điều kiện thực hành q trình học tập có ưu lớn tìm việc làm sau trường Kiến trúc web Khoa CNTT thiết kế thực NCKH năm học 20182019, 2019-2020 Đã tạo hệ thống thư viện PHP (package PHP) công bố dịch vụ Github, Packagist Các xử lý thu thập dữ liệu tự động trang StackOverflow, ITviec, VietnamWorks, xử lý lỗi bảo mật dữ liệu, quản lý thực tập Trong đề tài tác giả tiếp tục đóng góp thêm tiện ích vào hệ sinh thái, nâng cấp lên phiên Đặc biệt, tác giả có xây dựng ứng dụng mobile Android với Kotlin, nhờ GV & SV có thêm tư liệu để giảng dạy học tập Một những ràng buộc một đề tài NCKH cần đáp ứng giải một vấn đề Nhà trường, thể tính thực tiễn ứng dụng Đề tài này, tác giả xây dựng một ứng dụng (web, mobile) hỗ trợ Khoa CNTT quản lý cơng việc mợt cách thuận tiện 1.1.2 Tính cấp thiết đáp ứng nhu cầu phát triển kinh tế - xã hội, nâng cao chất lượng đào tạo Đào tạo bám sát thực tiễn yêu cầu cấp thiết mà lãnh đạo Nhà trường quán triệt đề giảng viên Chính chương trình học nội dung thực tiễn mà sinh viên cần phải thực Với việc tạo web Khoa CNTT không trang tin tức – thơng báo mà cịn mợt trang dịch vụ, cung cấp tiện ích để GV SV sử dụng phục vụ mục đích học tập Điều minh chứng cho việc thiết kế web theo hướng dễ mở rộng, tạo hệ sinh thái phần mềm tảng web Khoa CNTT Xuất phát từ yêu cầu thực tiễn, ngồi cơng tác giảng dạy theo phân cơng Khoa CNTT, GV cịn phụ trách thêm cơng tác khác xây dựng chương trình đào tạo, thực NCKH, chuẩn bị kiện hợp tác doanh nghiệp tham quan doanh nghiệp, … Hiện tại, Khoa CNTT dùng Google Sheet để quản lý công việc GV, giao việc qua email, điện thoại, họp khoa, họp tổ bộ môn, … Việc thống kê kết công việc thực dùng để xét thi đua năm học Trong q trình thực nảy sinh mợt số vấn đề sau: công việc thực nhiều GV mô tả lặp lại nhiều lần cho GV, cần điều chỉnh thông tin thống kê cơng việc cần thực tồn bợ Sheet, mơ tả chi tiết công việc chưa rõ ràng Nhằm hoàn thiện hệ sinh thái ứng dụng cho Khoa CNTT, bên cạnh việc phát triển tiện ích bên mảng web, cần phát triển thêm phần mềm bên di động, sử dụng dịch vụ cung cấp bên hệ sinh thái web Do tác giả đề tài dựa yêu cầu thực tiễn từ Khoa CNTT cần một ứng dụng để quản lý công việc, phát triển thêm tiện ích quản lý cơng việc tích hợp vào web Khoa CNTT Bên cạnh phát triển thêm ứng dụng di đợng Android với tính nhận tin nhắn có cơng việc mới, công việc làm, xác nhận trạng thái cơng việc Đó lý tác giả chọn đề tài: “Xây dựng hệ thống quản lý công việc cho Khoa Công nghệ thông tin Trường Cao đẳng Công nghệ Thủ Đức” Hình 47 - Màn hình quản lý công việc STT Tên hạng mục Điều hướng trang Địa chỉ Thêm Trang thêm công việc mớI, hiển thị trang thêm thông tin công admin/edit việc mớI cập nhật công việc Danh sách Trang quản lý công việc admin/task Giảng viên Trang thống kê công việc GV admin/task/teachers Danh mục Trang quản lý danh mục cơng việc admin/categories?_key=t askab7e417e2dddc5e524 0b586d454e Cấu hình Trang quản lý cấu hình module admin/task/config Ngơn ngữ Trang quản lý ngôn ngữ module admin/task/lang Bảng - Mơ tả hạng mục hình danh sách cơng việc 55 Hình 48 - Menu điều hướng quản lý công việc STT Tên hạng mục Mô tả Công việc Tên công việc, hỗ trợ xếp công việc theo alphabet Trạng thái Trạng tháI công việc: xong, chưa xong, thực hiện, hủy Hỗ trợ xếp theo trạng thái công việc Ngày bắt đầu Ngày bắt đầu công việc, hỗ trợ xếp tăng/giảm ngày tháng Ngày kết thúc Ngày kết thúc công việ, hỗ trợ xếp tăng/giảm ngày tháng Ngày cập nhật Ngày cập nhật gần công việc Thao tác Thao tác công việc chọn + Sửa thông tin công việc + Copy, tạo công việc mớI từ công việc chọn + Xóa cơng việc chọn Bảng - Bảng mơ tả thơng tin cơng việc 56 Hình 49 - Màn hình quản lý cơng việc tạo Hình 50 - Cho phép xóa cơng việc tạo 57 Cho phép xóa cơng việc tạo Có hình thức xóa: xóa vật lý, xóa luận lý Xóa vật lý: xóa thơng tin cơng việc khỏi table Xóa luận lý: đánh dấu cơng việc xóa, kỹ thuật xóa mặc định hệ thống STT Hạng mục Mơ tả Từ khóa Tìm kiếm cơng việc theo từ khóa, thơng tin từ khóa tìm kiếm tên cơng việc, mơ tả cơng việc Ngày bắt đầu Ngày bắt đầu thực công việc Ngày kết thúc Ngày kết thúc thực công việc Trạng thái Trạng thái xử lý công việc Độ lớn Độ lớn công việc Độ ưu tiên Độ ưu tiên xử lý công việc Sorting Sắp thứ tự theo cột: tên công việc, trạng thái, ngày bắt đầu, ngày kết thúc, ngày cập nhật Bảng - Bảng mơ tả hạng mục tìm kiếm 58 Hình 51 - Tìm kiếm cơng việc 59 3.5.2 Màn hình thơng tin cơng việc Màn hình thơng tin công việc hỗ trợ thêm công việc, cập nhật thơng tin cơng việc có Hình 52 - Màn hình cập nhật thơng tin cơng việc Mơ tả hạng mục menu STT Hạng mục Mô tả Thông tin công việc Mô tả tên cơng việc tḥc tính cơng việc: ngày bắt đầu, ngày kết thúc, danh mục công việc, độ lớn, độ ưu tiên, trạng thái công việc Mô tả chi tiết công Mô tả tổng quan công việc, mô tả chi tiết công việc việc Thông tin khác Đính kèm hình ảnh, file dữ liệu liên quan đến công việc cần thực Thành viên phụ Mời thành viên phụ trách thực công việc trách Bảng - Bảng mơ tả hạng mục hình thông tin công việc 60 Thông tin công việc tḥc tính STT Hạng mục Mơ tả Ràng buộc Bắt buộc nhập, tối đa 255 ký tự Công việc Tiêu công việc Ngày bắt đầu Ngày bắt đầu thực Bắt buộc nhập, định dạng: ddcông việc mm-yy (ngày-tháng-năm) Ngày kết thúc Ngày kết thúc thực Bắt buộc nhập, định dạng: ddcông việc mm-yy (ngày-tháng-năm) Danh mục công việc Danh mục công việc Bắt ḅc nhập, chọn từ danh sách có Đợ lớn Độ lớn công việc Bắt buộc nhập, chọn từ danh sách có Đợ ưu tiên Đợ ưu tiên công việc Bắt buộc nhập, chọn từ danh sách có Trạng thái Trạng thái cơng việc Tùy chọn (mặc định trạng thái tạo), từ danh sách có Bảng - Thơng tin cơng việc tḥc tính 61 Hình 53 - Màn hình cập nhật thông tin công việc bị lỗi 62 Màn hình cập nhật thơng tin thành cơng Hình 54 - Màn hình cập nhật thơng tin thành cơng Màn hình mơ tả chi tiết cơng việc Hình 55 - Màn hình mơ tả chi tiết cơng việc 63 Mơ tả chi tiết cơng việc có hỗ trợ plugin Tinymce, tiện ích cho phép tùy chỉnh định dạng nợi dung mơ tả Hình 56 - Màn hình thêm file mơ tả Hình 57 - Màn hình mời thành viên 64 Hình 58 - Màn hình tìm kiếm Màn hình thống kê giảng viên công việc phụ trách Hình 59 - Màn hình thống kê giảng viên công việc phụ trách 65 STT Hạng mục Mô tả Thành viên Thành viên phụ trách công việc, GV-nhân viên Khoa CNTT Total Tổng công việc phụ trách thực Assigned Công việc giao Canceled Cơng việc tạm dừng mợt lý Done Cơng việc hồn thành Declined Từ chối công việc In progress Công việc thực thời điểm Pending Cơng việc bị hỗn lại Tasks Danh sách công việc thành viên phụ trách Bảng – Bảng mơ tả trạng thái cơng việc Hình 60 - Màn hình thống kê việc làm theo thành viên phụ trách 66 Màn hình thống kê việc làm theo thành viên phụ trách, thông tin hiển thị tương tự hình quản lý task Hình 61 - Màn hình quản lý danh mục 67 CHƯƠNG 4: KẾT LUẬN VÀ KIẾN NGHỊ Kết đề tài NCKH tạo phần mềm giúp việc cho Khoa CNTT, giúp quản lý công việc GV một cách rõ ràng, có sở để quản lý Khoa CNTT xem xét đánh giá hàng năm Web thiết kế theo hướng dịch vụ, cho phép tích hợp thêm tính mở rợng Tạo hệ sinh thái module, giúp sinh viên tiếp cận kiến trúc dự án lớn triển khai doanh nghiệp Hiện phần mềm dự kiến đưa vào sử dụng Khoa CNTT, sau một khoảng thời gian sử dụng để có những điều chỉnh phù hợp thực tiễn, phần mềm đưa vào sử dụng phạm vi toàn trường 68 TÀI LIỆU THAM KHẢO [1] Laravel, “Laravel”, Laravel Online Manual, 209 [Trực tuyến] Available: https://laravel.com [Đã truy cập 2022] [2] W Jason Gilmore , [3] Andrew Pham, Phuong-Van Pham, Nguyen Viet Khoa, Quản trị dự án phần mềm theo triết lý Agile, NXB Bách Khoa Hà Nội, 2015 [4] Trung tâm HTDN ĐTNL, Quy trình biểu mẫu học kỳ doanh nghiệp, TDC, 2015 [5] Erich Gamma, Richard Helm, Ralph Johnson, John VlissidesGang of Four Design Patterns, Addison-Wesley, 1994 69

Ngày đăng: 09/10/2023, 09:02

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

Tài liệu liên quan