ĐỒ án ỨNG DỤNG hỗ TRỢ QUẢN lý NHÓM

37 17 0
ĐỒ án ỨNG DỤNG hỗ TRỢ QUẢN lý NHÓM

Đ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

ĐẠ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 NGUYỄN HỒNG KHOA – NGUYỄN TIẾN DŨNG ĐỒ ÁN ỨNG DỤNG HỖ TRỢ QUẢN LÝ NHÓM Team management support application GIẢNG VIÊN HƯỚNG DẪN THS NGUYỄN THỊ THANH TRÚC TP HỒ CHÍ MINH, 2020 LỜI CẢM ƠN Đầu tiên, nhóm chúng em xin gửi lời cảm ơn chân thành đến tập thể quý thầy cô Trường Đại học Công nghệ thông tin – Đại học Quốc gia TP.HCM quý thầy cô khoa Công Nghệ Phần Mềm giúp cho nhóm chúng em có kiến thức làm tảng để thực đề tài Đặc biệt, nhóm chúng em xin gửi lời cảm ơn chân thành tới cô Nguyễn Thị Thanh Trúc, giúp nhóm chúng em suốt q trình thực đồ án Trong thời gian qua nhóm chúng em áp dụng kiến thức tảng tích lũy đồng thời kết hợp với việc học hỏi nghiên cứu kiến thức Từ đó, nhóm chúng em vận dụng tối đa thu thập để hoàn thành đồ án tốt Tuy nhiên, trình thực hiện, khơng tránh khỏi thiếu sót Chính vậy, nhóm chúng em mong nhận góp ý từ phía thầy nhằm hồn thiện cịn chưa tốt trau dồi kiến thức MỤC LỤC Chương TỔNG QUAN 1.1 Tên đề tài 1.2 Từ khóa 1.3 Khảo sát đề tài 1.4 Mục tiêu đề tài 10 1.5 Ý nghĩa đề tài 10 1.6 Đối tượng, phạm vi phương pháp nghiên cứu đề tài 10 1.6.1 Đối tượng nghiên cứu 10 1.6.2 Phạm vi nghiên cứu 11 1.7 Những công cụ quản lý cơng việc nhóm phổ biến 11 1.7.1 Open Project 11 1.7.2 Trello 12 1.7.3 Microsoft Team 13 Chương 2.1 CƠ SỞ LÝ THUYẾT 15 Phương pháp công nghệ quản lý nhóm, dự án 15 2.1.1 Phương pháp Kanban (Thẻ thị giác) 15 2.1.2 Gantt Chart 16 2.1.3 So sánh Gantt Chart Kanban 17 2.1.4 Thuật toán xếp lịch cho Gantt Chart 18 2.1.5 Vấn đề giao tiếp thành viên 28 2.2 Công nghệ phát triển đề tài 31 2.2.1 ReactJS 31 2.2.2 ASP.NET Core 32 2.2.3 Microsoft SQL Server MongoDB 33 Chương CÀI ĐẶT VÀ KẾT LUẬN 34 3.1 Cài đặt 34 3.2 Kết luận 36 DANH MỤC HÌNH DANH MỤC BẢNG DANH MỤC TỪ VIẾT TẮT TÓM TẮT ĐỀ TÀI Khi giới ngày đại hóa, cơng nghệ phát triển đến lĩnh vực, ngành nghề, việc áp dụng tri thức vào việc giải nhu cầu thường ngày người trở nên vô phổ biến, đặc biệt lĩnh vực đòi hỏi kết nối, tương tác trao đổi người với học tập hay làm việc Làm việc nhóm đời phương pháp tất yếu học tập công việc, việc trau dồi kiến thức, phát triển thân hay hồn thành cơng việc cách cá nhân dần trở nên không hiệu quả, có xu hướng kết hợp lại thành nhóm, để làm việc, phát triển hồn thiện lẫn Những công nghệ giao tiếp ngày Facebook, Email, Messenger, Zalo, phổ biến việc kết nối người, để nhóm trao đổi, tương tác, học tập làm việc lúc vơ bất tiện Với nhu cầu này, công cụ, phần mềm, website, ứng dụng, với mục tiêu hỗ trợ quản lý nhóm, quản lý cơng việc,… đời, số công cụ phổ biến kể đến như: Microsoft Team, Trello, Redmine, Asana,… dùng để quản lý nhóm, giao cơng việc quản lý tiến độ công việc làm việc nhóm Đề tài thực để tạo thêm công cụ hỗ trợ cho bạn học sinh, sinh viên hay người làm, có thêm môi trường phù hợp hơn, dễ dàng tiện dụng muốn quản lý hội nhóm, hay muốn theo dõi tiến độ cơng việc nhóm thân Chương TỔNG QUAN 1.1 Tên đề tài Ứng dụng hỗ trợ quản lý nhóm (TeamStudio) 1.2 Từ khóa Team management, Project management 1.3 Khảo sát đề tài Hiện nay, làm việc nhóm trở nên phổ biến học tập làm việc, nhu cầu trao đổi thông tin, tạo giao cơng việc nhóm đến thành viên, quản lý công việc giao, quản lý tiến độ cá nhân tồn nhóm,… nhu cầu thiết yếu người hợp tác lại với Tuy nhiên, đa số lại không sử dụng công cụ để hỗ trợ cho nhu cầu này, phương tiện thường dùng để quản lý nhóm như: Facebook, Zalo, Messenger,… lại không cung cấp đủ chức không hướng đến nhu cầu quản lý, giao việc kiểm tra tiến độ công việc Gây đình trệ, qn cơng việc, khơng hiệu dẫn đến kết không tốt, đồng thời gây khó khăn cho người dùng làm việc với Những công nghệ phổ biến nay, phục vụ tốt cho nhu cầu quản lý, kiểm sát phân chia cơng việc nhóm kể đến như: • Trello: công cụ quản lý công việc hiệu làm việc theo nhóm, giúp biết có đầu việc nào, làm tiến độ • Redmine: Một cơng cụ giúp quản lý công việc, quản lý dự án, theo dõi tiến độ dự án công việc nhỏ • Microsoft Team: hệ sinh thái, nơi thành viên nhóm nhắn tin, tạo phịng họp, chia sẻ tài nguyên,… 1.4 Mục tiêu đề tài Tạo ứng dụng, cơng cụ giúp cho việc quản lý, làm việc nhóm trở nên dễ dàng thuận tiện Với đối tượng người dùng team nhỏ cho học nhóm làm việc nhóm, hướng đến nhu cầu học đường cho học sinh, sinh viên Kế thừa ưu điểm hồn thiện khuyết điểm cơng nghệ nêu trên, với giao diện trực quan, chức dễ truy cập sử dụng, có kênh chat để tương tác thảo luận thành viên, chúng em mong muốn TeamStudio không công cụ, mà cịn giải pháp tối ưu nhanh chóng bạn học sinh, sinh viên, người làm nghĩ tới muốn tìm ứng dụng quản lý nhóm cho 1.5 Ý nghĩa đề tài Với mục tiêu nêu Đề tài thực nhằm hỗ trợ cho bạn học sinh, sinh viên việc học tập, đồng thời hướng đến thay đổi thói quen sử dụng tảng khơng hợp lý để làm việc nhóm như: Facebook, Zalo, Telegram,… Giúp giảm thời gian lãng phí việc quản lý tăng tính kiểm sốt cho nghiệp vụ, nhu cầu phát sinh làm việc nhóm 1.6 Đối tượng, phạm vi phương pháp nghiên cứu đề tài 1.6.1 Đối tượng nghiên cứu • Tìm hiểu, nghiên cứu xây dựng website dựa công nghệ Reactjs, SQL Server, MongoDB , ASP.NET Core • Tìm hiểu áp dụng Phương pháp quản lý thẻ thị giác Kanban để áp dụng xây dựng giao diện trực quan Chọn thứ tự loại bỏ trùng lặp công việc thời điểm: o Nhận xét: ▪ Hiện (hình 3) Đường Găng Gantt Chart biểu diễn cho khoảng ngày liên tiếp (vùng) mà task đặt vào Ví dụ: Task có đường Găng trải từ ngày đến ngày Nhưng số ngày cần thiết để hoàn thành task có ngày, task đặt vào khoảng {1->2->3->4} {2->3->4>5} ▪ Vậy task có đường Găng vùng “an tồn” để đặt task đó, đảm bảo khơng phá vỡ ngun tắc deadline ràng buộc trước sau task Hình Các task nằm đường găng chúng o Nhiệm vụ: ▪ Chọn thứ tự task ▪ Đảm bảo task phải nằm đường Găng ▪ Thời gian hồn thành task cuối phải sớm o Thực hiện: ▪ Chọn đường găng bị chồng chéo lên (Hình 5) ▪ Sử dụng thuật tốn DFS (Depth-first search): Thực DFS cho để tìm thứ tự có thời gian hồn thành sớm (Hình 6) Hình Phân vùng nhóm tasks bị chồng Hình Một cách xếp hoàn chỉnh sau thực DFS xong Chọn thứ tự tối ưu dựa Độ ưu tiên Độ phức tạp (thời gian) bộ: Chọn có Độ ưu tiên tối ưu nhất, có nhiều độ ưu tiên, ta tiếp tục chọn dựa có Độ phức tạp tối ưu o Tính Độ ưu tiên thứ tự: Nhận xét: cơng việc có độ ưu tiên lớn nên thực trước, nên có độ ưu tiên tối ưu có thứ tự độ ưu tiên giảm dần theo cách xếp (Hình 7) Hình Một thứ tự tasks có Độ ưu tiên tối ưu (giảm dần) Hình Một thứ tự tasks có Độ ưu tiên khơng tối ưu (cần tính tốn) Vậy trường hợp Biểu đồ Độ ưu tiên không giảm dần (Hình 8), ta có cách tính sau: ▪ Khởi tạo Độ ưu tiên toàn Prior=0 ▪ Từ Task(n) đến Task(n+1), Độ ưu tiên giảm (đúng) tăng Prior lên 1, Độ ưu tiên tăng (sai) giảm Prior xuống ▪ Lặp lại để tính Prior cho tất xét ▪ Chọn có Prior lớn kết cuối (số lượt giảm (đúng) nhiều nhất) o Tính Độ phức tạp (thời gian) thứ tự: Tương tự tính Độ ưu tiên, thay giá trị Priority point Complexity point (theo ngày) 2.1.4.6 Chứng minh tính đắn ➢ Kiểm tra liệu hợp lệ: Mô tả: kiểm tra hợp lệ dựa vào ràng buộc trước sau Task, kiểm tra để tìm trường hợp ràng buộc thành vịng, hồi quy (các Task phụ thuộc lẫn nhau) Ràng buộc kiểm tra tính khơng hợp lệ: Tồn N Task, N>1 Ví dụ trường hợp khơng hợp lệ: Giả sử có N Task: T(1), T(2), T(3),… T(N-1), T(N) T(1) Task tiên T(2): T(1) phải hoàn thành trước T(2) bắt đầu Tương tự với T(2) T(3), T(3) T(1) Vậy ta bắt đầu hoàn thành Task T(1), T(2) hay T(3) Task yêu cầu Task tiên phải hồn thành  Đây trường hợp không hợp lệ Đánh giá: dễ thấy tốn tìm chu trình (từ node di chuyển qua hàng loạt node trở mà khơng lại cạnh đi) Mơ hình hóa lại tốn: Xây dựng thành đồ thị G, với Ràng buộc Cạnh, Task Node G Vì phụ thuộc Task chiều nên cạnh có hướng => G đồ thị có hướng Với đơn đồ thị có hướng, tìm chu trình ta áp dụng thuật tốn DFS tìm kiếm theo chiều sâu ➢ Ràng buộc Task Gantt: Mô tả: thực ràng buộc trước sau cho Task, để không xảy việc trùng công việc mốc thời gian Ràng buộc: sau kiểm tra hợp lệ phụ thuộc Task trước Đánh giá: Task x có từ đến N task tiên Giả sử có N Task tiên quyết, ta cần tìm ngày deadline trễ N Task đó, Task x ln phải bắt đầu sau ngày Thuật tốn áp dụng: duyệt tuần từ tìm phần tử có deadline trễ danh sách Task tiên Sau thực ràng buộc, ta có đường Găng khoản mà Task đặt ➢ Chọn xếp: Mô tả: Chọn xếp Task theo thứ tự thỏa mãn đường Găng tìm được, đồng thời có deadline sớm Ràng buộc: phải có đường Găng trước thực tìm kiếm Đánh giá: xem mốc thời gian vị trí x, vị trí, ta có N lựa chọn, với Ni có đường găng qua vị trí Sau chọn xong vị trí tức ta chọn Task bắt đầu vị trí Sau chọn xong, chuyển đến vị trí x+TaskDuration Và quay chọn lựa lại ban đầu Thuật toán áp dụng: đệ quy có lưu vết Đệ quy vị trí x (x: 1>maxDeadline) Lưu lại Task chọn, đồng thời lưu lại tổng giá trị (thời hạn trễ nhất) tìm 2.1.5 Vấn đề giao tiếp thành viên 2.1.5.1 Đặt vấn đề Kỹ giao tiếp yếu tố quan trọng cho thành cơng hầu hết vai trị Nếu thành viên nhận công việc giao thực khơng có góp ý, hỏi đáp lẫn dẫn tới đầu sai lệch so với kết mong muốn Do làm việc với thành viên phải hiểu giao tiếp tốt Ngồi lúc trị chuyện trực tiếp với văn phịng, khơng gần nên trì giao tiếp nhắn tin gọi điện Vậy để thành viên giao tiếp với để bàn bạc cơng việc, giúp đỡ hồn thành tiến độ Từ đặt vấn đề tích hợp module chat call vào ứng dụng Và phải đảm bảo giao tiếp với có người thấy(trừ phịng, hội nhóm chat), khơng thể có quyền truy cập tất hội thoại, giúp cho việc đảm bảo an tồn thơng tin 2.1.5.2 Giải Chúng ta áp dụng SignalR WebRTC để xây dựng module chat call − Về SignalR SignalR thư viện cho lập trình viên NET đơn giản hóa trình thêm chức web real-time phát triển ứng dụng Realtime web functionality ? Đó khả server đẩy nội dung tới client kết nối cách tức Nó khác với giao thức HTTP thông thường: server đợi yêu cầu từ client trả nội dung tương ứng SignalR xử lý quản lý kết nối cách tự động, cho bạn truyền thông điệp tới tất client kết nối cách đồng loạt, giống chat room Bạn gửi thông điệp tới client xác định Kết nối client server liên tục, không giống kết nối HTTP cổ điển, mà thành lập lại kết nối cho lần giao tiếp − Về WebRTC(Web Real-time Communication) WebRTC API viết javascript giúp giao thời gian thực mà không cần cài plugin hay phần mềm hỗ trợ WebRTC có khả hỗ trợ trình duyệt giao tiếp thời gian thực thông qua Video Call, Voice Call hay transfer data P2P(peer-to-peer), không cần đến plugin, phần mềm khác Bằng cách sử dụng WebRTC áp dụng để xây dựng tính call video cho ứng dụng 2.1.5.3 Lưu ý Một số phạm vi ứng dụng: Mô tả Giá trị Số người tối đa nhóm 50 người chat Các loại file hỗ trợ upload jpg;jpeg;gif;png;zip;rar; doc;docx;xls;xlsx;pdf Kích thước file tối đa cho upload 50MB Khó khăn cần giải quyết: − Chat phải hình ảnh tải lên − Chat nhận diện emoji, icon ghi gõ text − Chat nhận diện làm nhiễu từ ngữ tục tĩu − Group chat − Multi video call − Lưu trữ chat data server, load data 2.2 Công nghệ phát triển đề tài 2.2.1 ReactJS 2.2.1.1 Giới thiệu React thư viện UI phát triển Facebook để hỗ trợ việc xây dựng thành phần (components) UI có tính tương tác cao, có trạng thái sử dụng lại React sử dụng Facebook production, Instagram viết hồn tồn React Redux: Đây gọi phần quan trọng ReactJS không sử dụng mà đến redux Trong reactJS không bao gồm module chuyên dụng để xử lý liệu ReactJS thiết lập cách độc lập việc chia nhỏ view thành component nhỏ để chúng liên kết chặt chẽ với 2.2.1.2 Lý chọn ReactJS ReactJS công nghệ phổ biến giới, sử dụng để xây dựng nhiều ứng dụng ReactJS giúp cho trình phát triển ứng dụng nhanh chóng với cộng đồng mạnh mẽ Xây dụng giao diện đẹp, UX tốt 2.2.2 ASP.NET Core 2.2.2.1 Giới thiệu ASP.NET Core open-source framework đa tảng (crossplatform) cho việc xây dựng ứng dụng dựa kết nối đám mây, giống web apps, IoT backend cho mobile Ứng dụng ASP.NET Core chạy NET Core phiên đầy đủ NET Framework Nó thiết kế để cung cấp tối ưu development framework cho dụng mà triển khai đám mây (clound) chạy on-promise Nó bao gồm thành phần theo hướng module nhằm tối thiểu tài nguyên chi phí phát triển, bạn giữ lại mềm giẻo việc xây dựng giải pháp bạn Bạn phát triển chạy ứng dụng ASP.NET Core đa tảng Windows, Mac Linux 2.2.2.2 Lý chọn ASP.NET Core ASP.NET Core - framework đa tảng nguồn mở Microsoft phát triển để xây dựng nên chạy đâu, framework đáng để học tập sử dụng Các thành viên có kiến thức C# tốt Hiệu suất ổn định, cộng đồng hỗ trợ nhiệt tình 2.2.3 Microsoft SQL Server MongoDB 2.2.3.1 Giới thiệu SQL Server hay gọi Microsoft SQL Server, viết tắt MS SQL Server Đây phần mềm phát triển Microsoft dùng để lưu trữ liệu dựa chuẩn RDBMS, hệ quản trị sở liệu quan hệ đối tượng (ORDBMS) SQL Server cung cấp đầy đủ công cụ để quản lý, từ giao diện GUI việc sử dụng ngơn ngữ truy vấn SQL Ngồi điểm mạnh Microsoft có nhiền tảng kết hợp hoàn hảo với SQL Server ASP.NET, C# xây dựng Winform, hoạt động hồn tồn độc lập MongoDB database hướng tài liệu (document), dạng NoSQL database Vì thế, MongoDB tránh cấu trúc table-based relational database để thích ứng với tài liệu JSON có schema linh hoạt gọi BSON MongoDB sử dụng lưu trữ liệu dạng Document JSON nên collection các kích cỡ document khác Các liệu lưu trữ document kiểu JSON nên truy vấn nhanh 2.2.3.2 Lý chọn Microsoft SQL Server MongoDB SQL Server hoạt động tốt với NET Đây RDBMS(hệ quản trị sở liệu) phổ biến sử dụng giới SQL Server có cộng đồng trao đổi hỗ trợ lập trình, chun gia giỏi có mặt khắp giới với ngôn ngữ phong phú Dữ liệu lưu trữ phi cấu trúc MongoDB, khơng có tính ràng buộc, tồn vẹn nên tính sẵn sàng cao, hiệu suất lớn dễ dàng mở rộng lưu trữ Chương CÀI ĐẶT VÀ KẾT LUẬN 3.1 Cài đặt Một số hình ảnh demo từ ứng dụng − Gantt Chart − Danh sách Projects − Danh sách Issues − Danh sách Teams 3.2 Kết luận − Phân tích ứng dụng cần gì, điều cần cải tiến − Chọn cơng nghệ để phát triển ứng dụng cố gắng làm ứng dụng tốt với − Cần phải trích xuất đầy đủ tài liệu, paper đọc, nghiên cứu − Cần phải đặc biệt cố gắng học kỳ tới − Làm việc nhóm phải nghiêm túc, chặng đường dài phía trước cịn nhiều chơng gai ... nhiều ứng dụng quản lý dự án, quản lý nhóm, quản lý cơng việc: Trello, Asana, Jira, Redbooth, ProofHub, MeisterTask, Kanban Tool, Kanban Flow, Pipefy,… Áp dụng kanban vào quản lý nhóm: • Dự án chứa... website, ứng dụng, với mục tiêu hỗ trợ quản lý nhóm, quản lý cơng việc,… đời, số cơng cụ phổ biến kể đến như: Microsoft Team, Trello, Redmine, Asana,… dùng để quản lý nhóm, giao cơng việc quản lý tiến... ứng dụng quản lý nhóm cho 1.5 Ý nghĩa đề tài Với mục tiêu nêu Đề tài thực nhằm hỗ trợ cho bạn học sinh, sinh viên việc học tập, đồng thời hướng đến thay đổi thói quen sử dụng tảng không hợp lý

Ngày đăng: 05/09/2021, 20:47

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

Tài liệu liên quan