Bối cảnh và vấn đề nghiên cứu
Đồ án tốt nghiệp "Xây dựng ứng dụng quản lý công việc của nhân viên tại công ty Lutech" do sinh viên Nguyễn Đăng Khoa (lớp 19T1, Khoa Công nghệ Số, Trường Đại học Sư phạm Kỹ thuật – Đại học Đà Nẵng) thực hiện dưới sự hướng dẫn của TS. Hoàng Thị Mỹ Lệ, hoàn thành vào tháng 01/2024. Đề tài thuộc ngành và chuyên ngành Công nghệ thông tin, tập trung vào việc nghiên cứu và phát triển phần mềm di động trên nền tảng Android.
Bối cảnh thực tiễn được đặt tại Công ty Trách nhiệm hữu hạn Công nghệ phần mềm Lutech, một doanh nghiệp được thành lập vào ngày 30 tháng 9 năm 2021 với định hướng phát triển và hoàn thiện các sản phẩm phần mềm. Trong giai đoạn phát triển, công ty thực hiện mở rộng quy mô tổ chức từ mô hình vừa và nhỏ sang quy mô lớn, kéo theo sự gia tăng về số lượng nhân sự mới và thành lập thêm nhiều phòng ban chức năng. Sự gia tăng quy mô dẫn đến khối lượng công việc tăng cao và một dự án thường có sự tham gia đồng thời của nhiều nhân sự từ các bộ phận khác nhau, gây khó khăn cho công tác điều phối, phân công và kiểm soát tiến độ triển khai.
Thực trạng nghiệp vụ trước khi triển khai đề tài cho thấy công ty phân bổ công việc mang tính thủ công thông qua các ứng dụng nhắn tin như Skype, Discord và ghi nhận, theo dõi danh mục công việc thông qua phần mềm bảng tính Excel. Cách thức vận hành này bộc lộ nhiều điểm hạn chế: thiếu tính tập trung, giảm tính minh bạch trong tương tác giữa các bên liên quan, dễ dẫn đến tình trạng quên hoặc bỏ sót đầu việc, phát sinh các công việc dư thừa và gây lãng phí thời gian lao động.
Để giải quyết các vấn đề trên, đề tài xác định 03 mục tiêu nghiên cứu cụ thể:
- Quản lý các công việc trong công ty giữa các bên liên quan một cách rõ ràng, minh bạch.
- Cho phép mọi người nắm bắt được quy trình và tiến độ của công việc, tránh quên hay bỏ sót công việc.
- Tạo sự phối hợp nhịp nhàng, tránh gây lãng phí thời gian và phát sinh các công việc dư thừa.
Về đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Quy trình và tương tác nghiệp vụ của 03 nhóm nhân sự chính tham gia vào hệ thống, bao gồm Quản lý dự án, Quản lý nhóm dự án và Nhân viên thực hiện dự án.
- Phạm vi nghiên cứu: Tập trung vào toàn bộ các đầu mục công việc, nhiệm vụ và luồng dữ liệu quản lý công việc nội bộ của nhân viên tại Công ty TNHH Công nghệ phần mềm Lutech.
Cơ sở lý thuyết và phương pháp
Phương pháp nghiên cứu được tác giả lựa chọn là phương pháp nghiên cứu lý thuyết: thu thập, tổng hợp và phân tích thông tin từ hệ thống sách chuyên khảo, tài liệu kỹ thuật, các trang thông tin công nghệ và các ứng dụng quản lý công việc tương tự hiện hành nhằm xây dựng nền tảng lý thuyết và cơ sở công nghệ cho phần mềm.
Đề tài áp dụng mô hình phát triển ứng dụng di động kết hợp kiến trúc dịch vụ phụ trợ đám mây (Backend-as-a-Service - BaaS), cụ thể lựa chọn các giải pháp kỹ thuật sau:
- Ngôn ngữ lập trình Kotlin: Được phát triển bởi JetBrains từ năm 2011, là ngôn ngữ lập trình dạng tĩnh hoạt động trên môi trường máy ảo Java (JVM) và Android Native. Ngôn ngữ này sở hữu tính an toàn kiểu dữ liệu, cơ chế loại trừ lỗi tham chiếu rỗng (
NullPointerException thông qua null-safety), hỗ trợ tính năng tải chậm (Lazy Loading) giúp tối ưu hóa tài nguyên khởi chạy, có khả năng xử lý tập hợp bất biến và tương thích hoàn toàn với mã nguồn Java hiện có. Khối lượng mã nguồn của Kotlin ước tính ít hơn 1/5 so với Java trong khi vẫn bảo toàn đầy đủ chất lượng xử lý logic.
- Môi trường phát triển tích hợp (IDE) Android Studio: Phiên bản IDE chính thức của Google dành cho hệ điều hành Android (phát triển dựa trên nền tảng IntelliJ IDEA), tích hợp bộ công cụ phát triển phần mềm Android SDK, công cụ biên tập bố cục trực quan (Layout Editor), cơ chế xem trước mã XML, trình biên tập mã nguồn thông minh hỗ trợ gợi ý cú pháp và hệ thống quản lý thư viện Maven/Gradle.
- Nền tảng dịch vụ đám mây Firebase (Google): Đóng vai trò hệ quản trị cơ sở dữ liệu và hạ tầng backend hoàn chỉnh, giúp lập trình viên không cần trực tiếp vận hành máy chủ vật lý hay thiết kế tầng backend độc lập. Các dịch vụ cụ thể được tích hợp bao gồm:
- Firebase Realtime Database: Cơ sở dữ liệu NoSQL lưu trữ và đồng bộ hóa dữ liệu thời gian thực theo định dạng JSON, hỗ trợ lưu trữ đệm tại bộ nhớ thiết bị khi mất kết nối mạng và tự động đồng bộ hóa lên máy chủ khi có kết nối trở lại.
- Firebase Authentication: Dịch vụ cung cấp giải pháp xác thực người dùng an toàn thông qua tài khoản Email, mật khẩu, số điện thoại hoặc các nhà cung cấp định danh bên ngoài.
- Firebase Cloud Storage: Dịch vụ lưu trữ đám mây cho phép tải lên, lưu trữ và truy xuất các tệp tin đính kèm như hình ảnh và tài liệu định dạng PDF.
- Firebase Remote Config và Firebase Crashlytics: Hỗ trợ cập nhật cấu hình tham số ứng dụng từ xa mà không cần phát hành lại gói cài đặt APK, đồng thời ghi nhận, phân nhóm và báo cáo các lỗi dừng ứng dụng đột ngột (crash) theo thời gian thực.
- Công cụ thiết kế StarUML: Sử dụng để xây dựng hệ thống tài liệu phân tích thiết kế, bao gồm sơ đồ Use Case, sơ đồ hoạt động (Activity Diagram) và sơ đồ quan hệ thực thể (ERD).
- Môi trường thử nghiệm LDPlayer 9: Trình giả lập hệ điều hành Android 9 trên máy tính cá nhân (PC Windows), hỗ trợ vận hành song song ứng dụng 32-bit và 64-bit với mức độ tiêu hao tài nguyên bộ nhớ RAM và CPU thấp.
Thiết kế và triển khai
Hệ thống được thiết kế hướng tới giải quyết bài toán phân quyền và quản trị công việc nhiều cấp bậc trong môi trường doanh nghiệp phần mềm.
Phân quyền các tác nhân hệ thống
Hệ thống xác định 04 tác nhân chính tham gia tương tác với các quyền hạn nghiệp vụ phân định rõ ràng:
- Admin (Quản trị viên): Chịu trách nhiệm đăng nhập và quản lý danh mục tài khoản người dùng trên toàn hệ thống.
- Quản lý dự án: Đăng nhập, quản lý thông tin cá nhân, tìm kiếm công việc, khởi tạo dự án mới, cập nhật mốc thời gian dự án, xem thông tin dự án, xem thông tin nhiệm vụ, theo dõi tình trạng thực hiện công việc của từng nhân viên và phân công nhân sự (có quyền thêm Quản lý nhóm dự án và Nhân viên vào dự án).
- Quản lý nhóm dự án: Đăng nhập, quản lý thông tin cá nhân, tìm kiếm công việc, xem thông tin dự án, khởi tạo nhiệm vụ, xem thông tin nhiệm vụ, khởi tạo các đầu việc chi tiết (công việc), thêm tệp tin đính kèm, thêm nhân viên thực thi vào dự án và theo dõi trạng thái công việc của nhân viên trong nhóm.
- Nhân viên: Đăng nhập, xem thông tin cá nhân, tra cứu tìm kiếm công việc, xem thông tin chi tiết dự án, nhiệm vụ và các công việc được phân công, thực hiện cập nhật tiến độ và trạng thái hoàn thành công việc.
Thiết kế cơ sở dữ liệu
Cơ sở dữ liệu được tổ chức thành 09 bảng thực thể chính, phản ánh mối quan hệ giữa nhân sự, cấu trúc phân rã công việc và dữ liệu tài khoản:
| Tên bảng |
Chức năng lưu trữ dữ liệu trong hệ thống |
Dự án |
Lưu trữ thông tin định danh, tên dự án, mô tả, mốc thời gian bắt đầu và kết thúc của dự án. |
Nhiệm vụ |
Lưu trữ các nhiệm vụ lớn thuộc dự án, thời gian thực hiện, mô tả và liên kết với dự án tương ứng. |
Nhân viên_Dự án |
Bảng trung gian ghi nhận danh sách nhân sự được phân công vào từng dự án cụ thể. |
Công việc |
Lưu trữ các đầu việc cụ thể thuộc từng nhiệm vụ, thời hạn thực hiện, trạng thái và nhân sự phụ trách. |
Tệp đính kèm |
Lưu trữ thông tin đường dẫn, định dạng và liên kết tệp tài liệu (ảnh, PDF) đính kèm công việc/dự án. |
Admin |
Lưu trữ thông tin quản trị viên phục vụ công tác cấu hình hệ thống. |
Nhân viên |
Lưu trữ lý lịch, thông tin cá nhân, mã nhân viên và chức danh nội bộ. |
Chức vụ |
Danh mục phân cấp các vị trí và vai trò công tác trong công ty. |
Tài khoản |
Quản lý thông tin đăng nhập, mật khẩu mã hóa, vai trò và thông tin mật khẩu cấp 2. |
Xử lý kịch bản nghiệp vụ và ràng buộc hệ thống
Đồ án thiết lập 09 kịch bản Use Case chuẩn hóa kèm các điều kiện ràng buộc chặt chẽ nhằm tránh phát sinh sai lệch dữ liệu:
- Đăng nhập: Hệ thống xác thực định danh tài khoản, kiểm tra kết nối mạng và xuất thông báo ngoại lệ cụ thể khi người dùng bỏ trống trường dữ liệu, nhập tài khoản không tồn tại hoặc sai mật khẩu.
- Tạo dự án mới: Yêu cầu bắt buộc phải có tên dự án, thời gian bắt đầu và thời gian kết thúc; xử lý ngoại lệ ngăn chặn người dùng lưu dự án khi thiếu thông tin ngày tháng hoặc tên dự án.
- Cập nhật thời gian dự án: Không cho phép thiết lập thời gian kết thúc mới nhỏ hơn thời gian kết thúc ban đầu; không cho phép điều chỉnh thời gian bắt đầu của dự án khi mốc thời gian thực tế đã vượt qua ngày bắt đầu ban đầu.
- Thêm nhân viên cho dự án: Quản lý dự án có quyền thêm cả Quản lý nhóm và Nhân viên thông thường; Quản lý nhóm dự án chỉ có thẩm quyền thêm Nhân viên vào nhóm làm việc.
- Tạo nhiệm vụ và công việc: Thời gian bắt đầu của nhiệm vụ không được nhỏ hơn thời gian bắt đầu của dự án; thời gian kết thúc của nhiệm vụ không được lớn hơn thời gian kết thúc của dự án; chỉ cho phép tạo công việc khi dự án đã có ít nhất một nhiệm vụ và một nhân viên phụ trách được chỉ định trước.
- Cơ chế bảo mật: Hệ thống hỗ trợ cập nhật mật khẩu với yêu cầu xác thực mật khẩu hiện tại, đối soát mật khẩu mới không được trùng mật khẩu cũ và xác nhận khớp nhau; đồng thời trang bị cơ chế bảo mật cấp 2 thông qua danh mục câu hỏi và câu trả lời bảo mật.
Nội dung chính theo từng chương
Mở đầu
Tác giả trình bày lý do chọn đề tài xuất phát từ nhu cầu thực tiễn của Công ty TNHH Công nghệ phần mềm Lutech khi chuyển đổi quy mô tổ chức. Chương này công bố mục tiêu tổng quát và 03 mục tiêu cụ thể, xác định đối tượng nghiên cứu (Quản lý dự án, Quản lý nhóm, Nhân viên), phạm vi nghiên cứu (quản lý đầu mục công việc tại Lutech), phương pháp nghiên cứu lý thuyết, danh mục giải pháp công nghệ lựa chọn (Kotlin, Android Studio, Firebase, StarUML, LDPlayer 9) và sơ đồ cấu trúc của toàn bộ đồ án tốt nghiệp.
Chương 1: Cơ sở lý thuyết
Chương 1 cung cấp luận cứ khoa học và công nghệ nền tảng cho việc xây dựng ứng dụng di động:
- Giới thiệu kiến trúc Backend-as-a-Service (BaaS) của Google Firebase, phân tích ưu điểm (tiết kiệm chi phí vận hành máy chủ, mở rộng tự động, hạ tầng Google an toàn, tích hợp sẵn kiểm thử và gỡ lỗi) và nhược điểm (giới hạn dung lượng/kết nối ở gói miễn phí, cơ sở dữ liệu NoSQL không hỗ trợ truy vấn quan hệ nhiều điều kiện phức tạp, không hỗ trợ GraphQL/Apollo Client). Giới thiệu chuyên sâu các dịch vụ: Realtime Database, Authentication, Cloud Storage, Remote Config và Crashlytics.
- Trình bày đặc tính của ngôn ngữ lập trình Kotlin (ra đời năm 2011 bởi JetBrains): cú pháp ngắn gọn, an toàn null-safety, cơ chế tải lười Lazy Loading, thư viện mở rộng phong phú và khả năng tương thích hoàn toàn với nền tảng Java/JVM.
- Khái quát môi trường phát triển Android Studio (công bố năm 2013, phát hành năm 2014 dựa trên IntelliJ IDEA) với các tính năng: New Module Wizard, bộ chỉnh sửa layout trực quan kéo thả, trình mô phỏng thiết bị Android nhanh, trình sửa mã thông minh, kết nối trực tiếp Firebase và tích hợp kho thư viện Maven.
- Đánh giá trình giả lập LDPlayer 9 tích hợp nhân Android 9 tối ưu hóa, hỗ trợ kiến trúc 64-bit và 32-bit, tốc độ phản hồi nhanh và mức độ chiếm dụng CPU/RAM thấp.
Chương 2: Phân tích thiết kế hệ thống
Chương 2 là nội dung kỹ thuật trọng tâm của đồ án, bao gồm:
- Xác định chức năng chi tiết cho 04 tác nhân: Admin (đăng nhập, quản lý tài khoản), Quản lý dự án (tạo/sửa dự án, xem tiến độ, thêm nhân viên, quản lý công việc), Quản lý nhóm dự án (tạo nhiệm vụ, tạo công việc, thêm tệp đính kèm, thêm nhân viên, theo dõi trạng thái), Nhân viên (xem và cập nhật tiến độ công việc).
- Xác lập yêu cầu chất lượng ứng dụng: giao diện tiếng Việt đơn giản, tốc độ truy cập CSDL nhanh, đảm bảo an toàn và bảo mật thông tin.
- Thiết kế sơ đồ Use Case tổng thể hệ thống (Hình 2.1) và xây dựng 09 bảng kịch bản Use Case chi tiết từ Bảng 2.1 đến Bảng 2.9 (bao gồm mô tả, tác nhân, điều kiện đầu vào, đầu ra, các bước thực hiện và các trường hợp ngoại lệ phát sinh).
- Xây dựng 10 sơ đồ hoạt động (Activity Diagram) từ Hình 2.2 đến Hình 2.11 thể hiện luồng xử lý của các nghiệp vụ: Đăng nhập, Tạo dự án, Cập nhật thời gian dự án, Thêm nhân viên (phân tách theo vai trò Quản lý dự án và Quản lý nhóm), Tạo nhiệm vụ, Tạo công việc, Thêm tệp đính kèm, Cập nhật mật khẩu và Cập nhật mật khẩu cấp 2.
- Thiết kế mô hình dữ liệu quan hệ thông qua sơ đồ ERD (Hình 2.12) và đặc tả chi tiết 09 cấu trúc bảng dữ liệu từ Bảng 2.10 đến Bảng 2.18.
Chương 3: Xây dựng chương trình
Chương 3 trình bày kết quả hiện thực hóa phần mềm thành các giao diện người dùng cụ thể trên ứng dụng Android:
- Giao diện "Đăng nhập" (Hình 3.1): Cung cấp biểu mẫu xác thực tài khoản và mật khẩu cho người dùng.
- Giao diện "Danh sách dự án" (Hình 3.2) và "Thêm dự án mới" (Hình 3.3): Cho phép hiển thị tổng quan các dự án đang triển khai và biểu mẫu khởi tạo dự án với các trường ngày tháng, tên và mô tả.
- Giao diện "Danh sách nhiệm vụ" (Hình 3.4) và "Thêm nhiệm vụ" (Hình 3.5): Quản lý các phân đoạn công việc lớn thuộc dự án.
- Giao diện "Danh sách công việc" (Hình 3.6), "Thêm công việc" (Hình 3.7) và "Xem công việc" (Hình 3.8): Quản trị các đầu mục công việc chi tiết, thời hạn, nội dung và các tệp tài liệu đính kèm.
- Giao diện "Xem tình trạng công việc của nhân viên" (Hình 3.9): Cung cấp màn hình theo dõi trạng thái triển khai của từng nhân sự dành cho cấp quản lý.
- Giao diện người dùng cá nhân: "Trang cá nhân" (Hình 3.10), "Cập nhật mật khẩu" (Hình 3.11) và "Mật khẩu cấp 2" (Hình 3.12) hỗ trợ quản lý định danh và thiết lập an toàn tài khoản.
Kết luận và hướng phát triển
Chương tổng kết khẳng định việc hoàn thành các mục tiêu xây dựng phần mềm quản lý công việc trên Android phục vụ công ty Lutech, đánh giá mức độ đáp ứng của hệ thống và đề xuất định hướng phát triển, mở rộng chức năng ứng dụng trong các giai đoạn tiếp theo.
Kết quả và đóng góp
Về kết quả sản phẩm:
- Xây dựng hoàn chỉnh ứng dụng di động quản lý công việc vận hành trên nền tảng hệ điều hành Android, sử dụng ngôn ngữ Kotlin và cơ sở dữ liệu thời gian thực Firebase.
- Thiết lập đầy đủ bộ tài liệu phân tích thiết kế phần mềm bao gồm 01 sơ đồ Use Case tổng thể, 10 sơ đồ hoạt động nghiệp vụ, 09 kịch bản Use Case chuẩn có xử lý ngoại lệ, 01 sơ đồ ERD và 09 bảng đặc tả cấu trúc cơ sở dữ liệu.
- Hiện thực hóa thành công 12 giao diện màn hình chức năng phục vụ đầy đủ quy trình quản lý dự án nội bộ.
- Hoàn thành trọn vẹn bộ sản phẩm dự kiến của đồ án: phần mềm ứng dụng, báo cáo đồ án tốt nghiệp và bài thuyết trình báo cáo đề tài.
Về đóng góp thực tiễn do tác giả tự xác định:
- Cung cấp giải pháp phần mềm chuyên biệt hóa thay thế phương thức quản lý thủ công truyền thống (qua tin nhắn Skype, Discord và bảng tính Excel) tại Công ty TNHH Công nghệ phần mềm Lutech.
- Tự động hóa quá trình thông báo và cập nhật dữ liệu: khi một công việc mới được tạo lập, hệ thống thông qua Firebase Realtime Database ngay lập tức gửi thông báo đến các nhân sự liên quan.
- Tăng cường tính rõ ràng, minh bạch trong phân công lao động, giúp nhân sự dễ dàng theo dõi tiến độ, giảm thiểu tình trạng quên việc, chồng chéo đầu việc hoặc phát sinh các công việc dư thừa trong bối cảnh doanh nghiệp đang mở rộng quy mô.
Hạn chế và hướng nghiên cứu tiếp
Về mặt hạn chế:
- Văn bản đồ án tự nhận định: do giới hạn về mặt thời gian và kiến thức của sinh viên trong quá trình thực hiện, đồ án không thể tránh khỏi những thiếu sót nhất định trong quá trình phân tích và xây dựng chương trình.
- Về công nghệ, tác giả chỉ ra các hạn chế cố hữu của nền tảng cơ sở dữ liệu Firebase Realtime Database: phiên bản miễn phí có giới hạn về dung lượng và số lượng kết nối; cấu trúc NoSQL không hỗ trợ các truy vấn dữ liệu phức tạp hoặc thao tác dữ liệu có nhiều điều kiện ràng buộc liên đới; không hỗ trợ tích hợp các giao thức API hiện đại như GraphQL hay Apollo Client.
- Ứng dụng hiện mới chỉ tập trung triển khai đơn nền tảng trên hệ điều hành Android.
Về hướng nghiên cứu tiếp:
- Tác giả xác định nội dung "Hướng phát triển" tại trang 56 nhằm tiếp tục hoàn thiện các chức năng hiện có, khắc phục các thiếu sót trong quá trình vận hành thử nghiệm và nâng cấp hệ thống để đáp ứng tốt hơn sự mở rộng quy mô nghiệp vụ của công ty trong tương lai.
Giá trị tham khảo
Đồ án là tài liệu tham khảo hữu ích cho các nhóm đối tượng:
- Sinh viên chuyên ngành Công nghệ thông tin, Kỹ thuật phần mềm đang thực hiện đồ án tốt nghiệp hoặc các học phần phát triển ứng dụng di động trên nền tảng Android sử dụng ngôn ngữ Kotlin.
- Các lập trình viên hoặc nhóm phát triển phần mềm tìm kiếm giải pháp ứng dụng mô hình Backend-as-a-Service (BaaS) với Firebase (kết hợp các dịch vụ Realtime Database, Authentication, Cloud Storage, Crashlytics) cho các hệ thống doanh nghiệp vừa và nhỏ.
Các nội dung có giá trị tham khảo chuyên môn cao trong đồ án:
- Phương pháp phân rã cấu trúc quản lý công việc 3 cấp rõ ràng: Dự án $\rightarrow$ Nhiệm vụ $\rightarrow$ Công việc.
- Hệ thống 09 kịch bản Use Case và 10 sơ đồ hoạt động xử lý chi tiết các ràng buộc logic về mốc thời gian (logic thời gian của công việc và nhiệm vụ luôn bị chặn bởi khung thời gian của dự án).
- Mô hình ma trận phân quyền thực tế giữa Quản lý dự án (Project Manager) và Quản lý nhóm dự án (Team Leader) trong việc điều phối nhân sự và giao việc.
Câu hỏi thường gặp
1. Tại sao Công ty Lutech cần thay thế phương thức quản lý công việc bằng tin nhắn và Excel?
Theo phân tích của tác giả ở phần Mở đầu, Công ty TNHH Công nghệ phần mềm Lutech mở rộng quy mô từ doanh nghiệp vừa và nhỏ thành doanh nghiệp lớn, tuyển thêm nhiều nhân viên và lập thêm phòng ban. Việc phân công thủ công qua Skype, Discord và ghi chép qua Excel bộc lộ sự thiếu hiệu quả, khó kiểm soát tiến độ khi nhiều nhân viên cùng tham gia một dự án, dễ gây quên việc, bỏ sót việc, gây lãng phí thời gian và phát sinh các đầu việc dư thừa.
2. Sự khác biệt về quyền hạn giữa "Quản lý dự án" và "Quản lý nhóm dự án" trong hệ thống là gì?
Căn cứ theo Bảng 2.4 và mục 2.2 của đồ án: Quản lý dự án là người khởi tạo dự án và có thẩm quyền thêm cả Quản lý nhóm dự án lẫn Nhân viên thông thường vào dự án. Trong khi đó, Quản lý nhóm dự án chỉ có quyền thêm Nhân viên vào dự án; bù lại, Quản lý nhóm dự án là người trực tiếp đảm nhiệm các thao tác nghiệp vụ chi tiết gồm tạo nhiệm vụ, tạo công việc cụ thể cho từng nhiệm vụ và tải lên các tệp đính kèm.
3. Hệ thống kiểm soát tính hợp lệ về mặt thời gian giữa Dự án, Nhiệm vụ và Công việc như thế nào?
Theo các kịch bản Use Case tại Bảng 2.3, 2.5 và 2.6:
- Khi cập nhật dự án: Người dùng không được phép chỉnh sửa thời gian kết thúc bé hơn mốc thời gian kết thúc ban đầu, và không được thay đổi thời gian bắt đầu khi dự án đã bước vào giai đoạn thực hiện.
- Khi tạo nhiệm vụ hoặc công việc: Thời gian bắt đầu của nhiệm vụ/công việc không được nhỏ hơn thời gian bắt đầu của dự án, và thời gian kết thúc không được lớn hơn thời gian kết thúc của dự án. Nếu vi phạm, hệ thống sẽ phát sinh thông báo không hợp lệ.
4. Hệ thống ứng dụng những dịch vụ cụ thể nào của nền tảng Google Firebase?
Theo nội dung Chương 1 và mục tiêu đề tài, ứng dụng sử dụng 05 dịch vụ thành phần của Firebase:
- Firebase Realtime Database: Lưu trữ và đồng bộ dữ liệu công việc, nhân viên theo thời gian thực (hỗ trợ ngoại tuyến).
- Firebase Authentication: Phục vụ chức năng xác thực người dùng đăng nhập hệ thống.
- Firebase Cloud Storage: Lưu trữ các tệp đính kèm gồm hình ảnh và tệp tài liệu PDF.
- Firebase Remote Config: Cập nhật tham số, giao diện ứng dụng từ xa mà không cần phát hành lại file cài đặt.
- Firebase Crashlytics: Thu thập và báo cáo các lỗi dừng ứng dụng đột ngột (crash) theo thời gian thực.
5. Cơ chế bảo vệ tài khoản người dùng trong ứng dụng được thiết kế như thế nào?
Dựa theo Bảng 2.8 và Bảng 2.9, cơ chế bảo mật tài khoản gồm 02 lớp:
- Lớp mật khẩu thông thường: Yêu cầu xác thực mật khẩu hiện tại, nhập mật khẩu mới và xác nhận mật khẩu mới (kiểm tra không được để trống, mật khẩu mới không được trùng mật khẩu cũ và hai trường mật khẩu mới phải khớp nhau).
- Lớp mật khẩu cấp 2: Người dùng chọn một câu hỏi bảo mật trong danh mục có sẵn và nhập câu trả lời tương ứng để xác thực bảo vệ bổ sung cho tài khoản.
Kết luận
Đồ án tốt nghiệp của sinh viên Nguyễn Đăng Khoa đã giải quyết trọn vẹn bài toán thực tế về số hóa quy trình quản lý công việc tại Công ty TNHH Công nghệ phần mềm Lutech trong giai đoạn chuyển đổi và mở rộng quy mô. Bằng việc kết hợp ngôn ngữ lập trình Kotlin, môi trường Android Studio và kiến trúc Backend-as-a-Service của Google Firebase, tác giả đã xây dựng thành công một ứng dụng di động hoàn chỉnh với 04 nhóm phân quyền tác nhân, 09 thực thể dữ liệu và cơ chế cập nhật tiến độ công việc theo thời gian thực. Công trình đáp ứng đầy đủ các tiêu chuẩn kỹ thuật của một đồ án tốt nghiệp đại học ngành Công nghệ thông tin, cung cấp hệ thống tài liệu phân tích thiết kế rõ ràng và có giá trị ứng dụng thực tiễn cao cho doanh nghiệp.