Luận văn Ứng dụng lập trình linh hoạt trong quy trình cộng tác phần mềm

BGIÁO DC VÀ ĐÀO TO  
TRƯỜNG ĐẠI HC BÁCH KHOA HÀ NI  
------------------------------------------------------  
LUN VĂN THC SKHOA HC  
NG DNG LP TRÌNH LINH HOT TRONG  
QUY TRÌNH CNG TÁC PHN MM  
NGÀNH: CÔNG NGHTHÔNG TIN  
MÃ S:  
AN VĂN MINH  
Người hướng dn khoa hc: TS. HUNH QUYT THNG  
HÀ NI - 2006  
LI CAM ĐOAN  
Em xin cam đoan lun văn tt nghip này là kết qunghiên cu ca  
bn thân, dưới shướng dn ca thy giáo, TS.Hunh Quyết Thng. Nếu có  
gì sai phm em xin hoàn toàn chu trách nhim.  
Người làm cam đoan  
An Văn Minh  
2
MC LC  
DANH SÁCH BNG ....................................................................................... 5  
DANH SÁCH CÁC HÌNH V......................................................................... 5  
LI CM ƠN ................................................................................................... 6  
LI NÓI ĐẦU .................................................................................................. 7  
Chương 1. TNG QUAN VLP TRÌNH “LINH HOT” VÀ “QUY  
TRÌNH CNG TÁC PHN MM”............................................................... 10  
1.1. PHƯƠNG PHÁP LP TRÌNH LINH HOT...................................... 10  
1.1.1. Lp trình “linh hot” là gì?............................................................. 10  
1.1.2. Ti sao sdng XP?....................................................................... 11  
1.1.3. Lch sphát trin ca XP............................................................... 11  
1.1.4. Các mc tiêu ca XP...................................................................... 12  
1.1.5. Các giá trca XP........................................................................... 13  
1.1.6. Các quy tc ca XP ........................................................................ 15  
1.1.7. Các hot động theo XP................................................................... 16  
1.2. QUY TRÌNH CNG TÁC PHN MM ............................................ 19  
1.2.1. Gii thiu quá trình cng tác phn mm........................................ 20  
1.2.2. Các yếu tliên quan đến CSP........................................................ 23  
1.2.3. Các yếu tcơ bn ........................................................................... 27  
1.2.4. Định nghĩa quá trình cng tác phn mm ...................................... 29  
1.3. KT HP XP TRONG CSP ĐỂ PHÁT TRIN PHN MM ........... 38  
Chương 2. CÁC “THÔNG L” TRONG XP................................................. 40  
2.1. TNG QUAN VCÁC THÔNG LTRONG XP............................. 40  
2.2. CÁC THÔNG LTRONG XP ............................................................ 41  
2.2.1. Tiêu chun mã hoá ......................................................................... 41  
2.2.2. Shu chung mã lnh.................................................................... 41  
2.2.3. Skết hp thường xuyên ............................................................... 41  
3
2.2.4. Ci tiến thiết kế .............................................................................. 42  
2.2.5. Thiết kế đơn gin............................................................................ 42  
2.2.6. Các bước hoàn thin nh................................................................ 42  
2.2.7. Tc độ làm vic va phi ............................................................... 43  
2.2.8. Hthng trong sut........................................................................ 43  
2.2.9. Lp trình theo cp........................................................................... 43  
2.2.10. Lp kế hoch dán ...................................................................... 44  
2.2.11. Phát trin hướng vào vic kim tra .............................................. 49  
2.2.12. Làm vic theo nhóm..................................................................... 49  
2.3. CI TIN MÃ LNH .......................................................................... 50  
2.3.1. Gii thiu v“ci tiến mã lnh”..................................................... 50  
2.3.2. Làm tài liu ci tiến mã lnh.......................................................... 51  
2.3.3. Các đon mã lnh ti...................................................................... 52  
2.3.4. Các kthut cơ bn sdng để ci tiến mã lnh........................... 53  
2.3.5. Ci tiến mã lnh trong quá trình phát trin phn mm .................. 54  
2.3.6. Li ích ca ci tiến mã lnh ........................................................... 55  
2.3.7. Các vn đề cn lưu ý khi ci tiến mã lnh...................................... 57  
2. 4. KT LUN ......................................................................................... 58  
Chương 3. NG DNG LP TRÌNH LINH HOT TRONG QUY TRÌNH  
CNG TÁC PHN MM.............................................................................. 59  
3.1. Ý TƯỞNG LP TRÌNH LINH HOT TRONG QUY TRÌNH CNG  
TÁC PHN MM....................................................................................... 59  
3.2. QUY TRÌNH PHÁT TRIN PHN MM NG DNG XP TRONG  
CSP .............................................................................................................. 59  
3.2.1. Mc 0: Đim xut phát................................................................... 59  
3.2.2. Mc 1: Qun lý cht lượng cng tác.............................................. 63  
3.3. ĐÁNH GIÁ SO SÁNH......................................................................... 72  
4
3.3.1. So sánh vi quy trình cng tác phn mm..................................... 72  
3.3.2. So sánh vi phương pháp lp trình linh hot ................................. 72  
3.4. KT LUN........................................................................................... 72  
Chương 4. THNGHIM QUY TRÌNH TRONG ĐÀO TO VÀ TRONG  
PHÁT TRIN PHN MM........................................................................... 73  
4.1. THNGHIM LP TRÌNH LINH HOT TRONG GING DY  
MÔN HC “LP TRÌNH TRÊN WINDOWS”......................................... 73  
4.1.1. Gii thiu ni dung và mc đích môn hc..................................... 73  
4.1.2. Phương pháp ging dy truyn thng ............................................ 74  
4.1.3. Áp dng phương pháp XP vào vic ging dy môn hc “Lp trình  
trên windows”........................................................................................... 76  
4.2. THNGHIM QUY TRÌNH ĐỂ PHÁT TRIN NG DNG  
“QUN LÝ NHÂN S” CHO CÔNG TY HNG HÀ ............................. 81  
4.2.1. Gii thiu hthng......................................................................... 81  
4.2.2. Phương pháp phát trin hthng ................................................... 82  
4.2.3. Xây dng hthng ......................................................................... 83  
4.2.4. Đánh giá hiu quvic ng dng “Lp trình linh hot” trong “Quy  
trình cng tác phn mm” ........................................................................ 92  
4.3. KT LUN........................................................................................... 93  
TNG KT..................................................................................................... 95  
PHLC........................................................................................................ 98  
TÀI LIU THAM KHO............................................................................. 103  
5
DANH SÁCH BNG  
Tên bng  
Trang  
70  
Bng 3.1: So sánh quy trình ng dng XP trong CSP vi CSP  
Bng 3.2: So sánh quy trình ng dng XP trong CSP vi XP  
70  
Bng 4.1: So sánh tlsinh viên hoàn thành bài tp trong thi  
gian quy định trong mt bui hc  
78  
Bng 4.2: So sánh kết quhc tp phn lý thuyết cơ bn  
Bng 4.3: So sánh kết quthc hin bài tp ln  
Bng 4.4: Tóm tt kết quthc hin và kết qucác ng dng  
Bng 4.5. So sánh thi gian thc hin  
78  
78  
90  
91  
91  
Bng 4.6 So sánh cht lượng chương trình  
DANH SÁCH CÁC HÌNH VẼ  
Tên hình vẽ  
Hình 1.1: Mô hình mc tăng trưởng ca CSP  
Hình 1.2: ThCRC  
Trang  
26  
31  
Hình 3.1. Mô tcác bước trong quy trình ng dng XP trong  
CSP  
69  
6
LI CM ƠN  
Em xin gi li cm ơn sâu sc ti thy giáo, TS.Hunh Quyết Thng, đã  
hướng dn, chbo và giúp đỡ em hết sc tn tình, để em hoàn thành tt lun  
văn này. Em xin gi li cm ơn chân thành đến các thy cô giáo trong khoa  
Công nghthông tin, trường Đại hc Bách khoa Hà Ni đã ging dy, to  
điu kin và giúp đỡ em trong sut quá trình hc tp ti trường.  
Chân thành cm ơn các anh, chvà các bn hc viên lp CNTT-2004,  
đã động viên và giúp đỡ em rt nhiu trong thi gian hc tp và làm lun văn  
tt nghip, để em có được kết qutt.  
Em xin chân thành cm ơn!  
7
LI NÓI ĐẦU  
Xlý thông tin là mt nhu cu tt yếu ca con người, hot động này din  
ra hng ngày, hng givà trong tt ccác lĩnh vc ca đời sng xã hi. Vi  
sra đời ca máy tính đin t, mt chiếc máy, xlý thông tin mt cách tự  
động và nhanh chóng. Nó đã giúp con người tiết kim được rt nhiu thi  
gian và công sc trong vic xlý thông tin. Nhưng ta cũng biết rng, để máy  
tính thc hin xlý thông tin, người sdng phi đưa vào đó mt chương  
trình để điu khin, và được gi là phn mm.  
Vi sphát trin mnh mca nn công nghip nói chung, và công nghệ  
máy tính nói riêng, ngày càng có nhiu tchc sdng máy tính vào vic xử  
lý thông tin, nhm gim bt nhân lc, và snhàm chán trong công vic.  
Nhưng ta cũng biết rng, khi lượng thông tin ngày càng ln, các thao tác xử  
lý ngày càng phc tp. Do vy, vic xây dng phn mm máy tính cũng trở  
nên rt khó khăn và đòi hi phi tuân theo mt quy trình làm vic thích hp.  
Công nghphn mm ra đời, đã đưa ra các quy trình, giúp cho vic xây dng  
phn mm được thun li, chng hn, quy trình phn mm da trên các cá  
nhân (PSP).  
Tuy nhiên, vi hiu biết ngày càng sâu sc hơn vcông nghthông tin.  
Con người, mà cthlà các khách hàng phn mm, không dng li nhu cu  
cn có mt phn mm máy tính, mà hcòn mun có nó mt cách nhanh  
chóng. Hơn na, phn mm phi có kích thước va phi, các thao tác xlý  
nhanh, chính xác, đáp ng yêu cu ca bài toán, đồng thi phi dsa đổi và  
nâng cp. Ngoài ra, hcòn mun dõi theo quá trình xây dng phn mm, để  
chc chn rng, phn mm ca họ được xây dng đúng tiến độ, và đạt được  
hiu qumong mun.  
Vic xây dng mt phn mm theo PSP là khá xa ri khách hàng. Tổ  
chc phn mm nhn yêu cu xây dng phn mm, sau mt thi gian, giao  
8
phn mm cho khách hàng. Khách hàng chng biết gì vquá trình xây dng  
phn mm và hkhông thtin chc rng, phn mm có thể được xây dng  
thành công hay không?. Hơn na, vic sdng PSP, mt tchc xây dng  
phn mm giao các nhim vcn thc hin cho tng cá nhân. Vì vy, phn  
mm thường có nhiu li, các thao tác xlý chm, thiu chính xác…  
Để khc phc các nhược đim nói trên, cn có mt quy trình làm phn  
mm mi, và phương pháp XP ra đời. Vi mc tiêu là giao nhanh phn mm  
đến tay khách hàng, đồng thi khách hàng có thdõi theo quá trình xây dng  
phn mm, và tin tưởng vào khnăng phn mm sẽ được hoàn thin và có  
hiu qutt.  
Vi mong mun được đóng góp mt phn nhbé vào xu thế phát trin  
ngành công nghthông tin, đặc bit trong giáo dc-đào to, cũng như trong  
vic xây dng phn mm ng dng, đáp ng yêu cu xlý thông tin ngày  
càng cao ca con người. Lun văn tt nghip đã nghiên cu đề tài: “NG  
DNG LP TRÌNH LINH HOT TRONG QUY TRÌNH CNG TÁC  
PHN MM”. NVLV mong rng nó sgóp phn vào vic nâng cao cht  
lượng đào to sinh viên ngành công nghthông tin, và giúp các tchc phn  
mm biết thêm vmt quy trình xây dng phn mm, khc phc nhng  
nhược đim ca các quy trình cũ. Đáp ng được nhng đòi hi ngày càng  
kht khe ca nhng khách hàng phn mm.  
Lun văn gm 4 chương:  
- Chương 1:Tng quan v“Lp trình linh hot” và “Quy trình cng tác  
phn mm”, nghiên cu các khái nim trong phương pháp XP và quy trình  
CSP.  
- Chương 2: Các “thông l” trong Lp trình linh hot, nghiên cu các  
“thông l” trong XP, đây là các quy tc và các bước thc hin mà người lp  
trình cn tuân thkhi xây dng phn mm da trên XP.  
9
- Chương 3: ng dng “Lp trình linh hot” trong “Quy trình cng tác  
phn mm”, đề xut mt quy trình ng dng “Lp trình linh hot” trong “Quy  
trình cng tác phn mm”, và các bước cn thc hin để xây dng phn mm  
theo quy trình này.  
- Chương 4: ng dng “Lp trình linh hot” trong đào to và phát trin  
phn mm, trình bày các thnghim áp dng phương pháp XP vào ging dy  
mt môn hc lp trình, ng dng “Lp trình linh hot” trong “Quy trình cng  
tác phn mm” để phát trin phn mm “Qun lý nhân s”.  
Vi khong thi gian nghiên cu đề tài không nhiu và trình độ kiến  
thc vcông nghphn mm còn hn chế, nên lun văn không thtránh khi  
nhng sai sót. Em rt mong được sự đánh giá và góp ý bsung ca các thy  
giáo, cô giáo và các bn để lun văn được hoàn thin hơn.  
Hà ni, ngày tháng năm 2006  
Hc viên thc hin  
An Văn Minh  
10  
Chương 1. TNG QUAN VLP TRÌNH “LINH HOT” VÀ  
“QUY TRÌNH CNG TÁC PHN MM”  
1.1. PHƯƠNG PHÁP LP TRÌNH LINH HOT  
1.1.1. Lp trình “linh hot” là gì?  
Lp trình “linh hot” (XP) là mt tp các giá tr, các quy tc và các bước  
thc hin, để phát trin nhanh mt phn mm cht lượng cao. Đây là mt  
phương pháp phát trin phn mm rt linh hot, nó phù hp để phát trin các  
ng dng có kích thước va phi [5]. Mt đim đặc bit ca XP là trong quá  
trình phát trin phn mm, khách hàng tham gia cùng vi nhà phát trin. Nhờ  
đó, nhà phát trin nm bt được các thay đổi, các yêu cu mi, làm gim chi  
phí để sa đổi hthng.  
XP đạt được thành công bi nó làm cho khách hàng thomãn vtâm lý.  
Các tchc phn mm sdng XP, để phát trin nhanh mt phn mm và  
giao cho khách hàng khi hyêu cu. XP giúp các nhà phát trin đáp ng được  
vic thay đổi các yêu cu ca khách hàng, thm chí là đến cui chu kphát  
trin hthng.  
XP ci tiến mt dán phn mm bng 4 phương pháp chính [1]: trao đổi  
thông tin, tính đơn gin, phn hi thông tin, và sn sàng đón nhn thay đổi  
yêu cu. Các lp trình viên XP trao đổi thông tin vi khách hàng và vi các  
lp trình viên trong cùng nhóm. Hto ra thiết kế ở mc đơn gin và rõ ràng.  
Hnhn thông tin phn hi bng cách kim tra phn mm ca hvào thi  
gian đầu tiên ca mi ngày làm vic. Hgiao phn mm cho khách hàng  
trong thi gian ngn và thc hin các thay đổi nếu được đề ngh. Như vy, các  
lp trình viên XP có thể đáp ng được vic thay đổi các yêu cu tphía khách  
hàng và nhng thay đổi vcông ngh.  
11  
XP khác vi các phương pháp khác. Nó gm nhiu thành phn nh, các  
thành phn riêng bit không to ra được kch bn, nhưng khi kết hp chúng  
li vi nhau ta có thnhìn thy mt “bc tranh hoàn thin”. Đây là mt đặc  
đim khác vi các phương pháp phát trin phn mm truyn thng và dn đến  
mt thay đổi trong cách lp trình [1].  
1.1.2. Ti sao sdng XP?  
Như đã biết, hu hết các phương pháp phát trin phn mm truyn thng  
đều bao gm các bước: Nm bt các yêu cu, phân tích, thiết kế, viết mã lnh,  
kim thvà bo trì.  
Cách tiếp cn này có thun li đó là xác định được sn phm cui cùng  
trước khi tiến trình xây dng phn mm được thc hin. Tuy nhiên, điu này  
không phù hp vi các dán phn mm hin đại vi các yêu cu luôn luôn  
thay đổi. Khách hàng sluôn đưa ra nhiu yêu cu mi và cn nhng thông  
tin phn hi liên tc để điu chnh li các la chn ca h. Người lp trình cn  
phi có mt phương pháp thc hin nào đó, để luôn sn sàng đón nhn nhng  
thay đổi tngười dùng để hcó thtiếp nhn được các thông tin phn hi.  
Nếu bn làm vic trong mt môi trường mà ở đó hthng cn phi đáp ng  
được các yêu cu luôn thay đổi và khách hàng scó li nếu vic bàn giao  
phn mm sm hơn và thường xuyên thì nên xem xét vic sdng XP để  
phát trin hthng. Các nhóm lp trình sdng XP nhn thy rng, hsbàn  
giao các sn phm phn mm cht lượng cao vi slượng rt ln và nhanh  
hơn trước đây rt nhiu [1].  
1.1.3. Lch sphát trin ca XP  
XP được to ra bi Kent Beck, Ward Cunningham và Ron Jeffries khi họ  
làm vic cho dán phát trin hthng Chrysler Comprehensive  
Compensation (C3) [34]. Kent Beck trthành chdán C3 vào tháng 3 năm  
1996 và bt đầu la chn mt phương pháp phát trin để sdng vào vic  
12  
phát trin dán. Kent Beck viết mt cun sách vphương pháp đã sdng và  
vào tháng 10 năm 1999, cun sách Extreme Programming Explained [34]  
được xut bn. Chrysler hubdán C3 vào năm 2000, nhưng phương pháp  
thc hin dán được ghi nhn trong lĩnh vc công nghphn mm. Đến năm  
2006, mt sdán phát trin phn mm vn tiếp tc sdng XP.  
* Ngun gc ca XP  
Vic phát trin phn mm trong nhng năm 1990 có hai nh hưởng  
chính: thnht, lp trình hướng đối tượng (OOP) thay thế lp trình thtc khi  
OOP được squan tâm ng hca ngành công nghip; thhai là sxut hin  
ca Internet và các công ty .COM nhn mnh thi gian đưa sn phm ra thị  
trường và sln mnh ca công ty là các yếu tcnh tranh thương mi. Các  
yêu cu thay đổi nhanh chóng làm ngn li vòng đời sn phm và thường  
không phù hp vi các phương pháp phát trin phn mm truyn thng.  
Dán C3 được thc hin nhm xác định cách thc tt nht để sdng  
công nghệ đối tượng. Da trên vic nghiên cu các hthng thanh toán ti  
Chrysler, sdng ngôn ngSmalltalk. Dán ca Kent Beck được thc hin  
cùng vi mt lp trình viên gii vSmalltalk, để điu khin quá trình thc  
hin ca hthng và ông phát hin ra nhiu vn đề ny sinh trong quá trình  
phát trin. Từ đó, đề xut và thc hin mt sthay đổi trong các cách thc  
hin ca mình, cùng vi mt cng tác viên là Ward Cunningham.  
1.1.4. Các mc tiêu ca XP  
XP là mt phương pháp phát trin phn mm, giúp các tchc phn  
mm đạt được các mc tiêu [1]:  
- Làm thomãn nhu cu ca người dùng.  
- Đáp ng nhng thay đổi mang tính xã hi.  
- Đưa ra cách thc ci tiến phn mm.  
- Xác định kiu phát trin phn mm.  
13  
- Xác định các bước cn thc hin để phát trin phn mm.  
Ưu đim chính ca XP là làm gim chi phí cho vic thay đổi các yêu  
cu. Trong các phương pháp truyn thng, các yêu cu ca hthng được xác  
định ngay tkhi bt đầu phát trin dán và thường được cố định tthi đim  
đó, làm cho vic bo trì hthng rt khó khăn và chí phí ln.  
Vic sdng XP có thgim được chi phí cho vic thay đổi là nhvào  
các giá tr, các quy tc và các bước thc hin. Bng cách áp dng XP, mt dự  
án phát trin hthng smm do hơn trong vic sa đổi hoc bsung yêu  
cu [34].  
1.1.5. Các giá trca XP  
XP gm có 5 giá tr:  
- Trao đổi thông tin.  
- Tính đơn gin.  
- Phn hi thông tin.  
- Phát trin phn mm theo quan đim ca người dùng.  
- Squan tâm (respect).  
Để phát trin mt hthng phn mm, các lp trình viên phi hiu được  
nhng yêu cu ca hthng. Trong các phương pháp truyn thng, vic này  
được thc hin bng cách làm tài liu. Tuy nhiên, XP li sdng các giá trị  
ca nó để phbiến mt cách nhanh chóng các kiến thc đến các thành viên  
trong mt nhóm phát trin. Mc đích là to cho tt cnhng người phát trin  
mt quan đim chung vhthng, để nó phù hp vi quan đim ca nhng  
người sdng hthng. XP ng hvic to ra các thiết kế đơn gin, thông  
sut, scng tác ca người sdng vi lp trình viên, vic trao đổi thông tin  
bng li, và vic phn hi thông tin.  
XP khuyến khích bt đầu vi gii pháp đơn gin nht để cho mi lp  
trình viên đều hiu được bài toán. Skhác nhau gia quan đim này vi các  
14  
phương pháp truyn thng là tp trung vào vic thiết kế và viết mã lnh cho  
các yêu cu hôm nay thay vì làm vic đó cho ngay mai, tun sau hoc tháng  
sau. Nhng người đề xut XP chp nhn điu không thun li là có thvic  
cgng thay đổi hthng là tha; có nhng hthng không cn sthay đổi  
sau khi đã xây dng. Từ đó không cn phi tính đến chi phí cho vic sa đổi  
hthng. Nếu tính đến giá trtrao đổi thông tin, thì sự đơn gin trong thiết kế  
và mã lnh sci thin được “cht lượng” ca vic trao đổi. Mt thiết kế đơn  
gin cùng vi mã lnh rt đơn gin, làm cho các lp trình viên trong nhóm dễ  
hiu hơn.  
Trong XP, thông tin phn hi có liên quan đến nhiu vn đề khác nhau  
ca vic phát trin hthng:  
- Thông tin phn hi ththng: bng cách viết các bkim tra, hoc  
chy các bkim tra để kim tra vic kết hp theo định k, các lp trình viên  
được các thông tin phn hi trc tiếp ttrng thái ca hthng, sau khi  
thc hin các thay đổi.  
- Thông tin phn hi tngười dùng: Các bkim thchc năng được  
viết bi người dùng và nhng người thc hin kim th. Hsnhn được các  
thông tin cthvtrng thái hin ti ca hthng. Vic kim thnày chcn  
chun bmt ln cho chai hay ba tun, vì vy, người dùng có thddàng  
hướng theo vic phát trin.  
- Thông tin phn hi tnhóm: khi người dùng đưa ra các yêu cu mi,  
nhóm phát trin tiếp nhn yêu cu và đưa ra mt đánh giá trc tiếp vthi  
gian cn thiết để thc hin yêu cu.  
Thông tin phn hi có liên quan mt thiết vi vic trao đổi thông tin và  
tính đơn gin. Các li trong hthng có thddàng được phát hin bng cách  
viết mt bkim tra, để tìm ra đon mã lnh có li. Thông tin phn hi trc  
tiếp ththng cho phép các lp trình viên biết, để ghi nhn li ca đon mã  
15  
lnh đó. Người dùng cũng có thkim tra hthng định ktheo các yêu cu  
chc năng. Kent Beck nói: “Slc quan là mt nguy cơ gây ra li trong lp  
trình và thông tin phn hi giúp xlý vic này”.  
“Squan tâm” có thbiu ththeo nhiu cách. Thnht, trong XP, các  
thành viên trong nhóm nên quan tâm ln nhau, bi các lp trình viên không  
nên uthác các thay đổi dn đển làm hng vic biên dch, các bkim tra  
đang tn ti bhng, hoc làm trvic ca người cùng nhóm. Thhai, các  
thành viên quan tâm đến công vic ca hbng cách luôn phn đấu vì cht  
lượng cao và tìm ra các thiết kế tt nht cho gii pháp ngay khi ci tiến mã  
lnh.  
1.1.6. Các quy tc ca XP  
Các quy tc ca XP định dng cơ sca XP được da trên các giá trva  
được mô tvà dkiến để thúc đẩy vic đưa ra các quyết định trong dán  
phát trin hthng. Các quy tc được dkiến là cthhơn so vi các giá trị  
và ddàng biên dch hơn để đưa ra hướng dn trong tình hung đặc bit.  
1.1.6.1. Phn hi thông tin  
Sphn hi thông tin có tác dng nht nếu nó được thc hin mt cách  
nhanh chóng. Thi gian gia mt kích hot và thông tin phn hi nhn được  
là vn đề then cht để nghiên cu và thc hin các thay đổi. Trong XP, ngoi  
trcác phương pháp phát trin hthng cũ, vic tiếp xúc vi người dùng chỉ  
trong nhng khong thi gian ngn. Người dùng hiu biết rõ ràng vhthng  
đang được phát trin và có thể đưa ra thông tin phn hi cũng như hướng theo  
sphát trin nếu cn thiết.  
Các bkim tra (Unit tests) cũng làm cho sphn hi thông tin được  
thc hin nhanh hơn. Khi viết mã lnh, bkim tra cung cp thông tin phn  
hi trc tiếp để sao cho hthng tác động trli các thay đổi. Nếu trong  
trường hp khn cp, các thay đổi nh hưởng đến mt phn hthng mà  
16  
không nm trong phm vca lp trình viên đã to ra thành phn đó, lp trình  
viên đó không cn chú ý đến điu này. Khnăng xut hin li này là rt ln  
khi hthng đang trong thi gian xây dng.  
1.1.6.2. Tính đơn gin  
Tính đơn gin là vic xem xét mi vn đề nếu như gii pháp ca nó là  
“hết sc đơn gin”. Các phương pháp phát trin hthng cũ nói đến vic lp  
kế hoch cho tương lai và mã hoá cho khnăng sdng li. XP không thc  
hin theo ý tưởng này.  
Nhng người ng hXP nói rng, vic to ra tt ccác thay đổi ln  
trong mt ln là không ththc hin được. XP áp dng các thay đổi mang  
tính ci tiến: chng hn, csau 3 tun mt hthng có thcó nhng bước  
hoàn thin nh. Bng cách to ra nhiu bước hoàn thin nh, người sdng  
thtác động nhiu hơn đối vi quá trình phát trin và đối vi hthng đang  
được phát trin.  
1.1.6.3. Đón nhn sthay đổi  
Quy tc đón nhn sthay đổi là không chng li các thay đổi và phi  
nm bt được chúng. Trong trường hp cn thiết, nếu có yêu cu thay đổi nào  
đó đến tphía người dùng, các lp trình viên sn sàng đón nhn yêu cu đó  
đồng thi lp kế hoch cho các yêu cu sp ti.  
1.1.7. Các hot động theo XP  
XP mô t4 hot động chyếu được thc hin trong quá trình phát trin  
phn mm [34] gm: Viết mã lnh, kim th, nhn định các tác nhân hthng  
và thiết kế.  
1.1.7.1. Viết mã lnh  
Nhng người ng hXP cho rng, sn phm thc squan trng ca quá  
trình phát trin hthng là mã lnh. Không có mã lnh bn chng có gì hết.  
17  
Vic viết mã lnh có thlà vic vcác sơ đồ từ đó sphát sinh mã lnh,  
vic viết kch bn cho hthng da trên web hoc viết lnh cho chương trình  
cn thiết phi được biên dch.  
Vic viết mã lnh cũng có thể được dùng để chra gii pháp phù hp  
nht cho bài toán. Trong trường hp này, XP tán thành vic đối mt vi nhiu  
la chn cho mt vn đề lp trình, mt la chn đơn gin cho vic viết mã  
lnh cho tt ccác gii pháp và xác định vi các bkim tra tự động cho gii  
pháp phù hp nht.  
Vic viết mã lnh cũng giúp trao đổi nhng suy nghĩ vcác vn đề lp  
trình. Mt lp trình viên thc hin mt bài toán lp trình phc tp và thy rng  
khó có thgii thích gii pháp đó cho các lp trình viên khác, có thviết mã  
lnh cho nó và sdng mã lnh để gii thích ý định ca mình. Các lp trình  
viên khác có thgii thích vn đề này bng cách viết mã lnh theo suy nghĩ  
ca h.  
1.1.7.2. Kim thử  
Mt lp trình viên không thchc chn vbt kỳ điu gì trkhi anh ta  
đã kim tra nó. Vic kim thkhông phi là để nhn biết được vn đề mà là  
yêu cu vtính chính xác ca người dùng. Trong phát trin phn mm, XP  
cho rng điu này có nghĩa là mt người không thchc chn rng mt chc  
năng shot động trkhi anh ta đã kim tra nó. Từ đó, đặt ra câu hi là cn  
phi xác định điu gì mà anh ta chưa chc chn vnó.  
- Các lp trình viên có thkhông chc chn vmã lnh mà họ đã viết so  
vi mã lnh mà hnên viết. Để kim tra điu này, XP sdng các bkim  
tra (Unit Tests). Có các bkim tra, thc hin vic kim tra mã lnh mt cách  
tự động. Các lp trình viên scgng viết mã lnh, nhưng hcó thnghĩ rng  
các bkim tra có thlàm hng mã lnh mà họ đang viết; tuy nhiên, nếu tt  
18  
ccác bkim tra đều thc hin thành công thì vic viết mã lnh là hoàn  
thin.  
- Các lp trình viên có thkhông chc chn về điu mà họ đã làm so vi  
điu mà đáng ra hnên làm. Để kim tra vic này, XP sdng các bkim  
tra chuyên bit (acceptance tests) da trên các yêu cu được đưa ra bi khách  
hàng trong giai đon tìm hiu vic lp kế hoch theo tng bước (release  
planning).  
1.1.7.3. Nhn định các tác nhân ca hthng  
Các lp trình viên không cn biết bt kỳ điu gì vmt nghip vca hệ  
thng trong quá trình phát trin. Nhưng chc năng ca hthng li được xác  
định tnghip vca hthng. Để các lp trình viên tìm ra được nhng gì  
nên thuc vchc năng ca hthng, hcn phi tìm hiu nghip vca hệ  
thng.  
Các lp trình viên phi tìm hiu trong phm vi rng: hphi tìm hiu  
nhng gì mà người dùng yêu cu. Hphi chiu vn đề nghip vca hệ  
thng, và gi thông tin phn hi cho người dùng vvn đề ca anh ta, để ci  
thin shiu biết ca anh ta vbài toán.  
Vic trao đổi gia khách hàng và lp trình viên được trình bày trong  
phn “Planning game”.  
1.1.7.4. Thiết kế  
Tquan đim vtính đơn gin, mt người có thnói rng vic phát trin  
hthng không cn thêm điu gì ngoài vic viết mã lnh, kim tra và tìm hiu  
các yếu ttác động đến hthng. Nếu các hot động này được thc hin tt,  
kết qusluôn là mt hthng làm vic được. Trong thc tế, hthng này sẽ  
không làm vic. Mt người có ththc hin công vic theo mt cách nào đó  
mà không cn thiết kế, nhưng cui cùng sbmc kt. hthng strnên quá  
phc tp, và nhng ràng buc trong hthng sngày càng rõ ràng.  
19  
Có thtránh điu này bng cách to ra mt cu trúc thiết kế được tchc  
mt cách logic bên trong hthng. Mt thiết kế tt stránh được nhiu phc  
thuc trong hthng; điu này có nghĩa là vic thay đổi mt phn hthng  
không nh hưởng đến nhng phn khác ca hthng.  
1.2. QUY TRÌNH CNG TÁC PHN MM  
Trong công nghip người ta đã chng minh rng hai lp trình viên làm  
vic bên cnh nhau, trên cùng mt máy tính, cùng thiết kế thut toán, cùng  
viết mã lnh, hay cùng kim tra chương trình, vcăn bn, hiu quhơn so vi  
hai người làm vic độc lp[35]. Điu này cho thy rng, các lp trình viên sẽ  
làm vic tt hơn khi cùng thc hin mt quá trình đã được xác định, người  
này xem xét li công vic ca người kia. Tvic đưa hai ý tưởng đến cùng  
gii quyết mt công vic, người ta to ra quy trình cng tác phn mm (CSP).  
CSP là mt quy trình phát trin phn mm được xác định, có tính cht lp li,  
vi hai lp trình viên cng tác làm vic. CSP là smrng ca quá trình phn  
mm độc lp (PSP) và nó da trên nn tng ca PSP.  
Để chng minh hiu quca CSP, mt thí nghim được tiến hành năm  
1999, vi gn 40 sinh viên cui khoá, ngành khoa hc máy tính ti đại hc  
Utah. Tt ccác sinh viên đều được hc CSP và PSP [35]. Có 3 nhóm, mi  
nhóm hai sinh viên cùng làm vic trên mt máy tính để phát trin các nhim  
vlp trình được giao. Các sinh viên khác làm vic độc lp và cũng thc hin  
nhng nhim vtương t. Nghiên cu đã đóng góp vào vic to ra mt quá  
trình làm phn mm xác định, có tính cht lp li, quy trình cng tác phn  
mm, vi các cp lp trình viên cng tác. Thí nghim đã đưa ra mt snhn  
định sau vcác nhóm lp trình cng tác, sdng CSP [35]:  
1. Các cp lp trình cng tác mt thi gian nhiu hơn so vi lp trình độc  
lp là 15%. Tuy nhiên, thi gian này là không đáng k.  
20  
2. Sn phm do các cp lp trình cng tác to ra có cht lượng tt hơn  
đáng k. Đồng thi tiết kim được 15% thi gian mã hoá.  
3. Nếu tính đến vic trgiúp trong thi gian lâu dài, để có các sn phm  
lp trình cht lượng cao hơn thì lp trình cng tác chi phí ít hơn lp trình độc  
lp.  
4. 95% sngười lp trình cng tác khng định rng hthích và tin tưởng  
vào công vic hơn so vi khi hlàm vic mt mình.  
Ngoài ra nghiên cu còn đưa ra nhiu khng định vlp trình cng tác.  
Đáng chú ý nht là hiu qurõ ràng trong vic gia tăng các knăng gii quyết  
bài toán, các thiết kế được làm tt hơn, tăng khnăng hc hi, và thúc đẩy  
vic to ra nhóm các cp lp trình cng tác. Các tchc mà ở đó các ksư  
phn mm luân chuyn mt cách phù hp các thành viên, cũng như chú ý làm  
tăng vic trao đổi thông tin, nâng cao khnăng làm vic nhóm từ đó làm gim  
li ca sn phm.  
1.2.1. Gii thiu quá trình cng tác phn mm  
1.2.1.1. Động lc nghiên cu  
Ngày nay trong tin hc, hu hết vic sn xut phn mm được thc hin  
bi các nhà khoa hc, hcgng gii quyết các bài toán cth, kích thước  
va phi. Mô hình lp trình hin nay được gi là mô hình code-and-fix... đây  
là mt mô hình không nhng được xây dng mt cách chính xác mà còn được  
điu khin mt cách cn thn [2].Ghezzi và cng smô tmô hình lp trình  
code-and-fix gm 2 bước [35]:  
Bước 1: Viết mã lnh.  
Bước 2: Cố định mã lnh để loi bcác li, nâng cao chc năng hin ti  
hoc thêm đặc trưng mi.  
21  
Theo thi gian, máy tính trnên rhơn và phbiến hơn. Ngày càng có  
nhiu người sdng máy tính để gii quyết các bài toán ln hơn, nhưng vn  
sdng và phát trin mô hình lp trình truyn thng.  
Ngày nay mô hình code-and-fix vn được sdng, nó không thích hp  
để thc hin các bài toán phc tp ng vi vic phát trin phn mm có tỉ  
trng ln. Cách đây khong 40 năm thut ng“khng hong phn mm”  
được đưa ra để mô tsbt lc ca ngành công nghip phn mm vi vic  
cung cp cho khách hàng nhng sn phm cht lượng cao đạt yêu cu. Nhng  
dán càng ln thì hiu qunhìn chung càng kém hơn. Và có khong 3/4  
trong scác hthng ln “tht bi trong vic vn hành”, không thc hin  
được chc năng như mong đợi hoc không vn hành được [3].  
Đáng chú ý là stiến trin trong hơn 40 năm ca tình trng khng hong  
phn mm, ca chính các nhà khoa hc và các nhà phát trin phn mm và  
nói chung là tt cmi người. Ngày nay, phn mm đang thâm nhp vào hu  
hết các lĩnh vc ca cuc sng, bao gm các hthng htrquyết định nh  
hưởng đến csc khovà hnh phúc ca con người [4]. Tt nhiên, scY2K  
là yếu tố đầu tiên nh hưởng đến các vn đề phn mm.  
Tht không may, stiến btrong các kthut phát trin phn mm đã bị  
cn trbi stăng theo hàm mũ ca quy mô và tính phc tp ca phn mm.  
Thách thc này được khc phc và đem li các kthut được vn dng thành  
công để gii quyết sphc tp tăng lên hàng ngày. Mt mc đích khác ca  
nghiên cu này là nhm khc phc skhng hong phn mm, giúp ngành  
công nghip phn mm sn sut được nhng phn mm có cht lượng cao.  
1.2.1.2. Lp trình cp (Pair-Programming)  
Vi các ng dng phn mm ln hơn và phc tp hơn; các ng dng này  
được sdng trong rt nhiu tchc vi các mc đích khác nhau. Có l, tt  
hơn hết các ng dng phc tp nên được gii quyết bi hai người ti mt thi  
22  
đim. Ý tưởng cp lp trình, hai người lp trình làm vic cng tác, cùng thiết  
kế, cùng đưa ra thut toán, cùng viết mã lnh, hoc cùng kim tra, đã được  
đưa ra nhiu ln tcách đây khong 10 năm. Thói quen lp trình cp có nhiu  
li ích, trước hết vi sra đời ca phương pháp lp trình “linh hot” [5].  
Hai người cng tác ngi cnh nhau, ti mt máy tính trong sut quá trình  
phát trin phn mm. Mt người được xem là người điu khin. Người này có  
quyn điu khin chut, bàn phím hoc dng cụ để viết, và tích cc trong vic  
to ra thiết kế, mã lnh và kim th. Người còn li squan sát công vic ca  
người điu khin và phát hin các sai sót trong công vic ca h. Theo thng  
kê [7] người ta thy rng, các cp lp trình to ra mã lnh có cht lượng cao  
hơn, nhanh hơn so vi nhng người lp trình độc lp.  
1.2.1.3. Cách tiếp cn  
CSP đạt được yêu cu vvic chp nhn mt phương pháp phát trin  
phn mm đã được xây dng hoàn thin, kết hp vi lp trình cp khi phát  
trin phn mm. Mt quá trình phát trin phn mm mi, quá trình cng tác  
phn mm là mt phương pháp được xác định, có tính cht lp li đối vi hai  
ksư cng tác phn mm để phát trin phn mm.  
Trong CSP, các bước trong mi giai đon ca quá trình phát trin phn  
mm tgiai đon phân tích đến giai đon kim thử được hướng dn bi các  
kch bn chi tiết, các biu mu (templates) các khuôn dng (forms). Các thông  
tin tcác biu mu và các khuôn dng được phân tích và dùng làm cơ sở để  
đánh giá hiu quca cp cng tác. Cp cng tác sdng các thông tin này  
nhm ci thin hiu quca quá trình cng tác ca chính h.  
Nghiên cu cho thy, các cp cng tác sdng CSP làm vic tt hơn các  
ksư phn mm làm vic độc lp, sdng PSP [8]. Mt sthước đo cth,  
sdng để so sánh gia PSP và CSP là thi gian quay vòng, năng lc sn  
xut và cht lượng phn mm. Để chng minh tính đúng đắn ca githuyết,  
23  
mt thí nghim có tính cu trúc được thc hin ti đại hc Utah vi mt lp  
hc thiết kế phn mm mc cao. Trong thí nghim này, các cp cng tác và  
các sinh viên độc lp đã hoàn thành cùng mt nhim v. Thước đo trên được  
sdng để so sánh quá trình thc hin ca tt ccác sinh viên.  
1.2.2. Các yếu tliên quan đến CSP  
CSP chính thc được công bsau khi điu tra nhng đóng góp và nhng  
thành công trong nhiu lĩnh vc ca công nghphn mm và khoa hc tri  
thc.  
1.2.2.1. Quá trình phn mm độc lp (PSP)  
Vmt cu trúc, nh hưởng ln nht đối vi CSP là tPSP [8], được  
đưa ra bi Watts S.Humphrey. PSP định nghĩa mt mô hình phát trin phn  
mm, bao gm các thao tác đã được định nghĩa hoc các tiến trình con và các  
kthut phân tích và đánh giá để giúp các ksư phn mm hiu được các kỹ  
năng ca chính h, nhm ci thin năng lc ca cá nhân mình. Mi tiến trình  
con có mt tp các kch bn, thhin các bước cthkèm theo và mt tp các  
biu mu hoc các khuôn dng để đin thông tin vào đó, đảm bo tính đầy đủ  
và thu thp dliu to thành các thông tin đánh giá cơ s. Các thông tin đánh  
giá cơ snày cho phép các lp trình viên đánh giá công vic ca mình, phân  
vùng bài toán, thiết lp và thc hin các mc tiêu. Ví d: các lp trình viên  
ghi các thông tin vtt ccác li được loi btrong các chương trình ca  
mình. Hcó thsdng các thông tin đã được tng hp vcác li mà hgp  
phi để tránh vic lp li li đó. Thêm vào đó, hcó thkim tra các xu  
hướng mà hmc li trong mt nghìn dòng lnh và có thnhn thy khi to  
ra ci tiến thc s.  
PSP có nhiu lý lun vng chc. Thnht, mt li phn mm có thduy  
trì được lâu hơn trong mt sn phm, để tìm ra và loi bnó là rt tn kém.  
Bi vy, vic xem xét li thiết kế và mã lnh đã được thc hin trước đó để  
24  
loi bli mt cách hiu qunht. Thhai, vic ngăn chn li là hiu quả  
hơn so vi vic loi bli. Các thiết kế thn trng đã được phát trin và các  
dliu được la chn để bsung cho đầu vào nhm điu chnh các tiến trình  
phn mm độc lp ca chính h, từ đó ngăn chn các li trong tương lai. Cui  
cùng, PSP dng li khái nim được đánh giá là tt nht và vì vy đạt được  
các kết qutt nht, tvic ghi nhn li các li, người ta to ra mt cơ sdữ  
liu tlli. Dliu vli các sn phm trước đó được gili để sdng  
cùng vi các thtc đánh giá cơ sdùng cho vic đánh giá hiu quca phn  
mm. Các tiến trình và các triết lý này làm vic cùng vi nhau để to ra các  
kết qutt hơn.  
Dliu ca vin công nghphn mm v104 ksư phn mm chra  
rng [35], PSP đào to để làm gim các li trong đánh giá quy mô là 25.8%  
và các li đánh giá thi gian là 40%. Sdòng lnh viết trong mt gităng  
trung bình là 20.8% và chi phí thi gian phát trin ca mi ksư dành cho  
vic biên dch gim được 81.7%, thi gian kim thgim 43.3%, tng các li  
là 59.8% và kim tra li là 73.2%[9].  
PSP là mt tiến trình được định rõ, có tính cht lp li đối vi mt ksư  
phn mm làm vic độc lp; CSP được định rõ, có tính cht lp li đối vi hai  
lp trình viên làm vic cng tác. CSP là mt mrng ca PSP và da vào nn  
tng ca PSP.  
1.2.2.2. Lp trình linh hot  
CSP cũng chu nh hưởng ln bi nhng yếu tthành công ca phương  
pháp XP[5], được phát trin chyếu bi hãng Smalltalk và cvn Kent Beck  
cùng vi các đồng nghip là Ward Cunningham và Ron Jeffries. XP không có  
được bng chng định lượng ging như PSP để chng minh tính hiu quca  
mình. Bng chng vsthành công ca XP mang tính giai đon, nhưng rt n  
tượng trong công nghphn mm. Mt ví dln nht vthành tu ca XP là  
25  
hthng thanh toán Chrysler khá ln được khai trương vào tháng 5 năm  
1997. Hthng thc hin vic trlương hàng tháng cho khong 10000 nhân  
viên, có 2000 lp và 30000 phương thc [10]. Mt ví dkhác là các lp trình  
viên ti công ty ô tô Ford mt 4 năm không thành công trong vic thxây  
dng hthng VCAPS (Vehicle Cost and Profit System) bng vic sdng  
phương pháp thác nước truyn thng. Sau đó họ đã sao chép li hthng đó  
đã thành công vi thi gian ít hơn mt năm, bng sdng phương pháp  
XP [11]. XP có nhng thế mnh nhsdng lp trình cp. Vic thiết kế và  
viết mã lnh cho chương trình được thc hin bi hai người, vic mrng hệ  
thng và thm chí vic to các biu mu cũng được thc hin vi scng tác  
ca hai người. Làm vic cùng nhau, các lp trình viên thc hin vic xem xét  
mã kế tiếp nhau. “Bn có thngc nhiên vì có nhiu li do bn to ra mà  
người bên cnh bn phát hin được”. Có ltriết lý cui cùng ca PSP là ngăn  
chn các li và loi bchúng mt cách hiu qu.  
Vic tp hp các yêu cu, vic xác định tài nguyên và các hot động thiết  
kế ca XP cũng là đim xut phát cơ bn ca hu hết các phương pháp đã  
được tha nhn, chng hn PSP hoc quá trình được thng nht mt cách hp  
lý [12]. Các yêu cu được viết trong các tài liu yêu cu người dùng, mt bn  
đánh giá sơ bvtài nguyên yêu cu được đánh du trên các th, các tài  
nguyên này được phân chia cho các cp lp trình và hbt đầu viết mã lnh.  
Vi vic không có các thtc hoc các bn thiết kế có sn trong kế hoch  
phát trin hoc kiến trúc hthng, cp lp trình xác định mã trong cơ smã  
cn thiết để thêm vào hoc làm thay đổi nó mà không cn phi có scho phép  
ca bt kngười nào. Vic này đòi hi sdng “quyn shu chung mã  
lnh” do đó bt kcp lp trình nào cũng có thsa hoc thêm vào mã bt kỳ  
trong cơ smã lnh, kcnhng người mi biết lp trình cơ bn.  
26  
Các cp lp trình làm mi cơ smã lnh bng cách tiếp tc thay đổi và  
bsung. Hxem xét mã lnh khi tphát trin thiết kế - hkhông mt thi  
gian làm tài liu thiết kế, vì vy, có được tài liu vkiu mã và các nguyên  
tc gii thích mt cht ch. XP cũng có các thtc kim tra rt đặc bit. Bao  
gm các công ckim tra được viết và được làm tự động trước cho đến các  
thay đổi mã thc s. Các kết quca vic thc hin các thtc kim tra này  
li tự động to ra các kim tra và thtự ưu tiên mi, các công ckim tra  
ngược xác định xem có sthay đổi/nâng cao hay không để thc hin theo “tài  
liu yêu cu người dùng” mt cách đúng đắn mà không tn hi đến các hot  
động phát trin truyn thng, mang tính giai đon, sxut hin ca XP là rt  
hiu qu. Thêm vào đó các lp trình viên cũng nói rng, vic phát trin vi  
các hot động ca XP cũng rt thú vvà thú vhơn so vi các tiến trình truyn  
thng. TXP, CSP kết hp thành công vic sdng lp trình cp và vic phát  
sinh và thc hin công ckim tra tự động.  
1.2.2.3. Tri thc phân tán  
Năm 1991, Nick Flor mt hc givkhoa hc tri thc, đã nghiên cu về  
tri thc phân tán trong cp lp trình cng tác. Trong nghiên cu ca mình, ông  
ghi li nhng trao đổi ca hai lp trình viên làm vic cùng vi nhau trên mt  
nhim vbo trì phn mm. Ông ghi li chình nh và âm thanh và đặt riêng  
các hành vi có li thoi và không có li thoi trong nghiên cu vhai người  
da theo lý thuyết vtri thc phân tán và ông nhn thy [35]:  
1. Vic chia scác mc tiêu và các kế hoch: Các lp trình viên cng tác  
cgng duy trì mt tp các mc tiêu và các kế hoch chung trong quá trình  
thc hin.  
2. Khnăng trao đổi thông tin: Các chi tiết đàm thoi không đủ để xác  
định, vì vy, vic làm gim thiu các cuc tho lun đòi hi gii mã nhng gì  
phi được trao đổi.  
27  
3. La chn trong không gian la chn ln hơn: mt hthng vi các  
nhân viên đa chc năng có tim năng ln hơn cho vic phát sinh thêm các kế  
hoch khác nhau đối vi ít nht 3 lý do: (1) các nhân viên mang các kinh  
nghim khác nhau để thc hin nhim v; (2) hcó thcó truy cp khác nhau  
đến thông tin liên quan vi nhim v; (3) họ đứng trong các mi quan hkhác  
nhau đối vi bài toán bi ưu đim vcác vai trò chc năng ca h. Mt kết  
ququan trng ca vic cgng chia scác mc tiêu và các kế hoch là khi  
hxung đột, các lp trình viên phi đàm phán mt cách công khai mt tiến  
trình hot động chung. Làm như vy htìm được mt slượng ln hơn các  
la chn so vi lp trình viên đơn lcó thlàm. Điu này làm gim các cơ hi  
la chn mt kế hoch ti.  
4. Chia sbnhcho các kế hoch cũ: mt bnhcho kế hoch đã  
được la chn là hu ích trong các tình hung nơi mà các chthể đang tìm ra  
mt tiến trình hot động, quyết định trên nó là không phát sinh và phi quay  
đến mt trong các kế hoch có th, các kế hoch cũ hơn. Mt lp trình viên  
làm vic độc lp có thquên mt trong các kế hoch la chn này [14].  
1.2.3. Các yếu tcơ bn  
Vin công nghphn mm đã hướng dn các tchc phn mm định ra  
mô hình hoàn thin theo khnăng (CMM-Capability Maturity Model) đối vi  
phn mm [15]. Mc đích ca CMM là cung cp “mt cách thc có thtự  
cho các tchc để hxác định các khnăng ca quy trình hin ti ca mình  
để thiết lp các ưu thế cho vic ci tiến. Vic này được làm bng cách thiết  
lp và định nghĩa 5 mc tăng dn vkhnăng hoàn thin hơn na quá trình  
[8]. Mt quy trình hoàn thin hơn được định nghĩa tăng dn lên, có tính cht  
lp li và được điu khin và có thích hp hơn để có thdự đoán vic sn xut  
phn mm có cht lượng cao. Năm mc độ tăng dn tính hoàn thin là: khi  
to, lp li, định nghĩa, qun lý và đánh giá. Mi bước này đều định nghĩa các  
28  
vùng tiến trình chính (KPA-Key Process Areas). CMM cung cp các mc tiêu  
và các hot động làm mu cho các KPA này, để hướng dn các tchc trong  
vic đạt được các mc cao hơn ca shoàn thin ca quá trình. Các tchc  
có các tiến trình bên trong hoc bên ngoài, xem xét để xác định mc hoàn  
thin ca quá trình hin ti và để xây dng các kế hoch ci tiến mc độ hoàn  
thin.  
Mc  
Quá trình cng tác phn mm  
Đim xut phát  
0.0  
Đim xut phát  
Chun mã lnh  
0.1  
1.0  
Đánh giá kích thước  
Lp kế hoch cho quá trìnhci tiến  
Phân tích (mô hình ca sdng)  
Qun lý cht lượng  
Ghi các kết quphân tích vào thẻ  
CRC  
Thiết kế  
Xem xét mã lnh  
Xem xét thiết kế  
Kim thử  
1.1  
Đánh giá  
Qun lý dán  
Đánh giá kích thước  
Đánh giá tài nguyên  
Lp kế hoach cho các nhim vụ  
Lp kế hoch làm vic  
2.0  
2.1  
Hình 1.1: Mô hình mc tăng trưởng ca CSP  
CSP cũng sdng mô hình mc “tăng trưởng” và có 6 mc. Các mc  
này được mô ttrong hình 1 và được định nghĩa dưới đây (phn 2.3.2). CSP  
bao gm 45 kch bn, định dng, mu biu, tiêu chun và danh sách kim tra.  
29  
Nhìn chung, chúng cũng được da trên PSP, nhưng được sa li cho đơn gin  
và chú ý đến sự điu khin và phân tích ca 1 cp lp trình viên. Thêm vào  
đó, CSP thay đổi nhiu thành phn ca PSP, đặc bit là trong giai đon phân  
tích và thiết kế. CSP cũng kết hp cht ch7 tp chthvà biu mu mt cách  
trc tiếp mà không thay đổi so vi PSP, CSP đưa ra mt chương trình làm  
vic cho cp cng tác để giúp tchc ca họ đạt được mt mc hoàn thin  
cao hơn.  
1.2.4. Định nghĩa quá trình cng tác phn mm  
1.2.4.1. CSP mc 0: Đim xut phát.  
a. CSP mc 0.0  
CSP mc 0.0 không áp đặt và gii thiu thêm bt kmt bước tiến trình  
nào; các ksư phn mm sdng tiến trình “tnhiên”. Hcó thda vào tài  
liu tiến trình, kế hoch, và các kch bn phát trin để thc hin các bước. Tuy  
nhiên, đây là các bước chung và bt knhà thiết kế phn mm nào cũng phi  
tuân theo. Chng hn các bước này là: 1) to ra mt thiết kế để nm bt các  
yêu cu; 2) thc thi theo thiết kế; 3) biên dch chương trình.  
Mc đích ca mc này là cung cp các đánh giá ban đầu, từ đó so sánh  
các kết qutrong các ci tiến quá trình tiếp theo. Do vy, chcn thêm mt  
tiến trình tnhiên để ghi li dliu vthi gian và li vtrong quá trình phát  
trin ca h. Nhng người thc hin phi ghi đúng tng thi gian mà hphi  
làm trong mi tiến trình phát trin và ghi li thông tin vcác li mà họ đã loi  
bỏ được trong các giai đon xem xét, dch và kim th.  
Kch bn cui cùng quy định vic hoàn thành kế hoch dán. Trước khi  
bt đầu phát trin, cp cng tác đưa ra dự đoán vtng thi gian phi làm để  
hoàn thin sn phm. Dliu vthi gian, vli đã ghi li được tng hp  
trong kế hoch dán để sdng trong phân tích tiến trình ca cp cng tác và  
để đưa ra các dự đoán trong tương lai. Vic sdng bng sddàng cho vic  

Tải về để xem bản đầy đủ

pdf 106 trang yennguyen 05/05/2025 100
Bạn đang xem 30 trang mẫu của tài liệu "Luận văn Ứng dụng lập trình linh hoạt trong quy trình cộng tác phần mềm", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfluan_van_ung_dung_lap_trinh_linh_hoat_trong_quy_trinh_cong_t.pdf