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. ờ

H I VÀ ĐÁP

H T BÀI 5