Cocomo - constructive cost Mode Cocomo là mô hình do Barry Boehm thiết kế nhằm dự báo số người - tháng trong triển khai sản phẩm phần mềm
Trang 1COCOMO – Constructive Cost
MOdel
• COCOMO là mô hình do Barry Boehm thiết kế
nhằm dự báo ( ước tính) số NGƯỜI-THÁNG
(man-months) trong triển khai sản phẩm phần
mềm.Mô hình này dựa trên khảo sát ( nghiên
cứu) 60 dự án tại công ty TRW, Northrop
Grumman cuối năm 2002.Chương trình được
viết bằng ngôn ngữ PL/I từ 2000 đến 100,000
dòng lệnh
Trang 2COCOMO – Constructive Cost
-COCOMO chi tiết: tích hợp mọi đặc trưng của COCOMO
trung gian cộng thêm đánh giá của chi phí ảnh hưởng ( phân tích, thiết kế…) trong mỗi giai đoạn của qui trình công nghệ phần mềm ( the software engineering process)
Trang 3◦ Organic: dành cho 1 đội nhỏ các nhà phát triển có kinh nghiệm và mội trường quen thuộc
◦ Semi-detached: trung gian giữa organic và
embedded
◦ Embedded: dành cho dự án có nhiều ràng buộc chặt chẽ, thường là dự án mới và duy nhất, khó tìm người thực hiện
Trang 4B ng so sánh ba d ng COCOMO ả ạ
Mode Quy
mô dự án
-detached 50 – 300
KLOC
Dự án TB, đội TB, kinh nghiệm đã làm cho dự án tương tự TB
Chặt Yêu cầu
HW và giao diện phức
4
Trang 5COCOMO c b n ơ ả
• Phương trình của COCOMO cơ bản có dạng:
• Trong đó:
E = ước tính của NGƯỜI/THÁNG,
D = Thời gian triển khai tính theo tháng
KLOC = Số dòng lệnh (đơn vị=1000) ước tính của sản
phẩm dự án phần mềm
◦ ab, bb, db là các hệ số được tra theo bảng 3
• 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
Trang 7COCOMO c b n ơ ả
dễ dàng và nhanh Tuy nhiên, sử chính xác sẻ bị
giới hạn vì thiếu một số nhân tố chưa kể đến là sự khác nhau trong ràng buộc về phần cứng, kinh
nghiệm và khả năng chuyên nghiệp của con người, việc sử dụng các công cụ hiện đại và các đặc trưng khác có ảnh hưởng đến chi phí phần mềm
Trang 8Ví d 1 ụ
Ví d 1 ụ
Giả sử dự án được ước tính khoảng 400
KLOC Hãy tính nhân lực và thời gian cho mỗi loại dự án khác nhau
1. Đối với loại Organic:
Trang 10Ví d 2 ụ
Ví d 2 ụ
Đội phát triển phần mềm có kinh nghiệm ở mức trung bình cho các loại dự án tương tự Lịch biều của dự án không đòi hỏi chặt chẽ lắm Hãy tính
thời gian phát triển, số người bình quân của đội,
và tính hiệu suất của dự án
Solution: Dự án thuộc loại semi-detached
◦ Tính các hệ số: E = 3.0(200) 1.12 = 1133.12 PM
D = 2.5(1133.12) 0.35 = 38.67 M
◦ Số nhân viên (staff size) = E/D = 38.67 người
◦ Hiệu suất dự án (productivity) = KLOC/E = 176
LOC/PM
10
Trang 11COCOMO trung gian
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)
Trang 12Các nhóm và tính ch t ấ
+ Đặc trưng của sản phẩm:
time)
Trang 14COCOMO trung gian
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: 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 :
Trang 16COCOMO trung gian
• Phương trình Cocomo trung gian có dạng:
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ần mề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
i
i
d i
b i
E c
D
KLOC a
E
) (
)
(
=
=
Trang 17COCOMO trung gian
Hệ số ai và bi được cho bởi bảng sau đây :
Thời gian triển khai D được tính từ E tương tự như COCOMO cơ bản
Trang 18nh 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 Hãy xét ệ ề ữ ậ
xem vi c ch n l a các nhóm s nh hệ ọ ự ẽ ả ưởng
nh th nào đ n d án??ư ế ế ự
18
Trang 20Ví dụ
Tr ườ ng h p 2: nhóm ít có năng l c nh ng ợ ự ư nhi u kinh nghi m ề ệ
◦ D2 = ci (E) di = 2.5(4528) 0.32 = 36.9PM
20
Trang 21M i quan h gi a LOC và FP ố ệ ữ
Ph thu c vào ngôn ng l p trình đ ụ ộ ữ ậ ượ c dùng đ th c thi và ch t l ể ự ấ ượ ng thi t k ế ế
LOC và FP đ ượ c dùng đ ể ướ c tính khá
chính xác chi phí (cost) và nhân l c ự
(effect)
B ng LOC/FP ả
21
Trang 22Các ví dụ
Ướ c tính theo LOC (page 128 Roger 5e)
Ướ c tính theo FP (page 129 Roger 5e)
22
Trang 23Ví d ụ ướ c tính theo LOC
computer-aided design application for mechanical components A review of the System Specification indicates that the software is to execute on an
engineering workstation and must interface with various computer graphics peripherals including a mouse, digitizer, high resolution color display and laser printer.
preliminary statement of software scope can be
developed:
23
Trang 24Ví d ụ ướ c tính theo LOC
The CAD software will accept two- and
three-dimensional geometric data from an engineer The
engineer will interact and control the CAD system
through a user interface that will exhibit
characteristics of good human/ machine interface
design All geometric data and other supporting
information will be maintained in a CAD database
Design analysis modules will be developed to produce the required output, which will be displayed on a
variety of graphics devices The software will be
designed to control and interact with peripheral
devices that include a mouse, digitizer, laser printer, and plotter.
24
Trang 25Ví d ụ ướ c tính theo LOC
D a vào phát bi u s b v ph m vi ph n ự ể ơ ộ ề ạ ầ
m m (preliminary statement of software ề
scope), xác đ nh đ ị ượ c các ch c năng chính ứ
c a ph n m m: ủ ầ ề
• User interface and control facilities (UICF)
• Two-dimensional geometric analysis (2DGA)
• Three-dimensional geometric analysis (3DGA)
• Database management (DBM)
• Computer graphics display facilities (CGDF)
• Peripheral control function (PCF)
• Design analysis modules (DAM)
25
Trang 26Ví d ụ ướ c tính theo LOC
26
Trang 27Ví d ụ ướ c tính theo LOC
A review of historical data indicates that the organizational average productivity for
systems of this type is 620 LOC/pm Based
on a burdened labor rate of $8000 per
approximately $13 Based on the LOC
estimate and the historical productivity data, the total estimated project cost is $431,000
and the estimated effort is 54
27
Trang 28Ví d ụ Ướ c tính theo FP
inquiries, files, and external interfaces for the
CAD software For the purposes of this estimate, the complexity weighting factor is assumed to be average.
(size), S, can be computed as a weighted average
of the optimistic (sopt), most likely (sm), and
pessimistic (spess) estimates.
S = (sopt + 4sm + spess)/6
28
Trang 29Ví d ụ Ướ c tính theo FP
29
Trang 30Tính CAF=0.65+0.01x Fi Σ
30
Trang 31Ví d ụ ướ c tính theo FP
FPestimated = count-total x [0.65 + 0.01 x (Fi)] =375 Σ
productivity data, the total estimated project cost is
31
Trang 32COCOMO II
• COCOMO II là mô hình cho phép ước tính chi phí, sự cố gắng và lích biểu khi lập kế họach cho một dự án phần mềm mới Gồm có 3 module: Applications Composition, Early
Design, and Mô hình Post-architecture
• Mô hình COCOMO gốc do Dr Barry Boehm khởi xướng năm 1981, và COCOMO II được hình thành sau nhiều
năm cố gắng của nhóm nghiên cứu (1990) USC CSE, IRUS
at UC Irvine, and the COCOMO II Project Affiliate
Organizations, lần đầu tiên cài đặt giữa năm 1997 USC
COCOMO II.1998.0 beta ra đời 10/1998
• Phiên bản 98 sữ dụng 161 điểm DL (data) và sử dụng cách tiếp cận Công thức Bayes (Bayesian statistical approach
(119kb)) có thêm ý kiến chuyên gia trong mô hình
Trang 33COCOMO II
Là mở rộng của COCOMO COCOMO II có thể xử lý nhiều kỹ thuật của kỹ nghệ phần mềm hiện đại như:
Hướng đối tượng.
Các mô hình vòng đời khác nhau.
Làm bản mẫu nhanh.
Các ngôn ngữ thế hệ thứ t.
Phần mềm đóng gói ( COTS software).
COCOMO II hơi phức tạp hơn phiên bản
COCOMO
Trang 34COCOMO II
COCOMO bậc trung gồm một mô hình chung dựa trên dòng mã (KDSI)
COCOMO II gồm 3 mô hình khác nhau:
Mô hình phức hợp áp dụng (ACM: Application
composition model) cho các pha đầu tiên: dựa trên
object points (tương tự như function points)
Mô hình thiết kế ban đầu (EDM: early design model): dựa trên function points
Mô hình hậu kiến trúc (PAM: post-architecture model): dựa trên function points hay KDSI
Trang 36
COCOMO II