Lược đồ tuần tự chức năng xem danh sách thành viên dự án .... Bảng đặc tả Usecase xem danh sách các thành viên của dự án .... Bảng đặc tả xem danh sách công việc của dự án trong List Tas
TÍNH CẤP THIẾT CỦA ĐỀ TÀI
Với sự phát triển nhanh chóng của công nghệ thông tin và xu hướng làm việc trực tuyến, nhu cầu quản lý công việc một cách hiệu quả và linh hoạt đã trở nên cần thiết hơn bao giờ hết Một trang web quản lý công việc trực tuyến sẽ cung cấp một nền tảng tiên tiến giúp các nhóm làm việc phối hợp hiệu quả hơn dù ở bất kỳ đâu
Mô hình Agile Scrum là một phương pháp quản lý dự án linh hoạt, cho phép các nhóm làm việc tăng cường sự tương tác, cải tiến liên tục và phản hồi nhanh chóng Triển khai web quản lý công việc với mô hình này sẽ giúp các nhóm làm việc tổ chức, theo dõi và quản lý các công việc một cách trực quan và dễ dàng, từ đó tối ưu hóa quy trình làm việc và nâng cao năng suất
Do đó, việc xây dựng một trang web quản lý công việc trực tuyến theo mô hình Agile Scrum như iTask sẽ đáp ứng nhu cầu quản lý công việc ngày càng cao, tạo ra một môi trường làm việc hiệu quả và linh hoạt cho các nhóm làm việc, và mở ra cơ hội mới cho các nhà quản lý dự án và chuyên gia trong lĩnh vực này.
MỤC TIÊU CỦA ĐỀ TÀI
Mục tiêu chính của đề tài này là xây dựng một website quản lý công việc trực tuyến chuyên nghiệp và chất lượng, hỗ trợ người dùng dễ dàng theo dõi tiến độ công việc của dự án cũng như có thể kiểm tra các công việc hiện tại của bản thân
Bước đầu sẽ là phát triển một trang web cơ bản, cung cấp thông tin chi tiết về các dự án, giúp người dùng dễ dàng tham gia vào các dự án Tiếp theo, sẽ xây dựng hệ thống cho phép người dùng quản lý thông tin dự án, công việc và các thông tin khác liên quan Trang web cũng sẽ hỗ trợ các tính năng như bình luận, tải tài liệu lên cho dự án,…
Các mục tiêu cụ thể bao gồm:
- Tạo ra một giao diện người dùng thân thiện, trực quan và hấp dẫn, giúp người dùng dễ dàng tương tác và tạo các dự án trên website
Phần mở đầu nhân và dữ liệu của người dùng
- Tối ưu hóa hiệu suất và khả năng mở rộng của website, để đáp ứng số lượng người dùng ngày càng tăng và nhu cầu phát triển trong tương lai
- Đáp ứng các yêu cầu cơ bản của một trang web quản lý công việc, bao gồm khả năng truy cập danh sách dự án, tham gia dự án, quản lý công việc và quản lý thành viên dự án.
Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN
Sau khi hoàn thành đề tài, nhóm đã học hỏi được thêm nhiều được nhiều kiến thức mới về hệ thống quản lý công việc và quy trình phát triển phần mềm.
CƠ SỞ LÝ THUYẾT
CÔNG NGHỆ SỬ DỤNG
Golang, hay Go, là một ngôn ngữ lập trình mã nguồn mở được phát triển bởi Google Được ra mắt vào năm 2009, Go kết hợp hiệu suất cao của ngôn ngữ C với tính tiện dụng của các ngôn ngữ lập trình hiện đại Một trong những đặc điểm nổi bật của
Go là khả năng xử lý đồng thời mạnh mẽ, nhờ vào thiết kế goroutines và channels, giúp việc xây dựng các ứng dụng đa luồng trở nên dễ dàng và hiệu quả hơn
Go có cú pháp đơn giản và rõ ràng, giúp các lập trình viên dễ dàng học và sử dụng Nó cũng đi kèm với một bộ công cụ phát triển mạnh mẽ, bao gồm trình biên dịch nhanh, gói tiêu chuẩn phong phú và các công cụ quản lý phụ thuộc Golang đặc biệt thích hợp cho việc phát triển các ứng dụng web, dịch vụ microservices và hệ thống phân tán, với nhiều công ty lớn như Google, Uber và Dropbox đang sử dụng Go trong các sản phẩm của mình
Hình 2 Minh họa Gin Gonic
Gin là một framework phát triển ứng dụng web dựa trên ngôn ngữ lập trình Go (Golang) Được thiết kế để đơn giản hóa việc xây dựng các ứng dụng web nhanh chóng và hiệu quả, Gin cung cấp nhiều tính năng phổ biến như routing, middleware, xử lý JSON, xử lý lỗi và nhiều công cụ hỗ trợ phát triển khác Một trong những ưu điểm lớn của Gin là hiệu suất cao, nhờ vào việc được viết bằng Go, một ngôn ngữ lập trình tối ưu hóa cho hiệu suất xử lý
Gin sử dụng cấu trúc router nhanh và cơ chế pooling để quản lý các goroutine, giúp xử lý các yêu cầu một cách hiệu quả Điều này làm cho Gin trở thành lựa chọn lý tưởng cho các ứng dụng web cần xử lý lượng lớn yêu cầu đồng thời mà không làm giảm hiệu suất Bên cạnh đó, Gin cũng hỗ trợ việc xây dựng các ứng dụng web RESTful thông qua việc hỗ trợ đầy đủ các HTTP methods như GET, POST, PUT, DELETE
Ngoài ra, Gin cung cấp các cơ chế xử lý lỗi, xác thực và phân quyền, giúp xây dựng các ứng dụng web an toàn và hiệu năng cao Nhìn chung, Gin là một lựa chọn tuyệt vời cho việc phát triển các ứng dụng web trong Go, mang lại sự đơn giản, hiệu quả và hiệu suất cao cho các nhà phát triển
React (còn được biết đến với tên gọi React.js hoặc ReactJS) là một thư viện JavaScript mã nguồn mở, miễn phí, được phát triển bởi Facebook Inc và hiện được bảo trì bởi Meta (trước đây là Facebook) cùng với một cộng đồng các nhà phát triển và công ty cá nhân React được thiết kế để xây dựng các giao diện người dùng dựa trên các thành phần (components)
React có thể được sử dụng để phát triển các ứng dụng đơn trang (single-page), ứng dụng di động, hoặc các ứng dụng render trên server với sự hỗ trợ của các framework như Next.js Do React chỉ tập trung vào giao diện người dùng và việc render các thành phần lên DOM, các ứng dụng React thường dựa vào các thư viện khác cho việc định tuyến và các chức năng phía client khác Một lợi thế quan trọng của React là nó chỉ render lại những phần của trang đã thay đổi, tránh việc render lại không cần thiết các phần tử DOM không thay đổi
MySQL là một hệ quản trị cơ sở dữ liệu (DBMS) phổ biến và mã nguồn mở Nó được sử dụng rộng rãi trong phát triển ứng dụng web và nhiều hệ thống thông tin do tính ổn định, hiệu suất cao, và tính linh hoạt của nó MySQL hỗ trợ nhiều ngôn ngữ lập trình và cung cấp các tính năng mạnh mẽ để quản lý cơ sở dữ liệu.
MỘT SỐ THƯ VIỆN VÀ ỨNG DỤNG HỖ TRỢ KHÁC
TypeScript là một ngôn ngữ lập trình mã nguồn mở được phát triển bởi Microsoft Được xây dựng trên nền tảng JavaScript, TypeScript thêm vào các tính năng như kiểm tra kiểu tĩnh (static typing), các lớp (classes), và các giao diện (interfaces) Điều này giúp việc phát triển và bảo trì các dự án lớn trở nên dễ dàng hơn và giảm thiểu lỗi Điểm khác biệt chính giữa TypeScript và JavaScript là TypeScript cho phép các developers xác định kiểu dữ liệu cho biến, hàm và các thực thể khác Điều này giúp phát hiện sớm các lỗi liên quan đến kiểu dữ liệu trong quá trình phát triển, thay vì chờ đến lúc chạy chương trình Bên cạnh đó, TypeScript cũng hỗ trợ các tính năng hiện đại của JavaScript và các tính năng lập trình hướng đối tượng như kế thừa, đóng gói, và đa hình
Các đặc điểm nổi bật của TypeScript bao gồm:
● Kiểm tra kiểu tĩnh (Static Typing): Giúp phát hiện lỗi sớm trong quá trình phát triển
● Hỗ trợ các tính năng mới của JavaScript: TypeScript liên tục cập nhật và hỗ trợ các tính năng mới của JavaScript
● Tương thích với JavaScript: Mã TypeScript được chuyển đổi (transpile) thành JavaScript để chạy trên bất kỳ môi trường nào hỗ trợ JavaScript
● Cải thiện khả năng bảo trì và mở rộng: Các tính năng như classes và interfaces giúp việc xây dựng các ứng dụng lớn trở nên dễ dàng và có cấu trúc hơn
● Hỗ trợ các công cụ phát triển: TypeScript tích hợp tốt với các IDE và công cụ như Visual Studio Code, cung cấp tính năng tự động hoàn thành mã, gợi ý mã, và kiểm tra lỗi trong thời gian thực
Redux là một thư viện quản lý trạng thái cho các ứng dụng JavaScript, thường được sử dụng cùng với các thư viện hoặc framework như React hoặc Angular để quản lý trạng thái ứng dụng một cách nhất quán và dễ dàng Được tạo ra bởi Dan Abramov và Andrew Clark, Redux giúp quản lý trạng thái của ứng dụng một cách trung tâm, giúp tránh các vấn đề phức tạp liên quan đến truyền dữ liệu giữa các thành phần
● Action: Người dùng hoặc hệ thống thực hiện một hành động (action), ví dụ: thêm một mục vào giỏ hàng
● Reducer: Action được gửi đến một reducer, nơi trạng thái mới của ứng dụng được tính toán dựa trên action đó
● Store: Trạng thái mới được lưu trữ trong store trung tâm
● View: Các thành phần giao diện người dùng được cập nhật để phản ánh trạng thái mới
Docker là một nền tảng mã nguồn mở cho phép các nhà phát triển xây dựng, triển khai, chạy, cập nhật và quản lý các container Docker được viết bằng ngôn ngữ lập trình Go và tận dụng nhiều tính năng của Kernel Linux Docker sử dụng một công nghệ gọi là namespaces để cung cấp “vùng hoạt động” gọi là container Khi bạn chạy một container, Docker tạo ra một tập hợp các namespaces cho container đó
Containers là các thành phần thực thi tiêu chuẩn hóa, kết hợp mã nguồn của ứng dụng với các thư viện và các phụ thuộc của hệ điều hành (OS) cần thiết để chạy mã đó trong bất kỳ môi trường nào Công nghệ container cung cấp tất cả các chức năng và lợi ích của máy ảo (VMs) – bao gồm cách ly ứng dụng và khả năng mở rộng hiệu quả về chi phí, cùng với nhiều ưu điểm khác:
● Nhẹ hơn: Không giống như VMs, containers không mang theo toàn bộ hệ điều hành và hypervisor Chúng chỉ bao gồm các quy trình và phụ thuộc của hệ điều hành cần thiết để chạy mã Kích thước của container được đo bằng megabyte (so với gigabyte của một số VMs), sử dụng tốt hơn dung lượng phần cứng và có thời gian khởi động nhanh hơn
● Năng suất cải thiện: Các ứng dụng container hóa có thể được viết một lần và chạy ở bất kỳ đâu So với VMs, containers triển khai, cung cấp và khởi động lại nhanh chóng và dễ dàng hơn
● Hiệu quả cao hơn: Với containers, các nhà phát triển có thể chạy nhiều bản sao của một ứng dụng trên cùng một phần cứng hơn so với khi sử dụng VMs Hiệu quả này có thể giảm chi phí sử dụng dịch vụ đám mây Docker giúp đơn giản hóa quá trình phát triển và triển khai ứng dụng bằng cách cho phép các developers đóng gói ứng dụng và các phụ thuộc của nó vào một container duy nhất có thể chạy nhất quán trên các môi trường khác nhau, từ máy phát triển cá nhân đến các máy chủ trong trung tâm dữ liệu hoặc đám mây
Redis là một hệ thống cơ sở dữ liệu mã nguồn mở, được thiết kế để lưu trữ và xử lý dữ liệu trong bộ nhớ (in-memory data structure store) Nó hỗ trợ nhiều loại dữ liệu cấu trúc như chuỗi, băm (hashes), danh sách, tập hợp và các kiểu dữ liệu khác Redis nổi bật với tốc độ truy xuất nhanh và khả năng mở rộng tốt, làm cho nó trở thành một giải pháp phổ biến cho các ứng dụng yêu cầu hiệu suất cao và độ phản hồi nhanh Các chức năng chính của Redis bao gồm:
● Lưu trữ dữ liệu cấu trúc: Redis hỗ trợ nhiều loại dữ liệu phức tạp như chuỗi, băm, danh sách, tập hợp, đồng thời cung cấp các thao tác phù hợp để thao tác với từng loại dữ liệu này
Caching: Redis thường được sử dụng làm lớp cache để lưu trữ dữ liệu tạm thời trong bộ nhớ, giúp cải thiện tốc độ truy xuất dữ liệu từ hệ thống lưu trữ chính
● Message Broker: Redis hỗ trợ các cấu trúc dữ liệu như hàng đợi (queue) và kênh thông báo (pub/sub) để xử lý các thông báo và sự kiện trong hệ thống
● Đa luồng và bảo mật: Redis hỗ trợ các thao tác đa luồng và cơ chế bảo mật, cho phép quản lý truy cập dữ liệu và giới hạn các thao tác trên cơ sở dữ liệu
● Replication và High Availability: Redis cung cấp khả năng sao chép dữ liệu (replication) và các cơ chế để đảm bảo sẵn sàng cao (high availability) của hệ thống
Redis được sử dụng rộng rãi trong các ứng dụng web, điện toán đám mây và các hệ thống phân phối nơi nhu cầu về hiệu suất và khả năng mở rộng cao.
KHẢO SÁT HIỆN TRẠNG VÀ ĐẶC TẢ YÊU CẦU PHẦN MỀM
KHẢO SÁT HIỆN TRẠNG
Website: https://www.atlassian.com/software/jira
Jira là một nền tảng quản lý dự án và theo dõi công việc nổi tiếng, được sử dụng rộng rãi trên toàn cầu Jira được thiết kế để hỗ trợ các nhóm Agile Scrum và Kanban trong việc lập kế hoạch, theo dõi và quản lý các dự án phần mềm phức tạp Ưu điểm:
- Đa dạng chức năng quản lý dự án: Jira cung cấp nhiều công cụ mạnh mẽ để quản lý backlog, lập kế hoạch sprint, và theo dõi tiến độ công việc Điều này giúp các nhóm làm việc có thể tổ chức và quản lý dự án một cách hiệu quả
- Khả năng tùy chỉnh cao: Jira cho phép người dùng tùy chỉnh các bảng Kanban và Scrum, quy trình làm việc, và các trường thông tin để phù hợp với nhu cầu cụ thể của từng dự án
- Tích hợp mạnh mẽ: Jira tích hợp với nhiều công cụ khác như Confluence, các nhóm làm việc có một hệ sinh thái công cụ hoàn chỉnh
- Giao diện trực quan: Giao diện của Jira được thiết kế để dễ dàng sử dụng và trực quan, giúp người dùng nhanh chóng làm quen và sử dụng hiệu quả
- Độ phức tạp cao: Đối với những người mới bắt đầu, Jira có thể khá phức tạp và cần thời gian để làm quen Sự đa dạng và phức tạp của các tính năng có thể gây khó khăn cho người dùng không chuyên
- Chi phí cao: Mặc dù Jira cung cấp gói miễn phí cho các nhóm nhỏ, nhưng các gói trả phí cho các tổ chức lớn hoặc nhu cầu cao có thể rất đắt đỏ, không phù hợp với mọi ngân sách
- Hiệu suất đôi khi không ổn định: Một số người dùng báo cáo rằng Jira có thể gặp vấn đề về hiệu suất khi xử lý các dự án lớn hoặc khi có nhiều người dùng truy cập cùng lúc
Hình 6 Trang web Trello Ưu điểm:
- Giao diện dễ sử dụng: Trello được thiết kế với giao diện đơn giản, trực quan, dễ dàng sử dụng ngay cả đối với người dùng mới
- Tính linh hoạt và linh động: Trello cho phép người dùng tổ chức công việc bằng các thẻ (cards), bảng (boards), danh sách (lists), giúp dễ dàng quản lý các dự án và công việc theo các phương pháp quản lý khác nhau
- Tích hợp nhiều tính năng hữu ích: Bao gồm lịch biểu, nhắc nhở, bình luận, đính kèm tập tin, chia sẻ dự án, và các tính năng tùy chỉnh bổ sung thông qua Power-Ups
- Tính đa nền tảng: Trello hỗ trợ đa nền tảng, cho phép người dùng truy cập và làm việc từ các thiết bị khác nhau như máy tính, điện thoại di động, và máy tính bảng
- Thiếu tính năng quản lý Sprint và backlog rõ ràng: Trello không có các tính năng Scrum như quản lý Sprint và backlog một cách tự nhiên như các công cụ quản lý dự án chuyên biệt hơn như Jira Việc phải tạo và duy trì các danh sách và thẻ để đại diện cho Sprint và backlog có thể làm giảm tính hiệu quả và sự rõ ràng của quản lý Scrum
- Khó khăn trong việc theo dõi tiến độ và báo cáo chi tiết: Trello cung cấp các công cụ quản lý công việc cơ bản nhưng thiếu các tính năng phức tạp hơn như báo cáo tự động, biểu đồ burndown và các đánh giá hiệu suất Scrum Điều này có thể làm cho việc theo dõi tiến độ và phân tích hiệu suất của nhóm Scrum trở nên khó khăn hơn
- Độ phức tạp khi dự án lớn và phức tạp: Với các dự án lớn và phức tạp, cấu trúc và quản lý công việc trong Trello có thể trở nên phức tạp hơn do thiếu tính năng quản lý workflow và quản lý tài nguyên chi tiết, như trong các công cụ quản lý dự án chuyên biệt
- Giới hạn trong tính tương tác và hỗ trợ: Mặc dù Trello có thể tích hợp với nhiều ứng dụng và dịch vụ khác, nhưng việc tích hợp và hỗ trợ cho các yêu cầu phức tạp của Scrum (như quản lý phức tạp hơn các quy trình và workflow) có thể không linh hoạt như các công cụ chuyên biệt khác
Notion là một ứng dụng đa năng cho phép người dùng tạo ra các bảng điều khiển cá nhân hoặc nhóm để quản lý công việc, lập kế hoạch, ghi chép, tổ chức dữ liệu và hợp tác Đây là một công cụ linh hoạt và được sử dụng rộng rãi để quản lý thông tin cá nhân và công việc
Hình 7 Trang web Notion Ưu điểm:
ĐẶC TẢ YÊU CẦU ĐỀ TÀI
2.3.1 Mô tả tổng quát đề tài Ứng dụng được xây dựng nhằm tạo ra một nền tảng phục vụ cho cá nhân hoặc doanh nghiệp nhỏ có nhu cầu quản lý công việc trực tuyến đồng thời cung cấp các tính năng giúp cho trải nghiệm quản lý công việc hiệu quả và tiện lợi hơn
2.3.2 Thông tin đề tài và công nghệ sử dụng
- Tên ứng dụng: Website quản lý công việc iTask
2.3.3.1 Yêu cầu chức năng nghiệp vụ
STT Yêu cầu nghiệp vụ Loại yêu cầu Ghi chú
1 Xem thông tin cá nhân Tra cứu
2 Xem danh sách tất cả dự án Tra cứu
3 Xem thông tin chi tiết dự án Tra cứu
4 Xem những dự án yêu thích Tra cứu
5 Xem dach sách công việc Tra cứu
6 Xem danh sách thành viên của dự án Tra cứu
7 Xem danh sách tập tin Tra cứu
8 Xem Sprint Backlog Tra cứu
9 Quản lý tài khoản Lưu trữ
10 Thêm dự án Lưu trữ
11 Thêm, hủy những dự án yêu thích Lưu trữ
12 Quản lý công việc tên List Task Lưu trữ
13 Quản lý công việc trên Kanban Board Lưu trữ
14 Gán, hủy gán người thực hiện công việc Lưu trữ
15 Thêm, xóa, tải xuống các tập tin lưu trữ Lưu trữ
16 Quản lý bình luận Lưu trữ
17 Quản lý thông báo Lưu trữ
Bảng 1 Bảng mô tả yêu cầu chức năng của hệ thống người dùng thành viên
Bộ phận người quản lý dự án
STT Yêu cầu nghiệp vụ Loại yêu cầu Ghi chú
1 Mời thành viên Tra cứu
2 Loại bỏ thành viên Tra cứu
3 Chuyển quyền sở hữu dự án Tra cứu
4 Sửa dự án Lưu trữ
5 Xóa dự án Lưu trữ
6 Thêm, sửa, xóa Sprint Tra cứu
7 Bắt đầu, kết thúc Sprint Lưu trữ
Bảng 2 Bảng mô tả yêu cầu chức năng của hệ thống phía người quản lý dự án
2.3.3.2 Yêu cầu chức năng hệ thống
STT Yêu cầu hệ thống Mô tả Ghi chú
1 Chức năng phân quyền Phân quyền gồm có guest, member và project owner
2 Chức năng xác thực Xác thực phía người dùng thông qua email
3 Chức năng khôi phục mật khẩu Khôi phục thông qua gửi đường dẫn xác thực qua email
4 Chức năng nhận thông báo mới Thông báo được lưu trữ và phân phối qua Message Broker
Bảng 3 Bảng mô tả yêu cầu chức năng của hệ thống
2.3.4 Yêu cầu phi chức năng
STT Yêu cầu phi chức năng Loại yêu cầu Ghi chú
1 Giao diện thân thiện với người dùng Tính tiện dụng
2 Tốc độ xử lý và tìm kiếm nhanh chóng, chính xác
3 Thông tin cá nhân của người dùng được bảo mật và mã hóa
4 Dễ dàng mở rộng quy mô Tính tiến hóa
Bảng 4 Bảng mô tả yêu cầu phi chức năng
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
TÁC NHÂN HỆ THỐNG
Hệ thống website quản lý dự án gồm 2 actor: Thành viên (Member) và người quản lý dự án (Project Owner)
- Member: là người dùng đã đăng ký với hệ thống, xem dự án, xem danh mục dự án, tìm kiếm dự án, quản lý danh mục dự án yêu thích, tham gia quản lý công việc
- Project Owner: là người dùng đã đăng ký với hệ thống, xem dự án, chỉnh sửa thông tin dự án, xóa dự án, xem danh mục dự án, tìm kiếm dự án, quản lý danh mục dự án yêu thích, quản lý công việc, quản lý sprint.
LƯỢC ĐỒ USE CASE
Hình 9 Lược đồ Use Case
3.2.1 Mô tả Use Case của hệ thống
Role Tên Usecase Mô tả
Member jlkbejk Đăng ký Người dùng đăng ký tài khoản để có thể đăng nhập vào hệ thống. Đăng nhập Người dùng sử dụng tên đăng nhập và mật khẩu đã đăng ký để đăng nhập Hệ thống đối chiếu thông tin để xác thực người dùng. Đăng xuất Người dùng chọn nút “Log out” để đăng xuất thông tin tài khoản
Xem thông tin cá nhân
Người dùng có thể xem thông tin cá nhân của mình bằng cách chọn tính năng My Profile
Chỉnh sửa thông tin cá nhân
Người dùng có thể thay đổi các thông tin của mình sau khi vào trang xem chi tiết thông tin cá nhân
Người dùng có thể thay đổi mật khẩu hiện tại bằng mật khẩu mới
Quên mật khẩu Người dùng quên mật khẩu có thể tạo mật khẩu mới thông qua xác thực email
Xem danh sách dự án
Người dùng chọn mục All Project ở thanh navbar để hiển thị danh sách các dự án đã tham gia
Xem chi tiết dự án
Người dùng chọn trang danh sách dự án để xem danh sách tất cả các dự án đã tham gia
Tìm kiếm dự án Người dùng tìm kiếm sản phẩm thông qua thanh tìm kiếm ở màn hình danh sách dự án
Xem danh sách các dự án yêu thích
Người dùng có thể xem các dự án yêu thích trong danh sách dự án
Thêm dự án vào mục yêu thích
Người dùng thêm dự án vào mục yêu thích bằng cách nhấn vào nút “Favourite” tại trang chi tiết của dự án
Loại bỏ dự án khỏi mục yêu thích
Người dùng loại bỏ dự án khỏi mục yêu thích bằng cách nhấn vào nút “Unfavourite” tại trang chi tiết của dự án
Xem danh sách thành viên của dự án
Người dùng có thể xem danh sách thành viên của dự án tại trang chi tiết của dự án
Xem thông tin thành viên của dự án
Người dùng có thể xem thông tin thành viên của dự án bằng cách nhấn vào ảnh đại diện của thành viên
Tham gia dự án Người dùng có thể tham gia dự án qua email sau khi đã nhận được lời mời từ Project Owner
Rời dự án Người dùng có thể rời dự án bằng cách chọn “Leave
Xem List Task của dự án
Người dùng có thể xem danh sách công việc của dự án dạng List khi chọn tính năng List Task của dự án
Thêm công việc trên Lisk Task
Người dùng có thể thêm một công việc mới sau khi đã truy cập vào màn hình Lisk Task
Chỉnh sửa công việc trên List Task
Người dùng có thể chỉnh sửa công việc sau khi đã truy cập vào màn hình Lisk Task
Xóa công việc trên List Task
Người dùng có thể xóa công việc sau khi đã truy cập vào màn hình Lisk Task
Xem Kanban Board của dự án
Người dùng có thể xem danh sách công việc của dự án dạng Kanban khi chọn tính năng Kanban Board của dự án
Cập nhật trạng thái công việc trên Kanban Board
Người dùng có thể cập nhật trạng thái của công việc bằng các kéo thả công việc giữa các board
Thay đổi vị trí của công việc trên Kanban Board
Người dùng có thể thay đổi vị trí công việc bằng cách kéo tả công việc lên xuống trong board
Tạo công việc mới trên Kanban Board
Người dùng có thể tạo công việc nhanh bằng cách nhấn nút “Add More” phía dưới mỗi board
Xem bình luận Người dùng có thể xem các bình luận trên dự án và công việc
Tạo bình luận Người dùng có thể tạo bình luận mới trên dự án và công việc
Người dùng có thể phản hồi bình luận trên dự án và công việc
Người dùng có thể sửa, xóa hoặc ghim bình luận trên dự án và công việc
Xem danh sách tập tin
Người dùng có thể xem danh sách các tập tin đã tải lên cho công việc
Tải xuống tập tin Người dùng có thể tải xuống bất kỳ tập tin nào trong danh sách
Xem trước tập tin Người dùng có thể xem trước một tập tin trong danh sách Quản lý tập tin Người dùng có thể thêm, xóa tập tin
Xem Sprint Backlog của dự án
Người dùng có thể xem Sprint Backlog của dự án, có thể theo dõi tất cả các Sprint và các công việc trong Sprint
Người dùng có thể nhận thông báo từ các công việc liên quan đến bản thân, có thể đọc thông báo, xóa thông báo, xem những thông báo chưa đọc
Quản lý người thực hiện công việc
Người dùng có thể gán công việc cho bản thân hoặc người khác, có thể hủy gán công việc
Mời thành viên Project Owner có thể mời thành viên khác tham gia dự án
Project Owner có thể loại bỏ thành viên khỏi dự án
Chuyển quyền sở hữu dự án
Project Owner có thể chuyển quyền sở hữu dự án sang một thành viên khác trong dự án
Sửa dự án Project Owner có thể sửa thông tin của dự án
Xóa dự án Project Owner có thể xóa thông tin của dự án Quản lý Sprint
Project Owner có thể tạo Sprint mới, sửa thông tin Sprint và xóa Sprint
Bắt đầu và kết thúc Sprint
Project Owner có thể bắt đầu hoặc kết thúc một Sprint
Bảng 5 Bảng mô tả Usecase của hệ thống
Short Description Người dùng cần tạo tài khoản để đăng nhập và sử dụng các dịch vụ của website
Pre-Conditions Guest cần phải truy cập website và điền đầy đủ thông tin yêu cầu để thực hiện tạo tài khoản Post Conditions Guest tạo tài khoản thành công và đăng nhập được vào website
Main Flow (1) Người dùng truy cập vào website
(2) Người dùng chọn vào mục Sign In/Sign up
(3) Người dùng chọn Sign up
(4) Người dùng điền thông tin yêu cầu đầy đủ
(5) Người dùng chọn Register để xác nhận tạo tài khoản [A1] [E1]
(6) Hệ thống hiển thị thông báo đăng ký tài khoản thành công
(7) Chuyển hướng đến trang đăng nhập
Alternate Flow (A1) Guest huỷ đăng ký tài khoản và kết thúc quá trình
Exception Flow (E1) Nếu tài khoản email hoặc tên tài khoản đã tồn tại
(9) trong hệ thống thì quay lại bước (3)
Bảng 6 Bảng đặc tả Usecase đăng ký
Short Description Người dùng đăng nhập thông qua tài khoản đã đăng ký với hệ thống
Pre-Conditions Thông tin của người dùng phải tồn tại trong website
Post Conditions Người dùng đăng nhập thành công vào website
Main Flow (1) Người dùng truy cập vào website
(2) Người dùng chọn vào mục Sign In/Sign up
(3) Người dùng điền thông tin đăng nhập
(4) Người dùng nhấn chọn Sign in
(5) Hệ thống xác thực thông tin đăng nhập [E1]
(5) Hệ thống hiển thị thông báo đăng nhập thành công
(6) Chuyển hướng đến trang chủ Alternate Flow
Exception Flow (E1) Nếu tài khoản hoặc mật khẩu không hợp lệ thì quay lại bước (3)
Bảng 7 Bảng đặc tả Usecase đăng nhập
Short Description Người dùng đăng xuất, xoá phiên đăng nhập hiện tại
Pre-Conditions Người dùng đã đăng nhập thành công vào website
Post Conditions Người dùng đăng xuất thành công
Main Flow (1) Người dùng nhấn vào hình ảnh đại diện trên thanh
(2) Người dùng chọn vào mục Log out
(3) Hệ thống hiển thị thông báo Log out
(4) Hệ thống điều hướng người dùng đến trang đăng nhập [A1]
Alternate Flow (A1) Hệ thống không điều hướng người dùng nếu người dùng đang tại các trang Home, Search
Bảng 8 Bảng đặc tả Usecase đăng xuất
3.2.5 Xem thông tin cá nhân
Use case Xem thông tin cá nhân
Short Description Người dùng xem thông tin cá nhân của mình trên hệ thống
Pre-Conditions Người dùng đã đăng nhập thành công vào website
Post Conditions Người dùng xem thông tin cá nhân thành công
Main Flow (1) Người dùng nhấn vào hình ảnh đại diện trên thanh
(2) Người dùng chọn vào mục My profile
(3) Hệ thống điều hướng người dùng đến trang thông tin chi tiết cá nhân
Bảng 9 Bảng đặc tả Usecase xem thông tin cá nhân
3.2.6 Chỉnh sửa thông tin cá nhân
Use case Chỉnh sửa thông tin cá nhân
Short Description Người dùng đã đăng nhập vào website
Người dùng đã vào trang thông tin cá nhân Actors Member, Project Owner
Pre-Conditions Người dùng đã đăng nhập thành công vào website
Post Conditions Người dùng chỉnh sửa thông tin cá nhân thành công
Main Flow (1) Người dùng nhấn vào hình ảnh đại diện trên thanh Header
(2) Người dùng chọn vào mục My profile
(3) Hệ thống điều hướng người dùng đến trang thông tin chi tiết cá nhân
(4) Người dùng thực hiện điều chỉnh thông tin tên hiển thị, số điện thoại,…
(6) Hệ thống xác nhận thông tin và lưu vào cơ sở dữ liệu [E1]
(7) Hệ thống hiển thị thông báo đã cập nhật thông tin thành công
Alternate Flow (A1) Người dùng ấn chọn “Cancel”, không có thông tin nào được lưu
Exception Flow (E1) Người dùng nhập thông tin cá nhân sai định dạng quy định, quay lại bước (4)
Bảng 10 Bảng đặc tả Usecase chỉnh sửa thông tin cá nhân
Use case Thay đổi mật khẩu tài khoản
Short Description Người dùng có thể thay đổi mật khẩu tài khoản cá nhân Actors Member, Project Owner
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã vào trang thông tin cá nhân Post Conditions Người dùng thay đổi mật khẩu thành công
Main Flow (1) Nhấn chọn “Change password”
(2) Nhập thông tin mật khẩu cũ, mật khẩu mới và xác nhận mật khẩu mới
(3) Người dùng nhấp chọn “Change password” [A1]
(4) Hệ thống xác nhận thông tin và lưu vào cơ sở dữ liệu [E1]
(5) Hệ thống hiển thị thông báo đã cập nhật thông tin thành công
Alternate Flow (A1) Người dùng ấn chọn “Cancel”, không có thông tin nào được lưu
Exception Flow (E1) Mật khẩu cũ sai, hoặc mật khẩu mới và xác nhận mật khẩu mới không hợp lệ, quay lại bước (2)
Bảng 11 Bảng đặc tả Usecase thay đổi mật khẩu
Use case Quên mật khẩu tài khoản
Short Description Người dùng quên mật khẩu đăng nhập và muốn thay mật khẩu mới Actors Member, Project Owner
Pre-Conditions Người dùng đã vào trang Log in
Post Conditions Người dùng đổi mật khẩu mới thành công
Main Flow (1) Người dùng nhấn chọn “Forgot password ? “
(3) Người dùng nhấn chọn “Send reset link” [A1] [E1]
(4) Hệ thống gửi gmail có chứa đường dẫn xác thực
(5) Người dùng nhấn đường link xác thực email [A2]
(6) Hệ thống chuyển tới trang nhập mật khẩu mới
(7) Người dùng nhập thông tin mật khẩu mới
(8) Nhấn chọn “Save new password” [A3] [E2]
(9) Hệ thống xác nhận và lưu thông tin xuống cơ sở dữ liệu
(10) Hệ thống chuyển đến màn hình thông báo thay đổi mật khẩu thành công
Alternate Flow (A1) Người dùng thoát trang quên mật khẩu, không có thông tin nào thay đổi
(A2) Người dùng không xác thực email, thời gian xác thực hết hạn, không có thông tin nào thay đổi
(A3) Người dùng không lưu mật khẩu mới, không có thông tin nào thay đổi
Exception Flow (E1) Email người dùng nhập không tồn tại trong hệ thống, không thể gửi email xác thực
(E2) Trường mật khẩu mới và xác nhận mật khẩu không khớp nhau, quay lại bước 7
Bảng 12 Bảng đặc tả Usecase quên mật khẩu
3.2.9 Xem danh sách dự án
Use case Xem sản phẩm
Short Description Người dùng có thể xem các dự án mà mình tham gia
Pre-Conditions Người dùng đã truy cập vào website
Post Conditions Người dùng xem được các dự án mà mình tham gia
Main Flow (1) Chọn danh sách dự án sau khi đã đăng nhập vào hệ thống
(2) Hệ thống hiển thị thông tin danh sách dự án mà người dùng hiện tại đang tham gia
Bảng 13 Bảng đặc tả Usecase xem danh sách dự án
3.2.10 Xem chi tiết dự án
Use case Xem chi tiết dự án
Short Description Người dùng có thể xem thông tin chi tiết của một dự án mà mình đã tham gia Actors Member, Project Owner
Pre-Conditions Người dùng có tham gia vào ít nhất một dự án
Post Conditions Người dùng xem được thông tin chi tiết của một dự án đang tham gia
Main Flow (1) Vào xem danh sách các dự án đang tham gia
(2) Chọn vào dự án cần xem thông tin chi tiết
(3) Hệ thống chuyển đến màn hình hiển thị thông tin chi tiết của dự án
Bảng 14 Bảng đặc tả Usecase xem chi tiết dự án
Use case Tìm kiếm sản phẩm
Short Description Người dùng tìm kiếm sản phẩm thông qua thanh tìm kiếm ở màn hình danh sách project Actors Member, Project Owner
Pre-Conditions Người dùng đã truy cập vào website
Post Conditions Người dùng tìm thấy thông tin của dự án cần tìm
Main Flow (1) Người dùng nhấp chọn vào thanh tìm kiếm trên màn hình danh sách dự án
(2) Người dùng nhập tên dự án muốn tìm kiếm [A1]
(3) Người dùng nhấn biểu tượng tìm kiếm hoặc nhấn enter
(4) Hệ thống hiển thị danh sách các dự án tìm được thông qua từ khóa người dùng vừa nhập [E1]
Alternate Flow (A1) Người dùng nhấp chọn ngoài khu vực thanh tìm kiếm và quay lại bước (1)
Exception Flow (E1) Người dùng nhập thông tin dự án không có trong hệ thống, hiển thị hiển thị danh sách trống
Bảng 15 Bảng đặc tả Usecase tìm kiếm dự án
3.2.12 Xem danh sách các dự án yêu thích
Use case Xem danh sách các dự án đã yêu thích
Short Description Người dùng có thể xem các dự án yêu thích trong danh sách dự án Actors Member, Project Owner
Pre-Conditions Người dùng đã đăng nhập vào website
Post Conditions Người dùng xem được các dự án đã yêu thích
Main Flow (1) Người dùng nhấp chọn danh mục dự án ở thanh sidebar hoặc vào danh mục tất cả dự án
(2) Hệ thống hiển thị danh sách các dự án của người dùng, trong đó các dự án yêu thích được đánh dấu sao [E1] Alternate Flow
Exception Flow Nếu không có dự án nào trong mục dự án yêu thích, hiển thị thông báo không có dự án trong mục dự án yêu thích
Bảng 16 Bảng đặc tả Usecase xem danh sách các dự án yêu thích
3.2.13 Thêm dự án vào mục yêu thích
Use case Thêm dự án vào mục yêu thích
Short Description Người dùng có thể thêm dự án vào mục yêu
Thích Actors Member, Project Owner
Pre-Conditions Người dùng đã đăng nhập vào website
Post Conditions Dự án được thêm vào mục yêu thích thành công
Main Flow (1) Người dùng chọn vào dự án mong muốn
(2) Hệ thống điều hướng đến trang thông tin chi tiết của dự án
(3) Người dùng nhấp chọn “Favourite”
(4) Hệ thống thực hiện thêm dự án vào mục dự án yêu thích
(5) Hệ thống hiển thị thông báo thêm dự án vào mục yêu thích thành công
Bảng 17 Bảng đặc tả Usecase thêm dự án vào mục yêu thích
3.2.14 Loại bỏ dự án khỏi mục yêu thích
Use case Loại bỏ dự án khỏi mục yêu thích
Short Description Người dùng có thể loại bỏ dự án khỏi mục yêu thích
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng có ít nhất 1 dự án đã yêu thích Post Conditions Dự án được loại bỏ khỏi danh mục yêu thích thành công
Main Flow (1) Người dùng chọn vào dự án mong muốn
(2) Hệ thống điều hướng đến trang thông tin chi tiết của dự án
(3) Người dùng nhấp chọn “Unfavourite”
(4) Hệ thống thực hiện loại bỏ dự án khỏi mục dự án yêu thích
(5) Hệ thống hiển thị thông báo loại bỏ dự án khỏi mục yêu thích thành công
Bảng 18 Bảng đặc tả Usecase loại bỏ dự ản khỏi danh mục yêu thích
3.2.15 Xem danh sách các thành viên của dự án
Use case Xem danh sách các thành viên của dự án
Short Description Người dùng có thể xem danh sách các thành viên hiện tại của dự án Actors Member, Project Owner
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã tham gia vào dự án
Post Conditions Người dùng có thể xem danh sách các thành viên trong dự án
Main Flow (1) Người dùng vào trang danh sách dự án
(2) Người chọn chọn vào dự án muốn xem danh sách thành viên
(3) Hệ thống điều hướng đến trang chi tiết của dự án
(4) Hệ thống hiển thị danh sách thành viên của dự án ở bên phải màn hình chi tiết dự án
Bảng 19 Bảng đặc tả Usecase xem danh sách các thành viên của dự án
3.2.16 Xem thông tin thành viên của dự án
Use case Xem thông tin thành viên của dự án
Short Description Người dùng có thể xem thông tin của các thành viên trong dự án Actors Member, Project Owner
Pre-Conditions Người dùng đã đăng nhập vào website
Post Conditions Người dùng có thể xem thông tin thành viên của dự án
Main Flow (1) Người dùng vào trang danh sách dự án
(2) Người chọn chọn vào dự án muốn xem danh sách thành viên
(3) Hệ thống điều hướng đến trang chi tiết của dự án
(4) Hệ thống hiển thị danh sách thành viên của dự án ở bên phải màn hình chi tiết dự án
(5) Người dùng chọn vào tên hoặc ảnh đại diện hoặc chọn View Profile của một thành viên trong danh mục thành viên
Bảng 20 Bảng đặc tả Usecase xem sản phẩm trong mục sản phẩm yêu thích
Use case Mời thành viên
Short Description Người dùng có thể mời thành viên tham gia dự án
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng là Project Owner của dự án Người dùng đang ở trang chi tiết của dự án Post Conditions Người dùng có thể mời thành viên tham gia dự án
Main Flow (1) Người dùng chọn “Invite Member”
(2) Hệ thống hiển thị màn hình mời thành viên
(3) Người dùng nhập email của thành viên muốn mời
(4) Hệ thống hiển thị thông tin thành viên tương ứng và hiển thị nút “Invite” [E1] [E2]
(5) Người dùng chọn nút “Invite” [A1]
(6) Hệ thống gửi mail xác nhận tham gia dự án đến người được mời
(7) Hệ thống thông báo mời thành viên thành công
Alternate Flow (A1) Người dùng chọn “Cancel”, không có thông tin nào được lưu
Exception Flow (E1) Email không tồn tại trong hệ thống, hệ thống hiển thị không có người dùng tương ứng
(E2) Người dùng đã được mời, hoặc đã là thành viên của dự án thì sẽ không hiển thị nút “Invite”
Bảng 21 Bảng đặc tả Usecase mời thành viên
Use case Tham gia dự án
Short Description Người dùng có thể tham gia dự án
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã được mời vào dự án Người dùng chưa tham gia dự án
Post Conditions Người dùng có thể tham gia dự án
Main Flow (1) Người dùng đăng nhập vào email
(2) Người dùng chọn vào nút “Accept Invite”
(3) Trình duyệt điều hướng đến trang xác nhận lời mời tham gia dự án
(4) Hệ thống thêm thành viên vào cơ sở dữ liệu [E1]
(5) Hệ thống điều hướng người dùng đến trang thông báo mời thành công
Exception Flow (E1) Lời mời hết hạn, hệ thống điều hướng người dùng đến trang thông báo lỗi
Bảng 22 Bảng đặc tả Usecase tham gia dự án
Use case Loại bỏ thành viên
Short Description Người dùng có thể loại bỏ thành viên tham gia dự án
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng là Project Owner của dự án Người dùng đang ở trang chi tiết của dự án Post Conditions Người dùng có thể loại bỏ thành viên của dự án
Main Flow (1) Người dùng chọn nút chức năng của thành viên mà mình muốn loại bỏ
(2) Hệ thống hiển thị chức năng “Remove member”
(3) Người dùng chọn “Remove Member”
(4) Hệ thống hiển thị thông báo yêu cầu người dùng xác nhận loại bỏ thành viên
(6) Hệ thống xóa thành viên dưới cơ sở dữ liệu và hiển thị thông báo loại bỏ thành viên thành công
Alternate Flow (A1) Người dùng chọn “Cancel”, không có thông tin nào được lưu
Bảng 23 Bảng đặc tả Usecase loại bỏ thành viên
3.2.20 Chuyển quyền sở hữu dự án
Use case Chuyển quyền sở hữu dự án
Short Description Người dùng có thể chuyển quyền sở hữu dự án
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng là Project Owner của dự án Người dùng đang ở trang chi tiết của dự án Post Conditions Người dùng có thể chuyển quyền sở hữu dự án
Main Flow (1) Người dùng chọn nút chức năng của thành viên mà mình muốn nhượng quyền
(2) Hệ thống hiển thị chức năng “Change Owner”
(3) Người dùng chọn “Change Owner”
(4) Hệ thống hiển thị thông báo yêu cầu người dùng xác nhận chuyển quyền
(6) Hệ thống lưu thông tin người sở hữu dự án mới vào cơ sở dữ liệu và hiển thị thông báo chuyển quyền thành công
Alternate Flow (A1) Người dùng chọn “Cancel”, không có thông tin nào được lưu
Bảng 24 Bảng đặc tả Usecase chuyển quyền sở hữu dự án
Use case Rời dự án
Short Description Người dùng có thể rời một dự án đang tham gia
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã tham gia một dự án Post Conditions Người dùng có thể rời dự án đã tham gia
Main Flow (1) Người dùng vào trang danh sách dự án
(2) Người chọn chọn vào dự án muốn rời
(3) Hệ thống điều hướng đến trang chi tiết của dự án
(4) Hệ thống hiển thị danh sách thành viên của dự án ở bên phải màn hình chi tiết dự án
(5) Người dùng chọn vào tên hoặc ảnh đại diện của mình và chọn Rời dự án
(6) Người dùng xác nhận muốn rời dự án [A1]
(7) Hệ thống thực hiện loại bỏ người dùng khỏi dự án và thông báo rời dự án thành công
Alternate Flow (A1) Người dùng ấn chọn “Cancel”, quay lại bước (3) Exception Flow
Bảng 25 Bảng đặc tả Usecase rời dự án
3.2.22 Xem List Task của dự án
Use case Xem List Task của dự án
Short Description Người dùng có thể xem danh sách công việc của dự án dạng
List khi chọn tính năng List Task của dự án Actors Member, Project Owner
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã tham gia ít nhất một dự án Post Conditions Người dùng có thể xem danh sách công việc của dự án dạng
Main Flow (1) Người dùng vào trang danh sách dự án
(2) Người chọn dự án cần xem danh sách công việc
(3) Hệ thống điều hướng đến trang chi tiết của dự án
(4) Hệ thống hiển thị chi tiết của dự án
(5) Người dùng chọn vào tab List Task trên giao diện thông tin Project
(6) Hệ thống điều hướng đến trang List Task của dự án và hiển thị danh sách công việc dạng List
Bảng 26 Bảng đặc tả xem danh sách công việc của dự án trong List Task
3.2.23 Thêm công việc trên List Task
Use case Thêm công việc trên List Task
Short Description Người dùng có thể thêm công việc mới khi đang sử dụng tính năng List Task Actors Member, Project Owner
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã tham gia ít nhất một dự án Người dùng đang sử dụng tính năng List Task Post Conditions Người dùng có thể thêm công việc mới khi đang sử dụng tính năng List Task
Main Flow (1) Người dùng chọn nút “Create Issue”
(2) Hệ thống hiển thị cửa sổ thông tin của công việc
(3) Người dùng nhập thông tin của công việc
(4) Người dùng chọn nút “Create” [A1]
(5) Hệ thống xác nhận thông tin công việc mới và lưu vào cơ sở dữ liệu [E1]
Alternate Flow (A1) Người dùng nhấn nút “Cancel” để hủy tạo công việc, không có thông tin nào được lưu
Exception Flow (E1) Người dùng nhập thông tin công việc không hợp lệ, quay lại bước 3
Bảng 27 Bảng đặc tả thêm công việc trên List Task
3.2.24 Chỉnh sửa công việc trên List Task
Use case Chỉnh sửa công việc trên List Task
Short Description Người dùng có thể chỉnh sửa công việc khi đang sử dụng tính năng List Task Actors Member, Project Owner
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã tham gia ít nhất một dự án Người dùng đang sử dụng tính năng List Task Post Conditions Người dùng có thể chỉnh sửa công việc khi đang sử dụng tính năng List Task
Main Flow (1) Người dùng click vào công việc cần chỉnh sửa
(2) Hệ thống hiển thị thông tin của công việc
(3) Người dùng thực hiện thay đổi thông tin của công việc
(4) Người dùng chọn nút “Edit” [A1]
(5) Hệ thống xác nhận thông tin công việc chỉnh sửa và lưu vào cơ sở dữ liệu [E1]
Alternate Flow (A1) Người dùng nhấn nút “Cancel” để hủy chỉnh sửa công việc, không có thông tin nào được lưu
Exception Flow (E1) Người dùng chỉnh sửa thông tin công việc không hợp lệ, quay lại bước 3
Bảng 28 Bảng đặc tả chỉnh sửa công việc trên List Task
3.2.25 Xóa công việc trên List Task
Use case Xóa công việc trên List Task
Short Description Người dùng có thể xóa công việc khi đang sử dụng tính năng List Task Actors Member, Project Owner
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã tham gia ít nhất một dự án Người dùng đang sử dụng tính năng List Task Post Conditions Người dùng có thể xóa công việc khi đang sử dụng tính năng List Task
Main Flow (1) Người dùng click vào công việc cần xoá
(2) Hệ thống hiển thị thông tin của công việc
(3) Người dùng chọn nút “Delete”
(4) Hệ thống hiển thị cửa sổ xác nhận xóa công việc
(5) Người dùng chọn nút “OK” [A1]
(6) Hệ thống xác nhận xóa công việc trong cơ sở dữ liệu và xóa các dữ liệu liên quan đến công việc như bình luận, thông báo… [E1]
Alternate Flow (A1) Người dùng nhấn nút “Cancel” để hủy xóa công việc, không có thông tin nào được lưu
Exception Flow (E1) Trường hợp người dùng xóa một Epic, những công việc của Epic đó sẽ không còn được gán cho Epic đó nữa
Bảng 16: Bảng đặc tả xóa công việc trên List Task của dự án
3.2.26 Gán thành viên cho công việc trong dự án
Use case Gán thành viên cho công việc trên List Task của dự án
Short Description Người dùng có thể gán thành viên cho công việc khi đang sử dụng tính năng List Task của dự án Actors Member, Project Owner
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã tham gia ít nhất một dự án Người dùng đang sử dụng tính năng List Task Post Conditions Người dùng có thể gán thành viên cho một công việc khi đang sử dụng tính năng List Task
Main Flow (1) Người dùng click vào công việc cần gán thành viên
(2) Hệ thống hiển thị thông tin của công việc
(3) Người dùng chọn nút “Assign”
(4) Hệ thống hiển thị danh sách các thành viên của dự án chưa được gán cho công việc hiện tại
(5) Người dùng chọn thành viên và nhấn nút “OK” [A1]
(6) Hệ thống xác nhận gán công việc cho thành viên và gửi thông báo đến thành viên được gán công việc…
Alternate Flow (A1) Người dùng nhấn nút “Cancel” để hủy gán công việc, không có thông tin nào được lưu
Exception Flow (E1) Trường hợp người dùng gán công việc cho chính mình, sẽ ko có thông báo
Bảng 29 Bảng đặc tả xóa công việc trên List Task của dự án
3.2.27 Xem Kanban Board của dự án
Use case Xem Kanban Board của dự án
Short Description Người dùng có thể xem màn hình Kanban Board của dự án Actors Member, Project Owner
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã tham gia ít nhất một dự án Post Conditions Người dùng có thể xem màn hình Kanban Board của dự án
Main Flow (1) Người dùng vào trang danh sách dự án
(2) Người chọn dự án cần xem danh sách công việc
(3) Hệ thống điều hướng đến trang chi tiết của dự án
(4) Hệ thống hiển thị chi tiết của dự án
(5) Người dùng chọn vào tab Kanban Board trên giao diện thông tin Project
(6) Hệ thống điều hướng đến trang Kanban Board của dự án và hiển thị danh sách công việc dạng Kanban Alternate Flow
Bảng 30 Bảng đặc tả Usecase xem Kanban Board của dự án
3.2.28 Cập nhật trạng thái công việc trên Kanban Board
Use case Cập nhật trạng thái công việc trên Kanban Board
Short Description Người dùng có thể cập nhật trạng thái công việc trên
Kanban Board bằng cách kéo thả các task vào các Board Actors Member, Project Owner
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã tham gia ít nhất một dự án Người dùng đang sử dụng tính năng Kanban Board Post Conditions Người dùng có thể cập nhật trạng thái công việc trên
Main Flow (1) Người dùng chọn công việc cần thay đổi trạng thái và thực hiện kéo chuột và thả vào board tương ứng với trạng thái cần thay đổi [E1]
(2) Hệ thống thực hiện cập nhật trạng thái của công việc đó tương ứng với board người dùng thả vào
(3) Hệ thống thông báo thay đổi trạng thái của công việc thành công
Exception Flow (E1) Trường hợp người dùng kéo và thả công việc vào vùng không hợp lệ, trạng thái công việc sẽ không được cập nhật
Bảng 31 Bảng đặc tả cập nhật trạng thái công việc trên Kanban Board
3.2.29 Thay đổi vị trí của công việc trên Kanban Board
Use case Thay đổi vị trí của công việc trên Kanban Board
Short Description Người dùng có thể cập nhật trạng thái công việc trên
Kanban Board bằng cách kéo thả công việc Actors Member, Project Owner
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã tham gia ít nhất một dự án Người dùng đang sử dụng tính năng Kanban Board Post Conditions Người dùng có thể cập nhật trạng thái công việc trên
Kanban Board bằng cách kéo thả công việc
Main Flow (1) Người dùng chọn công việc cần thay đổi trạng thái và thực hiện kéo chuột và thả công việc đến vị trí mong muốn
(2) Hệ thống thực hiện cập nhật vị trí của công việc đó tương ứng với board và vị trí người dùng thả vào
(3) Hệ thống thông báo thay đổi vị trí của công việc thành công
Exception Flow (E1) Trường hợp người dùng kéo và thả công việc vào vùng không hợp lệ, trạng thái công việc sẽ không được cập nhật
Bảng 32 Bảng đặc tả thay đổi vị trí công việc trên Kanban Board
3.2.30 Tạo công việc mới trên Kanban Board
Use case Tạo công việc mới trên Kanban Board
Short Description Người dùng có thể tạo công việc mới trên Kanban Board Actors Member, Project Owner
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã tham gia ít nhất một dự án Người dùng đang sử dụng tính năng Kanban Board Post Conditions Người dùng có thể tạo công việc mới trên Kanban Board
Main Flow (1) Hệ thống hiển thị nút Create Task ở mỗi Board trên màn hình Kanban Board
(2) Người dùng chọn nút Create Task ở Board mong muốn
(3) Hệ thống hiển thị cửa sổ “Create Task”
(4) Người dùng thực hiện điền thông tin của công việc cần tạo
(6) Hệ thống tạo công việc tương ứng với thông tin và trạng thái của board người dùng đã chọn [E1]
Alternate Flow (A1) Người dùng nhấn nút “Cancel” để hủy tạo công việc, không có thông tin nào được lưu
Exception Flow (E1) Người dùng nhập thông tin công việc không hợp lệ, quay lại bước 2
Bảng 33 Bảng đặc tả tạo công việc mới trên Kanban Board
Use case Xem bình luận
Short Description Người dùng có xem bình luận của một dự án hoặc công việc Actors Member, Project Owner
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã tham gia ít nhất một dự án Người đang ở màn hình chi tiết dự án hoặc chi tiết công việc
Post Conditions Người dùng có thể xem bình luận của một dự án hoặc công việc
Main Flow (1) Người dùng truy cập vào màn hình chi tiết một dự án hoặc chi tiết một công việc
(2) Hệ thống hiển thị mục “Comments” chứa danh sách các bình luận trên dự án hoặc công việc
Bảng 34 Bảng đặc tả xem bình luận
Use case Tạo bình luận
Short Description Người dùng có thể xem bình luận trên một dự án hoặc công việc Actors Member, Project Owner
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã tham gia ít nhất một dự án Người đang ở màn hình chi tiết dự án hoặc chi tiết công việc
Post Conditions Người dùng có thể tạo bình luận mới trên một dự án hoặc công việc
Main Flow (1) Người dùng truy cập vào màn hình chi tiết một dự án hoặc chi tiết một công việc
(2) Hệ thống hiển thị mục “Leave a comment” để người dùng nhập bình luận
(3) Người dùng nhập bình luận vào “Your comment”
(5) Hệ thống tạo bình luận của người dùng trên công việc hoặc dự án tương ứng [E1]
Exception Flow (E1) Người dùng để trống “Your comment”, hệ thống thông báo lỗi, trở lại bước (3)
Bảng 35 Bảng đặc tả Usecase tạo bình luận
Use case Phản hồi bình luận
Short Description Người dùng có thể phản hồi một bình luận
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã tham gia ít nhất một dự án Người đang ở màn hình chi tiết dự án hoặc chi tiết công việc
Có ít nhất một bình luận
Post Conditions Người dùng có thể tạo bình luận mới trên một dự án hoặc công việc
Main Flow (1) Người dùng truy cập vào màn hình chi tiết một dự án hoặc chi tiết một công việc
(2) Hệ thống hiển thị các bình luận ở mục “Comments” và nút “Reply” ở dưới mỗi bình luận
(3) Người dùng chọn nút “Reply”
(4) Hệ thống hiển thị mục “Leave a comment” ngay dưới bình luận
(5) Người dùng nhập bình luận vào “Your comment”
(7) Hệ thống tạo phản hồi bình luận của người dùng [E1] Alternate Flow
Exception Flow (E1) Người dùng để trống “Your comment”, hệ thống thông báo lỗi, trở lại bước (5)
Bảng 36 Bảng đặc tả Usecase phản hồi bình luận
Use case Pin bình luận
Short Description Người dùng có thể pin một bình luận
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã tham gia ít nhất một dự án Người đang ở màn hình chi tiết dự án hoặc chi tiết công việc
Có ít nhất một bình luận Post Conditions Người dùng có thể pin một bình luận
Main Flow (1) Người dùng truy cập vào màn hình chi tiết một dự án hoặc chi tiết một công việc
(2) Hệ thống hiển thị các bình luận ở mục “Comments” và nút “Pin comment” ở mỗi bình luận
(3) Người dùng chọn nút “Pin comment”
(4) Hệ thống thực hiện lưu thông tin pin bình luận, thông báo Pin thành công vào cập nhật trạng thái của bình luận được pin
Exception Flow (E1) Người dùng pin bình luận hiện đang được Pin “Your comment”, hệ thống không cập nhật trạng thái
Bảng 37 Bảng đặc tả Usecase pin bình luận
Use case Chỉnh sửa bình luận
Short Description Người dùng có thể chỉnh sửa bình luận
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã tham gia ít nhất một dự án Người đang ở màn hình chi tiết dự án hoặc chi tiết công việc
Có ít nhất một bình luận Post Conditions Người dùng có thể chỉnh sửa bình luận của mình
Main Flow (1) Người dùng truy cập vào màn hình chi tiết một dự án hoặc chi tiết một công việc
(2) Hệ thống hiển thị các bình luận ở mục “Comments” và nút “Edit comment” ở mỗi bình luận mà người dùng đã tạo
(3) Người dùng chọn nút “Edit comment”
(4) Hệ thống cho phép người dùng thay đổi bình luận
(5) Người dùng thực hiện thay đổi nội dung bình luận
(6) Người dùng chọn nút “Save”
(7) Hệ thống thực hiện lưu thông tin bình luận mới, thông báo cập nhật thành công vào cập nhật nội dung của bình luận
Exception Flow (E1) Người dùng để trống nội dung, hệ thống thông báo lỗi, lại bước (5)
Bảng 38 Bảng đặc tả Usecase chỉnh sửa bình luận
Use case Xóa bình luận
Short Description Người dùng có thể xóa bình luận
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã tham gia ít nhất một dự án Người đang ở màn hình chi tiết dự án hoặc chi tiết công việc
Có ít nhất một bình luận Post Conditions Người dùng có thể xóa bình luận của mình
Main Flow (1) Người dùng truy cập vào màn hình chi tiết một dự án hoặc chi tiết một công việc
(2) Hệ thống hiển thị các bình luận ở mục “Comments” và nút “Delete comment” ở mỗi bình luận mà người dùng đã tạo
(3) Người dùng chọn nút “Delete comment”
(4) Hệ thống hiển thị thông báo yêu cầu người dùng xác nhận xóa bình luận
(5) Người dùng chọn nút “Yes” [A1]
(6) Hệ thống thực xóa bình luận, thông báo xóa thành công
Alternate Flow (A1) Người dùng chọn “Cancel”, không có thông tin nào được lưu Exception Flow
Bảng 39 Bảng đặc tả Usecase xóa bình luận
3.2.37 Xem danh sách tập tin
Use case Xem danh sách tập tin
Short Description Người dùng có thể xem danh sách tập tin của dự án
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã tham gia ít nhất một dự án Post Conditions Người dùng có thể xem danh sách tập tin của dự án
Main Flow (1) Người dùng truy cập vào màn hình chi tiết một dự án
(2) Hệ thống hiển thị tab Attachments
(3) Người dùng chọn tab Attachments
(4) Hệ thống hiển thị danh sách các tập tin của dự án Alternate Flow
Bảng 40 Bảng đặc tả Usecase xem danh sách tập tin
Use case Thêm tập tin
Short Description Người dùng có thể thêm tập tin cho dự án
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã tham gia ít nhất một dự án
Người đang ở màn hình danh sách tập tin Post Conditions Người dùng có thể thêm tập tin cho dự án
Main Flow (1) Hệ thống hiển thị danh sách tập tin của dự án và nút
(2) Người dùng chọn nút “Upload”
(3) Hệ thống hiển thị cửa sổ chọn tập tin
(4) Người dùng chọn tập tin
(6) Hệ thống thực hiện tải tập tin lên cho dự án [E1]
Alternate Flow (A1) Người dùng chọn “Cancel”, không có thông tin nào được lưu
Exception Flow (E1) Người dọn chọn file vượt quá giới hạn quy định, hệ thống báo lỗi
Bảng 41 Bảng đặc tả Usecase thêm tập tin
Use case Xóa tập tin
Short Description Người dùng có thể xóa tập tin cho dự án
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã tham gia ít nhất một dự án Người đang ở màn hình danh sách tập tin
Có ít nhất một tập tin
Post Conditions Người dùng có thể xóa tập tin
Main Flow (1) Hệ thống hiển thị danh sách tập tin của dự án và nút
(2) Người dùng chọn nút “Delete” trên một tập tin
(3) Hệ thống hiển thị cửa sổ xác nhận xóa
(5) Hệ thống thực hiện xóa tập tin
Alternate Flow (A1) Người dùng chọn “Cancel”, không có thông tin nào được lưu Exception Flow
Bảng 42 Bảng đặc tả Usecase xóa tập tin
Use case Tải xuống tập tin
Short Description Người dùng có thể tải xuống tập tin
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã tham gia ít nhất một dự án Người đang ở màn hình danh sách tập tin
Có ít nhất một tập tin Post Conditions Người dùng có thể tải xuống tập tin
Main Flow (1) Hệ thống hiển thị danh sách tập tin của dự án và nút
(2) Người dùng chọn nút “Download” trên một tập tin
(3) Hệ thống tải xuống tập tin cho phía người dùng và cập nhật số lượt tải
Bảng 43 Bảng đặc tả Usecase tải xuống tập tin
3.2.41 Xem danh sách thông báo
Use case Xem danh sách thông báo
Short Description Người dùng có thể xem danh sách thông báo
Pre-Conditions Người dùng đã đăng nhập vào website
Post Conditions Người dùng xem danh sách thông báo thành công
Main Flow (1) Người dùng đăng nhập vào hệ thống
(2) Người chọn vào menu thông báo
(3) Hệ thống mở menu thông báo
(4) Hệ thống hiển thị danh sách thông báo Alternate Flow
Use case Đọc thông báo
Short Description Người dùng có thể đọc thông báo
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã mở menu thông báo Post Conditions Người dùng đọc một thông báo thành công
Main Flow (1) Hệ thống hiển thị danh sách thông báo kèm nút “Read” ở cạnh mỗi thông báo chưa đọc
(2) Người dùng nhấn “Read” một thông báo mới
(3) Hệ thống cập nhật trạng thái thông báo thành đã đọc
(4) Hệ thống cập nhật tổng số thông báo chưa đọc
(5) Hệ thống thông báo đọc thông báo thành công Alternate Flow
Bảng 45 Bảng đặc tả Usecase đọc thông báo
Use case Xóa thông báo
Short Description Người dùng có thể xóa thông báo
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã mở menu thông báo Post Conditions Người dùng xóa thông báo thành công
Main Flow (1) Hệ thống hiển thị danh sách thông báo kèm nút “Delete” ở cạnh mỗi thông báo
(2) Người dùng nhấn “Delete” một thông báo
(3) Hệ thống hiển thị popup yêu cầu xác nhận xóa
(5) Hệ thống xóa dữ liệu thông báo dưới cơ sở dữ liệu
(6) Hệ thống cập nhật danh sách thông báo
(7) Hệ thống thông báo xóa thông báo thành công
Alternate Flow (A1) Người dùng chọn Cancel, không có thông tin nào được lưu Exception Flow
Bảng 46 Bảng đặc tả Usecase xóa thông báo
Use case Xem Sprint Backlog của dự án
Short Description Người dùng có thể xem màn hình Sprint Backlog của dự án Actors Member, Project Owner
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã tham gia ít nhất một dự án
Post Conditions Người dùng có thể xem màn hình Sprint Backlog của dự án
Main Flow (1) Người dùng vào trang danh sách dự án
(2) Người chọn dự án cần xem danh sách công việc
(3) Hệ thống điều hướng đến trang chi tiết của dự án
(4) Người dùng chọn vào tab Sprint Backlog
(5) Hệ thống điều hướng đến trang Sprint Backlog của dự án Alternate Flow
Bảng 47 Bảng đặc tả Usecase xem Sprint Backlog
Short Description Người dùng có thể tạo Sprint mới cho dự án
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã tham gia ít nhất một dự án Người dùng đang ở màn hình Sprint Backlog Post Conditions Người dùng có thể tạo Sprint mới cho dự án
Main Flow (1) Người dùng chọn nút “Create Sprint”
(2) Hệ thống hiển thị cửa sổ thông tin của Sprint
(3) Người dùng nhập thông tin của Sprint
(4) Người dùng chọn nút “Create” [A1]
(5) Hệ thống xác nhận thông tin Sprint mới và lưu vào cơ sở dữ liệu [E1]
(6) Hệ thống báo tạo Sprint thành công và hiển thị Sprint mới
Alternate Flow (A1) Người dùng chọn nút “Cancel”, không có thông tin nào dược lưu
Exception Flow (E1) Người dùng nhập sai định dạng thông tin, hệ thống thông báo lỗi, trở về bước (1)
Bảng 48 Bảng đặc tả Usecase tạo Sprint
Use case Chỉnh sửa Sprint
Short Description Người dùng có thể chỉnh sửa Sprint
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã tham gia ít nhất một dự án Người dùng đang ở màn hình Sprint Backlog
Dự án có ít nhất một Sprint Post Conditions Người dùng có thể chỉnh sửa Sprint
Main Flow (1) Hệ thống hiển thị nút “Edit Sprint” ở mỗi Sprint
(2) Người dùng chọn nút “Edit Sprint”
(3) Hệ thống hiển thị cửa sổ thông tin của Sprint
(4) Người dùng nhập thông tin của Sprint
(5) Người dùng chọn nút “Edit” [A1]
(6) Hệ thống xác nhận thông tin cập nhật và lưu vào cơ sở dữ liệu [E1]
(7) Hệ thống báo sửa Sprint thành công
Alternate Flow (A1) Người dùng chọn nút “Cancel”, không có thông tin nào dược lưu
Exception Flow (E1) Người dùng nhập sai định dạng thông tin, hệ thống thông báo lỗi, trở về bước (1)
Bảng 49 Bảng đặc tả Usecase chỉnh sửa Sprint
Short Description Người dùng có thể xóa Sprint
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã tham gia ít nhất một dự án Người dùng đang ở màn hình Sprint Backlog
Dự án có ít nhất một Sprint Post Conditions Người dùng có thể xSprint
Main Flow (1) Hệ thống hiển thị nút “Delete Sprint” ở mỗi Sprint
(2) Người dùng chọn nút “Delete Sprint”
(3) Hệ thống hiển thị cửa sổ xác nhận xóa Sprint
(4) Người dùng chọn nút “OK” [A1]
(5) Hệ thống xóa Sprint trong cơ sở dữ liệu
(6) Hệ thống báo xóa Sprint thành công
Alternate Flow (A1) Người dùng chọn nút “Cancel”, không có thông tin nào được lưu Exception Flow
Bảng 50 Bảng đặc tả Usecase xóa Sprint
Use case Bắt đầu Sprint
Short Description Người dùng có thể bắt đầu Sprint
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã tham gia ít nhất một dự án Người dùng đang ở màn hình Sprint Backlog
Dự án có ít nhất một Sprint Post Conditions Người dùng có thể bắt đầu Sprint
Main Flow (1) Hệ thống hiển thị nút “Start Sprint” ở mỗi Sprint
(2) Người dùng chọn nút “Start Sprint”
(3) Hệ thống hiển thị cửa sổ xác nhận bắt đầu Sprint
(4) Người dùng chọn nút “OK” [A1]
(5) Hệ thống cập nhật trạng thái Sprint trong cơ sở dữ liệu
(6) Hệ thống báo bắt đầu Sprint thành công
Alternate Flow (A1) Người dùng chọn nút “Cancel”, không có thông tin nào được lưu Exception Flow
Bảng 51 Bảng đặc tả Usecase bắt đầu Sprint
Use case Kết thúc Sprint
Short Description Người dùng có thể kết thúc Sprint
Pre-Conditions Người dùng đã đăng nhập vào website
Người dùng đã tham gia ít nhất một dự án Người dùng đang ở màn hình Sprint Backlog
Dự án có ít nhất một Sprint Post Conditions Người dùng có thể kết thúc Sprint
Main Flow (1) Hệ thống hiển thị nút “Close Sprint” ở mỗi Sprint
(2) Người dùng chọn nút “Close Sprint”
(3) Hệ thống hiển thị cửa sổ xác nhận Close Sprint [A1]
(4) Người dùng chọn nút “OK” [A2]
(5) Hệ thống cập nhật trạng thái Sprint trong cơ sở dữ liệu
(6) Hệ thông báo bắt đầu Sprint thành công
Alternate Flow (A1) Nếu còn công việc trong Sprint chưa được hoàn thành, hệ thống sẽ yêu cầu người dùng chuyển những công việc đó sang Sprint khác hoặc chuyển vào Backlog
(A2) Người dùng chọn nút “Cancel”, không có thông tin nào được lưu
Bảng 52 Bảng đặc tả Usecase kết thúc Sprint
LƯỢC ĐỒ ERD
Hình 12 Lược đồ tuần tự chức năng đăng nhập
3.4.3 Chức năng chỉnh sửa thông tin cá nhân
3.4.4 Chức năng thay đổi mật khẩu
3.4.5 Chức năng quên mật khẩu
Hình 17 Lược đồ tuần tự chức năng quên mật khẩu
3.4.6 Chức năng xem danh sách dự án
Hình 18 Lược đồ tuần tự chức năng xem danh sách dự án
3.4.7 Chức năng xem chi tiết dự án
Hình 19 Lược đồ tuần tự chức năng xem chi tiết dự án
3.4.8 Chức năng xem dự án yêu thích
Hình 20 Lược đồ tuần tự chức năng xem dự án yêu thích
3.4.9 Chức năng thêm dự án yêu thích
Hình 21 Lược đồ tuần tự chức năng thêm dự án yêu thích
3.4.10 Chức năng loại bỏ dự án yêu thích
Hình 22 Lược đồ tuần tự chức năng loại bỏ dự án yêu thích
3.4.11 Chức năng xem danh sách thành viên dự án
Hình 23 Lược đồ tuần tự chức năng xem danh sách thành viên dự án
3.4.12 Chức năng xem thông tin thành viên của dự án
Hình 24 Lược đồ tuần tự chức năng xem thông tin thành viên của dự án
3.4.13 Chức năng mời thành viên
Hình 25 Lược đồ tuần tự chức năng mời thành viên
3.4.14 Chức năng tham gia dự án
Hình 26 Lược đồ tuần tự chức năng tham gia dự án
3.4.15 Chức năng loại bỏ thành viên
Hình 27 Lược đồ tuần tự chức năng loại bỏ thành viên
3.4.16 Chức năng chuyển quyền sở hữu dự án
Hình 28 Lược đồ tuần tự chức năng chuyển quyền sở hữu dự án
3.4.17 Chức năng rời dự án
Hình 29 Lược đồ tuần tự chức năng rời dự án
3.4.18 Chức năng xem List Task
Hình 30 Lược đồ tuần tự chức năng xem List Task
3.4.19 Chức năng thêm công việc
Hình 31 Lược đồ tuần tự chức năng thêm công việc
3.4.20 Chức năng chỉnh sửa công việc
Hình 32 Lược đồ tuần tự chức năng chỉnh sửa công việc
3.4.21 Chức năng xóa công việc
Hình 33 Lược đồ tuần tự chức năng xóa công việc
3.4.22 Chức năng gán thành viên cho công việc
Hình 34 Lược đồ tuần tự chức năng gán thành viên cho công việc
3.4.23 Chức năng xem Kanban Board
Hình 35 Lược đồ tuần tự chức năng xem Kanban Board
3.4.24 Chức năng cập nhật trạng thái công việc trên Kanban Board
Hình 36 Lược đồ tuần tự chức năng cập nhật trạng thái công việc trên Kanban Board
3.4.25 Chức năng thay đổi vị trí công việc trên Kanban Board
Hình 37 Lược đồ tuần tự chức năng thay đổi vị trí công việc trên Kanban Board
3.4.26 Chức năng tạo công viêc trên Kanban
Hình 38 Lược đồ tuần tự chức năng tạo công việc trên Kanban
3.4.27 Chức năng xem bình luận
Hình 39 Lược đồ tuần tự chức năng xem bình luận
3.4.28 Chức năng tạo bình luận
Hình 40 Lược đồ tuần tự chức năng tạo bình luận
3.4.29 Chức năng phản hồi bình luận
Hình 41 Lược đồ tuần tự chức năng phản hồi bình luận
3.4.30 Chức năng ghim bình luận
Hình 42 Lược đồ tuần tự chức năng ghim bình luận
3.4.31 Chức năng chỉnh sửa bình luận
Hình 43 Lược đồ tuần tự chức năng chỉnh sửa bình luận
3.4.32 Chức năng xóa bình luận
Hình 44 Lược đồ tuần tự chức năng xóa bình luận
3.4.33 Chức năng xem danh sách tập tin
Hình 45 Lược đồ tuần tự chức năng xem danh sách tập tin
Hình 46 Lược đồ tuần tự chức năng thêm tập tin mới
Hình 47 Lược đồ tuần tự chức năng xóa tập tin
3.4.36 Xem danh sách thông báo
Hình 48 Lược đồ tuần tự chức năng xem danh sách thông báo
Hình 49 Lược đồ tuần tự chức năng đọc thông báo
Hình 50 Lược đồ tuần tự chức năng xóa thông báo
Hình 51 Lược đồ tuần tự chức năng xem Sprint Backlog
Hình 52 Lược đồ tuần tự chức năng tạo Sprint
Hình 53 Lược đồ tuần tự chức năng chỉnh sửa Sprint
Hình 54 Lược đồ tuần tự chức năng xóa Sprint
Hình 55 Lược đồ tuần tự chức năng bắt đầu Sprint
Hình 56 Lược đồ tuần tự chức năng kết thúc Sprint
LƯỢC ĐỒ TUẦN TỰ
4.1 LƯỢC ĐỒ CƠ SỞ DỮ LIỆU
THIẾT KẾ CƠ SỞ DỮ LIỆU
MÔ TẢ DỮ LIỆU BẢNG
4.2.1 Thông tin các trường trong bảng
TT Tên bảng/ trường Kiểu Mục đích bảng/trường
1 users Lưu trữ thông tin của người dùng trong hệ thống
1.1 id bigint Mã id của người dùng
1.2 username varchar Username của người dùng
1.3 full_name varchar Tên đầy đủ của người dùng
1.4 email varchar Email của người dùng
1.5 password varchar Mật khẩu tài khoản người dùng
1.6 salt varchar Salt của người dùng
1.7 role varchar Vai trò của người dùng trong hệ thống
1.8 title varchar Chức vụ của người dùng
1.9 status int Trạng thái tài khoản
1.10 dob date Ngày sinh của người dùng
1.11 address varchar Địa chỉ của người dùng
1.12 avatar varchar Ảnh đại diện của người dùng
1.13 profile_cover_url varchar Ảnh bìa của người dùng
1.14 bio varchar Tiểu sử của người dùng
1.15 phone varchar Số điện thoại cá nhân người dùng 1.16 is_email_verified boolean Trạng thái xác thực email 1.17 created_at timestamp Thời gian tạo tài khoản
1.18 updated_at timestamp Thời gian cập nhật tài khoản
Bảng 53 Thông tin các trường trong bảng users
TT Tên bảng/ trường Kiểu Mục đích bảng/trường
2 verify_emails Lưu thông tin xác thực email của người dùng
2.1 id bigint Mã id của verify_emails
2.2 email varchar Email cá nhân người dùng
2.3 srcret_code varchar Mã secret của verify
2.4 type int Loại email xác nhận (1: xác nhận tài khoản, 2: quên mật khẩu, 3: lời mời dự án) 2.5 project_id bigint Mã id của dự án
2.6 is_used bool Trạng thái của mã bí mật
2.7 created_at timestamptz Thời gian tạo mã
Bảng 54 Thông tin các trường trong bảng verify emails
TT Tên bảng/ trường Kiểu Mục đích bảng/trường
4 sprints Lưu thông tin các sprint
4.1 id bigint Mã id của sprint
4.2 name varchar Tên của sprint
4.3 goal varchar Mục tiêu của sprint
4.4 project_id bigint Mã id của project
4.5 started bool Trạng thái bắt đầu của sprint
4.6 closed bool Trạng thái kết thúc của sprint 4.7 start_date timestamp Thời gian tạo sprint
4.8 end_date timestamp Thời gian cập nhật sprint
Bảng 55 Thông tin các trường trong bảng sprints
TT Tên bảng/ trường Kiểu Mục đích bảng/trường
5 tasks Lưu thông tin các task
5.1 id bigint Mã id của sprint
5.2 project_id bigint Mã id của project
5.3 sprint_id bigint Mã id của sprint
5.4 created_by bigint Mã id của người tạo task
5.6 status int Trạng thái của task
5.7 name varchar Tên của task
5.8 description varchar Mô tả của task
5.9 position float Vị trí của task trên Kanban Board 5.10 priority int Mức độ của ưu tiên của task
5.11 due_date timestamp Hạn chót của task
5.12 started_at timestamp Thời gian bắt đầu task
5.13 created_at timestamp Thời gian tạo task
5.14 updated_at timestamp Thời gian cập nhật task
Bảng 56 Thông tin các trường trong bảng tasks
Kiểu Mục đích bảng/trường
6 project_members Lưu thông tin các thành viên dự án
6.1 Project_id bigint Mã id của project
6.2 User_id bigint Mã id của user
6.3 Added_at timestamp Thời gian thêm thành viên
6.4 role int Vai trò của thành viên
Bảng 57 Thông tin các trường trong bảng project_members
Kiểu Mục đích bảng/trường
Lưu thông tin thành viên thực hiện công việc
7.1 task_id bigint Mã id của task
7.2 user_id bigint Mã id của user
7.3 assigned_date timestamp Ngày giao công việc
Bảng 58 Thông tin các trường trong bảng task_assigned
TT Tên bảng/ trường Kiểu Mục đích bảng/trường
8 favourites Lưu trữ thông tin mục yêu thích
8.1 id Bigint Mã id của favourite
8.2 user_id Bigint Mã id của user
8.3 object_id Bigint Mã id của project hoặc user được favourite
(1: project, 2: user) 8.3 created_at timestamp Thời gian tạo favourite
Bảng 59 Thông tin các trường trong bảng favourites
TT Tên bảng/ trường Kiểu Mục đích bảng/trường
9 comments Lưu trữ thông tin bình luận
9.1 id bigint Mã của danh mục con
9.2 object_id bigint Mã id của project, task
9.3 parent_comment_id bigint Mã id của comment cha (nếu có) 9.4 created_by bigint Mã id của user tạo comment
9.6 message varchar Nội dung comment
9.7 pinned boolean Trạng thái ghim comment
9.8 created_at timestamp Thời gian tạo comment
9.9 updated_at timestamp Thời gian cập nhật comment
Bảng 60 Thông tin các trường trong bảng comments
Kiểu Mục đích bảng/trường
10 attachments Lưu thông tin các tập tin
10.1 id bigint Mã id của attachment
10.2 object_id bigint Mã id của project
10.3 user_id bigint Mã id của user
10.4 object_type int Loại attachment
10.6 file_path varchar Đường dẫn của attachment
10.7 file_ext varchar Đuôi file của attachment
10.8 file_size float Dung lượng của attachment
10.9 downloads int Số lượt tải của attachment
10.10 created_at timestamp Thời gian tạo attachment
10.11 updated_at timestamp Thời gian cập nhật attachment
Bảng 61 Thông tin các trường trong bảng attachments
TT Tên bảng/ trường Kiểu Mục đích bảng/trường
Lưu danh sách các nhãn
11.1 id bigint Mã id của tag
11.2 tag_type int Loại tag
11.3 name varchar Tên của tag
11.4 decription varchar Mô tả của tag
11.5 created_at timestamp Thời gian tạo tag
11.6 updated_at timestamp Thời gian cập nhật tag
Bảng 62 Thông tin các trường trong bảng tags
Kiểu Mục đích bảng/trường
12 project_tags Lưu các nhãn của dự án
12.1 id bigint Mã id của project_tag
12.2 project_id bigint Mã id của project
12.3 tag_id bigint Mã id của tag
12.4 created_at timestamp Thời gian tạo project_tag
12.5 updated_at timestamp Thời gian cập nhật project_tag
Bảng 63 Thông tin các trường trong bảng project_tags
TT Tên bảng/ trường Kiểu Mục đích bảng/trường
13 task_tags Lưu thông tin nhãn của task
13.1 id bigserial (int64) Mã id của task_tag
13.2 task_id bigserial (int64) Mã id của task
13.3 tag_id varchar Mã id của tag
Thời gian tạo task_tag 13.5 updated_at timestamp Thời gian cập nhật task_tag
Bảng 64 Thông tin các trường trong bảng task_tags
TT Tên bảng/ trường Kiểu Mục đích bảng/trường
14 notifications Lưu thông tin các thông báo được tạo ra từ người dùng hoặc hệ thống
14.1 id bigint Mã id của notification
14.2 caused_by bigint Mã id của người tạo ra thông báo
14.3 project_id bigint Mã id của project
14.4 task_id bigint Mã id của task
14.5 action_type varchar Loại thông báo
14.6 data varchar Nội dung thông báo
14.7 created_on timestamp Thời gian tạo ra thông báo
Bảng 65 Thông tin các trường trong bảng notifications
TT Tên bảng/ trường Kiểu Mục đích bảng/trường
15 nofitication_notified Lưu thông tin các thông báo được gửi tới người dùng
15.1 id bigint Mã id của notification_notified
15.2 notification_id bigint Mã id của notification
15.3 user_id bigint Mã id của user nhận thông báo
15.4 read boolean Trạng thái đã đọc thông báo
15.5 created_at timestamp Thời gian user nhận được thông báo 15.6 updated_at timestamp Thời gian user đọc thông báo
Bảng 66 Thông tin các trường trong bảng notification_notified
THIẾT KẾ GIAO DIỆN
MÀN HÌNH GIAO DIỆN CỦA THÀNH VIÊN
Sơ đồ luồng màn hình dành cho người dùng đã đăng ký tài khoản với hệ thống và là thành viên trong dự án
5.1.1 Giao diện trang đăng nhập
Hình 58 Giao diện trang đăng nhập
5.1.2 Giao diện trang đăng nhập bằng Google
5.1.3 Giao diện trang đăng ký
Hình 60 Giao diện trang đăng ký
Hình 61 Giao diện trang Dashboard
5.1.5 Giao diện danh sách dự án
Hình 62 Giao diện trang danh sách dự án
5.1.6 Giao diện trang chi tiết dự án
Hình 63 Giao diện trang chi tiết dự án
5.1.7 Giao diện thông tin cá nhân người dùng
Hình 64 Giao diện trang thông tin cá nhân người dùng
5.1.8 Giao diện trang thông tin cá nhân thành viên dự án
Hình 65 Giao diện trang thông tin cá nhân thành viên dự án
Hình 66 Giao diện trang Attachments
5.1.10 Giao diện trang List Task
Hình 67 Giao diện trang List Task
5.1.11 Giao diện trang chi tiết công việc
Hình 68 Giao diện trang chi tiết công việc
5.1.12 Giao diện tạo công việc
Hình 69 Giao diện trang tạo công việc
5.1.13 Giao diện trang chỉnh sửa công việc
Hình 70 Giao diện trang chỉnh sửa công việc
5.1.14 Giao diện trang Kanban Board
Hình 71 Giao diện trang Kanban Board
5.1.15 Giao diện trang Sprint Backlog (của thành viên)
Hình 72 Giao diện trang Sprint Backlog (của thành viên)
5.1.16 Giao diện trang thay đổi mật khẩu
Hình 73 Giao diện trang thay đổi mật khẩu
5.1.17 Giao diện trang quên mật khẩu
Hình 74 Giao diện trang quên mật khẩu (bước 1)
Hình 75 Giao diện trang quên mật khẩu (bước 2)
5.1.18 Giao diện danh sách thông báo
Hình 76 Giao diện trang danh sách thông báo
MÀN HÌNH GIAO DIỆN CỦA NGƯỜI QUẢN LÝ DỰ ÁN
5.2.1 Giao diện trang Chi tiết dự án
Hình 77 Giao diện trang chi tiết dự án
5.2.2 Giao diện mời thành viên
Hình 78 Giao diện mời thành viên
5.2.3 Giao diện thay đổi người quản lý dự án
Hình 79 Giao diện thay đổi người quản lý dự án
5.2.4 Giao diện trang quản lý Sprint Backlog
Hình 80 Giao diện trang quản lý Sprint Backlog
Hình 81 Giao diện tạo Sprint
5.2.6 Giao diện bắt đầu Sprint
Hình 82 Giao diện bắt đầu Sprint
5.2.7 Giao diện kết thúc Sprint
Hình 83 Giao diện kết thúc Sprint
CÀI ĐẶT VÀ KIỂM THỬ
YÊU CẦU HỆ THỐNG
Để cài đặt và sử dụng ứng dụng, máy tính cần có các yêu cầu sau:
CÁC BƯỚC CÀI ĐẶT
Bước 1: Tải hoặc clone project từ 2 link Github sau:
- Front end: https://gitlab.com/kltl-ute/242k/09-fe
- Back end: https://gitlab.com/kltl-ute/242k/09-be
Bước 2: Khởi chạy Back end
- Vào file thư mục chứa project back end, mở cửa sổ command và gõ: “docker compose up”
Bước 3: Kết nối với database
- Chọn nút “+” để tạo kết nối mới đến database
- Click “Test” để kiểm tra kết nối
- Nếu kết nối thành công, hãy chọn tiếp “Connect”
- Vào thư mục chứa project, mở cửa sổ command và gõ lần lượt: yarn install yarn start
KIỂM THỬ
Xác định các yêu cầu, mục tiêu, phạm vi, môi trường kiểm thử của hệ thống như sau:
- Phạm vi kiểm thử: kiểm thử các chức năng quan trọng đã được nêu ra trong phần đặc tả yêu cầu chức năng của phía người dùng thành viên và người quản lý dự án
- Mục tiêu kiểm thử: phát hiện các lỗi trong hệ thống, lỗi tiềm ẩn để khắc phục và sửa chữa để đảm bảo hệ thống hoạt động bình thường
- Môi trường kiểm thử: các trình duyệt web như Chrome, Edge, Firefox
6.3.2 Phương pháp kiểm thử Áp dụng quy tắc kiểm thử hộp đen để kiểm thử các chức năng quan trọng của hệ thống Có thể kiểm thử được các chức năng quan trọng của hệ thống một cách nhanh chóng và hiệu quả
Lập kế hoạch kiểm thử chức năng dựa trên phân tích các yêu cầu chức năng của hệ thống Thiết kế các test case để kiểm thử các chức năng quan trọng, sau đó sẽ dùng các test case này để kiểm thử hệ thống Sau khi thu được kết quả, nhóm sẽ dựa trên kết quả để tiến hành chỉnh sửa hệ thống nếu có lỗi
ID Mô tả Các bước thực hiện Kết quả mong muốn Kết quả thực tế
Kết quả cuối cùng ITAS
Kiểm thử chức năng đăng ký
- Truy cập trang chủ của hệ thống
- - Điền họ tên đầy đủ
- - Điền xác nhận mật khẩu
Tài khoản được lưu vào hệ thống, người dùng xác nhận tài khoản để có thể đăng nhập vào hệ thống Đáp ứng được kết quả mong muốn Đạt
Kiểm thử chức năng Đăng nhập bằng tài khoản chưa được xác nhận
- Truy cập trang chủ của hệ thống
- Điền đầy đủ thông tin yêu cầu ở phần đăng nhập
Người dùng được thông báo tài khoản chưa được xác nhận và không thể đăng nhập vào hệ thống Đáp ứng được kết quả mong muốn Đạt
Kiểm thử chức năng xác nhận tài khoản
- - Người dùng truy cập vào email và nhấn vào đường link xác nhận tài khoản
- Người dùng được chuyển đến trang thông báo xác nhận tài khoản thành công
- Hệ thống thực hiện cập nhật trạng thái tài khoản thành đã xác nhận Đáp ứng được kết quả mong muốn Đạt
Kiểm thử chức năng quên mật khẩu
- Truy cập trang chủ của hệ thống
- Bấm nút Send reset link
- Bấm vào đường dẫn reset được gửi ở email
- Người dùng được điều hướng sang trang đặt lại mật khẩu
- Người dùng điền mật khẩu mới
- Điền mật khẩu mới và xác nhận mật khẩu
- Nhấn nút đổi mật khẩu - Đăng nhập lại với mật khẩu mới
Người dùng đổi được mật khẩu mới Đáp ứng được kết quả mong muốn Đạt
Kiểm thử xem danh sách dự án
Hệ thống điều hướng người dùng đến trang
“All Projects” và hiển thị danh sách tất cả dự án mà người dùng là thành viên Đáp ứng được kết quả mong muốn Đạt
Kiểm thử xem chi tiết dự án
- Bấm vào một project bất kỳ ở màn hình All Projects
Hệ thống điều hướng người dùng đến trang
“Project Detail” và hiển thị thông tin chi tiết của dự án Đáp ứng được kết quả mong muốn Đạt
Kiểm thử chức năng thêm dự án vào danh sách yêu thích
- Vào trang chi tiết của dự án bất kỳ
Dự án được thêm vào danh sách yêu thích, hệ thống cập nhật danh sách yêu thích Đáp ứng được kết quả mong muốn Đạt
Kiểm thử chức năng thêm dự án vào danh sách yêu thích
“Favourite” của dự án ở thanh navbar
Dự án được thêm vào danh sách yêu thích, hệ thống cập nhật danh sách yêu thích Đáp ứng được kết quả mong muốn Đạt
Kiểm thử chức năng xem danh sách thành viên dự án
- Truy cập vào trang chi tiết của một dự án
Hệ thống hiển thị danh mục
“Project members” hiển thị thông tin của các thành viên dự án Đáp ứng được kết quả mong muốn Đạt
Kiểm thử chức năng xem thông tin thành viên
- Truy cập vào trang chi tiết của một dự án
- Bấm vào biểu tượng avatar của một thành viên
Hệ thống chuyển đến trang chi tiết thông tin cá nhân của thành viên đó Đáp ứng được kết quả mong muốn Đạt
Kiểm thử chức năng bình luận trên dự án
- Truy cập vào trang chi tiết một dự án
- Nhập bình luận và bấm
Bình luận của người dùng được tạo trong dự án Đáp ứng được kết quả mong muốn Đạt
Kiểm thử chức năng chỉnh sửa bình luận trên dự án
- Truy cập vào trang chi tiết một dự án
- Chọn Edit Comment ở một bình luận
Bình luận của người dùng cập nhật Đáp ứng được kết quả mong muốn Đạt
- Nhập nội dung thay đổi comment
Kiểm thử chức năng phản hồi bình luận trên dự án
- Truy cập vào trang chi tiết một dự án
- Chọn Reply ở một bình luận
- Nhập nội dung tin nhắn và nhấn nút
Bình luận của người dùng được tạo và là bình luận phản hồi của tin nhắn gốc Đáp ứng được kết quả mong muốn Đạt
Kiểm thử chức năng xem danh sách tập tin của dự án
- Truy cập vào trang chi tiết một dự án
Hệ thống chuyển người dùng đến trang danh sách tập tin và hiển thị tất cả các tập tin của dự án Đáp ứng được kết quả mong muốn Đạt
- Nhấn vào nút Upload ở màn hình
Hệ thống thực hiện tải file của người dùng lưu trữ ở hệ thống và cập nhật danh sách tập tin Đáp ứng được kết quả mong muốn Đạt
Hệ thống tải file xuống cho người dùng và tăng số lượt download lên
1 Đáp ứng được kết quả mong muốn Đạt
Kiểm thử chức năng xem List
- - Người dùng chọn List Task ở màn hình chi tiết dự án
Hệ thống chuyển người dùng đến trang List Task và hiển thị danh sách công việc Đáp ứng được kết quả mong muốn Đạt
Kiểm thử chức năng xem chi tiết công việc
- - Người dùng nhấn vào tiêu đề của một công việc trên danh sách
Hệ thống hiển thị trang thông tin chi tiết công việc Đáp ứng được kết quả mong muốn Đạt
Kiểm thử chức năng chỉnh sửa công việc
- Người dùng vào trang chi tiết công việc
- Người dùng thay đổi thông tin công việc
Hệ thống hiển thị thông báo cập nhật thành công Đáp ứng được kết quả mong muốn Đạt
Kiểm thử chức năng gán thành viên thực hiện công việc
- Người dùng vào trang chi tiết công việc
- Người dùng nhấn nút Assign ở thành viên muốn gán
Hệ thống thông báo gán công việc thành công
Gửi thông báo đến người được gán Đáp ứng được kết quả mong muốn Đạt
Kiểm thử chức năng hủy gán thành viên thực hiện công việc
- Người dùng vào trang chi tiết công việc
- Người dùng nhấn nút Unassigne ở thành viên muốn gán
Hệ thống thông báo hủy gán công việc thành công Gửi thông báo cho người được hủy gán Đáp ứng được kết quả mong muốn Đạt
Kiểm thử chức năng xem
- Người dùng chọn tab Kanban Board ở màn hình chi tiết dự án
Hệ thống chuyển người dùng đến trang Kanban Board và hiển thị danh sách công việc dạng Kanban Đáp ứng được kết quả mong muốn Đạt
Kiểm thử chức năng kéo thả công việc trên
- Người dùng chọn một công việc và kéo thả công việc đó sang vị trí ở Board khác
Công việc được cập nhật trạng thái và vị trí tương ứng Đáp ứng được kết quả mong muốn Đạt
Kiểm thử chức năng xem danh sách thông báo
- Người dùng nhấn vào biểu tượng thông báo trên header
Danh sách các thông báo của người dùng được hiển thị Đáp ứng được kết quả mong muốn Đạt
Kiểm thử chức năng đọc thông báo
- Người dùng nhấn vào nút
“Read” ở một thông báo chưa được đọc
Thông báo được cập nhật trạng thái đã đọc, số tin nhắn chưa đọc được cập nhật Đáp ứng được kết quả mong muốn Đạt
Kiểm thử chức năng đọc tất cả thông báo
- Người dùng nhấn vào nút
Tất cả thông báo được cập nhật trạng thái đã đọc, số tin nhắn chưa đọc được cập nhật Đáp ứng được kết quả mong muốn Đạt
Kiểm thử chức năng xem thêm thông báo
- Người dùng chọn nút “Load More” ở cửa sổ Notifications
Các thông báo cũ hơn được load vào danh sách thông báo Đáp ứng được kết quả mong muốn Đạt
Kiểm thử chức năng xem
- Người dùng chọn tab Sprint Backlog ở màn hình chi tiết dự án
Hệ thống chuyển người dùng đến trang Sprint Backlog và hiển thị danh sách công việc dạng Sprint Backlog Đáp ứng được kết quả mong muốn Đạt
Kiểm thử chức năng xóa công việc trên
- Người dùng chọn xóa một công việc trên Sprint
Công việc được xóa và danh sách công việc được cập nhật Đáp ứng được kết quả mong muốn Đạt
Kiểm thử chức năng rời dự án
- Người dùng chọn nút Leave ở màn hình chi tiết dự án
- Chọn OK để xác nhận rời dự án
Người dùng bị xóa khỏi danh sách thành viên dự án Đáp ứng được kết quả mong muốn Đạt
Bảng 67 Kết quả kiểm thử chức năng thành viên
ID Mô tả Các bước thực hiện Kết quả mong muốn
Kết quả thực tế Kết quả cuối cùng ITASKPO_01 Kiểm thử chức năng mời thành viên
- - Truy cập vào trang chi tiết dự án
- - Nhập thông tin email của người muốn mời
Thông báo mời thành công, gửi mail xác nhận đến người được mời Đáp ứng được kết quả mong muốn Đạt
ITASKPO_02 Kiểm thử chức năng xóa thành viên
- - Truy cập vào trang chi tiết dự án
- - Bấm vào biểu tượng xóa ở thành viên muốn loại bỏ
- - Bấm OK để xác nhận xóa thành viên
Thành viên bị loại bỏ khỏi danh sách thành viên dự án Đáp ứng được kết quả mong muốn Đạt
ITASKPO_03 Kiểm thử chức năng chuyển quyền quản lý dự án
- - Truy cập vào trang chi tiết dự án
“Change Owner” ở ở thành viên muốn nhượng quyền
- - Bấm OK để xác nhận nhượng quyền
Cập nhật quyền tương ứng của người dùng và thành viên được nhượng quyền Đáp ứng được kết quả mong muốn Đạt
ITASKPO_04 Kiểm thử tính năng xóa dự án
- - Truy cập vào trang chi tiết dự án
- - Bấm OK để xác nhận xóa dự án
Dữ liệu của dự án và tất cả công việc liên quan sẽ bị xóa Đáp ứng được kết quả mong muốn Đạt
ITASKPO_05 Kiểm thử tính năng rời dự án
- - Truy cập vào trang chi tiết dự án
- Chọn thành viên chuyển quyền sở hữu dự án sau khi rời
- Nhấn OK để xác nhận chuyển quyền và rời dự án
Cập nhật quyền tương ứng của người dùng và thành viên được nhượng quyền Xóa thành viên hiện tại ra khỏi dự án Đáp ứng được kết quả mong muốn Đạt
ITASKPO_06 Kiểm thử tính năng tạo Sprint
- Truy cập trang Spint Backlog
- Điền đầy đủ thông tin yêu cầu ở modal tạo Sprint và bấm nút Create
Sprint được tạo thành công Đáp ứng được kết quả mong muốn Đạt
ITASKPO_07 Kiểm thử tính năng chỉnh sửa Sprint
- Truy cập trang Spint Backlog
- Điền đầy đủ thông tin cần cập nhật
Sprint được cập nhật thông tin thành công Đáp ứng được kết quả mong muốn Đạt
ITASKPO_08 Kiểm thử tính năng bắt đầu Sprint
- Truy cập trang Spint Backlog
- Chỉnh sửa thông tin cần thiết
Sprint được bắt đầu thành công Đáp ứng được kết quả mong muốn Đạt
ITASKPO_09 Kiểm thử tính năng kết thúc Sprint
- Truy cập trang Spint Backlog
- Chọn Sprint mới cho các công việc chưa hoàn thành
Các công việc chưa hoàn thành được cập nhật Sprint mới Sprint hiện tại kết thúc thành công Đáp ứng được kết quả mong muốn Đạt
ITASKPO_10 Kiểm thử tính năng xóa Sprint
- Truy cập trang Spint Backlog
OK để xác nhận xóa Sprint
Sprint được xóa thành công Đáp ứng được kết quả mong muốn Đạt
Bảng 68 Kết quả kiểm thử chức năng người quản lý dự án
ƯU ĐIỂM
4 Đề nghị cho bảo vệ hay không?
TP.Hồ Chí Minh, ngày …, tháng… năm 2024
(Ký & ghi rõ họ tên)
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Họ và tên sinh viên:
Ngành: CNTT Chuyên ngành: Công nghệ phần mềm
Họ và tên Giáo viên phản biện: ThS Mai Anh Thơ
1 Về nội dung báo cáo & khối lượng thực hiện:
4 Đề nghị cho bảo vệ hay không?
TP.Hồ Chí Minh, ngày …, tháng… năm 2024
(Ký & ghi rõ họ tên)
Trường Đại Học Sư Phạm Kỹ Thuật Tp.HCM
Cộng Hòa Xã Hội Chủ Nghĩa Việt Nam Độc lập – Tự do – Hạnh phúc
LỜI CẢM ƠN Để hoàn thành báo cáo môn học này trước tiên em xin gửi đến các quý thầy, cô giáo trường Đại Học Sư Phạm Kỹ Thuật TP.HCM lời cảm ơn chân thành và sâu sắc nhất Đặc biệt, em xin gửi đến thầy Nguyễn Minh Đạo, người đã tận tình hướng dẫn, giúp đỡ em hoàn thành bài báo cáo này lời cảm ơn sâu sắc nhất Trong quá trình làm báo cáo, em đã có cơ hội tìm hiểu thêm những gì đã học
Em cũng xin gửi lời cám ơn tới các thầy cô của trường Đại học Sư phạm Kỹ thuật TP Hồ Chí Minh – đặc biệt là các giảng viên của khoa Công Nghệ Thông Tin, đã nhiệt tình chia sẻ rất nhiều kiến thức và kinh nghiệm cho chúng em trong quá trình học tập tại trường Để giúp em có thể hoàn thành đề tài một cách tốt nhất
Với điều kiện thời gian cũng như kinh nghiệm còn hạn chế nên bài đề tài này không thể tránh được những thiếu sót Em rất mong nhận được sự chỉ bảo, đóng góp ý kiến của các quý thầy cô để em có điều kiện bổ sung, nâng cao ý thức của mình, phục vụ tốt hơn công tác thực tế sau này
Nhóm em xin chân thành cảm ơn !
1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI 1
2 MỤC TIÊU CỦA ĐỀ TÀI 1
5 Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN 2
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 3
1.2 MỘT SỐ THƯ VIỆN VÀ ỨNG DỤNG HỖ TRỢ KHÁC 5
CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG VÀ ĐẶC TẢ YÊU CẦU PHẦN MỀM 10
2.3 ĐẶC TẢ YÊU CẦU ĐỀ TÀI 15
2.3.1 Mô tả tổng quát đề tài 15
2.3.2 Thông tin đề tài và công nghệ sử dụng 15
2.3.3.1 Yêu cầu chức năng nghiệp vụ 15
2.3.3.2 Yêu cầu chức năng hệ thống 17
2.3.4 Yêu cầu phi chức năng 18
CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 19
3.2.1 Mô tả Use Case của hệ thống 21
3.2.5 Xem thông tin cá nhân 28
3.2.6 Chỉnh sửa thông tin cá nhân 29
3.2.9 Xem danh sách dự án 32
3.2.10 Xem chi tiết dự án 33
3.2.12 Xem danh sách các dự án yêu thích 34
3.2.13 Thêm dự án vào mục yêu thích 35
3.2.14 Loại bỏ dự án khỏi mục yêu thích 36
3.2.15 Xem danh sách các thành viên của dự án 37
3.2.20 Chuyển quyền sở hữu dự án 42
3.2.22 Xem List Task của dự án 44
3.2.23 Thêm công việc trên List Task 45
3.2.24 Chỉnh sửa công việc trên List Task 46
3.2.25 Xóa công việc trên List Task 47
3.2.26 Gán thành viên cho công việc trong dự án 48
3.2.27 Xem Kanban Board của dự án 49
3.2.28 Cập nhật trạng thái công việc trên Kanban Board 50
3.2.29 Thay đổi vị trí của công việc trên Kanban Board 51
3.2.30 Tạo công việc mới trên Kanban Board 52
3.2.37 Xem danh sách tập tin 59
3.2.41 Xem danh sách thông báo 62
3.5.3 Chức năng chỉnh sửa thông tin cá nhân 74
3.5.4 Chức năng thay đổi mật khẩu 75
3.5.5 Chức năng quên mật khẩu 75
3.5.6 Chức năng xem danh sách dự án 76
3.5.7 Chức năng xem chi tiết dự án 76
3.5.8 Chức năng xem dự án yêu thích 77
3.5.9 Chức năng thêm dự án yêu thích 77
3.5.10 Chức năng loại bỏ dự án yêu thích 77
3.5.11 Chức năng xem danh sách thành viên dự án 78
3.5.12 Chức năng xem thông tin thành viên của dự án 78
3.5.13 Chức năng mời thành viên 78
3.5.14 Chức năng tham gia dự án 79
3.5.15 Chức năng loại bỏ thành viên 79
3.5.16 Chức năng chuyển quyền sở hữu dự án 80
3.5.17 Chức năng rời dự án 80
3.5.19 Chức năng thêm công việc 81
3.5.20 Chức năng chỉnh sửa công việc 82
3.5.21 Chức năng xóa công việc 82
3.5.22 Chức năng gán thành viên cho công việc 83
3.5.23 Chức năng xem Kanban Board 83
3.5.24 Chức năng cập nhật trạng thái công việc trên Kanban Board 84
3.5.25 Chức năng thay đổi vị trí công việc trên Kanban Board 84
3.5.26 Chức năng tạo công viêc trên Kanban 85
3.5.27 Chức năng xem bình luận 85
3.5.28 Chức năng tạo bình luận 86
3.5.29 Chức năng phản hồi bình luận 86
3.5.30 Chức năng ghim bình luận 87
3.5.31 Chức năng chỉnh sửa bình luận 87
3.5.32 Chức năng xóa bình luận 88
3.5.33 Chức năng xem danh sách tập tin 88
3.5.36 Xem danh sách thông báo 90
CHƯƠNG 4: THIẾT KẾ CƠ SỞ DỮ LIỆU 95
4.1 LƯỢC ĐỒ CƠ SỞ DỮ LIỆU 95
4.2 MÔ TẢ DỮ LIỆU BẢNG 96
CHƯƠNG 5: THIẾT KẾ GIAO DIỆN 103
5.1 MÀN HÌNH GIAO DIỆN CỦA THÀNH VIÊN 103
5.1.1 Giao diện trang đăng nhập 103
5.1.2 Giao diện trang đăng nhập bằng Google 103
5.1.3 Giao diện trang đăng ký 104
5.1.5 Giao diện danh sách dự án 104
5.1.6 Giao diện trang chi tiết dự án 105
5.1.7 Giao diện thông tin cá nhân người dùng 105
5.1.8 Giao diện trang thông tin cá nhân thành viên dự án 106
5.1.10 Giao diện trang List Task 107
5.1.11 Giao diện trang chi tiết công việc 107
5.1.12 Giao diện tạo công việc 108
5.1.13 Giao diện trang chỉnh sửa công việc 108
5.1.14 Giao diện trang Kanban Board 109
5.1.15 Giao diện trang Sprint Backlog (của thành viên) 109
5.1.16 Giao diện trang thay đổi mật khẩu 110
5.1.17 Giao diện trang quên mật khẩu 110
5.1.18 Giao diện danh sách thông báo 111
5.2 MÀN HÌNH GIAO DIỆN CỦA NGƯỜI QUẢN LÝ DỰ ÁN 112
5.2.1 Giao diện trang Chi tiết dự án 112
5.2.3 Giao diện thay đổi người quản lý dự án 113
5.2.4 Giao diện trang quản lý Sprint Backlog 113
5.2.6 Giao diện bắt đầu Sprint 114
5.2.7 Giao diện kết thúc Sprint 115
CHƯƠNG 6: CÀI ĐẶT VÀ KIỂM THỬ 116
Hình 8 Kiến trúc chung của hệ thống 15
Hình 9 Lược đồ Use Case 20
Hình 10 Lược đồ ERD của hệ thống 71
Hình 11 Lược đồ Class Diagram của hệ thống 72
Hình 12 Lược đồ tuần tự chức năng đăng nhập 73
Hình 13 Lược đồ tuần tự chức năng đăng ký 74
Hình 14 Lược đồ tuần tự chức năng đăng ký 74
Hình 15 Lược đồ tuần tự chức năng chỉnh sửa thông tin cá nhân 74
Hình 16 Lược đồ tuần tự chức năng thay đổi mật khẩu 75
Hình 17 Lược đồ tuần tự chức năng quên mật khẩu 75
Hình 18 Lược đồ tuần tự chức năng xem danh sách dự án 76
Hình 19 Lược đồ tuần tự chức năng xem chi tiết dự án 76
Hình 20 Lược đồ tuần tự chức năng xem dự án yêu thích 77
Hình 21 Lược đồ tuần tự chức năng thêm dự án yêu thích 77
Hình 22 Lược đồ tuần tự chức năng loại bỏ dự án yêu thích 78
Hình 23 Lược đồ tuần tự chức năng xem danh sách thành viên dự án 78
Hình 24 Lược đồ tuần tự chức năng xem thông tin thành viên của dự án 78
Hình 25 Lược đồ tuần tự chức năng mời thành viên 79
Hình 26 Lược đồ tuần tự chức năng tham gia dự án 79
Hình 27 Lược đồ tuần tự chức năng loại bỏ thành viên 80
Hình 28 Lược đồ tuần tự chức năng chuyển quyền sở hữu dự án 80
Hình 29 Lược đồ tuần tự chức năng rời dự án 81
Hình 31 Lược đồ tuần tự chức năng thêm công việc 82
Hình 32 Lược đồ tuần tự chức năng chỉnh sửa công việc 82
Hình 33 Lược đồ tuần tự chức năng xóa công việc 83
Hình 34 Lược đồ tuần tự chức năng gán thành viên cho công việc 83
Hình 35 Lược đồ tuần tự chức năng xem Kanban Board 84
Hình 36 Lược đồ tuần tự chức năng cập nhật trạng thái công việc trên Kanban Board 84
Hình 37 Lược đồ tuần tự chức năng thay đổi vị trí công việc trên Kanban Board 85
Hình 38 Lược đồ tuần tự chức năng tạo công việc trên Kanban 85
Hình 39 Lược đồ tuần tự chức năng xem bình luận 86
Hình 40 Lược đồ tuần tự chức năng tạo bình luận 86
Hình 41 Lược đồ tuần tự chức năng phản hồi bình luận 87
Hình 42 Lược đồ tuần tự chức năng ghim bình luận 87
Hình 43 Lược đồ tuần tự chức năng chỉnh sửa bình luận 88
Hình 44 Lược đồ tuần tự chức năng xóa bình luận 88
Hình 45 Lược đồ tuần tự chức năng xem danh sách tập tin 89
Hình 46 Lược đồ tuần tự chức năng thêm tập tin mới 89
Hình 47 Lược đồ tuần tự chức năng xóa tập tin 90
Hình 48 Lược đồ tuần tự chức năng xem danh sách thông báo 90
Hình 49 Lược đồ tuần tự chức năng đọc thông báo 91
Hình 50 Lược đồ tuần tự chức năng xóa thông báo 91
Hình 51 Lược đồ tuần tự chức năng xem Sprint Backlog 92
Hình 52 Lược đồ tuần tự chức năng tạo Sprint 92
Hình 53 Lược đồ tuần tự chức năng chỉnh sửa Sprint 93
Hình 54 Lược đồ tuần tự chức năng xóa Sprint 93
Hình 55 Lược đồ tuần tự chức năng bắt đầu Sprint 94
Hình 56 Lược đồ tuần tự chức năng kết thúc Sprint 94
Hình 57 Lược đồ cơ sở dữ liệu của hệ thống 95
Hình 58 Giao diện trang đăng nhập 103
Hình 59 Giao diện trang đăng nhập bằng Google 103
Hình 60 Giao diện trang đăng ký 104
Hình 62 Giao diện trang danh sách dự án 105
Hình 63 Giao diện trang chi tiết dự án 105
Hình 64 Giao diện trang thông tin cá nhân người dùng 106
Hình 65 Giao diện trang thông tin cá nhân thành viên dự án 106
Hình 66 Giao diện trang Attachments 107
Hình 67 Giao diện trang List Task 107
Hình 68 Giao diện trang chi tiết công việc 108
Hình 69 Giao diện trang tạo công việc 108
Hình 70 Giao diện trang chỉnh sửa công việc 109
Hình 71 Giao diện trang Kanban Board 109
Hình 72 Giao diện trang Sprint Backlog (của thành viên) 110
Hình 73 Giao diện trang thay đổi mật khẩu 110
Hình 74 Giao diện trang quên mật khẩu (bước 1) 111
Hình 75 Giao diện trang quên mật khẩu (bước 2) 111
Hình 76 Giao diện trang danh sách thông báo 112
Hình 77 Giao diện trang chi tiết dự án 112
Hình 78 Giao diện mời thành viên 113
Hình 79 Giao diện thay đổi người quản lý dự án 113
Hình 80 Giao diện trang quản lý Sprint Backlog 114
Hình 81 Giao diện tạo Sprint 114
Hình 82 Giao diện bắt đầu Sprint 115
Hình 83 Giao diện kết thúc Sprint 115
Bảng 1 Bảng mô tả yêu cầu chức năng của hệ thống người dùng thành viên 16
Bảng 2 Bảng mô tả yêu cầu chức năng của hệ thống phía người quản lý dự án 17
Bảng 3 Bảng mô tả yêu cầu chức năng của hệ thống 18
Bảng 4 Bảng mô tả yêu cầu phi chức năng 18
Bảng 5 Bảng mô tả Usecase của hệ thống 25
Bảng 6 Bảng đặc tả Usecase đăng ký 26
Bảng 7 Bảng đặc tả Usecase đăng nhập 27
Bảng 8 Bảng đặc tả Usecase đăng xuất 28
Bảng 9 Bảng đặc tả Usecase xem thông tin cá nhân 29
Bảng 10 Bảng đặc tả Usecase chỉnh sửa thông tin cá nhân 30
Bảng 11 Bảng đặc tả Usecase thay đổi mật khẩu 31
Bảng 12 Bảng đặc tả Usecase quên mật khẩu 32
Bảng 13 Bảng đặc tả Usecase xem danh sách dự án 33
Bảng 14 Bảng đặc tả Usecase xem chi tiết dự án 33
Bảng 15 Bảng đặc tả Usecase tìm kiếm dự án 34
Bảng 16 Bảng đặc tả Usecase xem danh sách các dự án yêu thích 35
Bảng 17 Bảng đặc tả Usecase thêm dự án vào mục yêu thích 36
Bảng 18 Bảng đặc tả Usecase loại bỏ dự ản khỏi danh mục yêu thích 37
Bảng 19 Bảng đặc tả Usecase xem danh sách các thành viên của dự án 38
Bảng 20 Bảng đặc tả Usecase xem sản phẩm trong mục sản phẩm yêu thích 39
Bảng 21 Bảng đặc tả Usecase mời thành viên 40
Bảng 22 Bảng đặc tả Usecase tham gia dự án 41
Bảng 23 Bảng đặc tả Usecase loại bỏ thành viên 42
Bảng 25 Bảng đặc tả Usecase rời dự án 44
Bảng 26 Bảng đặc tả xem danh sách công việc của dự án trong List Task 45
Bảng 27 Bảng đặc tả thêm công việc trên List Task 46
Bảng 28 Bảng đặc tả chỉnh sửa công việc trên List Task 47
Bảng 29 Bảng đặc tả xóa công việc trên List Task của dự án 49
Bảng 30 Bảng đặc tả Usecase xem Kanban Board của dự án 50
Bảng 31 Bảng đặc tả cập nhật trạng thái công việc trên Kanban Board 51
Bảng 32 Bảng đặc tả thay đổi vị trí công việc trên Kanban Board 52
Bảng 33 Bảng đặc tả tạo công việc mới trên Kanban Board 53
Bảng 34 Bảng đặc tả xem bình luận 54
Bảng 35 Bảng đặc tả Usecase tạo bình luận 55
Bảng 36 Bảng đặc tả Usecase phản hồi bình luận 56
Bảng 37 Bảng đặc tả Usecase pin bình luận 56
Bảng 38 Bảng đặc tả Usecase chỉnh sửa bình luận 57
Bảng 39 Bảng đặc tả Usecase xóa bình luận 58
Bảng 40 Bảng đặc tả Usecase xem danh sách tập tin 59
Bảng 41 Bảng đặc tả Usecase thêm tập tin 60
Bảng 42 Bảng đặc tả Usecase xóa tập tin 61
Bảng 43 Bảng đặc tả Usecase tải xuống tập tin 62
Bảng 44 Bảng đặc tả Usecase xem danh sách thông báo 62
Bảng 45 Bảng đặc tả Usecase đọc thông báo 63
Bảng 46 Bảng đặc tả Usecase xóa thông báo 64
Bảng 47 Bảng đặc tả Usecase xem Sprint Backlog 65
Bảng 48 Bảng đặc tả Usecase tạo Sprint 66
Bảng 50 Bảng đặc tả Usecase xóa Sprint 68
Bảng 51 Bảng đặc tả Usecase bắt đầu Sprint 69
Bảng 52 Bảng đặc tả Usecase kết thúc Sprint 70
Bảng 53 Thông tin các trường trong bảng users 96
Bảng 54 Thông tin các trường trong bảng verify emails 97
Bảng 55 Thông tin các trường trong bảng sprints 97
Bảng 56 Thông tin các trường trong bảng tasks 98
Bảng 57 Thông tin các trường trong bảng project_members 98
Bảng 58 Thông tin các trường trong bảng task_assigned 99
Bảng 59 Thông tin các trường trong bảng favourites 99
Bảng 60 Thông tin các trường trong bảng comments 100
Bảng 61 Thông tin các trường trong bảng attachments 100
Bảng 62 Thông tin các trường trong bảng tags 101
Bảng 63 Thông tin các trường trong bảng project_tags 101
Bảng 64 Thông tin các trường trong bảng task_tags 101
Bảng 65 Thông tin các trường trong bảng notifications 102
Bảng 66 Thông tin các trường trong bảng notification_notified 102
Bảng 67 Kết quả kiểm thử chức năng thành viên 124
Bảng 68 Kết quả kiểm thử chức năng người quản lý dự án 126
1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI
Với sự phát triển nhanh chóng của công nghệ thông tin và xu hướng làm việc trực tuyến, nhu cầu quản lý công việc một cách hiệu quả và linh hoạt đã trở nên cần thiết hơn bao giờ hết Một trang web quản lý công việc trực tuyến sẽ cung cấp một nền tảng tiên tiến giúp các nhóm làm việc phối hợp hiệu quả hơn dù ở bất kỳ đâu
Mô hình Agile Scrum là một phương pháp quản lý dự án linh hoạt, cho phép các nhóm làm việc tăng cường sự tương tác, cải tiến liên tục và phản hồi nhanh chóng Triển khai web quản lý công việc với mô hình này sẽ giúp các nhóm làm việc tổ chức, theo dõi và quản lý các công việc một cách trực quan và dễ dàng, từ đó tối ưu hóa quy trình làm việc và nâng cao năng suất
Do đó, việc xây dựng một trang web quản lý công việc trực tuyến theo mô hình Agile Scrum như iTask sẽ đáp ứng nhu cầu quản lý công việc ngày càng cao, tạo ra một môi trường làm việc hiệu quả và linh hoạt cho các nhóm làm việc, và mở ra cơ hội mới cho các nhà quản lý dự án và chuyên gia trong lĩnh vực này
2 MỤC TIÊU CỦA ĐỀ TÀI
Mục tiêu chính của đề tài này là xây dựng một website quản lý công việc trực tuyến chuyên nghiệp và chất lượng, hỗ trợ người dùng dễ dàng theo dõi tiến độ công việc của dự án cũng như có thể kiểm tra các công việc hiện tại của bản thân
Bước đầu sẽ là phát triển một trang web cơ bản, cung cấp thông tin chi tiết về các dự án, giúp người dùng dễ dàng tham gia vào các dự án Tiếp theo, sẽ xây dựng hệ thống cho phép người dùng quản lý thông tin dự án, công việc và các thông tin khác liên quan Trang web cũng sẽ hỗ trợ các tính năng như bình luận, tải tài liệu lên cho dự án,…
Các mục tiêu cụ thể bao gồm:
- Tạo ra một giao diện người dùng thân thiện, trực quan và hấp dẫn, giúp người dùng dễ dàng tương tác và tạo các dự án trên website
Phần mở đầu nhân và dữ liệu của người dùng
- Tối ưu hóa hiệu suất và khả năng mở rộng của website, để đáp ứng số lượng người dùng ngày càng tăng và nhu cầu phát triển trong tương lai
- Đáp ứng các yêu cầu cơ bản của một trang web quản lý công việc, bao gồm khả năng truy cập danh sách dự án, tham gia dự án, quản lý công việc và quản lý thành viên dự án
Phần nghiên cứu nghiệp vụ nhóm đã tiến hành khảo sát các trang web quản lý công việc trực tuyến, văn phòng phẩm như: Jira, Trello, Hive, Notion,…tìm hiểu nhu cầu của người dùng và cả doanh nghiệp
Phần back-end sử dụng Gin framework của ngôn ngữ Golang, xây dựng API và thao tác với dữ liệu một cách chính xác và nhanh chóng
Phần front-end sử dụng framework ReactJS kết hợp với ReduxJS để thiết kế giao diện cho end-user
Phần bảo mật hệ thống, tiến hành nghiên cứu JWT(JSON Web Tokens) để bảo mật cho hệ thống.
4 PHẠM VI NGHIÊN CỨU Áp dụng các kiến thức đã được học trên nhà trường và nghiên cứu thêm các kiến thức mới về thiết kế phần mềm cũng như học và áp dụng các công nghệ mới để áp dụng vào hệ thống
5 Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN
Sau khi hoàn thành đề tài, nhóm đã học hỏi được thêm nhiều được nhiều kiến thức mới về hệ thống quản lý công việc và quy trình phát triển phần mềm.
PHẦN NỘI DUNG CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
Golang, hay Go, là một ngôn ngữ lập trình mã nguồn mở được phát triển bởi Google Được ra mắt vào năm 2009, Go kết hợp hiệu suất cao của ngôn ngữ C với tính tiện dụng của các ngôn ngữ lập trình hiện đại Một trong những đặc điểm nổi bật của
Go là khả năng xử lý đồng thời mạnh mẽ, nhờ vào thiết kế goroutines và channels, giúp việc xây dựng các ứng dụng đa luồng trở nên dễ dàng và hiệu quả hơn
NHƯỢC ĐIỂM
● Chưa cung cấp đủ các tính năng nâng cao để quản lý Scrum như Tempo, History
● Chưa xây dựng được phân quyền trong dự cho các Stakeholders
● Chưa ứng dụng được WebSocket để ứng dụng cho tính năng thông báo
HƯỚNG PHÁT TRIỂN
● Cải tiến UI của trang web
● Ứng dụng kiến thức về Web Socket để cải tiến hệ thống thông báo
● Làm thêm các chức năng để phân quyền trong dự án
● Ứng dụng kiến thức AI để làm hệ thống recommend công việc
● Xây dựng thêm các tính năng nâng cao như: Quản lý Tempo, Log time, History