Các sản phẩm cần nộp của đồ án môn học quản lý dự án phần mềm
Tài liệu mô tả các sản phẩm cần nộp cho đồ án của môn học Software Project Management.
1. Quy định chung
- Điểm đồ án giữa kỳ được tự động chia đều cho các thành viên trong nhóm.
- Điểm đồ án cuối kỳ được tự động chia đều cho các thành viên trong nhóm.
- Nếu nhóm có mong muốn tự chia điểm đồ án cuối kỳ theo tỷ lệ riêng, thì cần ghi rõ thông tin từng thành viên và tỷ lệ điểm từng thành viên sẽ được nhận, ví dụ 50%, 120%, 150%, trong trang bìa từng sản phẩm. Tỷ lệ điểm từng thành viên sẽ được nhận cần giống hệt nhau ở tất cả các sản phẩm. Tổng số % của nhóm = Số thành viên x 100%. Nếu thành viên nào có % x Tổng điểm lớn hơn 10, thì điểm của thành viên cũng chỉ được tính là 10. Điểm của từng thành viên chỉ gồm một chữ số thập phân. Trong trường hợp tổng điểm của nhóm chia theo % dư hoặc thiếu điểm so với tổng điểm của toàn nhóm, nhóm cần hiệu chỉnh lại phần thập phân của từng thành viên để đảm bảo tổng số điểm của tất cả các thành viên luôn nhỏ hơn hoặc bằng tổng số điểm của toàn nhóm. Đồng thời trưởng nhóm cần thông báo trực tiếp cho giảng viên mong muốn tự chia điểm vào đầu buổi học lý thuyết cuối cùng của môn học.
- Kết quả đồ án được đánh giá dựa trên sự tương quan giữa các nhóm một cách định tính, trong đó có sự xem xét đến số lượng thành viên của các nhóm. Do vậy, nếu nhóm có thành viên bỏ nhóm, hoặc không thực hiện đồ án, trưởng nhóm cần thông báo trực tiếp cho giảng viên vào đầu buổi vấn đáp đồ án giữa kỳ, để các nhóm được đánh giá công bằng với nhau.
2. Quy định tổ chức và đặt tên thư mục
- Mỗi nhóm cần đặt tên thư mục gốc là Team_X, không dấu, X là số thứ tự nhóm, ghi dưới dạng 2 chữ số, ví dụ: 01, 02, 03, 04.
- Trong thư mục gốc bao gồm 3 thư mục chính.
- 01_Documents: chứa các tài liệu của dự án,
- 02_Source: chứa mã nguồn lấy từ source control về, dữ liệu hệ thống, và các tài liệu liên quan đến biên dịch hệ thống.
- 03_Deployment: chứa các tập tin cần thiết, và các tài liệu liên quan đến việc triển khai hệ thống.
- Ví dụ minh họa việc tổ chức cây thư mục và tên sản phẩm
3. Định dạng các sản phẩm
- Các sản phẩm thường ở dạng DOCX, hoặc XLSX, hoặc ZIP (nếu sản phẩm gồm nhiều tập tin).
- Các sản phẩm không phải dạng ZIP cần được export ra bản PDF tương ứng nhằm đảm bảo việc kiểm tra sản phẩm không gặp vấn đề về font chữ hay layout.
- Nếu nhóm có các sản phẩm là ảnh chụp rõ nét bản viết hoặc vẽ bằng tay hoặc ghi chú (sticky notes) dạng PNG hoặc JPG, thì nhóm có thể dán vào các tài liệu DOCX hoặc XLSX.
- Các tài liệu của môn học cần đơn giản, diễn giải đủ các khía cạnh, dễ hiểu, hỗ trợ tốt cho việc liên lạc, tương tự như những gì đã được minh họa trên lớp.
- Các hệ thống trực tuyến của nhóm cần để chế độ công khai (Public), trừ trường hợp nhà cung cấp không cho phép.
- Nhóm cần gửi lời mời tham gia vào các hệ thống trực tuyến của nhóm với vai trò admin (hoặc user trong trường hợp nhà cung cấp hoặc bản miễn phí không cho phép nhiều admin), đến email trên Moodle của các giảng viên phụ trách môn học.
4. Danh sách các sản phẩm cần nộp, và quy định đặt tên tập tin
- Các sản phẩm dưới đây là bắt buộc, nhưng không giới hạn. Các nhóm có thể nộp thêm các sản phẩm tự đề xuất trong quá trình thực hiện đồ án.
- Danh sách các sản phẩm này có thể được giảng viên hiệu chỉnh lại trong quá trình học, tùy theo tình hình lớp học.
- Thư mục 01_Documents chứa các sản phẩm với các tên in đậm sau:
- 01_Executive Summary.docx: Tài liệu Tóm tắt dự án (Tổng quan về dự án, Business Requirements),
- 01_Executive Summary.pdf,
- 02_Project Vision and Scope.docx: Tài liệu Viễn cảnh và phạm vi dự án (Tầm nhìn và phạm vi dự án, User Requirements),
- 02_Project Vision and Scope.pdf,
- 03_Prototype.docx: trình bày giao diện từng bước của ít nhất một luồng quy trình nghiệp vụ chính trong hệ thống,
- 03_Prototype.pdf,
- 04_Software Requirements.docx: Tài liệu Yêu cầu phần mềm, tùy theo mô hình nhóm lựa chọn mà có nội dung tương ứng.
- 04_Software Requirements.pdf,
- 05_Software Architecture.docx: trình bày các mô hình và diễn giải kiến trúc hệ thống theo các góc nhìn khác nhau, các công nghệ, công cụ được lựa chọn để xây dựng hệ thống,
- 05_Software Architecture.pdf,
- 06_Proof of Concept.docx: Trình bày quá trình nhóm đã thử nghiệm việc hiện thực hóa một tính năng khó về mặt kỹ thuật, và kết quả cụ thể thu được,
- 06_Proof of Concept.pdf,
- 07_Feasibility Study Report.docx: Tài liệu Phân tích tính khả thi của dự án.
- 07_Feasibility Study Report.pdf,
- 08_Project Charter.docx: Tài liệu Ủy nhiệm dự án,
- 08_Project Charter.pdf,
- 09_Software Process Definition.docx: Tài liệu Định nghĩa quy trình nhóm đề xuất dùng để phát triển phần mềm.
- 09_Software Process Definition.pdf,
- 10_Project Estimate.docx: Tài liệu Ước lượng ước lượng thời gian, chi phí, nhân lực cho dự án.
- 10_Project Estimate.pdf,
- 11_Project Plan.docx: Tài liệu Kế hoạch thực hiện dự án.
- 11_Project Plan.pdf,
- 12_Statement of Work.docx: Tài liệu Phát biểu công việc của dự án.
- 12_Statement of Work.pdf,
- 13_Software Contract.docx: Tài liệu Hợp đồng dự án.
- 13_Software Contract.pdf,
- 14_Software Configuration Management Plan.docx: Tài liệu Kế hoạch quản lý cấu hình của dự án. Ngoài ra trong tài liệu này còn có các thông tin sau:
- Trang 2 chứa liên kết, và ảnh chụp hành động mời tham gia hệ thống với vai trò admin (hoặc user trong trường hợp nhà cung cấp hoặc bản miễn phí không cho phép nhiều admin), để truy cập hệ thống tương tác, liên lạc của nhóm (ví dụ Slack, Discord).
- Trang 3 chứa liên kết, và ảnh chụp hành động mời tham gia hệ thống với vai trò admin (hoặc user trong trường hợp nhà cung cấp hoặc bản miễn phí không cho phép nhiều admin), để truy cập hệ thống quản lý yêu cầu của nhóm (ví dụ Confluence).
- Trang 4 chứa liên kết, và ảnh chụp hành động mời tham gia hệ thống với vai trò admin (hoặc user trong trường hợp nhà cung cấp hoặc bản miễn phí không cho phép nhiều admin), để truy cập hệ thống quản lý công việc của nhóm (ví dụ Trello, Jira Software, Asana).
- Trang 5 chứa liên kết, và ảnh chụp hành động mời tham gia hệ thống với vai trò admin (hoặc user trong trường hợp nhà cung cấp hoặc bản miễn phí không cho phép nhiều admin), để truy cập hệ thống quản lý mã nguồn của nhóm (ví dụ GitHub, GitLab).
- Trang 6 chứa liên kết, và ảnh chụp hành động mời tham gia hệ thống với vai trò admin (hoặc user trong trường hợp nhà cung cấp hoặc bản miễn phí không cho phép nhiều admin), để truy cập hệ thống quản lý việc tích hợp và chuyển giao liên tục (CI/CD/DevOps) phần mềm của nhóm (ví dụ CircleCI, GitLab, Azure DevOps, Render, Vercel).
- Trang 7 chứa liên kết, và ảnh chụp hành động mời tham gia hệ thống với vai trò admin (hoặc user trong trường hợp nhà cung cấp hoặc bản miễn phí không cho phép nhiều admin), để truy cập hệ thống quản lý lỗi của nhóm (ví dụ GitHub issues, GitLab issues, Bitbucket issue trackers, Jira).
- 14_Software Configuration Management Plan.pdf,
- 15_Software Risk Management Plan.docx: Tài liệu Kế hoạch quản lý rủi ro của dự án.
- 15_Software Risk Management Plan.pdf,
- 16_Software Quality Management Plan.docx: Tài liệu Kế hoạch quản lý chất lượng của dự án.
- 16_Software Quality Management Plan Plan.pdf,
- 17_Test Plan.docx: Tài liệu Kế hoạch kiểm thử dự án,
- 17_Test Plan.pdf,
- 18_Project Status Report_Week 06.docx: Tài liệu Báo cáo tình trạng của dự án tính đến tuần 6.
- 18_Project Status Report_Week 06.pdf,
- 19_Meeting Minutes_Week 06.docx: Biên bản buổi họp trong tuần 6 của nhóm.
- 19_Meeting Minutes_Week 06.pdf,
- 20_Lessons Learned.docx: Tài liệu Báo cáo kinh nghiệm rút ra sau khi thực hiện dự án của nhóm.
- 20_Lessons Learned.pdf,
- 21_Team Building.mp4: Video team building của nhóm.
- 22_AI Prompts.docx: Tài liệu chứa các prompts đã sử dụng để hỗ trợ tạo bản nháp của các sản phẩm.
- 22_AI Prompts.pdf
- Thư mục 02_Source chứa các sản phẩm với các tên in đậm sau:
- 01_Source Code: Thư mục chứa mã nguồn hệ thống (bao gồm cả các thông tin của source control, các unit tests),
- 02_Raw Data: Thư mục chứa các dữ liệu gốc (raw) của hệ thống (nếu có). Ví dụ: các file dữ liệu ảnh (Photoshop), video, audio gốc,
- 03_Build Scripts: Thư mục chứa các tập tin cấu hình, kịch bản (scripts) build và tích hợp tự động,
- 04_Compilation Guide.docx: Tài liệu hướng dẫn một nhà phát triển (Developer) cách cài đặt môi trường, biên dịch mã nguồn, chỉnh sửa các thông tin cấu hình, thực thi các tập tin kịch bản, và chạy hệ thống trên một máy tính vừa cài đặt xong hệ điều hành. Ngoài ra trong tài liệu này còn có các thông tin sau:
- Trang 2 chứa liên kết, và ảnh chụp hành động mời tham gia hệ thống với vai trò admin (hoặc user trong trường hợp nhà cung cấp hoặc bản miễn phí không cho phép nhiều admin), để truy cập hệ thống source control của nhóm (ví dụ GitHub).
- Trang 3 chứa liên kết, và ảnh chụp hành động mời tham gia hệ thống với vai trò admin (hoặc user trong trường hợp nhà cung cấp hoặc bản miễn phí không cho phép nhiều admin), để truy cập hệ thống build và tích hợp tự động của nhóm (ví dụ GitLab).
- Trang 4 chứa liên kết đến video trên YouTube biểu diễn quá trình cài đặt môi trường, biên dịch, cấu hình và chạy mã nguồn trên máy một nhà phát triển.
- 04_Compilation Guide.pdf,
- Các giảng viên sẽ KHÔNG giải quyết các thắc mắc về điểm số nếu mã nguồn không biên dịch được theo tài liệu “04_Compilation Guide.docx” (minh chứng bằng các ảnh chụp màn hình).
- Các giảng viên sẽ KHÔNG giải quyết các thắc mắc về điểm số nếu các liên kết hoặc tài khoản không hoạt động được (minh chứng bằng các ảnh chụp màn hình).
- Thư mục 03_Deployment chứa các sản phẩm với các tên in đậm sau:
- 01_Deployment_Package: Thư mục chứa các sản phẩm, tập tin cấu hình, kịch bản (scripts) để triển khai, để cài đặt và triển khai trong môi trường thực.
- 02_Deployment Guide.docx: Tài liệu hướng dẫn một nhà quản trị hệ thống (IT Administrator) cách đăng ký các dịch vụ, cài đặt môi trường triển khai, cấu hình hệ thống triển khai liên tục, hệ thống chuyển giao liên tục, thực thi các kịch bản cung cấp và tài nguyên để vận hành hệ thống (IaaC). Tài liệu cũng cần mô tả từng kết quả thu được sau khi triển khai hệ thống lên môi trường Internet và thiết bị thực sự, ví dụ như web UI, APIs, databases, authenciation and authorization service. Ngoài ra trong tài liệu này còn có các thông tin sau:
- Trang 2 chứa liên kết đến video trên YouTube biểu diễn cách triển khai hệ thống của nhóm.
- 02_Deployment Guide.pdf,
- 03_User Guide.docx: Tài liệu hướng dẫn người dùng cuối (User) cách cài đặt và sử dụng sản phẩm. Ngoài ra trong tài liệu này còn có các thông tin sau:
- Trang 2 chứa liên kết đến video trên YouTube giới thiệu cách sử dụng hệ thống của nhóm.
- 03_User Guide.pdf.
5. Thời hạn nộp, hình thức nộp, và các tiêu chí đánh giá
Các sản phẩm của đồ án được nộp làm 2 lần:
- Lần 1 (giữa kỳ), vào tuần thứ 7 của môn học (hoặc thời gian do giảng viên thông báo), tại lớp học lý thuyết.
- Chỉ những bạn sinh viên có mặt ở buổi bảo vệ đồ án giữa kỳ mới có điểm.
- Các nhóm in ra tất cả các sản phẩm đã được dạy trong thư mục 01_Documents,
- Demo trực tiếp sản phẩm đã triển khai, trong 15 phút, và
- Trả lời các câu hỏi của giảng viên.
- Kết quả lần 1 (giữa kỳ) được đánh giá định tính dựa trên việc so sánh kết quả giữa các nhóm, và các câu hỏi thường gặp dưới đây:
- Demo các prompts nhóm đã sử dụng để hỗ trợ tạo bản nháp cho các sản phẩm.
- Giải thích quá trình nhóm đã hiệu chỉnh lại các sản phẩm được tự động tạo ra.
- Demo tối thiểu một vấn đề được giải quyết bằng hệ thống đã xây dựng và triển khai (end-to-end business case).
- Demo quy trình nhóm đã áp dụng để quản lý dự án tính đến thời điểm hiện tại thông qua các dữ liệu đã được thu thập trên các hệ thống quản lý.
- Giải thích tại sao Yêu cầu phần mềm của nhóm lại có nội dung như đề xuất?
- Demo việc build, tích hợp, và triển khai tự động mã nguồn của nhóm.
- Giải thích khi nào thì dự án của nhóm có thể hoàn thành? Tại sao?
- Lần 2 (cuối kỳ), vào thứ 6, tuần cuối cùng của môn học.
- Nhóm trưởng các nhóm nộp bản mềm điện tử tất cả các sản phẩm ở mục 2. trong tài liệu này, không nén, cho lớp trưởng.
- Đối với các tài liệu, các nhóm có thể cập nhật lại nếu cần.
- Lớp trưởng nén thư mục của toàn lớp lại thành 1 tập tin .zip hoặc .rar, chỉ một tập tin .zip hoặc .rar duy nhất cho toàn lớp.
- Lớp trưởng liên hệ và nộp cho giảng viên qua email.
- Các nhóm không bảo vệ đồ án cuối kỳ.
- Kết quả lần 2 (cuối kỳ) của đồ án được đánh giá định tính dựa trên 4 yếu tố:
- Việc hoàn thành toàn bộ và chất lượng nội dung của các sản phẩm ở mục 4. trong tài liệu này.
- Các dữ liệu thu thập được trên các hệ thống quản lý thể hiện nhóm đã thực hiện dự án theo quy trình đề ra.
- Việc hoàn thành toàn bộ Yêu cầu phần mềm nhóm đã đề xuất thông qua hệ thống đã được xây dựng.
- Việc so sánh kết quả phần mềm với một hệ thống tương tự.
- Việc so sánh một cách định tính kết quả phần mềm giữa các nhóm.