đồ án 1 xây dựng ứng dụng nhắc lịch công tác

70 0 0
Tài liệu đã được kiểm tra trùng lặp
đồ án 1 xây dựng ứng dụng nhắc lịch công tá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

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA CÔNG NGHỆ PHẦN MỀM

ĐỒ ÁN 1

XÂY DỰNG ỨNG DỤNG NHẮC LỊCH CÔNG TÁC

GV HƯỚNG DẪN: ThS Trần Thị Hồng YếnSV THỰC HIỆN: Phạm Tuấn Anh – 21520147

Nguyễn Thành Thiện Ân - 21521812

Trang 2

LỜI CẢM ƠN

Việc hoàn thành đồ án 1 với đề tài Xây dựng ứng dụng nhắc lịch công tác là kết quảcủa sự cố gắng không ngừng của bản thân, được sự giúp đỡ, nhắc nhở của giáo viênhướng dẫn và được tạo điều kiện học tập của khoa Công Nghệ Phần Mềm Quatrang viết này nhóm xin gửi lời cảm ơn đến những người đã giúp đỡ nhóm trongthời gian làm đồ án.

Xin chân thành cảm ơn cô Trần Thị Hồng Yến đã trực tiếp tận tình hướng dẫn, đưara các góp ý, nhắc nhờ kịp thời, cũng như cung cấp các thông tin về việc làm đồ án.Xin chân thành cảm ơn khoa Công Nghệ Phần Mềm đã tạo điều kiện cho nhóm làmđồ án này.

Trong quá trình làm đồ án nhóm không thể tránh được khỏi những sai sót, nhómkính mong nhận được sự chỉ dẫn và góp ý của quý thầy cô để hoàn thiện và pháttriển đồ án hơn.

Nhóm chúng em xin chân thành cảm ơn

Trang 3

LỜI NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

Trang 4

1.7 Các sản phẩm liên quan, tham khảo 5

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 6

2.1 Nhu cầu người dùng 6

2.2 Các vấn đề có thể gặp phải đối với loại ứng dụng này 7

2.3 Các kiến thức về việc quản lý thời gian có liên quan 7

2.3.1 Các khía cạnh khác nhau của quản lý thời gian 7

2.3.2 Các lý thuyết về quản lý thời gian 8

2.4 Phương pháp nghiên cứu, xây dựng ứng dụng 8

2.5 Các công nghệ sử dụng 9

2.5.1 .Net MAUI Blazor App (Blazor Hybrid) 9

2.5.1.1 Định nghĩa 9

2.5.1.2 Tổng quan về công nghệ 9

2.5.1.3 Ứng dụng của công nghệ vào đồ án 10

2.5.1.4 Ưu điểm của công nghệ 10

2.5.1.5 Nhược điểm của công nghệ 10

Trang 5

2.5.2 Supabase 11

2.5.2.1 Tổng quan về công nghệ 11

2.5.2.2 Ứng dụng của công nghệ vào đồ án 11

2.5.2.3 Ưu điểm của công nghệ 11

2.5.2.4 Nhược điểm của công nghệ 12

CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ 13

3.5.1 Sơ đồ Use Case (Use Case Diagram) 17

3.5.2 Sơ đồ trạng thái (State Diagram) 23

3.5.3 Sơ đồ hoạt động (Activity Diagram) 23

3.5.4 Thiết kế cơ sở dữ liệu 30

CHƯƠNG 4: XÂY DỰNG, TRIỂN KHAI ỨNG DỤNG 32

4.1 Kiến trúc phần mềm 32

4.2 Môi trường 32

4.2.1 Môi trường cài đặt 32

4.2.2 Môi trường phát triển ứng dụng 33

4.2.3 Môi trường triển khai ứng dụng 33

4.2.4 Cách cài đặt và chạy ứng dụng 33

4.2.4.1 Đối với nhà phát triển ứng dụng 33

4.2.4.2 Đối với người dùng cuối 36

Trang 7

Hình 3.1: Sơ đồ use case tổng quát 17

Hình 3.2: Sơ đồ use case cho chức năng xem task 17

Hình 3.3: Sơ đồ use case cho chức năng xác thực người dùng 18

Hình 3.4: Sơ đồ use case cho chứ năng chat trong board 18

Hình 3.5: Sơ đồ use case cho chức năng thao tác với task 19

Hình 3.6: Sơ đồ use case cho chức năng thông báo 19

Hình 3.7: Sơ đồ use case cho chứ năng thao tác với board 20

Hình 3.8: Sơ đồ use case cho chức năng tìm và lọc task 20

Hình 3.9: Sơ đồ use case cho chức năng thao tác với tag 21

Hình 3.10: Sơ đồ use case cho chức năng phân công công việc 21

Hình 3.11: Sơ đồ use case cho chắc năng quản lý quyền truy cập trong board 22

Hình 3.12: Sơ đồ use case cho chức năng cài đặt người dùng 22

Hình 3.13: Sờ đồ use case cho chắc năng thao tác với custom view 23

Hình 3.14: Sơ đồ trạng thái 23

Hình 3.15: Sơ đồ hoạt động cho chức năng đăng ký tài khoản 24

Hình 3.16: Sờ đồ hoạt động cho chức năng tạo task mới 24

Hình 3.17: Sơ đồ hoạt động cho chức năng xem task 25

Hình 3.18: Sơ đồ hoạt động cho chức năng tìm kiếm task 25

Hình 3.19: Sơ đồ hoạt động cho chức năng tạo custom view 26

Hình 3.20: Sơ đồ hoạt động cho chức năng tạo board 26

Hình 3.21: Sơ đồ hoạt động cho chức năng tạo tag 27

Hình 3.22: Sơ đồ hoạt động cho chức năng quản lý thành viên trong board 27

Hình 3.23: Sơ đồ hoạt động cho chức năng phân công công việc 28

Trang 8

Hình 3.24: Sơ đồ hoạt động cho chức năng thông báo 28

Hình 3.25: Sơ đồ hoạt động cho chức năng đổi mật khẩu 29

Hình 3.26: Sơ đồ hoạt động cho chức năng chat 29

Hình 3.27: Lược đồ cơ sở dữ liệu quan hệ của ứng dụng (chỉ thể hiện khóa) 30

Hình 3.28:Lược đồ cơ sở dữ liệu quan hệ của ứng dụng (chỉ thể hiện tên quan hệ) 31Hình 4.1: Kiến trúc phần mềm 32

Hình 4.2: Logo Visual Studio IDE 33

Hình 4.3: Cài đặt NET MAUI workload ở Visual Studio Installer 34

Hình 4.4: Chọn framework để chạy ứng dụng 34

Hình 4.5: Thao tác với file launchSettings.json 35

Hình 4.6: Thao tác với file WorkScheduleReminder.MAUIBlazor.csproj 35

Hình 4.7: Logo WebView2 Runtime 36

Hình 4.8: Tải file nén zip chứa folder installer bản mới nhất 37

Hình 4.9: File có đuôi msix 37

Hình 4.20: Màn hình làm việc 1 board ở chế độ kanban 46

Hình 4.21: Màn hình làm việc 1 board theo chế độ table 46

Hình 4.22: Màn hình làm việc 1 board theo chế độ calendar 47

Hình 4.23: Hộp thoại chi tiết task 48

Hình 4.24: Hộp thoại cài đặt thông báo 49

Trang 9

Hình 4.25: Hộp thoại thao tác với tag và chọn tag 50

Hình 4.26: Hộp thoại phân công công việc 50

Hình 4.27: Hộp thoại chọn section cho 1 task trong board 51

Hình 4.28: Hộp thoại chat 52

Hình 4.29: Hộp thoại thông tin và quản lý thành viên trong board 52

Hình 4.30: Hộp thoại lọc task theo ngày hết hạn 53

Hình 4.31: Hộp thoại lọc task theo người được phân công 54

Hình 4.32: Hộp thoại lọc task theo tag được gắn 55

Hình 4.33: Hộp thoại tạo board 56

Trang 10

DANH MỤC BẢNG

Bảng 3.1: Quyền hạn trong board 16Bảng 3.2: Quyền xem đối với các loại view 16

Trang 11

TÓM TẮT ĐỒ ÁN

Đồ án “Xây dựng ứng dụng nhắc lịch công tác” để giải quyết những thách thức màcá nhân phải đối mặt trong việc quản lý lịch trình làm việc của họ một cách hiệuquả, nhấn mạnh sự cần thiết của một giải pháp quản lý lịch làm việc chuyên dụng Đồ án lấy kiến thức về lịch sử phát triển của công cụ lập lịch cũng như sự thay đổitrong mô hình quản lý thời gian làm nền tảng cho việc xây dựng ứng dụng.

Việc xây dựng các tính năng, chức năng của ứng dụng được dựa vào thông qua cáckhảo sát về người dùng, các vấn đề hiện có trong việc xây dựng ứng dụng quản lýthời gian cũng như các lý thuyết về quản lý thời gian.

Việc thiết kế ứng dụng sẽ đi sâu vào các vấn đề như thiết kế các tính năng, chứcnăng, vẽ các sơ đồ và tài liệu liên quan cũng như tiến hành cài đặt và triển khai ứngdụng dựa trên các công nghệ và môi trường đã định sẵn trong phần thiết kế.

Với vấn đề về thời gian và nhân lực, các tính năng của ứng dụng hiện tại đảm bảonhững yêu cầu cơ bản của một ứng dụng quản lý thời gian Trong tương lai, ứngdụng có thể phát triển và tích hợp thêm các tính năng, chức năng mới để làm tăngtính thông minh của ứng dụng cũng như hướng người dùng hơn.

Tóm tắt nội dung của từng chương trong báo cáo đồ án:

 Chương 1 MỞ ĐẦU: Giới thiệu về động lực, mục tiêu và phạm vi của nghiêncứu, cũng như tổng quan về ứng dụng được xây dựng và các sản phẩm thamkhảo.

 Chương 2 CƠ SỞ LÝ THUYẾT: Tập trung trình bày về cơ sở lý thuyết, yêucầu người dùng, vấn đề có thể phát sinh, kiến thức quản lý thời gian, phươngpháp nghiên cứu và xây dựng ứng dụng, cùng với các công nghệ được chọn vàưu/nhược điểm của chúng Đây là bước quan trọng để hiểu rõ và xác định hướngphát triển cho đề tài.

 Chương 3 PHÂN TÍCH THIẾT KẾ: Tập trung vào phân tích thiết kế ứng dụngvới các tính năng, thuật ngữ, chức năng, và ma trận quy định Sơ đồ Use Case,

Trang 12

trạng thái, hoạt động, và thiết kế cơ sở dữ liệu được thể hiện, cung cấp cái nhìntoàn diện về cách ứng dụng hoạt động và tương tác.

 Chương 4 XÂY DỰNG, TRIỂN KHAI ỨNG DỤNG: Nội dung về xây dựng vàtriển khai ứng dụng Mô tả kiến trúc phần mềm, môi trường cài đặt, môi trườngphát triển và triển khai Hướng dẫn cài đặt ứng dụng cho nhà phát triển và ngườidùng cuối, bao gồm cách cài đặt Microsoft Edge WebView2 Runtime và triểnkhai ứng dụng Liệt kê danh sách màn hình và các thành phần chi tiết của ứngdụng.

 Chương 5 KẾT LUẬN: Nội dung về đánh giá quá trình làm việc và sự thuận lợicủa đề tài cũng như gặp khó khăn với thời gian và kinh nghiệm làm đồ án củanhóm Kết quả đạt được bao gồm lý thuyết, công nghệ, ứng dụng và phát triểncon người Đặc biệt, hướng phát triển của đồ án tập trung vào mở rộng nền tảngvà tích hợp trí tuệ nhân tạo.

Trang 13

1.CHƯƠNG 1: MỞ ĐẦU1.1.Lí do chọn đề tài

 Tính thực tiễn và hữu ích: Ứng dụng nhắc lịch công tác mang lại giá trị thực tếvà hữu ích cho nhiều người Việc quản lý thời gian và công việc là một tháchthức phổ biến, và một ứng dụng nhắc lịch có thể giúp người dùng giải quyết vấnđề này một cách hiệu quả.

 Nhu cầu người dùng: Nhu cầu của người dùng hiện nay đặt ra yêu cầu cao đốivới các công cụ quản lý thời gian thông minh Người dùng đánh giá cao nhữngứng dụng giúp họ duy trì lịch trình làm việc có tổ chức và hiệu quả.

 Thách thức khoa học và công nghệ: Việc xây dựng một ứng dụng nhắc lịch cóthể đưa ra những thách thức kỹ thuật thú vị và có ý nghĩa Nghiên cứu và pháttriển các giải pháp cho những thách thức này có thể mang lại đóng góp đáng kểcho cộng đồng nghiên cứu và công nghệ.

 Tương lai phát triển và nâng cấp: Việc phát triển ứng dụng nhắc lịch không chỉlà việc giải quyết một vấn đề ngày nay mà còn tạo ra cơ hội để phát triển vànâng cấp trong tương lai, bằng cách thêm vào các tính năng mới, tích hợp côngnghệ mới, và cải thiện trải nghiệm người dùng.

1.2.Mục đích

 Tối ưu hóa hiệu suất làm việc: Mục tiêu có thể là tối ưu hóa hiệu suất cá nhânthông qua việc cung cấp một công cụ quản lý thời gian thông minh Ứng dụngnhắc lịch có thể giúp người sử dụng quản lý công việc, ghi chú sự kiện quantrọng, và đảm bảo tuân thủ lịch trình.

 Học tập và tìm hiểu công nghệ: Mục tiêu có thể liên quan đến việc thử nghiệmvà phát triển các công nghệ mới trong lĩnh vực ứng dụng di động, đám mây,hoặc trí tuệ nhân tạo.

 Tương tác xã hội và chia sẻ lịch trình: Mục đích có thể là tạo ra một ứng dụngnhắc lịch mà người dùng có thể dễ dàng chia sẻ lịch trình công việc của họ với

Trang 14

đồng nghiệp, bạn bè, hoặc gia đình Điều này có thể cải thiện tương tác xã hội vàgiao tiếp trong cộng đồng.

 Đóng góp cho cộng đồng: Mục đích có thể là đóng góp vào cộng đồng ngườidùng bằng cách cung cấp một giải pháp thực tế và hiệu quả.

1.3.Đối tượng nghiên cứu

 Nền tảng, công nghệ sử dụng để triển khai ứng dụng. Nhu cầu của người dùng cuối, người dùng tiềm năng. Giao diện, chức năng phù hợp với nhu cầu của người dùng.

1.4.Phạm vi nghiên cứu

 Tập trung tìm hiểu nhu cầu của người dùng, thiết kế giao diện, chức năng choứng dụng.

 Xây dựng ứng dụng nhắc lịch công tác.

1.5.Nền tảng, động lực trong việc xây dựng ứng dụng

 Sự phát triển lịch sử của các công cụ lập lịch: Lịch sử của các công cụ lập lịchbắt nguồn từ sự ra đời của máy tính cá nhân Các công cụ ban đầu chủ yếu tậptrung vào danh sách việc cần làm đơn giản, phát triển thành các ứng dụng lịchphức tạp hơn.

 Sự thay đổi mô hình trong quản lý thời gian: Sự gia tăng của công việc từ xa vàlịch trình linh hoạt đã dẫn đến sự thay đổi mô hình trong quản lý thời gian Ứngdụng có tính đến sự năng động thay đổi của môi trường làm việc hiện đại, cungcấp khả năng thích ứng và linh hoạt trong việc lên lịch.

1.6.Tổng quát về ứng dụng

Ứng dụng “Nhắc nhở Lịch làm việc” được thiết kế để giúp người dùng duy trì mộtcách tiếp cận có cấu trúc và tổ chức đối với các cam kết làm việc của họ Bằng cáchtận dụng công nghệ hiện đại, ứng dụng nhằm mục đích cung cấp nhắc nhở kịp thời,ưu tiên công việc và tăng cường năng suất tổng thể Dự án ra đời từ nhận thức rằng

Trang 15

các ứng dụng quản lý thời gian thông thường hiện nay thiếu sự cụ thể cần thiết đểđáp ứng các thách thức đặc biệt của lịch trình liên quan đến công việc.

1.7.Các sản phẩm liên quan, tham khảo

 Tick Tick. Any.do.

Hình 1.1: Logo ứng dụng Tick TickHình 1.2: Logo ứng dụng Any.do

Trang 16

2.CHƯƠNG 2: CƠ SỞ LÝ THUYẾT2.1.Nhu cầu người dùng

 Quản lý thời gian hiệu quá: Người dùng muốn có một công cụ giúp họ quản lýthời gian một cách hiệu quả, xác định nhiệm vụ ưu tiên, và giữ cho lịch trình làmviệc của họ có tổ chức.

 Nhắc nhớ và thông báo chính xác: Người dùng mong đợi tính năng nhắc nhở vàthông báo chính xác về các sự kiện, cuộc họp, hoặc công việc quan trọng để họkhông bỏ lỡ.

 Đồng bộ hóa trên nhiều thiết bị: Đối với người dùng hiện đại, khả năng đồng bộhóa dữ liệu và lịch trình trên nhiều thiết bị là quan trọng để họ có thể làm việcmọi nơi mà không mất thông tin.

 Tích hợp công cụ và dịch vụ khác: Người dùng muốn có khả năng tích hợp lịchtrình của họ với các công cụ khác như email, danh bạ, công cụ quản lý côngviệc, và các ứng dụng khác để tối ưu hóa quá trình làm việc.

 Giao diện người dùng thân thiện và dễ sử dụng: Giao diện người dùng thân thiệnvà dễ sử dụng là yếu tố quan trọng Người dùng muốn có trải nghiệm linh hoạtvà thoải mái khi sử dụng ứng dụng.

 Chia sẻ lịch trình và tương tác xã hội: Người dùng có thể muốn chia sẻ lịch trìnhcủa họ với đồng nghiệp, bạn bè, hoặc gia đình Tính năng này giúp tạo ra tươngtác xã hội và giao tiếp hiệu quả.

 Tùy chỉnh cá nhân hóa: Khả năng tùy chỉnh lịch trình và cá nhân hóa thông tin làquan trọng để ứng dụng phản ánh chính xác lối sống và mục tiêu của từng ngườidùng.

 Độ an toàn và bảo mật: Người dùng đặt yêu cầu cao đối với độ an toàn và bảomật của thông tin cá nhân và dữ liệu lịch trình của họ.

 Tính năng thông minh và dự đoán: Ứng dụng được mong đợi có khả năng thôngminh, có thể dự đoán nhu cầu người dùng, và đưa ra gợi ý hay lời khuyên hữuích.

Trang 17

 Sự linh hoạt và tích hợp với cuộc sống hằng ngày: Người dùng muốn có mộtứng dụng linh hoạt và tích hợp mạnh mẽ với cuộc sống hàng ngày của họ, từcông việc đến hoạt động giải trí.

2.2.Các vấn đề có thể gặp phải đối với loại ứng dụng này

 Đồng bộ hóa dữ liệu: Đảm bảo đồng bộ hóa dữ liệu lịch trình một cách chínhxác và nhanh chóng trên nhiều thiết bị và nền tảng khác nhau.

 Thời gian thực: Xử lý các sự kiện và nhắc nhở trong thời gian thực mà khônggây tải nặng cho hệ thống.

 Phân quyền: Xác định và quản lý quyền truy cập của người dùng, đồng thờicung cấp một hệ thống phân quyền linh hoạt.

 Hiệu suất và tiêu tốn năng lượng: Đối mặt với thách thức của việc tối ưu hiệusuất và giảm tiêu tốn năng lượng để đảm bảo trải nghiệm người dùng tích cực vàtốn ít năng lượng.

 Bảo mật và quyền riêng tư: Bảo vệ thông tin cá nhân của người dùng và đảmbảo tính an toàn cho dữ liệu lịch trình.

2.3.Các kiến thức về việc quản lý thời gian có liên quan

(Các nội dung trình bày trong phần này được chọn lọc để có liên quan đến đề tàiđồ án và xây dựng ứng dụng)

2.3.1 Các khía cạnh khác nhau của quản lý thời gian

 Thiết lập mục tiêu: Thiết lập các mục tiêu rõ ràng và có thể đạt được cung cấp ýthức về phương hướng và mục đích, cho phép các cá nhân ưu tiên nhiệm vụ củahọ cho phù hợp.

 Ưu tiên: Xác định các nhiệm vụ dựa trên tầm quan trọng và mức độ khẩn cấpcủa chúng giúp các cá nhân tập trung vào các hoạt động có mức độ ưu tiên cao,đảm bảo rằng các nhiệm vụ thiết yếu được hoàn thành trước tiên.

Trang 18

 Lập kế hoạch: Tạo một lịch trình có cấu trúc hoặc danh sách việc cần làm chophép các cá nhân phân bổ các khoảng thời gian cụ thể cho các hoạt động khácnhau, đảm bảo cách tiếp cận có hệ thống để hoàn thành nhiệm vụ.

 Phân công: Giao nhiệm vụ cho người khác khi thích hợp giúp phân phối khốilượng công việc và cho phép các cá nhân tập trung vào các nhiệm vụ đòi hỏichuyên môn và sự chú ý.

 Theo dõi thời gian: Theo dõi và đánh giá thời gian được sử dụng như thế nàocho phép các cá nhân xác định các lĩnh vực cải thiện và thực hiện các điều chỉnhcần thiết cho lịch trình của họ.

2.3.2 Các lý thuyết về quản lý thời gian

 Lý thuyết pickle jar: nhấn mạnh sự ưu tiên và phân bố thời gian hiệu quả Hãytưởng tượng một cái lọ đại diện cho thời gian có sẵn và nhiều loại đá, sỏi và cátđại diện cho các nhiệm vụ và hoạt động khác nhau Lý thuyết cho thấy rằng đểphù hợp với tất cả các vật phẩm vào bình, trước tiên một cá nhân nên đặt nhữngtảng đá lớn (nhiệm vụ ưu tiên cao) tiếp theo là đá cuội (nhiệm vụ phụ), và sau đólà cát (các hoạt động ít quan trọng hơn).

 Phương pháp Alpen: Phương pháp này nhấn mạnh việc lập kế hoạch kỹ lưỡngvà tổ chức các nhiệm vụ Nó liên quan đến việc liệt kê tất cả các nhiệm vụ, ướctính thời gian cần thiết cho mỗi nhiệm vụ, thêm thời gian đệm cho các trườnghợp không lường trước được, đưa ra quyết định về mức độ ưu tiên của nhiệm vụvà xem xét các nhiệm vụ đã hoàn thành để phản ánh và cải thiện.

2.4.Phương pháp nghiên cứu, xây dựng ứng dụng

 Đọc tài liệu về nền tàng, công nghệ để triển khai ứng dụng. Nghiên cứu và phân tích yêu cầu cho ứng dụng.

 Lập danh sách các chức năng cho ứng dụng dựa trên nghiên cứu, khảo sát thựcnghiệm (tham khảo các chức năng hữu ích trong các ứng dụng tương đương đãcó sẵn trên thị trường).

 Lập biểu đồ cơ sở dữ liệu phụ thuộc vào danh sách các chức năng.

Trang 19

 Thiết kế giao diện người dùng.

 Thiết lập cơ sở dữ liệu, xây dựng prototype cho ứng dụng. Kiểm thử và gỡ lỗi trên prototype.

 Hoàn thiện prototype thành sản phẩm chính thức, phát triển và tối ưu hóa sảnphẩm.

 Blazor WASM: Là một công nghệ web phát triển bởi .NET Foundation(Microsoft), giới thiệu lần đầu vào năm 2018, cho phép viết ứng dụng, giao diện

Trang 20

web (SPA – single page application) sử dụng mã nguồn C# và NET chạy trựctiếp trong trình duyệt của người dùng Điểm độc đáo của Blazor WASM là khảnăng chạy mã C# trên máy phía client và tận dụng kho thư viện đồ sộ của NETthay vì phải dựa vào mã JavaScript như các framework và thư viện web truyềnthống.

 Blazor Hybrid: Là sự kết hợp giữa NET MAUI và Blazor wasm để cho phépphát triển ứng dụng đa nền tảng sử dụng cả mã nguồn C# và NET cũng như mãnguồn Blazor (các component được viết theo cú pháp giống HTML), mang đếnmột trải nghiệm của công nghệ web hoạt động như ứng dụng native.

2.5.1.3.Ứng dụng của công nghệ vào đồ án

Công nghệ được sử dụng để phát triển ứng dụng có giao diện đồ họa phía clienttrong đồ án.

2.5.1.4.Ưu điểm của công nghệ

 Mang đến cho developer trải nghiệm phát triển ứng dụng quen thuộc như khiphát triển ứng dụng web (Với những developer đã quen với HTML, CSS). Sử dụng được cùng một lúc ưu điểm của công nghệ web (linh hoạt, dễ tiếp cận,

v.v.) và công nghệ native (hiệu suất cao, truy cập đầy đủ tính năng của hệ thống/hệ điều hành, mang lại trải nghiệm người dùng tốt nhất, v.v.).

 Tận dụng được cả hai kho thư viện đồ sộ của NET và công nghệ web.

 Tận dụng được khả năng sở hữu một bộ mã nguồn, nhưng phát triển được ứngdụng hoạt động được trên nhiều nền tảng khác nhau, tiết kiệm chi phí, công sứcvà thời gian.

2.5.1.5.Nhược điểm của công nghệ

Công nghệ còn mới, tài liệu tham khảo và kho thư viện, plugin đặc thù cho côngnghệ chưa nhiều dẫn đến phát sinh một số khó khăn nhỏ khi phát triển ứng dụng.

Trang 21

2.5.2.2.Ứng dụng của công nghệ vào đồ án

Công nghệ được sử dụng để có được một server được cài đặt sẵn với khả năng tùychỉnh, cung cấp dữ liệu cho phía client.

2.5.2.3.Ưu điểm của công nghệ

 Hỗ trợ, đáp ứng đầy đủ những dịch vụ cần thiết của một server thông thường màkhông phải tự tay xây lại (tiết kiệm chi phí, công sức, thời gian và mang lại sựđảm bảo về mặt hiệu năng).

 Hỗ trợ việc tùy chỉnh server thông qua việc viết các webhook và edge function.

Trang 22

 Tận dụng được những ưu điểm của hệ quản trị cơ sở dữ liệu quan hệPostgreSQL (có khả năng thực hiện được những truy vấn phức tạp, v.v.).

2.5.2.4.Nhược điểm của công nghệ

 Vì là công nghệ mới nên tài liệu tham khảo chưa nhiều, thường xuyên có cácbản vá/cập nhật thay đổi tính năng của Supabase (chưa stable, mã nguồn củaứng dụng dễ hoạt động sai, có khả năng phải viết lại mã nguồn của ứng dụng khicập nhật Supabase lên các phiên bản mới).

 Một số tính năng và hiệu năng tốt nhất phải trả phí.

Trang 23

3.CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ3.1.Các tính năng của ứng dụng

Sau khi tìm hiểu các lý thuyết, khảo sát nhu cầu, tham khảo các ứng dụng khác trênthị trường cũng như cân nhắc về mặt thời gian, nguồn lực, nhóm đã đưa ra danhsách các tính năng (features) như sau:

 Thêm, xóa, sửa lịch, sự kiện công tác của cá nhân hoặc đội nhóm Nhắc nhở, thông báo lịch, sự kiện công tác cá nhân hoặc đội nhóm.

 Theo dõi, xem lịch, sự kiện công tác cá nhân hoặc đội nhóm theo giờ, ngày,tuần, tháng, năm.

 Phân công công việc cho thành viên trong đội nhóm.

 Quản lý quyền truy cập (thêm, xóa, sửa, xem) lịch, sự kiện công tác, phân côngcủa thành viên trong đội nhóm.

 Ghi chú, trao đổi (chat) cho công việc trong đội nhóm.

 Tìm kiếm, tra cứu lịch, sự kiện công tác cá nhận hoặc đội nhóm theo nhãn. Đăng nhập, đăng xuất, đồng bộ hóa dữ liệu giữa các thiết bị.

 Một số cài đặt nhỏ liên quan đến cá nhân hóa cho người dùng.

3.2.Các thuật ngữ liên quan tới ứng dụng

(Có thể còn một số thuật ngữ khác nhưng chỉ liệt kê một số thuật ngữ cần thiết hoặccó thể gây khó hiểu)

 Task: Một công việc, sự kiện.

 Subtask: Nhiệm vụ phụ, 1 thuộc tính của task Danh sách các subtask có thểđược dùng như là các bước để hoàn thành task.

 Tag (nhãn): Gắn nhãn vào một task để nhận dạng, phân loại, mức độ ưu tiên hayvì mục đích cung cấp thông tin Mỗi người dùng có một danh sách các tag choriêng mình Mỗi board có một danh sách tag riêng.

Trang 24

 Tagging (nhãn đang gắn cho 1 task): Một task được gắn 1 hay nhiều tag, hoặckhông có tag nào 1 task của một cá nhân sẽ được gắn tag từ danh sách tag củacá nhân đó, 1 task của một board sẽ được gắn tag từ danh sách tag của board đó. Reminder: Là một thuộc tính của task, là nơi người dùng có thể tùy chỉnh việc

thông báo của 1 task.

 Workspace: Nơi truy cập vào các board để làm việc cùng hội nhóm.

 Board: Nơi làm việc của hội nhóm Bất kì cá nhân nào cũng có thể tạo board vàmời người khác vào board của mình để bắt đầu làm việc Ở mục workspace củamỗi tài khoản chỉ hiện lên những board thuộc sở hữu hoặc được người khác mờivào Các task ở board thường được phân loại theo section.

 Section: Là 1 phần của board, mỗi board có 1 hoặc nhiều section Section mụcđích chính dùng để phân loại task trong board theo ý muốn của người dùng.Section khác với tag ở chỗ, task sẽ được biểu diễn theo danh sách từng section.Mặt khác, task có thể được phân loại và biểu diễn theo thời gian, hoặc theongười được giao task đó.

 Default view: Những màn hình xem cơ bản sẵn có của mỗi người dùng, ởdefault view có thể xem công việc của cá nhân, hoặc công việc được giao ởworkspace (tức là ở tất cả các board tham gia) Các task ở default view thườngđược phân loại theo ngày mà task kết thúc.

 Custom view: Màn hình xem không sẵn có, được tạo ra tùy theo mục đích và ýmuốn của người dùng Custom view lấy nguồn từ các board mà cá nhân đó thamgia, có thể tùy chọn xem board nào, section nào Các task trong custom viewthường được phân loại theo thời gian, theo board/section, hoặc theo nhữngngười tham gia các board đó tùy theo lựa chọn người dùng custom view là mànhình chỉ xem (read-only) không thể chỉnh sửa hay thêm task trong custom view.

3.3.Các chức năng của ứng dụng

Các chức năng (functions) của ứng được phát triển từ các tính năng ở mục 3.1: Xác minh người dùng:

Trang 25

o Tạo tài khoản bằng email.

o Đăng nhập bằng tài khoản đã tạo.o Đăng nhập bằng tài khoản Facebook.o Đăng nhập bằng khoản Google.o Quên mật khẩu.

 Thao tác với task:o Thêm task.o Xóa task.

o Chỉnh sửa reminder của task.o Chỉnh sửa tagging của task.o Chỉnh sửa ghi chú của task.o Chỉnh sửa danh sách subtask.

o Chỉnh sửa danh sách các tệp đính kèm.

o Chỉnh sửa section mà task thuộc về (task ở board). Theo dõi task theo chế độ:

o Kanban.o Table.o Calendar.

 Thông báo về ngày kết thúc của task. Thao tác với board:

o Tạo board.o Xóa board.

o Thêm section vào board.o Chỉnh sửa tên section.o Xóa section khỏi board. Thao tác với custom view:

o Tạo custom view.

Trang 26

o Xóa custom view.o Chỉnh sửa custom view. Thao tác với tag:

o Thêm tag.o Xóa tag.o Chỉnh sửa tag. Phân công công việc.

 Quản lý quyền truy cập board:o Thêm người vào board.o Xóa thành viên khỏi board.

o Chỉnh sửa quyền của thành viên trong board.o Rời board.

 Cài đặt cá nhân:o Đổi mật khẩu.o Xóa tài khoản.o Đổi màu nền.o Đổi ảnh nền.o Đổi ảnh đại diện.

Thao tácvới board

Thao tácvới tag

Thao tácvới task

Xem task

Trang 27

3.5.1 Sơ đồ Use Case (Use Case Diagram)

Hình 3.6: Sơ đồ use case tổng quát

Trang 28

Hình 3.7: Sơ đồ use case cho chức năng xem task

Hình 3.8: Sơ đồ use case cho chức năng xác thực người dùng

Trang 29

Hình 3.9: Sơ đồ use case cho chứ năng chat trong board

Trang 30

Hình 3.10: Sơ đồ use case cho chức năng thao tác với task

Hình 3.11: Sơ đồ use case cho chức năng thông báo

Trang 31

Hình 3.12: Sơ đồ use case cho chứ năng thao tác với board

Hình 3.13: Sơ đồ use case cho chức năng tìm và lọc task

Trang 32

Hình 3.14: Sơ đồ use case cho chức năng thao tác với tag

Hình 3.15: Sơ đồ use case cho chức năng phân công công việc

Trang 33

Hình 3.16: Sơ đồ use case cho chắc năng quản lý quyền truy cập trong board

Hình 3.17: Sơ đồ use case cho chức năng cài đặt người dùng

Trang 34

Hình 3.18: Sờ đồ use case cho chắc năng thao tác với custom view

3.5.2 Sơ đồ trạng thái (State Diagram)

Hình 3.19: Sơ đồ trạng thái

3.5.3 Sơ đồ hoạt động (Activity Diagram)

(Sơ đồ hoạt động có rất nhiều ảnh nên phần này chỉ để một số ảnh đặc trưng chotừng nhóm chức năng lớn)

Trang 35

Hình 3.20: Sơ đồ hoạt động cho chức năng đăng ký tài khoản

Hình 3.21: Sờ đồ hoạt động cho chức năng tạo task mới

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

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

Tài liệu liên quan