Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
39,81 MB
Nội dung
QUẢN LÝ DỰ ÁN GVHD: Phạm Minh Đương Email: duongmtvu@yahoo.com Tổng quan • Tại cần QLDA? • Các sub-team • Quản lý dự án – Các công việc – Ước lượng – Lập lịch 9/4/2016 Công nghệ phàn mềm Tại cần Quản lý dự án • Phát triển phần mềm đại làm theo teamworks • Các dự án phần mềm đòi hỏi nhiều nguồn nhân lực với chuyên môn khác • Bảo đảm tính chuyên nghiệp phát triển dự án phần mềm: – Bảo đảm lịch trình dự án – Điều phối khai thác tối đa nguồn nhân lực có – Bảo đảm chất lượng sản phẩm – Khả khắc phục cố xảy khách quan • Dự án lớn cần có quản lý chặt chẽ đồng 9/4/2016 Công nghệ phàn mềm Sub-Team CNPM • • Teamwork mô hình cho hầu hết dự án phần mềm: – Khả chuyên nghiệp hóa cao – Hiệu quản lý, giao tiếp điều hành Một nhóm dự án phần mềm tạo từ nhiều sub-teams – Các sub-team không thiết nhóm người mà người – Các sub-team không thiết tồn suốt trình dự án phần mềm 9/4/2016 Công ty phần mềm Project Team Team Team Team Team Project Team Project Công nghệ phàn mềm Các Sub-Team • • • • • • • • • • • • • • System analysis Planning Team Requirements Team System Design Team Implementation Team Testing & Intergration Team Training Team Delivery & Installation Team Maintenance Team Quality Assurance Team Metrics Team Documentation Team System Administration Team Reuse & Reengineering Team 9/4/2016 System Analysis Xác định tính khả thi dự án • Phân tích chi phí (Cost analysis) • Dự đoán lợi nhuận (Estimate revenues) • Tiên liệu khó khăn kỹ thuật công nghệ •Sau nghiên cứu khả thi, nhóm làm việc với Requirement Team để nhận feedbacks •Nếu dự án phát triển theo mô hình tương tác cao Prototype/Spiral model tính tương tác feedback quan trọng kể với nhóm khác Công nghệ phàn mềm Các Sub-Team • • • • • • • • • • • • • • System analysis Planning Team Requirements Team System Design Team Implementation Team Testing & Intergration Team Trainning Team Delivery & Installation Team Maintenance Team Quality Assurance Team Metrics Team Documentation Team System Administration Team Reuse & Reengineering Team 9/4/2016 Planning Team Nhóm có nhiệm vụ xây dựng tổng thể tất kế hoạch quản trị dự án bảo đảm tiến trình diễn tiến độ định •Xây dựng kế hoạch thực •Lập time frame cho tiến trình •Kế hoạch sử dụng tài nguyên hệ thống bao gồm nhân lực •Các kế hoạch dự phòng điều chỉnh có cố Công nghệ phàn mềm Các Sub-Team • • • • • • • • • • • • • • System analysis Planning Team Requirements Team System Design Team Implementation Team Testing & Intergration Team Training Team Delivery & Installation Team Maintenance Team Quality Assurance Team Metrics Team Documentation Team System Administration Team Reuse & Reengineering Team 9/4/2016 Requirement Team Tiếp xúc khách hàng xác định đầy đủ, hoàn chỉnh xác yêu cầu cho dự án •Dùng phương thức gặp gở thức bên lề để xác định yêu cầu hệ thống •Nếu khách hàng, tiếp xúc với user tiềm Sau xác định yêu cầu, nhóm làm việc với System Design Team để nhận feedback Nếu dự án phát triển theo mô hình tương tác cao Prototype/Spiral model tính tương tác feedback quan trọng kể với nhóm khác Công nghệ phàn mềm Các Sub-Team • • • • • • • • • • • • • • System analysis Planning Team Requirements Team System Design Team Implementation Team Testing & Intergration Team Training Team Delivery & Installation Team Maintenance Team Quality Assurance Team Metrics Team Documentation Team System Administration Team Reuse & Reengineering Team 9/4/2016 System Design Team •Xây dựng thiết kế chi tiết hệ thống sau yêu cầu xác định •Nếu sử dụng mô hình Waterfall, nhóm phải feedback cho nhóm Requirement khó khăn có •Sau hoàn chỉnh thiết kế, nhóm phải cộng tác với Implementation Team để nhận feedback •Nếu dự án phát triển theo mô hình tương tác cao Prototype/Spiral model tính tương tác feedback quan trọng kể với nhóm khác Công nghệ phàn mềm Các Sub-Team • • • • • • • • • • • • • • System analysis Planning Team Requirements Team System Design Team Implementation Team Testing & Intergration Team Training Team Delivery & Installation Team Maintenance Team Quality Assurance Team Metrics Team Documentation Team System Administration Team Reuse & Reengineering Team 9/4/2016 Implementation Team Phát triển hệ thống theo thiết kế có • Coding • Kiểm tra cấp Module Sau hoàn tất chương trình, nhóm cộng tác với nhóm Testing & Integration để kiểm tra module Nếu dự án phát triển theo mô hình tương tác cao Prototype/Spiral model tính tương tác feedback quan trọng kể với nhóm khác Công nghệ phàn mềm Các Sub-Team • • • • • • • • • • • • • • System analysis Planning Team Requirements Team System Design Team Implementation Team Testing & Intergration Team Training Team Delivery & Installation Team Maintenance Team Quality Assurance Team Metrics Team Documentation Team System Administration Team Reuse & Reengineering Team 9/4/2016 Testing & Integration Team •Xây dựng thiết kế chi tiết hệ thống sau yêu cầu xác định •Nếu sử dụng mô hình Waterfall, nhóm phải feedback cho nhóm Requirement khó khăn có •Sau hoàn chỉnh thiết kế, nhóm phải cộng tác với Implementation Team để nhận feedback •Nhóm tiếp nhậncác module rời rạc kiểm tra sau tích hợp thành hệ thống hoàn chỉnh •Nếu dự án phát triển theo mô hình tương tác cao Prototype/Spiral model tính tương tác feedback quan trọng kể với nhóm khác •Nhóm có vai trò Interface Control Document để đặc tả giao diện giao tiếp thành phần hệ thống Công nghệ phàn mềm 10 Các Sub-Team • • • • • • • • • • • • • • System analysis Planning Team Requirements Team System Design Team Implementation Team Testing & Intergration Team Training Team Delivery & Installation Team Maintenance Team Quality Assurance Team Metrics Team Documentation Team System Administration Team Reuse & Reengineering Team 9/4/2016 Documentation Team • • Nhóm thực hoạt động thiết lập tài liệu cho hệ thống Tài liệu phân tích, thiết kế, thực, source code, Tài liệu hỗ trợ: userguide, manual, support document Công nghệ phàn mềm 16 Các Sub-Team • • • • • • • • • • • • • • System analysis Planning Team Requirements Team System Design Team Implementation Team Testing & Intergration Team Training Team Delivery & Installation Team Maintenance Team Quality Assurance Team Metrics Team Documentation Team System Administration Team Reuse & Reengineering Team 9/4/2016 System Administrationm Team •Nhóm có nhiệm vụ cung cấp bảo đảm hoạt động hệ thống hạ tầng kỹ thuật cần thiết cho dự án •Nhóm thông thường bao gồm Network Administration Team Công nghệ phàn mềm 17 Các Sub-Team • • • • • • • • • • • • • • System analysis Planning Team Requirements Team System Design Team Implementation Team Testing & Intergration Team Training Team Delivery & Installation Team Maintenance Team Quality Assurance Team Metrics Team Documentation Team System Administration Team Reuse & Reengineering Team 9/4/2016 Reuse & Reengineering Team • • Chọn lựa định việc tái sử dụng module có Việc tái sử dụng công nghệ cần thiết mà việc phát triển đòi hỏi phải dùng đến code cũ công nghệ thay đổi Công nghệ phàn mềm 18 Sub-Team • Có nhiều việc quản lý nhóm công đoạn • Có nhiều nhóm nhiều manager, nhiên nhóm nhỏ thường người nhóm manager nhóm • Việc lập lịch team phụ thuộc vào mô hình phát triển cụ thể • Ví dụ dùng mô hình Waterfall công đoạn tích hợp thành bước lớn hơn, nhóm tham gia vào bước theo chức 9/4/2016 Công nghệ phàn mềm 19 Các nhóm mô hình Waterfall SPECIFICATION: Planning, System Analysis, QA, Metrics, Documentation, System Administration, Reuse & Reengineering DESIGN: QA, Metrics, Documentation, System Administration, Reuse & Reengineering CODE:QA, Metrics, Documentation, System Administration, Reuse & Reengineering TESTING & INTEGRATION: QA, Metrics, Documentation, System Administration, Reuse & Reengineering MAINTENANCE: Trainning, Delivery & Instalation,QA, Metrics, Documentation, System Administration, Reuse & Reengineering 9/4/2016 Công nghệ phàn mềm 20 Các nhân khác dự án Bên cạnh có số nhân khác tham gia vào trình phát triển dự án không nêu tên cách qui • Human Human Computer Interface Evaluation: Evaluation Đánh giá khả thích hợp giao diện người dùng cấp thấp cấp cao • Tools Support Person: Person Người cung cấp bảo đảm công cụ cần thiết tools, software, network vận hành theo yêu cầu trình phát triển • Software Economist: Economist Sử dụng mô hình đánh giá cần thiết để ước lượng chi phí phần mềm, phần cứng, resource thời gian cần cho dự án hoàn tất • Project Librarian: Librarian Có trách nhiệm lưu trữ xếp hệ thống tất tài liệu dự án • Chuyên gia hỗ trợ trợ: Một số dự án cần có chuyên gia lĩnh vực tương ứng hỗ trợ, tư vấn mặt chuyên môn hay kỹ thuật NHÂN SỰ CỦA CÁC TEAM CÓ THỂ THAY ĐỔI THƯỜNG XUYÊN TRONG QUÁ TRÌNH HOẠT ĐỘNG DO NHIỀU YẾU TỐ 9/4/2016 Công nghệ phàn mềm 21 Các yếu tố ảnh hưởng đến team • Nhân cần thay đổi theo công đoạn: công đoạn cần nhiều nhân cần thời gian dài coding, testing & intergration • Các nguyên nhân khách quan khác: – Nhân thay đổi công việc: chuyên môn thay đổi, công nghệ cập nhật – Nhân nghĩ thay đổi việc, bệnh, hưu – Nhân mới: mang lại tư công nghệ nhiên phải cần thời gian tiếp cập • Việc xây dựng team linh động theo dự án cần có điều phối dự án theo tiến độ công việc 9/4/2016 Công nghệ phàn mềm 22 Quản lý dự án • Dự đoán quy mô độ phức tạp dự án • Xác định team cần thiết cho thực dự án • Xác định kế hoạch dự đoán thời gian hoàn thành dự án • Xác định tài nguyên cần thiết cho dự án bao gồm phần mềm, hệ thống, … • Tính toán chi phí xây dựng dự án • Xây dựng lộ trình thực dự án (milestone) • Thực công việc quản lý thời gian thực dự án để bảo đảm kế hoạch đề 9/4/2016 Công nghệ phàn mềm 23 Các công việc Quản lý dự án Quản trị nhân sự: điều phối, quản lý công việc, Phân bổ tài nguyên hệ thống theo kế hoạch Điều phối nhân sự: công ty bên Xử lý phát sinh thời gian biểu Quản lý thay đổi yêu cầu dự án Giải cố kế hoạch: máy móc hư hỏng, nhân thay đổi, • Báo cáo cho lãnh đạo trạng dự án • Giao tiếp với khách hàng • Huấn luyện nhân • • • • • • 9/4/2016 Công nghệ phàn mềm 24 Ước lượng dự án Phần mềm • Dự đoán điều gì? – Quy mô sản phẩm phát triển – Các yêu cầu, resource cần thiết để phát triển sản phẩm thành công • Để phát triển sản phẩm cần biết nhiều thông tin Máy tính cần cho phát triển Các phần mềm compiler Phương thức giao tiếp phận CASE Tools Các gói phần mềm mà hệ thống cần liên kết, tương tác Máy tính cho testing Máy tính cho trainning 9/4/2016 Các công cụ cho Documentation Thiết bị copy, lưu trữ Công nghệ sử dụng Lập trình viên Kiểm tra viên Quản lý Nhà thiết kế Các nhân khác ……… Công nghệ phàn mềm 25 Estimation – Vấn đề ước lượng Vấn đề ước lượng khó, ảnh hưởng lớn đến uy tín, thời gian, tiền bạc công ty Có nhiều phương thức để tính toán cho vấn đề ước lượng: -Các gói phần mềm hỗ trợ ước lượng -Lấy số liệu từ dự án có công việc công nghệ tương tự -Ước lượng từ kinh nghiệm qua người phát triển -Nếu dự án ước lượng nhiều thời gian lượng thời gian sẵn có giải pháp giảm kích thước hệ thống tăng chi phí cách bổ sung thêm người 9/4/2016 Công nghệ phàn mềm 26 Lập lịch dự án • Ước lượng thời gian thực công cụ • Scheduling bao gồm: – Xác định mốc tiến trình thực dự án – Phân bổ resource cho tiến trình dự án • Quản trị thực điều chỉnh cần thiết cho tiến trình có thay đổi kế hoạch – Phân bổ lại nguồn resource (thêm người) – Phân bổ lại milestone (cột mốc) tiến trình Mục tiêu bảo đảm deadline không bị thay đổi • Phương pháp quản trị điều chỉnh: FUNCTION POINT • Các công cụ dùng scheduling : MS project, Cocomo2 9/4/2016 Công nghệ phàn mềm 27 Activity network model M1 T3 T9 15 ngày 15 ngày T6 T1 M3 ngày 04/07/99 25/8/99 04/8/99 ngày T 11 25/7/99 T2 Start M6 M4 14/7/99 ngày T7 15 ngày M8 20 ngày T4 10 ngày M7 M2 T5 25/7/99 10 ngày 11/8/99 • • • • T 12 T 10 10 ngày 15 ngày M5 18/7/99 5/9/99 T8 FINISH 25 ngày 19/09/99 Thiết lập activity network: gồm Milestone (M) Task (T) Xác định critical path: có tổng thời gian thực dài Điều chỉnh M-i để bảo đảm deadline Điều chỉnh T-i cách thay đổi/bổ sung nhân (Team) 9/4/2016 Công nghệ phàn mềm 28 Activities Bar Chart –PERL chart 4/7 11/7 18/7 25/7 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9 START T4 T1 T4 M1 9/4/2016 Công nghệ phàn mềm 29 Q&A 9/4/2016 Công nghệ phàn mềm 30 [...]... xây dựng các team là linh động theo từng dự án và cần có điều phối giữa các dự án theo từng tiến độ công việc 9/4/2016 Công nghệ phàn mềm 22 Quản lý dự án • Dự đoán quy mô và độ phức tạp của dự án • Xác định các team cần thiết cho hiện thực dự án • Xác định kế hoạch dự đoán thời gian hoàn thành dự án • Xác định các tài nguyên cần thiết cho dự án bao gồm phần mềm, hệ thống, … • Tính toán chi phí xây dựng... dựng dự án • Xây dựng lộ trình thực hiện dự án (milestone) • Thực hiện các công việc quản lý trong thời gian thực hiện dự án để bảo đảm đúng kế hoạch đã đề ra 9/4/2016 Công nghệ phàn mềm 23 Các công việc của Quản lý dự án Quản trị nhân sự: điều phối, quản lý công việc, Phân bổ các tài nguyên của hệ thống theo kế hoạch Điều phối nhân sự: trong công ty và bên ngoài Xử lý các phát sinh về thời gian biểu Quản. .. Quản lý các thay đổi yêu cầu của dự án Giải quyết các sự cố ngoài kế hoạch: máy móc hư hỏng, nhân sự thay đổi, • Báo cáo cho lãnh đạo về hiện trạng của dự án • Giao tiếp với khách hàng • Huấn luyện nhân sự • • • • • • 9/4/2016 Công nghệ phàn mềm 24 Ước lượng dự án Phần mềm • Dự đoán điều gì? – Quy mô của sản phẩm sẽ được phát triển – Các yêu cầu, resource cần thiết để có thể phát triển sản phẩm thành công. .. cần cho phát triển Các phần mềm cơ bản như compiler Phương thức giao tiếp giữa các bộ phận CASE Tools Các gói phần mềm mà hệ thống cần liên kết, tương tác Máy tính cho testing Máy tính cho trainning 9/4/2016 Các công cụ cho Documentation Thiết bị copy, lưu trữ Công nghệ sử dụng Lập trình viên Kiểm tra viên Quản lý Nhà thiết kế Các nhân sự khác ……… Công nghệ phàn mềm 25 Estimation – Vấn... Vấn đề ước lượng rất khó, nó ảnh hưởng rất lớn đến uy tín, thời gian, tiền bạc của công ty Có rất nhiều phương thức để tính toán cho vấn đề ước lượng: -Các gói phần mềm hỗ trợ ước lượng -Lấy số liệu từ những dự án có công việc và công nghệ tương tự -Ước lượng từ kinh nghiệm đã qua của những người phát triển -Nếu một dự án ước lượng nhiều thời gian hơn lượng thời gian sẵn có thì giải pháp duy nhất là... pháp duy nhất là giảm kích thước hệ thống hoặc tăng chi phí bằng cách bổ sung thêm người 9/4/2016 Công nghệ phàn mềm 26 Lập lịch dự án • Ước lượng thời gian có thể thực hiện bằng công cụ • Scheduling bao gồm: – Xác định các mốc tiến trình thực hiện dự án – Phân bổ resource cho các tiến trình của dự án • Quản trị và thực hiện các điều chỉnh cần thiết cho các tiến trình khi có sự thay đổi ngoài kế hoạch... Reuse & Reengineering Team • • Chọn lựa và quyết định việc tái sử dụng các module đã có Việc tái sử dụng công nghệ cũng cần thiết khi mà việc phát triển đòi hỏi phải dùng đến các code cũ khi công nghệ đã thay đổi Công nghệ phàn mềm 18 Sub-Team • Có rất nhiều việc quản lý trong từng nhóm và từng công đoạn • Có khá nhiều nhóm nhiều manager, tuy nhiên nếu các nhóm này nhỏ thì thường là một người trong... của quá trình phát triển • Software Economist: Economist Sử dụng các mô hình đánh giá cần thiết để ước lượng chi phí phần mềm, phần cứng, resource và thời gian cần cho dự án hoàn tất • Project Librarian: Librarian Có trách nhiệm lưu trữ và sắp xếp hệ thống tất cả các tài liệu của dự án • Chuyên gia hỗ trợ trợ: Một số dự án cần có những chuyên gia trong lĩnh vực tương ứng hỗ trợ, tư vấn về mặt chuyên... 9/4/2016 Công nghệ phàn mềm 21 Các yếu tố ảnh hưởng đến các team • Nhân sự cần thay đổi theo từng công đoạn: các công đoạn cần nhiều nhân sự và cần thời gian dài như coding, testing & intergration • Các nguyên nhân khách quan khác: – Nhân sự thay đổi công việc: chuyên môn thay đổi, công nghệ mới cập nhật – Nhân sự nghĩ do thay đổi việc, bệnh, về hưu – Nhân sự mới: mang lại tư duy mới và công nghệ mới... Reengineering 9/4/2016 Công nghệ phàn mềm 20 Các nhân sự khác trong dự án Bên cạnh còn có một số nhân sự khác tham gia vào quá trình phát triển dự án nhưng có thể không được nêu tên một cách chính qui • Human Human Computer Interface Evaluation: Evaluation Đánh giá khả năng thích hợp của giao diện như người dùng cấp thấp và cấp cao • Tools Support Person: Person Người cung cấp và bảo đảm các công cụ cần thiết