Công Nghệ Phần Mềm Quản Lý Dự án. - Ppt Download - SlidePlayer

Presentation on theme: "Công nghệ phần mềm Quản lý dự án."— Presentation transcript:

1 Công nghệ phần mềm Quản lý dự án

2 Các chủ đề Các hoạt động quản lýViết đề án nghiên cứu khả thi (proposal) Lập kế hoạch dự án Các phương pháp, công cụ hỗ trợ Quản lý rủi ro Đánh giá dự án

3 KHÁI NIỆM DỰ ÁN Tập thể - Có chuyên môn khác nhau Kết quảDự án là một tập hợp các công việc, được thực hiện bởi một tập thể, nhằm đạt được một kết quả dự kiến, trong một thời gian dự kiến, với một kinh phí dự kiến. Tập thể Kết quả Thời gian Kinh phí - Có chuyên môn khác nhau - Công việc khác nhau - Thời gian tham gia khác nhau - Cùng phối hợp - Đặc tính/đặc điểm của kết quả - Giá trị sử dụng và hiệu quả - Thời gian bắt đầu - Thời gian kết thúc - Mốc trung gian (thời điểm trung gian) - Vốn đầu tư cho dự án - Có thể cấp thành nhiều giai đoạn

4 Quản lý dự án phần mềm Quan tâm đến các hoạt động nhằm đảm bảo rằng phần mềm sẽ được bàn giao Đúng hạn và đúng lịch Theo các yêu cầu của các tổ chức thực hiện phát triển và mua phần mềm. Thời gian Chất lượng Tài nguyên Tam giác dự án

5 Đặc thù của quản lý phần mềmSản phẩm không hữu hình, không nắm bắt được. Sản phẩm có tính linh động theo một cách riêng. Công nghệ phần mềm không được xem là một ngành kĩ thuật (engineering) Cùng hạng với kĩ thuật cơ, kĩ thuật điện, v.v... Quy trình phát triển phần mềm không được chuẩn hóa. Nhiều dự án phần mềm là các dự án chỉ thực hiện đúng một lần và không lặp lại.

6 Các hoạt động quản lý Viết tài liệu dự án khả thi (proposal).Lập kế hoạch và lập lịch cho dự án. Đánh giá chi phí dự án. Theo dõi và review dự án. Lựa chọn và đánh giá nhân lực. Viết và trình bày báo cáo. 1.Khởi động 2.Lập KH 4.Giám sát Điều khiển 3.Thực hiện 5.Kết thúc

7 Management commonalitiesCác hoạt động này không chỉ có riêng ở quản lý phần mềm. Nhiều kĩ thuật quản lý dự án kĩ thuật cũng có thể áp dụng một cách bình thường cho quản lý dự án phần mềm. Các hệ thống kĩ thuật phức tạp có xu hướng gặp phải cùng những vấn đề của các hệ thống phần mềm.

8 Nhân sự dự án Có thể không thể chọn được những người lý tưởng vào làm việc cho một dự án Ngân sách không đủ để trả lương cao; Không tìm thấy người có kinh nghiệm thích hợp; Một tổ chức có thể muốn dùng một dự án phần mềm để phát triển kĩ năng cho nhân viên. Người quản lý phải làm việc với những ràng buộc này, đặc biệt khi thiếu nhân viên đủ trình độ.

9 Viết proposal Vấn đề dự án nhắm tới Mục tiêu Phạm viCác đặc điểm chính của sản phẩm Các lợi ích thu được từ dự án Phạm vi Những gì sẽ làm Những gì sẽ không làm Xuất phẩm (Deliverables) Bản kế hoạch dự án ban đầu Các rủi ro và giải pháp

10 LẬP KẾ HOẠCH – Khái niệm Là công việc tiếp tục suốt quá trìnhĐược điều chỉnh thường xuyên Nhiều kế hoạch khác cần được lập để trợ giúp kế hoạch chính về lịch trình và ngân sách

11 LẬP KẾ HOẠCH – Khái niệm (2)Các loại kế hoạch dự án khác Tên kế hoạch Mô tả Kế hoạch chất lượng Mô tả thủ tục và các chuẩn chất lượng áp dụng Kế hoạch thẩm định Mô tả cách thức, nguồn lực và lịch trình thẩm định Kế hoạch quản lý cấu hình Mô tả thủ tục, cấu trúc quản lý cấu hình Kế hoạch bảo trì Chỉ ra yêu cầu, chi phí và nguồn lực cần cho bảo trì Kế hoạch phát triển đội ngũ Mô tả kỹ năng và kinh nghiệm của thành viên dự án sẽ cần

12 LẬP KẾ HOẠCH – Tiến trìnhTiến trình lập kế hoạch dự án Thiết lập các ràng buộc, hạn chế (thời gian, tài nguyên, ngân sách) Tiến hành đánh giá sơ bộ các tham số dự án (quy mô, độ phức tạp, nguồn lực) Xác định cột mốc (milestones) và các xuất phẩm (deliverables) cần có

13 LẬP KẾ HOẠCH – Tiến trình (2)Tiến trình lập kế hoạch dự án Thực hiện các hoạt động lặp lại suốt tiến trình: Lập lịch trình dự án Khởi động hoạt động theo lịch trình Theo dõi việc thực hiện Ước lượng lại các tham số dự án Điều chỉnh tiến trình Thoả thuận lại về các ràng buộc và xuất phẩm

14 LẬP KẾ HOẠCH – Nội dung Xác định tiến trình dự án Phân tích rủi roCác yêu cầu về nguồn lực: phần cứng, phần mềm, con người Phân đoạn công việc Ước lượng Lập lịch Cơ chế điều hành và báo cáo

15 kế hoạch kiểm thử phần mềmLẬP KẾ HOẠCH DỰ ÁN Phân đoạn công việc Danh sách sản phẩm (Product Breakdown Structure) Danh sách công việc (Work Breakdown Structure) 0.0 Phần mềm 1.0 Yêu cầu phần mềm 3.0 Chương trình (Mã nguồn) 4.0 Mã nguồn không còn lỗi 2.0 Sơ đồ thiết kế phần mềm 1.1 Thu thập yêu cầu 2.1 Thiết kế 3.1 Lập trình 4.1 Xây dựng kế hoạch kiểm thử phần mềm 5.1 Kiểm thử

16 LẬP KẾ HOẠCH DỰ ÁN Phân đoạn công việc – các bước thực hiệnBước 1: Viết ra sản phẩm chung nhất Bước 2: Tạo danh sách sản phẩm (deliverables?) Bước 3: Tạo lập danh sách công việc, mô tả công việc ở dưới mỗi sản phẩm mức thấp nhất Bước 4: Đánh mã cho mỗi ô của bảng công việc Bước 5: Xét duyệt lại bảng công việc

17 LẬP KẾ HOẠCH DỰ ÁN Ước lượng Kích cỡ phần mềm Thời gian Số ngườiChi phí Công việc Thời gian a 1 b 7 c 8 d 4 e f 3 g h i 2

18 LẬP KẾ HOẠCH DỰ ÁN Lập lịch trình dự án – các hoạt độngXác định nhiệm vụ Thời điểm bắt đầu, thời điểm kết thúc Người thực hiện (số người, yêu cầu,...) Ràng buộc (mối liên hệ giữa các nhiệm vụ)

19 LẬP KẾ HOẠCH DỰ ÁN Lập lịch trình dự án – ví dụ về ràng buộc giữa các công việc Công việc Thời gian Đi sau công việc Đi sau công việc a 1 - k 2 g, i b 7 m 3 i c 8 l d 4 n e o l, n f p g, i, h g q h r o, p e, f s r, q

20 Ví dụ: Mạng công việc tương ứngLẬP KẾ HOẠCH Ví dụ: Mạng công việc tương ứng 1 13 a(1) c(8) g(3) d(4) b(7) k(2) h(4) n(2) 0(1) l(3) m(6) i(2) r(2) q(3) p(2) f(3) e(4) 7 9 11 10 8 5 6 4 3 2 12 s(1)

21 LẬP KẾ HOẠCH DỰ ÁN Lập lịch trình dự án – ví dụ

22 Các chủ đề Các hoạt động quản lý Viết proposal Lập kế hoạch dự ánCác phương pháp, công cụ hỗ trợ Quản lý rủi ro Đánh giá dự án

23 ĐO VÀ ƯỚC LƯỢNG DỰ ÁN Đo phần mềm Ước lượngKích thước, chi phí, hiệu năng, chất lượng Ước lượng kích thước chi phí thời gian

24 ĐO DỰ ÁN – Đo kích cỡ phần mềmQua dòng lệnh (LOC – Lines Of Code) trực quan phụ thuộc ngôn ngữ Qua điểm chức năng (FP – Functional Points) độc lập với ngôn ngữ phụ thuộc các mô hình lựa chọn (tham số) Độ đo hiệu năng: KLOC/người-tháng chất lượng: số lỗi/KLOC chi phí: giá thành/KLOC

25 ĐO DỰ ÁN (3) Đo theo dòng lệnh (2) So sánh ngôn ngữ

26 Ví dụ số dòng lệnh 1.000.000 – Assembly 400.000 – C 175.000 – C++ĐO DỰ ÁN (4) Ví dụ số dòng lệnh – Assembly – C – C++ – Java

27 ĐO DỰ ÁN (5) Đo theo điểm chức năngLà tổng hợp các đặc trưng của module Input Output Interface Files sử dụng Xác định trọng số cho các đặc trưng trên, phụ thuộc vào ngữ cảnh (dự án) cụ thể: Độ phức tạp của bài toán Các yêu cầu về chất lượng, hiệu năng Kích thước của dữ liệu sử dụng

28 Đo theo điểm chức năng (2)ĐO DỰ ÁN (6) Đo theo điểm chức năng (2) FP = a1I + a2O + a3E + a4L + a5F Trong đó: I : số Input O: số Output E: số yêu cầu L: số tệp truy cập F: số giao diện ngoại lai (devices, systems)

29 Đo theo điểm chức năng (3)ĐO DỰ ÁN (7) Đo theo điểm chức năng (3) Ví dụ: FP = 4I + 5O + 4E + 10L + 7F Hàm tính ước số chung lớn nhất hai số nguyên Input : I = L = F = 0 Output : O = 1 Yêu cầu: E = 1 Điểm chức năng FP = 17

30 ƯỚC LƯỢNG DỰ ÁN Bài toán Hãy phát triển “Trang web xem kết quả học tập của sinh viên” Vậy: Trong bao lâu sẽ hoàn thành? Chi phí là bao nhiêu? Dùng bao nhiêu người?

31 ƯỚC LƯỢNG DỰ ÁN (2) Ước lượng phần mềm Các yếu tố cần ước lượngkích cỡ phần mềm chi phí (công sức) phát triển thời gian thực hiện số người tham gia Nguyên tắc ước lượng phân rã chức năng ước lượng từng chức năng dựa trên kinh nghiệm, dữ kiện quá khứ

32 Ước lượng theo ƯỚC LƯỢNG DỰ ÁN (3) Kích cỡ Công sức:LOC: ước lượng trực tiếp với từng mô đun FP: ước lượng gián tiếp thông qua ước lượng input/output, yêu cầu Công sức: dựa trên kích cỡ, độ phức tạp dựa vào dữ liệu quá khứ đơn vị: người-ngày, người-tuần, người-tháng

33 Ví dụ ước lượng ƯỚC LƯỢNG DỰ ÁN (5)Trang web xem kết quả học tập của sinh viên Bao gồm các mô đun/giao diện chính: - nhập thông tin tìm kiếm: 100 LOC - tìm kiếm trên CSDL sinh viên: 300 LOC - sinh kết quả: 100 LOC công sức: 01 person-week

34 Mô hình ước lượng COCOMOƯỚC LƯỢNG DỰ ÁN (6) Mô hình ước lượng COCOMO COCOMO - Constructive Cost Model Ước lượng nỗ lực, thời gian, số người phát triển dựa trên kích cỡ phần mềm. Sử dụng cho các phần mềm lớn Mô hình cơ sở Nỗ lực: E = a * Lb Thời gian: T = c * Ed Số người: N = E/T Trong đó: L: số dòng lệnh (KLOC) a, b, c, d: tham số

35 ƯỚC LƯỢNG DỰ ÁN (7) E = a * Lb T = c * Ed N = E/TCOCOMO: các bước tiến hành Xác định kiểu dự án (cơ sở chọn tham số): organic semi-detached embeded a b c d organic 3.2 1.05 2.5 0.38 semi-detached 3.0 1.12 0.35 embeded 2.8 1.2 0.32 E = a * Lb T = c * Ed N = E/T

36 ƯỚC LƯỢNG DỰ ÁN (8) Phân rã môđun chức năng và ước lượng số dòng lệnh (L) Tính lại số dòng lệnh trên cơ sở tái sử dụng Tính nỗ lực phát triển E cho từng mô đun Tính lại E dựa trên độ phức tạp của dự án độ tin cậy, độ lớn của CSDL yêu cầu về tốc độ, bộ nhớ Tính thời gian và số người tham gia

37 COCOMO: Ví dụ ƯỚC LƯỢNG DỰ ÁN (9) Phần mềm kích cỡ 33.3 KLOC.Chọn: a = b = c = d = 0.35 E = 3.0 * = người-tháng T = 2.5 * E = tháng N = E/D = ~ 11 người

38 LẬP LỊCH DỰ ÁN – PP đường GăngVí dụ: Bảng công việc đã được xác định Công việc Thời gian Đi sau công việc Đi sau công việc a 1 - k 2 g, i b 7 m 3 i c 8 l d 4 n e o l, n f p g, i, h g q h r o, p e, f s r, q

39 PHƯƠNG PHÁP ĐƯỜNG GĂNG (Critical Path Method)Phương pháp lập lịch và kiểm soát dùng cho các dự án phức tạp. Các ký pháp: Công việc (nhiệm vụ) Công việc ảo (ràng buộc) Sự kiện (bắt đầu/kết thúc công việc) Mốc thời gian (milestone)

40 PHƯƠNG PHÁP ĐƯỜNG GĂNG (3)Ví dụ: Mạng công việc tương ứng 1 13 a(1) c(8) g(3) d(4) b(7) k(2) h(4) n(2) 0(1) l(3) m(6) i(2) r(2) q(3) p(2) f(3) e(4) 7 9 11 10 8 5 6 4 3 2 12 s(1)

41 PHƯƠNG PHÁP ĐƯỜNG GĂNG (4)Ví dụ: Thời điểm bắt đầu sớm nhất: ts ts(đỉnh) = Max { ts(đỉnh đầu cv) + tcv } mọi cv đi vào đỉnh được xét 1 13 a(1) c(6) g(3) d(4) b(5) k(2) h(4) n(2) 0(1) l(3) m(6) i(2) r(2) q(3) p(2) f(3) e(4) 7 9 11 10 8 5 6 4 3 2 12 s(1) 14 15 18 17 1 13 a(1) c(8) g(3) d(4) b(7) k(2) h(4) n(2) 0(1) l(3) m(6) i(2) r(2) q(3) p(2) f(3) e(4) 7 9 11 10 8 5 6 4 3 2 12 s(1)

42 PHƯƠNG PHÁP ĐƯỜNG GĂNG (5)Ví dụ: Thời điểm bắt đầu muộn nhất: tm tm(đỉnh) = Min { tm(đỉnh cuối cv) - tcv } mọi cv đi vào đỉnh được xét 17/17 1 13 a(1) c(6) g(3) d(4) b(5) k(2) h(4) n(2) 0(1) l(3) m(6) i(2) r(2) q(3) p(2) f(3) e(4) 7 9 11 10 8 5 6 4 3 2 12 s(1) 8/8 5/5 4/9 6/7 1/4 10/13 14/14 12/12 10/10 15/15 18/18 0/0 1 13 a(1) c(6) g(3) d(4) b(5) k(2) h(4) n(2) 0(1) l(3) m(6) i(2) r(2) q(3) p(2) f(3) e(4) 7 9 11 10 8 5 6 4 3 2 12 s(1) 14 15 18 17

43 PHƯƠNG PHÁP ĐƯỜNG GĂNG (6)Ví dụ: Thời gian dự phòng công việc: tdf tdf (cv) = tm(đỉnh cuối cv) - ts(đỉnh đầu cv) - tcv 17/17 1 13 a(1) c(6) g(3) d(4) b(5) k(2) h(4) n(2) 0(1) l(3) m(6) i(2) r(2) q(3) p(2) f(3) e(4) 7 9 11 10 8 5 6 4 3 2 12 s(1) 8/8 5/5 4/9 6/7 1/4 10/13 14/14 12/12 10/10 15/15 18/18 0/0 1 13 a(1)/3 c(6) g(3) d(4)/5 b(5) k(2) h(4) 5 n(2) 0(1) l(3) m(6)2 i(2) r(2) q(3)/4 p(2) 1 f(3) e(4)/3 7 9 11 10 8 6 4 3 2 12 s(1)/0 8/8 5/5 4/9 6/7 1/4 10/13 14/14 12/12 10/10 15/15 18/18 0/0 17/17

44 PHƯƠNG PHÁP ĐƯỜNG GĂNG (7)Ví dụ: Công việc găng, đường găng Công việc găng: tdf =0, đỉnh găng: ts = tm 1 13 a(1)/3 c(6) g(3) d(4)/5 b(5) k(2) h(4) 5 n(2) 0(1) l(3) 2 m(6)3 i(2) r(2) q(3)/1 p(2) 1 f(3) e(4) 3 7 9 11 10 8 6 4 12 s(1)/0 8/8 5/5 4/9 6/7 1/4 10/13 14/14 12/12 10/10 15/15 18/18 0/0 17/17

45 PHƯƠNG PHÁP ĐƯỜNG GĂNG (8)Ví dụ: Biểu đồ lịch trình dự án (Gantt) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 A B C D E F G H I K l M N O P Q R s

46 PHƯƠNG PHÁP ĐƯỜNG GĂNG (9)Thời gian ước lượng và thực tế Thời gian ước lượng bằng độ dài đường găng Thời gian thực tế thường kéo dài hơn thời gian ước lượng từ 25% đến 40% Lý do: Một số công việc không ước lượng được Một số công việc phải làm lại Người phát triển tham gia đồng thời nhiều công việc

47 MỘT SỐ CÔNG CỤ HỖ TRỢ Microsoft Project 2003 Team Project Visio 2000Agile bench Bitbucket

48 Key points Quản lý dự án tốt là điều thiết yếu cho sự thành công của dự án. Hoạt động chính của quản lý dự án là lên kế hoạch, ước lượng và lập lịch. Lập kế hoạch và ước lượng là các tiến trình lặp trong suốt thời gian thực hiện dự án.

49 Key points Hiểu các thuật ngữ:Milestones Deliverables Releases Artefacts Lịch trình dự án nên mô tả trực quan các hoạt động của dự án, khoảng thời gian thực hiện hoạt động và đội ngũ thực hiện. Số lượng và trình độ/kỹ năng của đội ngũ vs hiệu suất của dự án Vấn đề giao tiếp trong quá trình thực hiện dự án

50 Câu hỏi và bài tập Tại sao cần viết ProposalĐiểm chính nhất cần có trong Proposal là gì? Để có bản kế hoạch tốt cần làm những việc gì? Giải thích các thuật ngữ: milestones, deliverables, releases Người quản lý dự án có cần có kỹ năng phân tích, thiết kế hay lập trình tốt không? (giải thích)

51 Bài tập Vẽ mạng công việc và tìm đường găng Id. Activity NameDuration (weeks) Precedents A Hardware selection 7 B Software design 4 C Hardware Installation 6 D Coding E Data Preparation 5 F User Documentation 9 G User Training E,F H System Installation 3 C,D

Từ khóa » Slide Quản Lý Dự án Phần Mềm