mềm bao gồm các hoạt động liên quan đến việc lập kế hoạch, giám sát và điều phối tài nguyên dự án (ví dụ như kinh phí, con người, thời gian thực hiện) hay xử lý các rủi ro, nhằm đảm b[r]
(1)1
CÔNG NGHỆ PHẦN MỀM QUẢN TRỊ DỰ ÁN PHẦN MỀM
Bài 9:
Thời gian: tiết
Giảng viên: ThS Dương Thành Phết Email: phetcm@gmail.com
Website: http://www.thayphet.net Tel: 0918158670
(2)CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
NỘI DUNG
1. Giới thiệu
2. Tóm lược quản trị dự án 3. Hoạt động quản trị dự án 4. Độ đo phần mềm
(3)3
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
9.1.1 Khái niệm dự án
(4)CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
9.1.1 KHÁI NIỆM DỰ ÁN
Là tập hợp công việc thực tập
thể, nhằm đạt kết quả, thời gian, với kinh phí dự kiến
Trong lĩnh vực CNPM, công tác quản trị dự án phần
mềm bao gồm hoạt động liên quan đến việc lập kế hoạch, giám sát điều phối tài nguyên dự án (ví dụ kinh phí, người, thời gian thực hiện) hay xử lý rủi ro, nhằm đảm bảo thành công cho dự án
Quản trị dự án phần mềm cần đảm bảo cân
ba yếu tố: thời gian, tài nguyên chất lượng
(5)5
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
Thời gian thực dự án vượt mức dự kiến
Chi phí thực dự án vượt mức dự kiến
(6)CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
9.2 TÓM LƯỢC VỀ QUẢN TRỊ DỰ ÁN
Quản trị dự án tầng quy trình phát triển PM bước kỹ thuật sở kéo dài suốt chu trình phát triển PM
Trách nhiệm người quản trị dự án bao gồm:
Quản lý thời gian: Lập lịch, kiểm tra đối chiếu trình thực dự án với lịch trình, điều chỉnh lịch trình cần thiết,
Quản lý tài nguyên: Xác định, phân bổ điều phối tài nguyên
Quản lý sản phẩm: Thêm, bớt chức phù hợp với yêu cầu khách hàng
(7)7
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
Mục tiêu việc quản trị dự án đảm bảo cho dự án đáp ứng:
Đúng thời hạn
Khơng vượt dự tốn
Đầy đủ chức định
(8)CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
9.2 TÓM LƯỢC VỀ QUẢN TRỊ DỰ ÁN
Quản lý dự án bao gồm pha công việc sau:
Thiết lập: viết đề án
Ước lượng chi phí
Phân tích rủi ro
Lập kế hoạch
Chọn người
Theo dõi kiểm soát dự án
(9)9
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
Khi tiến hành quản lý dự án, người quản trị dự án có
các nhiệm vụ quyền hạn sau:
Về mặt thời gian:
Tạo lập kế hoạch, điều chỉnh kế hoạch
Kiểm tra/đối chiếu tiến trình với kế hoạch
Giữ mức độ mềm dẻo định kế hoạch
(10)CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
9.2 TÓM LƯỢC VỀ QUẢN TRỊ DỰ ÁN
Về mặt tài nguyên: Thêm kinh phí, thiết bị, nhân lực …
Về mặt sản phẩm: Thêm bớt chức …
Về mặt rủi ro: Phân tích/tìm cách xử lý, chấp nhận
số rủi ro
Ngồi ra, người quản trị dự án cịn cần phải quan tâm
đến phối thuộc với dự án khác thông tin cho người quản lý cấp … Phương pháp tiếp cận người quản trị dự án thường là:
Hiểu rõ mục tiêu (tìm cách định lượng mục tiêu
(11)11
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
Hiểu rõ ràng buộc (chi phí, lịch biểu, tính …),
Lập kế hoạch để đạt dược mục tiêu ràng
buộc,
Giám sát điều chỉnh kế hoạch,
Tạo môi trường làm việc ổn định, động cho
nhóm
Việc quản lý tồi dẫn đến chậm trễ dự án,
tính yếu tăng chi phí phát triển Một ví dụ
kinh điển quản lý tồi dự án hệ điều hành OS360
(12)CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
9.3 HOẠT ĐỘNG CỦA QUẢN TRỊ DỰ ÁN
Các hoạt động quản trị dự án phần mềm gồm: Xác định dự án phần mềm cần thực
Xác định yêu cầu chung:
Trước tiên, ta cần xác định yêu cầu chức (công cần thực hiện) phi chức (công nghệ dùng để phát triển, sử dụng hệ điều hành …) phần mềm
Sau ta xác định rõ tài nguyên cần thiết để xây dựng phần mềm, liên quan đến nhân lực, thành phần, phần mềm sử dụng lại, phần cứng cơng cụ có sẵn cần dùng đến; nhân tố người quan trọng
(13)13
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
Đây trình xây dựng tài liệu mô tả đề án để xác
định phạm vi dự án, trách nhiệm người tham gia dự án; cam kết người quản trị dự án, người tài trợ dự án khách hàng
Nội dung tài liệu mô tả đề án thường có
nội dung sau:
(14)CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
9.3 HOẠT ĐỘNG CỦA QUẢN TRỊ DỰ ÁN
Mục đích mục tiêu dự án: xác định mục đích tổng thể như: Tin học hóa hoạt động quy trình nghiệp vụ khách hàng? Xác định mục tiêu phần mềm: lượng liệu xử lý, lợi ích phần mềm đem lại
Phạm vi dự án: người liên quan tới dự án, hoạt động nghiệp vụ cần tin học hóa
Nguồn nhân lực tham gia dự án: chuyên viên nghiệp vụ, người phân tích, người thiết kế, người lập trình, người kiểm thử, người cài đặt triển khai dự án cho khách hàng, người hướng dẫn khách hàng sử dụng phần mềm, người bảo trì dự án phần mềm
Ràng buộc thời gian thực dự án: Ngày nghiệm thu dự án, ngày bàn giao dự án
Ràng buộc kinh phí: kinh phí giai đoạn thực dự án
Ràng buộc công nghệ phát triển: công nghệ phép sử dụng để thực dự án
(15)15 CÔNG NGHỆ P HẦ N M Ề M
Lập kế hoạch thực dự án hoạt động diễn suốt trình từ bắt đầu thực dự án đến bàn giao sản phẩm với nhiều loại kế hoạch khác nhằm hỗ trợ kế hoạch dự án phần mềm lịch trình ngân sách
Các loại kế hoạch thực dự án gồm có:
Kế hoạch đảm bảo chất lượng: mô tả chuẩn, quy trình sử dụng
Kế hoạch thẩm định: mơ tả phương pháp, nguồn lực, lịch trình thẩm định hệ thống
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 sử dụng
Kế hoạch bảo trì: dự tính u cầu hệ thống, chi phí, nỗ lực cần thiết cho bảo trì
Kế hoạch phát triển đội ngũ: mô tả kĩ kinh nghiệm thành viên nhóm dự án phát triển
Quy trình lập kế hoạch thực dự án bao gồm:
Thiết lập ràng buộc dự án: thời gian, nhân lực, ngân sách,
Đánh giá bước đầu tham số dự án: quy mô, độ phức tạp, nguồn lực,
Xác định mốc thời gian thực dự án sản phẩm thu ứng với mốc thời gian,
Trong dự án chưa hoàn thành chưa bị hủy bỏ thì thực lặp lặp lại công việc sau:
Lập lịch thực dự án
Thực hoạt động theo lịch trình
Theo dõi tiến triển dự án, so sánh với lịch trình
Đánh giá lại tham số dự án
Lập lại lịch thực dự án cho tham số
Thỏa thuận ràng buộc sản phẩm bàn giao mốc thời gian
Nếu có vấn đề nảy sinh xem xét lại kĩ thuật khởi đầu đưa biện pháp cần thiết
Cấu trúc kế hoạch thực dự án bao gồm:
Tổ chức dự án
Phân tích rủi ro
Yêu cầu tài nguyên phần cứng, phần mềm
Phân công công việc
Lập lịch dự án
Cơ chế kiểm soát báo cáo
Tổ chức thực dự án
Quản lý trình thực dự án
(16)CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
9.4 ĐỘ ĐO PHẦN MỀM
Để quản lý dự án, ta cần định lượng đối tượng
cần quản lý phần mềm quy trình phát triển Ta cần đo kích cỡ phần mềm, chất lượng phần mềm, suất phần mềm …
Đo lường kích cỡ phần mềm
Có hai phương pháp phổ biến để đo kích cỡ phần
mềm đo số dịng lệnh (LOC – Lines Of Code) đo điểm chức (FP – Function Points)
Phương pháp Độ đo LOC tương đối trực quan,
(17)17
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
Hiệu = KLOC/người/tháng
Chất lượng = số lỗi/KLOC
Chi phí = giá thành/KLOC
Các thông số dự án phát triển
khứ dùng dể phục vụ cho ước lượng cho phần mềm phát triển
Phương pháp Điểm chức (FP) tính dựa
trên đặc tả yêu cầu độc lập với ngôn ngữ phát triển Tuy nhiên lại có phụ thuộc vào tham số thiết lập dựa kinh nghiệm Mơ hình
sở tính điểm chức là: FP = a1I+ a2O + a3E
+ a4L + a5F
Trong đó: I: số Input, O: số Output, E: số yêu cầu, L:
(18)CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
9.4.2 ĐỘ ĐO DỰA TRÊN THỐNG KÊ
Một số độ đo phần mềm khác dựa thống kê
sau:
Độ tin cậy MTBF (Mean Time Between Failure): thời gian chạy liên tục hệ thống
Thời gian khôi phục hệ thống MTTR (Mean Time To Repair)
(19)19
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
Việc người quản trị dự án ước lượng
về kích cỡ, chi phí, thời gian tiến hành dự án
Thông thường tiến hành cách phân rã
phần mềm thành khối nhỏ áp dụng kinh nghiệm (kích cỡ, chi phí, lực nhân viên …) để ước lượng, đánh giá cơng việc
Một mơ hình ước lượng hay dùng COCOMO
(Constructive Cost Model) ước lượng chi phí từ số
dịng lệnh Có thể ước lượng thông số sau:
Nỗ lực phát triển E = a * Lb
Thời gian phát triển T = c * Ed
(20)20
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
9.5 CÁC TÁC VỤ CẦN THIẾT
Trong a, b, c, d tham số tùy thuộc vào loại dự án (xem bảng sau) Điểm đáng ý từ nỗ lực phát triển ta suy thời gian số người tham gia vào dự án
Các bước tiến hành COCOMO sau:
Thiết lập kiểu dự án (organic, semi-detached, embeded)
Xác lập mô-đun ước lượng dịng lệnh Tính lại số dịng lệnh sở tái sử dụng Tính nỗ lực phát triển E cho mơ-đun
(21)21
CƠNG
NGHỆ
P
HẦ
N
M
Ề
M
a, b, c, d 3.0, 1.12, 2.5, 0.35, ta tính được:
E = 3.0 * 33.31.12 = 152 người/tháng
T = 2.5*E0.35 = 14.5 tháng
N = E / D ˜ 11 người
Ta cần nhớ đo phần mềm cơng việc khó
khăn
Hầu hết thông số không đo cách trực quan
Rất khó thẩm định thơng số Khơng có mơ hình tổng quát
Các kỹ thuật đo thay đổi
Ta khơng thể kiểm sốt q trình sản xuất phần
(22)CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
9.5 QUẢN LÝ NHÂN SỰ
Chi phí (trả cơng) người phần chi phí xây dựng phần mềm Ngồi ra, lực người phát triển phần mềm lại biến thiên, kéo theo phức tạp tính tốn chi phí Phát triển phần mềm tiến hành theo nhóm Kích thước tốt nhóm từ đến ngưòi Phần mềm lớn thường xây dựng nhiều nhóm nhỏ Một nhóm phát triển gồm loại thành viên sau: (i) người phát triển, (ii) chuyên gia miền ứng dụng, (iii) người thiết kế giao diện, (iv) Thủ thư phần mềm (quản lý cấu hình phần mềm), (v) Người kiểm thử
(23)23
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
chiếm phần lớn thời gian lại người lập trình Một người đồng thời làm việc cho nhiều nhóm (dự án) phần mềm khác Điều làm cho việc tính tốn giá thành phần mềm phức tạp Ta cần ghi nhớ, sản xuất phần mềm thì:
Năng lực thành viên không đồng
Người tốt (nhất) sản xuất lần trung bình, người khơng cho kết
Một số cơng việc q khó người
(24)CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
9.5 QUẢN LÝ CẤU HÌNH
Quản lý cấu hình phần mềm công việc quan trọng sản xuất phần mềm Mã nguồn (và liệu) sản phẩm dự án phần mềm Quản lý cấu hình tự động hóa thơng qua cơng cụ Nhiệm vụ công cụ quản lý là:
Lưu trữ mã nguồn
Tạo điểm truy cập (phiên thống nhất) cho người lập trình sửa đổi, thêm bớt mã nguồn
Do ta dễ dàng:
Kiểm sốt tính thống mã nguồn,
Kiểm sốt sửa đổi, lý sửa đổi, lý lịch lần sửa đổi,
Dễ dàng lưu trữ, truy cập tới khác phần mềm,
Tối ưu hóa vùng đĩa cần thiết cho lưu trữ,
Phương thức hoạt động cơng cụ quản lý cấu hình là:
Quản lý tập chung (mã nguồn, tư liệu, công cụ phát triển …)
(25)25
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
tin
Thông thường, người phát triển muốn sửa đổi mã nguồn thực thao tác check out tập tin Khi tập tin bị check out người phát triển khác mở tập tin dạng đọc Khi kết thúc sửa đổi ghi tập tin vào sở liệu, người sửa đổi tiến hành check in để thông báo kết thúc công việc sửa đổi, đồng thời ghi lại thông tin liên quan (lý sửa đổi …) đến sửa đổi
Dữ liệu lưu trữ dự án thông thường bao gồm: Mã nguồn, Dữ liệu, Tư liệu
Cơng cụ phát triển (chương trình dịch …), thường cần để đảm bảo tương thích với phiên cũ, để đảm bảo chương trình tạo lại (khi sửa lỗi …) phân phát cho khách hàng
Các ca kiểm thử
(26)CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
9.5 QUẢN LÝ RỦI RO
Quản lý rủi ro công việc đặc biệt quan trọng khó khăn phát triển phần mềm Có nguyên nhân (rủi ro) sau dẫn đến chấm dứt dự án:
Chi phí phát triển cao,
Quá chậm so với lịch biểu,
Tính so với yêu cầu
Quản lý rủi ro bao gồm cơng việc sau:
Dự dốn rủi ro,
Đánh giá khả xảy thiệt hại,
(27)27
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
mềm phương pháp khắc phục chúng:
Thiếu người phát triển: sử dụng người tốt nhất; xây dựng nhóm làm việc; đào tạo người mới,
Kế hoạch, dự toán không sát thực tế: ước lượng phương pháp khác nhau; lọc, loại bỏ yêu cầu không quan trọng,
Phát triển sai chức năng: chọn phương pháp phân tích tốt hơn; phân tích tính tổ chức/mơ hình nghiệp vụ khách hàng,
Phát triển sai giao diện: phân tích thao tác người dùng; tạo kịch cách dùng; tạo mẫu,
Yêu cầu cao: lọc bớt yêu cầu; phân tích chi phí/lợi ích,
(28)CƠNG
NGHỆ
P
HẦ
N
M
Ề
M
TĨM TẮT
Tóm lược công tác quản trị dự án phần mềm thông qua vấn đề sau đây:
Khái niệm dự án
Các vấn đề thường xảy dự án phần mềm
Hoạt động quản trị dự án
Độ đo phần mềm (đo lường kích cỡ phần mềm, độ đo dựa thống kê)
Các tác vụ cần thiết
Ước lượng
Quản lý nhân
Quản lý cấu hình
(29)29
CÔNG
NGHỆ
P
HẦ
N
M
Ề
M
29
1 Phụ lục A trang 170