




Preview text:
lOMoAR cPSD| 58797173
COCOMO TRUNG GIAN là mở rộng của Mô hình COCOMO cơ
bản, và được dùng để ước tính thời gian lập trình trong triển khai sản phẩm phần mềm. Sự
mở rộng này, xem xét trên một tập hợp “Chi phí của các đặc trưng các Bộ phận điều khiển
(driver)” được chia thành 4 nhóm (15 tính chất) Các nhóm và tính chất
+ Đắc trưng của sản phẩm:
- Yêu cầu về tính độ tin cậy của phần mềm-
Khối lượng CSDL (database) của ứng dụng
- Tính phức tạp của sản phẩm.
- Đặc trưng của phần cứng
- Ràng buộc về tính năng Run-time
- Ràng buộc về Bộ nhớ
- Tính không ổn định của môi trường máy
ảo.- Yêu cầu về thời gian chuyển hướng (turnabout time)
+ Đặc trưng về Chuyên gia. - Khả năng phân tích
- Khả năng về kỹ sư PM (Software engineer) - Kinh nghiệm ứng dụng
- Kinh nghiệm về máy ảo
- Kinh nghiệm về ngôn ngữ lập trình + Đặc trưng về Dư án
- Sử dụng các công cụ Phần mềm
- Ứng dụng các phương pháp của CNPM (software engineering)
- Yêu cầu về triển khai lịch biểu (developmentschedule)
- Mỗi tính chất được đánh giá (cho điểm)
theo thang điểm có 6 mức từ rất chậm (very
low) đến quá cao (extra high) . Dựa trên
thang điểm, Hệ số cố gắng (effort
multiplier) sẽ được xác định theo bảng sau: lOMoAR cPSD| 58797173
- Tích các Hệ số cố gắng = EAF (Effort
Adjustment Factor, thường có giá trị từ 0.9 -
1.4.) được thể hiện qua bảng sau : Đặc điểm Rất Chậm Không đáng Cao Rất cao Quá cao chậm (Low) kể (High) (Very (Extra (Nominal) High) High) (Very Low) Đặc trưng của sản phẩm Yêu cầu về độ 0.75 0.88 1.00 1.15 1.40 tin cậy của Phần mềm 0.94 1.00 1.08 1.16 Khối lượng CSDL của Ứng dụng Tính phức tạp 0.70 0.85 1.00 1.15 1.30 1.65 của sản phẩm Đặc trưng của Phần cứng Ràng buộc về 1.00 1.11 1.30 1.66 tính năng Runtime Ràng buộc về 1.00 1.06 1.21 1.56 bộ nhớ Tính không ổn 0.87 1.00 1.15 1.30 định của môi trường máy ảo lOMoAR cPSD| 58797173 Yêu cầu về thời 0.87 1.00 1.07 1.15 gian chuẩn bị (turnaround time) Đặc trưng về Chuyên gia Khả năng Phân 1.46 1.19 1.00 0.86 0.71 tích Khả năng về 1.29 1.13 1.00 0.91 0.82 Kỹ sư Phần mềm Kinh nghiệm 1.42 1.17 1.00 0.86 0.70 Ứng dụng Kinh nghiệm 1.21 1.10 1.00 0.90 về Máy ảo 1.14 1.07 1.00 0.95 Kinh nghiệm về Ngôn ngữ lập trình Đặc trưng về Dự án Sử dụng các 1.24 1.10 1.00 0.91 0.82 công cụ Phần mềm Kinh nghiệm 1.24 1.10 1.00 0.91 0.83 độc Phương pháp của CNPM (software engineering methods) lOMoAR cPSD| 58797173 Yêu cầu về 1.23 1.08 1.00 1.04 1.10 triển khai lịch biểu (development schedule)
* Phương trình Cocomo trung gian có dạng: E = ai(KLOC)bi D=ci(E)di *Trong đó:
- E = ước tính của NGƯỜI/THÁNG,
- KLOC = Số dòng lệnh (đơn vị=1000) ước tính
của sản phẩm dự án phầnmềm.
- EAF được cho bởi bảng trên. - E tinh chỉnh = E x EAF
* Số lượng nhân viên và mức độ hiệu quả của dự án được tính như sau:
- Average staff size (SS) = E/D Persons- Productivity (P) = KLOC/E
KLOC/PM - Hệ số a và b; được cho bởi bảng sau đây :
Nửa gắn kết (Semi-detached) 3.0 1.12 Nhúng (Embedded) 2.8 1.20
- Thời gian triển khai D được tính từ E tương tự như COCOMO cơ bản.Ví dụ
- Một dự án mới được ước tính là hệ thống nhúng (embedded system) có
400 KLOC. Ngườiquản lý du an phải chọn lua giữa 2 nhóm làm việc:
một nhóm ra co nang lực nhưng hầu như không có kinh nghiệm gì về
ngôn ngữ lập trình sẽ được dùng trong dự án; nhóm khác thì không giỏi
lắm nhưng có nhiều kinh nghiệm về ngôn ngữ lập trình. Hay xét xem
việc chọn lựa các nhóm sẽ ảnh hưởng như thế nào đến dự án ?? Solution:
Vì là dự án kiểu embedded và mô hình COCOMO mức trung nên:
Dự án PM (Software project) ai bi Tổ chức (Organic) 3.2 1.05 lOMoAR cPSD| 58797173
E = ai(KLOC)bi = 2.8(400)1.20 = 3712 PM
Trường hợp 1: chọn nhóm có năng lực nhưng không co kinh nghiệm EAF = 0.82 x 1.14 = 0.9348
=> EI = EAF x E = 0.9348 x 3712 = 3470 PM
=> DI = ci (E)di = 2.5(3470)0.32 = 33.9 PM ·
Trường hợp 2: nhóm ít có năng lực nhưng nhiều kinh nghiệm . EAF = 1.29 x 0.95 = 1.22
. E2 = EAF x E = 1.22 x 3712 = 4528 PM
. D2 = ci (E)di = 2.5(4528)0.32 = 36.9PM Nhận xét:
Nhóm 2 cần nhiều ngưoi và thoi gian hơn. Vì vậy, nhóm năng lực yếu tuy có nhiều kinh
nghiệm lập trình không thể phù hợp với dự án loai embedded.