ݺߣ

ݺߣShare a Scribd company logo
COCOMO – Constructive CostCOCOMO – Constructive Cost
MOdelMOdel
• 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
COCOMO – Constructive CostCOCOMO – Constructive Cost
MOdelMOdel
 Cocomo gồm 3 dạng:
-COCMO cơ bản:Mô hình cho giá trị đơn, tỉnh, chi phí được
tính như độ lớn của phần mềm theo dòng lệnh.
-COCOMO trung gian: chi phí được tính như độ lớn của phần
mềm theo dòng lệnh cộng thêm đánh giá sản phẩm, phần
cứng, nhân lực và các thuộc tính của dự án.
-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)
COCOMO c b nơ ảCOCOMO c b nơ ả
Dùng ước tính nhanh và sơ bộ chi phí dự án cho
hầu hết các dự án nhỏ và vừa
COCOMO có thể áp dụng cho ba lớp dự án phần
mềm:
◦ 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
B ng so sánh ba d ng COCOMOả ạB ng so sánh ba d ng COCOMOả ạ
Mode Quy
mô dự
án
Bản chất dự án Sự sáng
tạo
Thời
hạn
Môi trường
phát triển
Organic 2-50
KLOC
Dự án nhỏ, developer kinh
nghiệm trong môi trường
thân thiện
Ít Không
chặt
Quen
thuộc, nội
bộ
Semi
-detached
50 –
300
KLOC
Dự án TB, đội TB, kinh
nghiệm đã làm cho dự án
tương tự TB
TB TB TB
Embbeded >300
KLOC
Dự án lớn, HT real time.
Giao diện phức tạp, đội có
kinh nghiệm trước đó rất ít
Đáng
kể
Chặt Yêu cầu
HW và
giao diện
phức
4
COCOMO c b nơ ảCOCOMO 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
B ng 3: Các h s COCOMO c b nả ệ ố ơ ảB ng 3: Các h s COCOMO c b nả ệ ố ơ ả
Project ab bb cb db
Organic 2.4 1.05 2.5 0.38
Semi
-detached
3.0 1.12 2.5 0.35
Embbeded 3.6 1.20 2.5 0.32
6
B ng 3ả
COCOMO c b nơ ảCOCOMO c b nơ ả
•COCOMO cơ bản rất tốt cho ước tính chi phí thô,
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.
Ví 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:
E = 2.4(400)1.05
= 1295.31 PM
D = 2.5(1295.31)0.38
= 38.07 M
2. Đối với loại Semidetached:
E = 3.0(400)1.12
= 2462.79 PM
D = 2.5(2462.79)0.35
= 38.45 M
3. Đối với loại Embbeded:
E = 3.6(400)1.20
= 4772.81 PM
D = 2.5(1295)0.32
= 38 M
8
Nh n xétậNh n xétậ
Chọn loại dự án rất quan trọng, tùy thuộc
vào 2 yếu tố:
◦ Quy mô dự án
◦ Các hệ số trong bảng 3
9
Ví d 2ụVí d 2ụ
Quy mô dự án được ước tính khoảng 200 KLOC.
Độ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
COCOMO trung gianCOCOMO trung gian
 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á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ác nhóm và tính ch tấCác nhóm và tính ch tấ
+ Đặ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 (development
schedule)
COCOMO trung gianCOCOMO trung gian
• 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: 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 :
Cocomo – constructive cost model
COCOMO trung gianCOCOMO 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
EcD
KLOCaE
)(
)(
=
=
COCOMO trung gianCOCOMO 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
Ví dụVí dụ
M t d án m i đ c c tính là h th ngộ ự ớ ượ ướ ệ ố
nhúng (embedded system) có 400 KLOC.
Ng i qu n lý d án ph i ch n l a gi a 2ườ ả ự ả ọ ự ữ
nhóm làm vi c: m t nhóm r t có năng 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. 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
Ví dụVí dụ
Solution:
Vì là d án ki u embedded và mô hìnhự ể
COCOMO m c trung nên:ứ
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 có kinh nghi mệ
EAF = 0.82 x 1.14 = 0.9348
 E1 = EAF x E = 0.9348 x 3712 = 3470 PM
 D1 = ci (E)di
= 2.5(3470)0.32
= 33.9 PM
19
Ví dụVí dụ
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 i và th i 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 lo i embedded.ạ
20
M i quan h gi a LOC và FPố ệ ữM 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
Các ví dụCác ví dụ
 c tính theo LOC (page 128 Roger 5e)Ướ
 c tính theo FP (page 129 Roger 5e)Ướ
22
Ví d c tính theo LOCụ ướVí d c tính theo LOCụ ướ
A software package to be developed for a
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.
Using the System Specification as a guide, a
preliminary statement of software scope can be
developed:
23
Ví d c tính theo LOCụ ướVí 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
Ví d c tính theo LOCụ ướVí 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
Ví d c tính theo LOCụ ướVí d c tính theo LOCụ ướ
26
Ví d c tính theo LOCụ ướVí 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
month, the cost per line of code is
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 person-
months.
27
Ví d c tính theo FPụ ƯớVí d c tính theo FPụ Ướ
The project planner estimates inputs, outputs,
inquiries, files, and external interfaces for the
CAD software. For the purposes of this estimate,
the complexity weighting factor is assumed to be
average.
The expected value for the estimation variable
(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
Ví d c tính theo FPụ ƯớVí d c tính theo FPụ Ướ
29
Tính CAF=0.65+0.01x FiΣTính CAF=0.65+0.01x FiΣ
30
Ví d c tính theo FPụ ướVí d c tính theo FPụ ướ
The estimated number of FP is derived:
FPestimated = count-total x [0.65 + 0.01 x (Fi)] =375Σ
The organizational average productivity for systems of
this type is 6.5 FP/pm. Based on a burdened labor rate
of $8000 per month, the cost per FP is approximately
$1230.
Based on the LOC estimate and the historical
productivity data, the total estimated project cost is
$461,000 and the estimated effort is 58 person-
months.
31
COCOMO IICOCOMO 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
COCOMO IICOCOMO 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
COCOMO IICOCOMO 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
COCOMO IICOCOMO II
Out put của COCOMO bậc trung là ước lượng
chi phí và kích thước
Output của COCOMO II là khoảng ước lượng
chi phí và kích thước.
Ví dụ, nếu ước lượng công sức là E thì ACM có
giá trị trong khoảng ( 0.50E,2.0E) và PAM
thuộc miền (0.80E,1.25E)
COCOMO IICOCOMO II
Cocomo – constructive cost model

More Related Content

Cocomo – constructive cost model

  • 1. COCOMO – Constructive CostCOCOMO – Constructive Cost MOdelMOdel • 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
  • 2. COCOMO – Constructive CostCOCOMO – Constructive Cost MOdelMOdel  Cocomo gồm 3 dạng: -COCMO cơ bản:Mô hình cho giá trị đơn, tỉnh, chi phí được tính như độ lớn của phần mềm theo dòng lệnh. -COCOMO trung gian: chi phí được tính như độ lớn của phần mềm theo dòng lệnh cộng thêm đánh giá sản phẩm, phần cứng, nhân lực và các thuộc tính của dự án. -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)
  • 3. COCOMO c b nơ ảCOCOMO c b nơ ả Dùng ước tính nhanh và sơ bộ chi phí dự án cho hầu hết các dự án nhỏ và vừa COCOMO có thể áp dụng cho ba lớp dự án phần mềm: ◦ 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
  • 4. B ng so sánh ba d ng COCOMOả ạB ng so sánh ba d ng COCOMOả ạ Mode Quy mô dự án Bản chất dự án Sự sáng tạo Thời hạn Môi trường phát triển Organic 2-50 KLOC Dự án nhỏ, developer kinh nghiệm trong môi trường thân thiện Ít Không chặt Quen thuộc, nội bộ Semi -detached 50 – 300 KLOC Dự án TB, đội TB, kinh nghiệm đã làm cho dự án tương tự TB TB TB TB Embbeded >300 KLOC Dự án lớn, HT real time. Giao diện phức tạp, đội có kinh nghiệm trước đó rất ít Đáng kể Chặt Yêu cầu HW và giao diện phức 4
  • 5. COCOMO c b nơ ảCOCOMO 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
  • 6. B ng 3: Các h s COCOMO c b nả ệ ố ơ ảB ng 3: Các h s COCOMO c b nả ệ ố ơ ả Project ab bb cb db Organic 2.4 1.05 2.5 0.38 Semi -detached 3.0 1.12 2.5 0.35 Embbeded 3.6 1.20 2.5 0.32 6 B ng 3ả
  • 7. COCOMO c b nơ ảCOCOMO c b nơ ả •COCOMO cơ bản rất tốt cho ước tính chi phí thô, 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.
  • 8. Ví 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: E = 2.4(400)1.05 = 1295.31 PM D = 2.5(1295.31)0.38 = 38.07 M 2. Đối với loại Semidetached: E = 3.0(400)1.12 = 2462.79 PM D = 2.5(2462.79)0.35 = 38.45 M 3. Đối với loại Embbeded: E = 3.6(400)1.20 = 4772.81 PM D = 2.5(1295)0.32 = 38 M 8
  • 9. Nh n xétậNh n xétậ Chọn loại dự án rất quan trọng, tùy thuộc vào 2 yếu tố: ◦ Quy mô dự án ◦ Các hệ số trong bảng 3 9
  • 10. Ví d 2ụVí d 2ụ Quy mô dự án được ước tính khoảng 200 KLOC. Độ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
  • 11. COCOMO trung gianCOCOMO trung gian  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)
  • 12. Các nhóm và 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)
  • 13. Các nhóm và tính ch tấCác nhóm và tính ch tấ + Đặ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 (development schedule)
  • 14. COCOMO trung gianCOCOMO trung gian • 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: 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 :
  • 16. COCOMO trung gianCOCOMO 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 EcD KLOCaE )( )( = =
  • 17. COCOMO trung gianCOCOMO 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
  • 18. Ví dụVí dụ M t d án m i đ c c tính là h th ngộ ự ớ ượ ướ ệ ố nhúng (embedded system) có 400 KLOC. Ng i qu n lý d án ph i ch n l a gi a 2ườ ả ự ả ọ ự ữ nhóm làm vi c: m t nhóm r t có năng 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. 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
  • 19. Ví dụVí dụ Solution: Vì là d án ki u embedded và mô hìnhự ể COCOMO m c trung nên:ứ 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 có kinh nghi mệ EAF = 0.82 x 1.14 = 0.9348  E1 = EAF x E = 0.9348 x 3712 = 3470 PM  D1 = ci (E)di = 2.5(3470)0.32 = 33.9 PM 19
  • 20. Ví dụVí dụ 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 i và th i 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 lo i embedded.ạ 20
  • 21. M i quan h gi a LOC và FPố ệ ữM 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
  • 22. Các ví dụCác ví dụ  c tính theo LOC (page 128 Roger 5e)Ướ  c tính theo FP (page 129 Roger 5e)Ướ 22
  • 23. Ví d c tính theo LOCụ ướVí d c tính theo LOCụ ướ A software package to be developed for a 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. Using the System Specification as a guide, a preliminary statement of software scope can be developed: 23
  • 24. Ví d c tính theo LOCụ ướVí 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
  • 25. Ví d c tính theo LOCụ ướVí 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
  • 26. Ví d c tính theo LOCụ ướVí d c tính theo LOCụ ướ 26
  • 27. Ví d c tính theo LOCụ ướVí 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 month, the cost per line of code is 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 person- months. 27
  • 28. Ví d c tính theo FPụ ƯớVí d c tính theo FPụ Ướ The project planner estimates inputs, outputs, inquiries, files, and external interfaces for the CAD software. For the purposes of this estimate, the complexity weighting factor is assumed to be average. The expected value for the estimation variable (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
  • 29. Ví d c tính theo FPụ ƯớVí d c tính theo FPụ Ướ 29
  • 30. Tính CAF=0.65+0.01x FiΣTính CAF=0.65+0.01x FiΣ 30
  • 31. Ví d c tính theo FPụ ướVí d c tính theo FPụ ướ The estimated number of FP is derived: FPestimated = count-total x [0.65 + 0.01 x (Fi)] =375Σ The organizational average productivity for systems of this type is 6.5 FP/pm. Based on a burdened labor rate of $8000 per month, the cost per FP is approximately $1230. Based on the LOC estimate and the historical productivity data, the total estimated project cost is $461,000 and the estimated effort is 58 person- months. 31
  • 32. COCOMO IICOCOMO 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
  • 33. COCOMO IICOCOMO 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
  • 34. COCOMO IICOCOMO 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
  • 35. COCOMO IICOCOMO II Out put của COCOMO bậc trung là ước lượng chi phí và kích thước Output của COCOMO II là khoảng ước lượng chi phí và kích thước. Ví dụ, nếu ước lượng công sức là E thì ACM có giá trị trong khoảng ( 0.50E,2.0E) và PAM thuộc miền (0.80E,1.25E)