BÀI GI NGẢ QU N TR D ÁN PH N M M
Ị Ự
Ả
Ầ
Ề
BÀI 10. C L ƯỚ ƯỢ NG D ÁN Ự
N I DUNG
Ộ
Đ đo ph n m m: LOC, FP và các đ đo d n
ề
ầ
ẫ
ộ
ộ xu tấ c l Ướ ượ
ng, khâu y u nh t c a qu n tr d án ấ ủ
ị ự
ế
ả
T M QUAN TR NG Ầ
Ọ
ệ
ế
ng đ
ấ c thì d án r t d v k ho ch
ệ ượ
ấ ễ ỡ ế
ự c l ướ ượ
ng d án hi n là khâu y u nh t hi n nay. ạ ự
ng chính
ự ế
ự ng c n đ ầ
ự
ệ
không d án nào có th c l ướ ượ ng trong giai đo n xác đ nh có th sai t ả ạ
ớ ể t k ph i gi m t ả
ư
c l ể ướ ượ c th c hi n nhi u vòng. M c ứ ề ượ i 50- ạ i ớ t k ế ế
ạ
ỉ
c
ượ
ể
ạ t ch còn 10-25% ỉ ỏ ơ
ế ậ
ỹ
c l Ướ ượ Không v th i gian và tài chính. ề ờ Th c t xác, c l ị ướ ượ 100%, nh ng trong giai đo n thi ế ế 25-50%, trong giai đo n, còn trong giai đo n thi chi ti ế c l ng ch có th chính xác n u phân rã đ Ướ ượ các v n đ nh h n, đó là k thu t chia đ tr ể ị ề ấ (divide and conquer)
CÁC PH
NG PHÁP
NG
ƯƠ
C L ƯỚ ƯỢ
ầ
ề ng tuy r ng không
ự c l ướ ượ
ằ
ng chuyên gia: các chuyên gia đã có c l Ướ ượ kinh nghi m tri n khai d án ph n m m, có ể ệ i ngay các th tr l ể ả ờ ph i lúc nào đ chính xác cũng đáng tin c y ậ ộ ả Đánh giá b ng kinh nghi m quá kh . Ph i có
ằ
ả ứ c tình hình
ệ ể
ả
ượ
i
s li u quá kh , ph i hi u đ ố ệ ứ hi n t ệ ạ
ự
Đánh giá b ng các mô hình ằ ả
c l ướ ượ ố ề ự
ng th c nghi m. Ph i có các tham s v d án (các ệ đ đo)
ộ
Đ ĐOỘ
ộ ạ ệ ư
Khái ni m đ đo: là các ch s đ c tr ng cho m t khía c nh ề ầ
ộ ệ ầ
ộ ủ ự ủ
ủ
ộ ề ộ ầ ế ộ ự ế
ự ế
ộ ế
ộ ể ụ ộ
i / s dòng i = s l ộ l ụ ỉ ệ ỗ ố ỗ ố
ỉ ố ặ nào đó. Trong công ngh ph n m m có đ đo c a ph n m m ề (software metric/software measure), đ đo c a d án (project metric) và đ đo c a quy trình ph n m m (process metric). Có đ đo tr c ti p và đ đo gián ti p. Đ đo tr c ti p là đ đo ế ự ộ ộ đ đo kh ác có th tình đ m tr c ti p không thông qua các ế (ví d đ đo LOC – lines of code), có đ đo gián ti p là các đ ộ đo tính qua các đ đo khác (ví d t l ộ mã ngu nồ
D án cũng có đ đo, chi phí cho d án, nang su t c a d án, Quy trình ph n m m cũng có đ đo, ch ng h n t l
ự ấ ủ ự ự
ầ ẳ
chi phí ố ớ ạ ỉ ệ ề ộ ề ỗ ể ạ ầ
ộ trung bình cho m i giai đo n phát tri n ph n m m đ i v i quy trình thác n c ướ
NG
Ộ
ƯỚ
Đ ĐO LOC – METRIC H QUY MÔ PH N M M
Ầ Ề
ệ
LOC (lines of code) hay KLOC (nghìn dòng l nh). Đ ộ
ỉ
ể
ế
ố
ng mã ngu n
ựơ
ồ
ng t ự ộ
ằ có th ầ
ề
c
ể ướ
l ượ
ươ ấ
ự ẫ
ộ
ấ ố
ệ
ố
đo này ch có th chính xác sau khi d án đã k t thúc. ự Tuy nhiên b ng kinh nghi m, ho c b ng th ng kê ằ ặ ệ c kh i l ng đ c l t ố ượ ể ướ ượ ươ c khi k t thúc d án. c a m t ph n m m tr ế ướ ự ủ LOC sau khi k t thúc d án s đ c dùng đ ẽ ượ ự ế sau này. ng t ng các d án t ự i trên KLOC, chi phí trên Các đ đo d n xu t: s l ố ỗ KLOC, s tài li u trên KLOC, năng su t s KLOC /manmonth.
LOC ph thu c vào môi tr
ậ
ộ
ng l p trình nên khó so ể
ự
ế
ườ sánh gi a các d án n u chúng phát tri n trên các môi tr
ng l p trình khác nhau
ụ ữ ậ
ườ
Ể
NG CH C N NG
ĐI M CH C NĂNG (FUNCTION POINT) Ứ METRIC H ƯỚ
Ứ Ằ
ứ ề ộ
Đi m ch c năng (FP) đo đ ph c t p c a ph n m m. Quy mô ch ph n ánh m t khía c nh nh c a đ ph c t p, chính ch c năng th hi n đ ph c t p chính xác h n
ể ỉ ứ ạ ỏ ủ ầ ứ ạ ứ ả
FP đ
ủ ộ ơ
c
chính và 14 y u t ph . Các y u t ộ ạ ứ ạ ộ ể ệ c tính qua 5 y u t ế ố ế ố ế ố ụ
ư
ố
ố
ố
ượ
dùng trong các câu h i khác nhau đ
c tính riêng re
ỏ
ữ ệ ượ
ố
ấ
c k riêng r
ượ
ể
ẽ
i s d ng - s input trong các truy v n
– S truy v n (inquiry) c a ng
– S user output (xu t hi n trong các report, các màn hình, các thông ỏ ườ ử ụ
ệ báo). Các output trong các câu h i khác nhau đ ủ
ấ
ấ
ố
ố
– S l
ng file logic (có th ch là m t ph n c a CSDL, có th tính nh ư
ủ
ể
ể
ỉ
ủ
– S l
ầ m t b ng c a CSDL) và các file đ c l p ế
ộ ộ ậ ng các giao ti p ngoài: ngo i vi, các h th ng thông tin khác ạ
ệ ố
online ố ượ ộ ả ố ượ
mà nó giao ti pế
ượ chính là – S user input (s các thành ph n d li u đ a vào), s các input đ ầ
Ể
ĐI M CH C NĂNG (FUNCTION POINT) Ứ METRIC H ƯỚ
NG CH C NĂNG Ứ
c gán m t tr ng s , tuỳ theo
ộ ọ
ố
ng c a m i y u t
ượ ỗ ế ố
ứ
và tuỳ theo m c đ ộ ng tính theo 3 m c là đ n gi n, ứ
ả
ơ
trên đ M i y u t ỗ ế ố nh h ủ ả ưở ph c t p: th ườ ứ ạ trung bình và ph c t p. Ví d
ứ ạ
ụ
ĐG TB PT Tham s đoố S đoố
1 S input 25 3 4 6 100 ố
2 S output 30 4 5 7 150 ố
3 S inquiry 20 3 4 6 120 ố
4 10 7 10 15 70 S fileố
5 ng tác ngoài 10 5 7 10 70
510 S t ố ươ T ngổ
Ể
ĐI M CH C NĂNG (FUNCTION POINT) 14 Y U T ĐI U CH NH PH Ụ
Ứ Ế Ố Ề
Ỉ
1.
8. Master file đ
9.
ượ c c p nh t online ậ ậ
Input, output, file, và tính toan online ph c t p H th ng đòi h i backup ệ ố ỏ và h i ph c tin c y ậ ụ ồ 2. Đòi h i d li u truy n ỏ ữ ệ ề
thông
3. Có các ch c năng phân tán ứ 4. Hi u năng là đi u quan
ượ
ề c ứ ạ 10. Quá trình x lý bên trong ph c t p ứ ạ ử i c thi 11. Mã đ t k đ dùng l ạ ế ế ể 12. Vi c chuy n đ i và cài đ t đ ặ ượ ổ ể ệ
ệ tr ngọ
ử ụ tinh ngay trong thi c thi
5. Yêu c u s d ng môi ặ
6. H th ng đòi h i d li u
ầ tru ng n ng t k đ có th ể ch c ứ ổ
ỏ ữ ệ
14.
ờ ệ ố on-line t k đ d thay
ế ế ể ễ ử ụ ượ ễ
7. Khi đòi h i d li uonline, ữ ệ
t kế ế 13. H th ng đ ượ ệ ố ế ế ể cài đ t nhi u l n cho các t ề ầ ặ khác nhau ng d ng đ c thi ụ Ứ đ i và làm d dàng s d ng cho ổ ng i dùng ườ
ặ M i Fi đ 0 t i 5 đi m tuỳ theo m c đ ỏ ữ ệ c n nhi u màn hình d li u ề ầ ho c nhi u x lý ử ề ỗ c t ượ ừ ớ ứ ể ộ
chính x[ 0.65 + FP = Đi m c a các y u t ủ ế ố ể FƩ i /100]
MÔ HÌNH
NG TH C NGHI M
C L ƯỚ ƯỢ
Ự
Ệ
ả
ế ầ m t đ đo đ ph c t p c a d án có th là
H u h t các mô hình th c nghi m đ u ph i có đ u ự ứ ạ
ừ ộ ộ
ẹ ủ
ề ự
ể
ộ
ầ vào t LOC hay FP
Mô hình chính E= A + B x Vc trong đó E là công s c ứ i x tháng, A, B và C là m t h ng
ườ
ằ
ỉ ệ
ế
có th đo b ng ng ộ ằ ể s đ c tr ng cho mô hình và V là LOC hay FP. Mô ư ố ặ tuy n tính hình này cho thây công s c không t l ứ theo đ ph c t p
ng
ứ ạ c l ướ ượ
ộ M t vài ộ – Waston Felix E = 5.2 + KLOC 0.91 – Baley Basil E = 5.5 + 0.73 KLOC1.16 – Matson Barret E= 585.7+15.12xFP
NG TH C NGHI M
C L ƯỚ ƯỢ
Ự
Ệ
MÔ HÌNH COCOMO
COCOMO : Constructive Cost Model (Barry Boehm-
1981)
COCOMO II (1996) có phân m c đ i v i các d án:
ứ
ự
ị
ự
ở ứ
ướ
ả
ướ
ự
ố ớ ng (làm b n m u,xem xét công ẫ m c tr ở ứ ị ổ
ề
ầ
ở ầ
ượ
ế
m c đ nh h d án c khi ngh , giao di n, hi u năng), d án ệ ệ ệ t k (khi yêu c u ph n m m đã n đ nh và ki n thi ế ầ ế ế trúc đã đ t ng sau ki n trúc ự ậ (khi ph n m m đ ự ựơ ầ
c xác l p) và d án c xây d ng ề
3 MÔ HÌNH C B N C A COCOMO Ơ Ả Ủ
ơ ở
ư
ề ầ ng trình đ ươ
ượ
ễ
ạ
ố
Mô hình 1. Mô hình COCOMO c s tính công s c ứ phát tri n ph n m m (và chi phí) xem nh hàm c a ủ kích c ch c di n đ t theo s dòng mã
ng.
ể ỡ c l ướ ượ
ỡ
ầ
ể
ủ
ươ
Mô hình 2. COCOMO trung bình tính công s c phát ng ng d n chi phí" bao hàm ứ ẩ
ầ
ủ ộ
ự
ứ tri n ph n m m nh m t hàm c a kích c ch ư ộ ề trình và m t t p các "h ẫ ướ ộ ậ c các đánh giá ch quan v s n ph m, ph n c ng, ề ả ả nhân s và các thu c tính d án. ự Mô hình 3. COCOMO nâng cao t
h p c a t
ổ ợ
ủ
ặ
ưở
ướ
ả ng c a h ẫ ủ t k ...) c a ti n trình kĩ ế ế ế
t c ủ ấ ả các đ c tr ng c a phiên b n trung bình v i vi c ư ớ ệ ng d n chi phí lên đánh giá c a nh h ủ ả c (phân tích, thi t ng b ủ ướ ừ ngh ph n m m. ầ
ề
ệ
COCOMO
Theo Boehm, các mô hình 1 và 2 có th áp d ng cho ba l p
ụ ể ớ
1.
ự
ch c - các d án ph n m m t ố ầ ề ứ ự ể ổ
t làm ươ ệ ứ
ớ ả ệ ộ ậ ư
2.
ẽ ơ c phát tri n cho nhóm truy n nhi ặ ể ỏ ơ ố ng ệ
ể ử t đ ệ ượ ộ ự ề ề ầ
ắ ứ ạ ộ ộ
ớ ầ ứ ệ ặ
ề ặ ầ
3.
ứ ẽ ố ị ơ ở ữ ệ ử ế ị ầ ớ ầ ẽ ầ ề ố
ả ượ ể
ứ ề ầ
d án là ng đ i nh , đ n (1) ki u t gi n trong đó các nhóm nh có kinh nghi m ng d ng t ụ ỏ vi c v i m t t p các yêu c u ít ch t ch h n (nh ch ươ ầ t); trình phân tích nhi ề (2) ki u n a g n - m t d án ph n m m trung bình (v kích c và đ ph c t p) trong đó nhóm v i nhi u m c đ kinh ỡ nghi m ph i đáp ng cho các yêu c u ch t ch và kém ch t ả ch (nh h th ng x lý giao tác v i yêu c u c đ nh cho ư ệ ố t b đ u cu i và ph n m m c s d li u); ph n c ng thi ứ c phát tri n (3) ki u nhúng - m t d án ph n m m ph i đ ể ề ầ ộ ự bên trong m t t p ph n c ng, ph n m m, và các ràng bu c ộ ầ ch t ch (nh ph n m m ki m soát bay c a các máy bay). ể ộ ậ ư ủ ề ẽ ặ ầ
COCOMO
Ph
ng trình COCOMO c b n có d ng ươ ơ ả ạ
ai
bi
sau:
E = aKLOCb, ứ D = cEd c áp d ng theo ụ
T ch c
3.2
1.05
ứ
ổ
Trong đó E là công s c đ ờ ể
ượ i-tháng, D là th i gian phát tri n theo i tháng, và KLOC là s đ c c
Mô hình c s đ
ườ ố ượ ướ ườ ng v s dòng mã ph i bàn giao ng ng l ượ ề ố
3.0
1.12
c m r ng đ xem xét ơ ở ượ ể ả ở ộ
ng d n chi phí" ẫ ướ
N a ử g nắ
ộ ộ ậ ộ ầ
ộ
Nhúng
2.8
1.20
ư ự
ỉ
ị ể 0.9 đ n ế ề ừ
m t t p các "thu c tính h ộ thu c tính s n ph m, các thu c tính ph n ẩ ả c ng, các thu c tính nhân viên và các ứ thu c tính d án. Boehm đ a vào nhân ộ t đi u ch nh công s c (EAF). Giá tr đi n ứ ố ề hình cho EAF l y trong mi n t ấ 1.4. Ph ng trình COCOMO trung bình có d ng ươ ạ
E = a x KLOC b EAF
COCOMO
Th c t
tri n khai, COCOMO đ
ế
ự
c chi ti ả
t hoá r t ấ ượ i ta xây d ng các phiên b n ph thu c ộ
ề
ụ ể
ụ ố ủ
ố ệ
ứ
ộ
t k s ế ế ơ
ừ
ạ
ế ậ
ử
ủ
ừ
i phân tích, ng
i l p trình, ng
ườ ậ
ườ
ự ế ể nhi u, ng ườ ề vào đi u ki n c th , m t s các tham s c a ộ ố ệ COCOMO ph i d a vào s li u quá kh . Đã có m t ả ự ề ướ ượ ng c l s ph n m m ấ ố i ta tính n l c theo t ng giai đo n (thi Ng ỗ ự ườ t, l p trình và ki m th module, t k chi ti b , thi ể ế ế ộ ki m th ). Tham s đ u vào c a COCOMO là chi ố ầ ư ể phí hàng tháng cho nhân viên tuỳ theo t ng lo i nh ạ ư i ki m th , ng ườ ể ử nhân viên hành chính, nhân viên làm tài li u, m i ỗ ệ lo i đó đ u có m t tr ng s đ đi u chinh
ố ể ề
ộ ọ
ề
ạ
PH
NG TRÌNH PH N M M
ƯƠ
Ầ Ề
Putnam (1992) đ a ra m t công th c x p x ỉ
ứ ấ
ư
ộ
rút ra t
4000 d án
ừ
ự
ư
ỹ
ỗ ự ặ
E = [LOC x B 0.333 /P]3/t4 trong đó E là n l c, B là tham s đ c tr ng cho ố ặ t, P là tham s năng su t ố
ệ
ấ
ệ ỗ ự
ứ
các k năng đ c bi và t là th i gian th c hi n. ự ờ Công th c này cho th y n l c không ph ụ ấ ề
ộ ớ
ủ
ế
ầ
ộ
thu c tuy n tính vào đ l n c a ph n m m và th i gian. ờ