Xây dựng hệ thống quản lý công việc cho khoa CNTT - Cao đẳng Công nghệ Thủ Đức

Xây dựng hệ thống quản lý công việc hiệu quả cho khoa CNTT Cao đẳng Công nghệ Thủ Đức. Tối ưu quy trình, nâng cao hiệu suất làm việc.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Nghiên cứu khoa học

2021 - 2022

76
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

DANH MỤC CHỮ VIẾT TẮT

DANH MỤC BIỂU BẢNG SỐ LIỆU

DANH MỤC HÌNH ẢNH

1. CHƯƠNG 1: TỔNG QUAN

1.1. Lý do chọn đề tài

1.1.1. Tính thời sự của đề tài

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

1.2. Mục đích nghiên cứu

1.2.1. Sử dụng Kotlin xây dựng ứng dụng trên Android

1.2.2. Phát triển package phân quyền và xác thực dùng chung cho các ứng dụng

1.3. Phát triển ứng dụng quản lý công việc

1.4. Đối tượng và khách thể nghiên cứu

1.5. Giả thuyết nghiên cứu

1.7. Phạm vi ảnh hưởng

2. CHƯƠNG 2: TÌM HIỂU VỀ CẤU TRÚC VÀ KỸ THUẬT XÂY DỰNG HỆ THỐNG

2.1. Tìm hiểu Kotlin

2.2. Dịch vụ FCM (FireBase Cloud Messaging)

2.3. Xác thực và phân quyền người dùng

3. CHƯƠNG 3: XÂY DỰNG, THỬ NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG

3.1. Giới thiệu ứng dụng

3.2. Yêu cầu của phần mềm

3.3. Phân tích yêu cầu của hệ thống

3.4. Sử dụng Kotlin xây dựng ứng dụng trên Android

3.5. Phát triển ứng dụng quản lý công việc

4. CHƯƠNG 4: KẾT LUẬN VÀ KIẾN NGHỊ

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về Hệ Thống Quản Lý Công Việc CNTT Hiệu Quả

Trong bối cảnh chuyển đổi số mạnh mẽ, việc quản lý công việc hiệu quả trong các khoa Công nghệ Thông tin (CNTT) trở nên vô cùng quan trọng. Một hệ thống quản lý công việc CNTT tốt giúp tối ưu hóa nguồn lực, nâng cao năng suất và đảm bảo chất lượng công việc. Nó không chỉ đơn thuần là một công cụ theo dõi task, mà còn là nền tảng để xây dựng quy trình làm việc khoa học, minh bạch và hiệu quả. Hiện nay, có rất nhiều phần mềm quản lý công việc CNTT trên thị trường, mỗi phần mềm có những ưu điểm và nhược điểm riêng. Việc lựa chọn một hệ thống phù hợp đòi hỏi sự cân nhắc kỹ lưỡng, dựa trên các yếu tố như quy mô của khoa, đặc thù công việc, ngân sách và trình độ của người dùng. Ngoài ra, việc tích hợp hệ thống quản lý công việc CNTT với các công cụ khác như email, lịch, và hệ thống quản lý dự án cũng là một yếu tố quan trọng cần xem xét. Một hệ thống được triển khai thành công sẽ giúp các giảng viên, sinh viên và nhân viên trong khoa CNTT phối hợp làm việc nhịp nhàng, giảm thiểu sai sót và đạt được mục tiêu chung. Theo nghiên cứu từ Trường Cao đẳng Công nghệ Thủ Đức, một hệ thống quản lý công việc tốt giúp tăng năng suất làm việc lên đến 20% và giảm thời gian hoàn thành công việc xuống 15% (Trích dẫn từ tài liệu gốc). Điều này cho thấy tầm quan trọng của việc đầu tư vào một giải pháp quản lý công việc cho bộ phận IT hiệu quả.

1.1. Tầm quan trọng của quản lý task khoa công nghệ thông tin

Việc quản lý task khoa công nghệ thông tin hiệu quả đóng vai trò then chốt trong việc đảm bảo tiến độ và chất lượng của các dự án, công việc. Nó giúp phân công công việc rõ ràng, theo dõi tiến độ thực hiện, và giải quyết các vấn đề phát sinh kịp thời. Một hệ thống quản lý task tốt cũng giúp cải thiện khả năng giao tiếp và phối hợp giữa các thành viên trong nhóm, từ đó nâng cao hiệu quả làm việc chung. Đặc biệt, trong môi trường CNTT, nơi các công việc thường phức tạp và đòi hỏi sự phối hợp chặt chẽ giữa nhiều người, việc quản lý task trở nên càng quan trọng hơn. Nó giúp đảm bảo rằng mọi người đều hiểu rõ vai trò và trách nhiệm của mình, và công việc được hoàn thành đúng thời hạn và đạt chất lượng yêu cầu.

1.2. Các tính năng cần thiết của phần mềm quản lý công việc CNTT

Một phần mềm quản lý công việc CNTT hiệu quả cần có đầy đủ các tính năng sau: phân công công việc, theo dõi tiến độ, quản lý tài liệu, giao tiếp và phối hợp, báo cáo và thống kê. Tính năng phân công công việc cho phép người quản lý giao việc cho từng thành viên trong nhóm, xác định thời hạn hoàn thành và các yêu cầu liên quan. Tính năng theo dõi tiến độ giúp người quản lý nắm bắt được tình hình thực hiện công việc, phát hiện các vấn đề phát sinh và có biện pháp xử lý kịp thời. Tính năng quản lý tài liệu cho phép người dùng lưu trữ, chia sẻ và quản lý các tài liệu liên quan đến công việc. Tính năng giao tiếp và phối hợp giúp các thành viên trong nhóm trao đổi thông tin, thảo luận và giải quyết các vấn đề. Tính năng báo cáo và thống kê cung cấp các thông tin về hiệu quả làm việc của từng thành viên và của cả nhóm.

II. Vấn đề và thách thức khi Quản Lý Dự Án Công Nghệ Thông Tin

Mặc dù có nhiều lợi ích, việc triển khai và sử dụng hệ thống quản lý công việc CNTT cũng đối mặt với không ít thách thức. Một trong những thách thức lớn nhất là sự kháng cự từ người dùng. Nhiều người có thể quen với cách làm việc cũ và ngại thay đổi. Ngoài ra, việc lựa chọn một hệ thống phù hợp với nhu cầu và khả năng của khoa cũng là một vấn đề nan giải. Một hệ thống quá phức tạp hoặc quá đơn giản đều có thể không mang lại hiệu quả mong muốn. Một thách thức khác là việc tích hợp hệ thống với các công cụ khác mà khoa đang sử dụng. Nếu hệ thống không tương thích với các công cụ này, người dùng sẽ phải chuyển đổi qua lại giữa các ứng dụng, gây mất thời gian và giảm năng suất. Cuối cùng, việc đảm bảo an toàn và bảo mật cho dữ liệu trong hệ thống cũng là một yếu tố quan trọng cần xem xét. Các khoa CNTT cần có các biện pháp bảo mật phù hợp để ngăn chặn các cuộc tấn công mạng và bảo vệ dữ liệu khỏi bị mất cắp hoặc rò rỉ. Theo tài liệu gốc, việc thiếu đào tạo và hỗ trợ cho người dùng là một trong những nguyên nhân chính dẫn đến thất bại trong việc triển khai ứng dụng quản lý công việc CNTT.

2.1. Khó khăn trong việc triển khai ứng dụng quản lý công việc CNTT

Việc triển khai một ứng dụng quản lý công việc CNTT thành công đòi hỏi sự chuẩn bị kỹ lưỡng và kế hoạch triển khai rõ ràng. Các khó khăn thường gặp bao gồm: sự thiếu hụt nguồn lực, thiếu sự hỗ trợ từ lãnh đạo, và thiếu sự phối hợp giữa các bộ phận. Để vượt qua những khó khăn này, các khoa CNTT cần xây dựng một kế hoạch triển khai chi tiết, đảm bảo có đủ nguồn lực và sự hỗ trợ từ lãnh đạo, và tăng cường sự phối hợp giữa các bộ phận. Việc đào tạo và hỗ trợ người dùng cũng là một yếu tố quan trọng cần xem xét.

2.2. Giải quyết bài toán phân công công việc CNTT hiệu quả

Bài toán phân công công việc CNTT hiệu quả là một bài toán phức tạp, đòi hỏi sự cân nhắc kỹ lưỡng các yếu tố như: năng lực của từng thành viên, mức độ ưu tiên của công việc, và thời hạn hoàn thành. Để giải quyết bài toán này, các khoa CNTT cần xây dựng một quy trình phân công công việc rõ ràng, sử dụng các công cụ hỗ trợ phân công công việc, và thường xuyên đánh giá hiệu quả của việc phân công. Ngoài ra, việc tạo điều kiện cho các thành viên phát triển năng lực cũng là một yếu tố quan trọng cần xem xét.

III. Cách xây dựng Workflow Công Việc CNTT Tối Ưu Cho Khoa

Xây dựng một workflow công việc CNTT tối ưu là một quá trình liên tục, đòi hỏi sự theo dõi, đánh giá và cải tiến thường xuyên. Một workflow tốt giúp các công việc được thực hiện một cách trôi chảy, giảm thiểu thời gian chờ đợi và sai sót, và nâng cao hiệu quả làm việc chung. Để xây dựng một workflow tối ưu, các khoa CNTT cần phân tích kỹ lưỡng quy trình làm việc hiện tại, xác định các điểm nghẽn và các cơ hội cải tiến, và thiết kế một quy trình làm việc mới khoa học và hiệu quả hơn. Ngoài ra, việc sử dụng các công cụ hỗ trợ quản lý workflow cũng là một yếu tố quan trọng cần xem xét. Các công cụ này giúp tự động hóa các tác vụ lặp đi lặp lại, theo dõi tiến độ thực hiện công việc, và cung cấp các thông tin về hiệu quả của workflow. Theo kinh nghiệm từ các khoa CNTT hàng đầu, việc áp dụng các phương pháp Agile, Scrum, Kanban giúp xây dựng quy trình làm việc linh hoạt và thích ứng với sự thay đổi.

3.1. Áp dụng phương pháp Agile Scrum Kanban trong workflow

Các phương pháp Agile, Scrum, Kanban là các phương pháp quản lý dự án linh hoạt, giúp các nhóm làm việc hiệu quả hơn trong môi trường thay đổi liên tục. Phương pháp Agile tập trung vào việc giao tiếp và hợp tác, cung cấp các chu kỳ phát triển ngắn, tạo ra sản phẩm có giá trị cao và nhận phản hồi liên tục từ khách hàng. Scrum sử dụng các sprint ngắn để tạo ra sản phẩm, tập trung vào việc phân chia công việc thành các phần nhỏ và quản lý tiến độ chặt chẽ. Kanban tập trung vào việc trực quan hóa workflow, giới hạn số lượng công việc đang thực hiện và cải tiến liên tục quy trình làm việc.

3.2. Tối ưu hóa quy trình phê duyệt và báo cáo công việc CNTT

Quy trình phê duyệt và báo cáo công việc CNTT cần được thiết kế sao cho đơn giản, nhanh chóng và minh bạch. Các khoa CNTT nên sử dụng các công cụ hỗ trợ phê duyệt và báo cáo tự động, giảm thiểu thủ tục giấy tờ và thời gian chờ đợi. Ngoài ra, việc thiết lập các tiêu chí đánh giá công việc rõ ràng và minh bạch cũng là một yếu tố quan trọng cần xem xét. Các tiêu chí này giúp đảm bảo rằng các công việc được đánh giá một cách công bằng và khách quan, và các thành viên được khuyến khích làm việc hiệu quả hơn.

IV. Tích hợp Hệ Thống Quản Lý Nhân Sự CNTT và Công Việc

Việc tích hợp hệ thống quản lý nhân sự CNTT và công việc mang lại nhiều lợi ích, bao gồm: cải thiện khả năng quản lý nguồn lực, nâng cao hiệu quả làm việc, và giảm thiểu chi phí. Một hệ thống tích hợp cho phép các khoa CNTT theo dõi thông tin về năng lực, kinh nghiệm và kỹ năng của từng thành viên, từ đó phân công công việc phù hợp và khai thác tối đa tiềm năng của từng người. Ngoài ra, hệ thống tích hợp cũng giúp tự động hóa các tác vụ quản lý nhân sự như: chấm công, tính lương, và đánh giá hiệu quả làm việc. Theo các chuyên gia, việc tích hợp hệ thống quản lý nhân sự CNTT và công việc giúp giảm chi phí quản lý nhân sự xuống đến 15% và tăng năng suất làm việc lên đến 10%. Tuy nhiên, việc tích hợp hai hệ thống này cũng đòi hỏi sự chuẩn bị kỹ lưỡng và kế hoạch triển khai rõ ràng.

4.1. Lợi ích của việc liên kết quản lý tài nguyên CNTT và công việc

Việc liên kết quản lý tài nguyên CNTT và công việc giúp các khoa CNTT quản lý hiệu quả hơn các tài sản như: máy tính, phần mềm, và thiết bị mạng. Hệ thống liên kết cho phép theo dõi tình trạng sử dụng tài sản, dự báo nhu cầu tài sản, và tối ưu hóa việc phân bổ tài sản. Ngoài ra, hệ thống liên kết cũng giúp giảm thiểu rủi ro mất mát hoặc hư hỏng tài sản, và đảm bảo rằng các tài sản được bảo trì và nâng cấp định kỳ.

4.2. Quản lý hiệu quả quản lý ticket IT và quản lý sự cố IT

Việc quản lý hiệu quả quản lý ticket ITquản lý sự cố IT giúp các khoa CNTT giải quyết các vấn đề kỹ thuật một cách nhanh chóng và hiệu quả, giảm thiểu thời gian gián đoạn công việc. Một hệ thống quản lý ticket và sự cố tốt cho phép người dùng báo cáo các vấn đề, theo dõi tiến độ giải quyết, và nhận thông báo khi vấn đề được giải quyết. Ngoài ra, hệ thống cũng cung cấp các thông tin về các vấn đề thường gặp, giúp các kỹ thuật viên giải quyết các vấn đề một cách nhanh chóng và hiệu quả hơn. Áp dụng khung IT service management (ITSM) giúp chuẩn hóa quy trình và nâng cao chất lượng dịch vụ.

V. Ứng Dụng Thực Tế và Nghiên Cứu về Hệ Thống Quản Lý CNTT

Nhiều trường đại học và cao đẳng đã triển khai thành công các hệ thống quản lý công việc CNTT và thu được những kết quả tích cực. Các nghiên cứu cho thấy rằng các hệ thống này giúp tăng năng suất làm việc, giảm thời gian hoàn thành công việc, và cải thiện sự hài lòng của người dùng. Ví dụ, Trường Cao đẳng Công nghệ Thủ Đức đã xây dựng một hệ thống quản lý công việc cho khoa CNTT và nhận thấy rằng hệ thống này giúp giảm thời gian quản lý công việc xuống 20% và tăng năng suất làm việc lên 15% (Trích dẫn từ tài liệu gốc). Ngoài ra, các nghiên cứu cũng cho thấy rằng việc áp dụng các phương pháp Agile, Scrum, Kanban giúp cải thiện hiệu quả của các hệ thống quản lý công việc. Việc triển khai DevOps cũng giúp tự động hóa các quy trình phát triển và triển khai phần mềm, giảm thiểu thời gian và chi phí.

5.1. Kinh nghiệm triển khai thành công hệ thống theo dõi tiến độ công việc CNTT

Kinh nghiệm triển khai thành công hệ thống theo dõi tiến độ công việc CNTT cho thấy rằng việc lập kế hoạch chi tiết, đào tạo người dùng, và hỗ trợ liên tục là rất quan trọng. Các khoa CNTT nên bắt đầu với một dự án nhỏ, thu thập phản hồi từ người dùng, và cải tiến hệ thống dựa trên phản hồi này. Ngoài ra, việc chọn một hệ thống phù hợp với nhu cầu và khả năng của khoa cũng là một yếu tố quan trọng cần xem xét.

5.2. Đánh giá hiệu quả và đo lường ROI của hệ thống quản lý thời gian CNTT

Việc đánh giá hiệu quả và đo lường ROI của hệ thống quản lý thời gian CNTT giúp các khoa CNTT xác định được giá trị mà hệ thống mang lại và có các biện pháp cải tiến hệ thống. Các chỉ số đo lường có thể bao gồm: năng suất làm việc, thời gian hoàn thành công việc, chi phí quản lý công việc, và sự hài lòng của người dùng. ROI có thể được tính bằng cách chia giá trị mà hệ thống mang lại cho chi phí đầu tư vào hệ thống.

VI. Xu hướng tương lai của Phần Mềm Quản Lý Công Việc CNTT

Trong tương lai, phần mềm quản lý công việc CNTT sẽ ngày càng trở nên thông minh và tự động hóa hơn. Các công nghệ như trí tuệ nhân tạo (AI) và học máy (ML) sẽ được tích hợp vào các hệ thống này, giúp tự động hóa các tác vụ lặp đi lặp lại, dự đoán các vấn đề phát sinh, và đưa ra các gợi ý để cải thiện hiệu quả làm việc. Ngoài ra, các phần mềm này cũng sẽ ngày càng trở nên linh hoạt và dễ sử dụng hơn, cho phép người dùng tùy chỉnh hệ thống theo nhu cầu của mình. Việc tích hợp với các công cụ khác như email, lịch, và hệ thống quản lý dự án cũng sẽ trở nên phổ biến hơn. Cuối cùng, các phần mềm này sẽ ngày càng chú trọng đến bảo mật và quyền riêng tư của người dùng, đảm bảo rằng dữ liệu được bảo vệ an toàn và không bị lạm dụng.

6.1. Ứng dụng AI và ML trong giải pháp quản lý công việc cho bộ phận IT

AI và ML có thể được sử dụng để tự động hóa các tác vụ như: phân công công việc, theo dõi tiến độ, và dự đoán các vấn đề phát sinh. AI cũng có thể được sử dụng để phân tích dữ liệu và đưa ra các gợi ý để cải thiện hiệu quả làm việc. Ví dụ, AI có thể gợi ý các thành viên phù hợp nhất để thực hiện một công việc cụ thể, hoặc dự đoán các vấn đề có thể phát sinh và đưa ra các biện pháp phòng ngừa.

6.2. Tích hợp hệ thống quản lý công việc CNTT với IoT và Blockchain

Việc tích hợp hệ thống quản lý công việc CNTT với IoT và Blockchain có thể mang lại nhiều lợi ích, bao gồm: cải thiện khả năng theo dõi và quản lý tài sản, tăng cường tính minh bạch và an toàn của dữ liệu, và tự động hóa các quy trình kinh doanh. Ví dụ, IoT có thể được sử dụng để theo dõi vị trí và tình trạng của các tài sản, và Blockchain có thể được sử dụng để lưu trữ các thông tin về quyền sở hữu và lịch sử sử dụng tài sản.

22/09/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1: TỔNG QUAN 1.1 Lý do chọn đề tài 1.1 Tính thời sự của đề tài Trường Cao đẳng Công nghệ Thủ Đức tiếp cận và phát triển hướng dạy và học theo dự án thực tế, bám sát thực tiễn. Thể hiện qua các hoạt động như đưa Giảng viên, Sinh viên thực tập tại doanh nghiệp, mời chuyên gia về trường chia sẻ công nghệ trong thực tế, xây dựng chương trình đào tạo thể hiện các công nghệ mà hiện nay đang sử dụng tại doanh nghiệp, … Với mong muốn sinh viên ra trường có cơ hội việc làm, làm đúng ngành nghề đã được đào tạo. Ngoài ra Nhà trường còn định hướng phát triển các 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 ngoài. Điển hình như chương trình công nghệ thông tin gắn kết với đối tác Nhật Bản, là Tập đoàn Freesia và Trường Cao đẳng Công nghệ Công nghiệp Tokyo để đạt được chương trình đào tạo với sự gắn kết của 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 và trường cao đẳng Nhật Bản (gọi tắt là Chương trình IT-TFT) là chương trình được xây dựng trên cơ sở tiếp cận mô hình KOSEN của Nhật Bản, kết hợp chương trình đào tạo của Trường Cao đẳng Công nghệ Thủ Đức (TDC) và 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 sự hợp tác và hỗ trợ từ Tập đoàn Freesia - Nhật Bản. Qua đó thấy được tính thực tiễn trong chương trình đào tạo của Nhà trường, phát triển ứng dụng trên nền tảng web, thiết bị di động là nghề nghiệp hấp dẫn, đây cũng là các hướng đào tạo của Khoa CNTT, đang được đa số các công ty quan tâm tuyển dụng. Các công nghệ nổi bật như Node.js, Java, Python, Kotlin, PHP, … đang được áp dụng vào nhiều dự án. Đây là cơ hội đối với sinh viên khi được tiếp cận, được đào tạo sớm trong nhà trường, do đó sẽ có cơ hội được ứng tuyển vào các ngành nghề trên sau khi ra trường.

Xây dựng hệ sinh thái phần mềm trên nền tảng web Khoa CNTT, cung cấp nhiều dịch vụ để GV và SV có môi trường giảng dạy và học tập bám sát thực tiễn như quản lý người 1 dùng áp dụng mô hình ACL (được phát triển bởi Sentry's PHP SDK, Sentinel, Cartalyst), OAuth 2.0, web Khoa CNTT đã được thiết kế hướng dịch vụ, chia nhỏ thành các module nhỏ xử lý nghiệp vụ, cung cấp API tương tác với hệ thống, … Nhờ đó GV & SV có thể phát triển thêm các 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 các xử lý trên Git như merge, conflict, rebase, … Đây là những kỹ năng cần thiết khi tham gia dự án trong doanh nghiệp. Doanh nghiệp ngày càng yêu cầu cao về mặt kỹ năng giải quyết vấn đề, lập trình viên có kỹ năng xử lý lỗi, khả năng tìm kiếm giải pháp, kỹ năng hợp tác làm việc nhóm.

Do đó, SV có điều kiện thực hành trong quá trình học tập có ưu thế lớn khi tìm việc làm sau khi ra trường. Kiến trúc web Khoa CNTT đã được thiết kế và hiện thực trong các NCKH năm học 2018- 2019, 2019-2020. Đã tạo ra được hệ thống các thư viện PHP (package PHP) công bố trên các dịch vụ Github, Packagist. Các xử lý thu thập dữ liệu tự động trên các trang StackOverflow, ITviec, VietnamWorks, các xử lý lỗi bảo mật dữ liệu, quản lý thực tập.

Trong đề tài này tác giả tiếp tục đóng góp thêm các tiện ích vào hệ sinh thái, nâng cấp lên phiên bản mới. Đặc biệt, tác giả có xây dựng mới ứng dụng mobile trên Android với Kotlin, nhờ đó GV & SV có thêm tư liệu để giảng dạy và học tập. Một trong những ràng buộc đối với một đề tài NCKH cần đáp ứng là giải quyết được một vấn đề nào đó trong Nhà trường, thể hiện tính thực tiễn của ứ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.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 là yêu cầu cấp thiết mà lãnh đạo Nhà trường luôn quán triệt và đề ra đối với giảng viên.

Chính vì vậy trong chương trình học luôn luôn thể hiện nội dung thực tiễn mà sinh viên cần phải thực hiện. Với việc tạo ra web Khoa CNTT không chỉ là trang tin tức – thông báo mà còn là một trang dịch vụ, cung cấp các tiện ích để GV và SV 2 sử dụng phục vụ mục đích học tập. Điều này minh chứng cho việc thiết kế web theo hướng dễ mở rộng, tạo ra hệ sinh thái phần mềm trên nền tảng web Khoa CNTT. Xuất phát từ yêu cầu thực tiễn, ngoài công tác giảng dạy theo sự phân công của Khoa CNTT, GV còn phụ trách thêm các công tác khác như xây dựng chương trình đào tạo, thực hiện NCKH, chuẩn bị các sự kiện hợp tác doanh nghiệp như tham quan doanh nghiệp, … Hiện tại, Khoa CNTT dùng Google Sheet để quản lý các công việc của 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 quả công việc thực hiện dùng để xét thi đua năm học.

Trong quá trình thực hiện nảy sinh một số vấn đề sau: các công việc thực hiện bởi nhiều GV được mô tả lặp lại nhiều lần cho từng GV, khi cần điều chỉnh 1 thông tin thống kê công việc cần thực hiện toàn bộ các Sheet, mô tả chi tiết công việc chưa được 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 các tiện ích bên mảng web, cần phát triển thêm các phần mềm bên di động, sử dụng các dịch vụ đã cung cấp bên hệ sinh thái web. Do đó tác giả đề tài dựa trên 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 đó cũng phát triển thêm ứng dụng di động trên Android với các tính năng như nhận được tin nhắn khi có công việc mới, các công việc đã làm, xác nhận trạng thái công việc.

Đó là lý do 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” 3 1.2 Mục đích nghiên cứu Đề tài gồm 03 mục tiêu 1.1 Sử dụng Kotlin xây dựng ứng dụng trên Android Để viết ứng dụng Android có 2 ngôn ngữ chính: ngôn ngữ lập trình Java, ngôn ngữ lập trình Kotlin. Trong đó ngôn ngữ lập trình Java đang là ngôn ngữ lập trình ứng dụng Android được sử dụng phổ biến nhất hiện nay, có hệ thống thư viện đa dạng, có cộng đồng người sử dụng lớn mạnh. Hình 1 - Kết quả thống kê hỏi đáp liên quan đến Java (StackOverflow) Ngôn ngữ Kotlin được Jetbrains phát triển, xuất hiện lần đầu năm 2011 khi JetBrains công bố dự án của họ mạng tên Kotlin. Kotlin có chức năng chính là hỗ trợ khắc phục một số vấn đề gặp phải khi viết App Android bằng ngôn ngữ Java.

Đây là một ngôn ngữ mã nguồn mở, Android team đã thông báo Kotlin sẽ trở thành ngôn ngữ chính thức của Android. Kotlin biên dịch thành JVM bytecode hoặc JavaScript - giống như Java, bytecode cũng là format biên dịch cho Kotlin. Nhờ biên dịch thành bytecode nghĩa là một khi đã biên dịch, các đoạn code sẽ chạy thông qua một máy ảo thay vì một bộ xử lý. Bằng cách này, code có thể chạy trên bất kỳ nền tảng nào, khi nó được biên dịch và chạy thông 4 qua máy ảo.

Kotlin có thể sử dụng tất cả các nền tảng và thư viện Java hiện có - Bất kể là nền tảng cao cấp dựa trên xử lý annotation. Điều quan trọng là Kotlin dễ dàng tích hợp với Maven, Gradle hay các hệ thống build khác. Hình 2 - Kết quả thống kê hỏi đáp liên quan đến Kotlin (StackOverflow) Ngôn ngữ Kotlin được đánh giá là làm App Android khá đơn giản, Kotlin giúp giảm số dòng code, không còn quá dài. Điều này giúp người lập trình có thể tập trung vào vấn đề quan trọng, thay vì mất thời gian xử lý các câu lệnh.

Tìm hiểu về Kotlin, tạo ứng dụng mobile trên Android sử dụng các pattern: factory, repository, adapter; để tạo ra ứng dụng thông báo công việc đến GV.2 Phát triển package phân quyền và xác thực dùng chung cho các ứng dụng Trước đây Web Khoa CNTT chạy trên môi trường Laravel 7x, PHP 7. Trong đề tài này đã nâng cấp lên Laravel 8x, PHP 8. Việc nâng cấp này là cần thiết để GV và SV có môi trường giảng dạy và học tập bám sát thực tiễn. Khi tiến hành nâng cấp có thay đổi code để các tiện ích có thể chạy được trong môi trường mới.

Tiện ích phân quyền và xác thực (package-acl) là tiện ích cốt lõi của hệ thống, cung cấp các tính năng quản lý người dùng, phân quyền và xác thực người dùng. 5 Hình 3 - Thêm cột device_token vào bảng user_profile trong lược đồ ERD Một trong những lỗi phổ biến khi nâng cấp ứng dụng PHP 7.x là lỗi type hint Ví dụ một khai báo chạy được trên PHP 7.x nhưng sẽ lỗi trên PHP 8.x public function selectItems($params = [], $id) { //Write your code here } Ghi nhận lỗi Deprecated: Required parameter $id follows optional parameter $params in … PHP type hint đưa ra nhiều ràng buộc trong PHP 8, điều chỉnh lại cách xử lý trên để chạy được trên PHP 8.x: thêm kiểu dữ liệu của biến hoặc thiết lập đầy đủ giá trị mặc định cho biến. public function selectItems(array $params = [], int $id = 0) { //Write your code here } public function selectItems($params = [], $id = 0) { //Write your code here } 6 Trong đề tài này có phát triển ứng dụng mobile, do đó cần thiết để phát triển các API dùng cho xác thực người dùng khi sử dụng ứng dụng trên thiết bị di động. Hình 4 - Lược đồ ERD của Laravel Passport sử dụng OAuth 2.0 Tích hợp package Laravel Passport vào hệ thống, cung cấp các API về xác thực cho các ứng dụng sử dụng API Ví dụ về API xác thực người dùng Hình 5 - Dùng Postman gửi yêu cầu xác thực 7 Thông tin khi thực hiện API xác thực người dùng Hình 6 - Kết quả trả về sau khi thực hiện yêu cầu trên Postman 8 1.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ