- 1 -
B GIÁO DC VÀ ĐÀO TO
ĐI HC ĐÀ NNG
VŨ GIA TRIU
XÂY DNG H THNG QUN LÝ D ÁN PHN MM
S DNG PHƯƠNG PHÁP LP TRÌNH LINH HOT
Chuyên ngành : KHOA HC MÁY TÍNH
Mã s : 60.48.01
TÓM TT LUN VĂN THC SĨ K THUT
Đà Nng - Năm 2012
- 2 -
Công trình ñưc hoàn thành ti
ĐI HC ĐÀ NNG
Ngưi hưng dn khoa hc: PGS.TS. Phan Huy Khánh
Phn bin 1: TS. Hunh Hu Hưng
Phn bin 2: TS. Nguyn Mu Hân
Lun văn ñưc bo v ti Hi ñng chm Lun văn
tt nghip thc sĩ k thut hp ti Đi hc Đà Nng vào ngày 04
tháng 03 năm 2012
Có th tìm hiu lun văn ti:
Trung tâm Thông tin - Hc liu, Đi hc Đà Nng
Trung tâm Hc liu, Đi hc Đà Nng
- 3 -
M ĐU
1. Lý do chn ñ tài
Hin nay các công ty phát trin phn mm ht sc quan tâm vic
phát trin nhanh sn phm, ñt ñưc tiêu chun quc t to ñưc
nim tin cho khách hàng. Vic xây dng mt phn mm theo phương
pháp truyn thng là khá xa ri khách hàng. T chc phn mm nhn
yêu cu xây dng, sau mt thi gian, giao cho khách hàng. Khách
hàng ch!ng bit v quá trình xây dng phn mm và h không th
tin ch"c r#ng, phn mm th ñưc xây dng thành công hay
không.
Lp trình linh hot (eXtreme Programming vit t"t XP) không
phi cách lp trình sao cho linh hot, mà là mt phương pháp phát
trin phn mm cho phép các d án ñưc hoàn thành nhanh chóng
vn ñm bo ñưc yêu cu v cht lưng d$ dàng trong vic
s%a ch&a, cp nht khi nh&ng yêu cu thay ñ i vào bt c giai ñon
nào c'a d án cho ñn khi d án kt thúc và sn phm ñưc giao cho
khách hàng. Đây mt phương pháp mi phù hp vi nh&ng công
ty làm gia công phn mm ho(c nh&ng d án nh) t* 10-20 ngưi.
Tt c các d án phn mm áp d+ng phương pháp nào ñi
n&a cũng cn mt h thng hay công c+ ñ qun lý. M-i h thng
qun phù hp vi mt phương pháp nht ñ.nh. Tôi ñang làm vic
trong mt công ty gia công phn mm / ñó tt c các d án ñu
dùng phương pháp lp trình linh hot. Nhưng ngưi ñng ñu d án
(Project Manager vit t"t là PM) luôn kh s/ vi vic ly yêu cu
khách hàng, phân loi công vic, giao nhim v+ cho thành viên, nhn
báo cáo hàng ngày, qun tài liu, qun thi gian. tt c
nh&ng vic này không th ñưc qun b/i các công c+ qun d
- 4 -
án phn mm cũ như Microsoft Project nht các công c+ qun
lý d án phn mm cũ không phù hp vi phương pháp lp trình linh
hot.
Microsoft Project mt phn mm qun d án rt ph bin.
Microsoft Project mt công c+ qun lý d án nói chung, th
ñưc dùng ñ qun lý d án nhà ñt nào ñó ñ chun b. cho vic xây
dng cao c, mt d án kinh doanh c'a mt công ty nào ñó, thm chí
mt bài phát biu mà bn chun b. thc hin cũng ñưc coi mt
d án nh&ng ñ(c ñim nht ñ.nh. Cho là d án nh) hay
ln, d án phn mm hay nh&ng d án khác ñu cn mt công c+
ñ qun ngun lc, thi gian chi phí. Nhưng Microsoft Project
không phù hp vi ñăc thù c'a sn xut phn mm mt cách linh
hot ngày nay. Chính vy vic xây dng mt h thng qun lý d
án phn mm linh hot là ht sc cn thit.
2. M c ñích nghiên c!u
Đ tài này nh#m m+c ñích:
Tìm hiu các vn ñ liên quan ñn phương pháp lp trình linh
hot
Xây dng mt h thng ñ qun các d án phn mm s% d+ng
phương pháp lp trình linh hot
3. Đ"i tư#ng và ph$m vi nghiên c!u
Đi tưng nghiên cu: các giá tr. các qui t"c c'a lp trình linh
hot. Cách thc t chc và qun lý d án phn mm.
Phm vi nghiên cu: da trên các tài liu, các h thng qun lý d
án phn mm, các gii pháp trong lp linh hot.
4. Phương pháp nghiên c!u
- 5 -
Nghiên cu tài liu: các tài liu v qun d án phn mm, các
tài liu v phương pháp lp trình linh hot, các i liu v phân tích
thit k hưng ñi tưng.
Nghiên cu thc nghim: phân tích ñánh giá phương pháp, xây
dng chương trình, kim th%, ñưa ra nhn xét và ñánh giá kt qu.
5. Ý nghĩa khoa hc và th'c tin c(a ñ tài
V m(t thuyt: t ng hp các khái nim liên quan ñn phương
pháp lp trình linh hot, ñ tài s0 xác ñ.nh ñưc kh năng ng d+ng
lp trình linh hot vào qui trình sn xut phn mm. cơ s/
thuyt ñ các công ty, các t chc phát trin phn mm áp d+ng.
V m(t thc ti$n: h thng mt công c+ hiu qu giúp cho PM
kim soát tt ñưc công vic, thi gian, chi phí, con ngưi. T* ñó
ñưc sn phm phn mm cht lưng cao, ñáp ng ñưc nhu cu c'a
khách hàng và c'a th. trưng
6. B" c c c(a lun văn
Báo cáo c'a lun văn ñưc t chc thành ba chương chính.
Chương 1: Cơ s/ lý thuyt
Chương 2: Phân tích và thit k h thng
Chương 3: Cài ñ(t th% nghim
- 6 -
CHƯƠNG 1
CƠ S LÝ THUY)T
1.1. TÌM HI*U PHƯƠNG PHÁP LP TRÌNH LINH HOT
1.1.1. Lp trình linh ho$t (XP) là gì? T$i sao s+ d ng XP?
Lp trình linh hot mt tp các giá tr., các quy t"c 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, phù hp ñ
phát trin c ng d+ng kích thưc v*a phi. Mt ñim ñ(c bit
c'a XP 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 n"m b"t ñưc các
thay ñ i, các yêu cu mi, làm gim chi phí ñ s%a ñ i h thng.
1.1.2. L,ch s+ phát tri-n c(a XP
1.1.3. Phát th.o mô hình XP
ng ñi c'a d án XP gm 5 giai ñon: kho sát (Exploration), lp
k hoch (Planning), l(p ñn giao (Interation to release), sn xuta
(productionizing), bo tri và kt thúc (Maintenance and Death)
Hình 1.1: Vòng ñ/i d' án XP
1.1.4. Các m c tiêu và giá tr, c(a XP
1.1.5. Các qui t0c và ho$t ñ1ng c(a XP
- 7 -
Phn hi thông tin
Tính ñơn gin
Đón nhn s thay ñi
Các hot ñng theo XP
Vit mã lnh
Kim th
Nhn ñnh các tác nhân ca h thng
Thit k
1.2. CÁC THÔNG L TRONG XP
1.2.1. T2ng quan v các thông l3 trong XP
XP gm 12 thông l, ñưc chia thành 4 nhóm, các bưc thc
hin này nhn ñưc t* các bưc thc hin tt nht ñưc ñưa ra trong
công ngh phn mm.
Nhóm các “thông l vi s phn hi thông tin liên tc gm:
lp trình theo c(p, lp k hoch thc hin, phát trin hưng vào vic
kim tra, làm vic theo nhóm
Nhóm các “thông l quá trình liên tc: kt hp thưng
xuyên, ci tin thit k, hoàn thin theo t*ng bưc nh)
Nhóm các “thông l thc hin vi s hiu bit chung ca
nhóm lp trình: tiêu chun hoá, s/ h&u chung lnh, thit k
ñưc làm ñơn gin, h thng trong sut
Nhóm các “thông lth hin li ích cho các lp trình viên: tc
ñ làm vic v*a phi
1.2.2. Các thông l3 trong XP
1.2.2.1. Tiêu chun mã hóa và s hu chung mã lnh
Tiêu chun hoá ñưc chp nhn da trên mt tp các lut,
toàn b nhóm phát trin ñng ý thc hin theo ñó trong c d án.
- 8 -
Tiêu chun hoá xác ñ.nh mt kiu mt ñ.nh dng thích hp
cho mã ngun, trong phm vi ngôn ng& lp trình ñã ñưc la chn.
Tiêu chun mã hoá có thcác quy ưc chun ñưc ch1 rõ b/i ngôn
ng& lp trình (ví d+: c quy uc v lnh ñi vi ngôn ng& lp
trình Java), ho(c ñưc la chn theo thói quen c'a nhóm phát trin.
S hu chung mã lnh
S/ h&u chung mã lnh nghĩa là mi ngưi ch.u trách nhim chung
v lnh ñưc to ra, mi ngưi trong nhóm lp trình ñu ñưc
phép s%a ñ i mt ñon lnh bt k hay b sung vào mt ñon mã
lnh mi. Hot ñng này ñưc ñưa ra b/i vic lp trình theo c(p.
1.2.2.2. S kt hp thưng xuyên, ci tin thit k
Nhóm phát trin nên luôn luôn làm vic trên phiên bn mi nht
c'a phn mm. T* các thành viên trong các nhóm khác nhau th
các phiên bn ñã lưu li nh&ng s%a ñ i ci tin khác nhau, h
c g"ng xem xét lnh trong phiên bn chương trình hin ti trong
thi gian khong vài gi ñng h, ho(c khi mt tín hiu l-i xut hin.
S kt hp thưng xuyên s0 tránh ñưc s chm tr$ sau chu k d
án, gây ra b/i ln kt hp.
Ci tin thit k
B/i XP ch1 'ng h vic lp trình cho nh&ng vn ñ cn thit /
thi ñim hin ti, vic thc hin vic ñó sao cho càng ñơn gin
càng tt. Đôi khi ñiu này s0 có kt qu ñi vi mt h thng ñang b.
ñình tr. Mt trong nh&ng ñiu ñáng chú ý c'a vn ñ này yêu cu
ñi vi vic bo trì: các s%a ñ i v chc năng ñòi h)i s%a ñ i nhiu
bn sao chép mã lnh. Mt vn ñ ñáng chú ý khác nh&ng s%a ñ i
trong mt phn c'a lnh nh hư/ng ñn nhiu thành phn khác.
XP cho r#ng khi xy ra ñiu này, h thng s0 cho bn thy ñ phân
- 9 -
tích li mã lnh b#ng cách s%a ñ i cu trúc, làm cho ñơn gin hơn
và ph d+ng hơn.
1.2.2.3. Thit k ñơn gin, các bưc hoàn thin nh
Các lp trình viên nên theo cách tip cn ñơn gin là tt nht” ñ
thc hin thit k phn mm. Bt c khi nào mt phn lnh mi
ñưc vit, lp trình viên nên t h)i mình “có cách nào ñơn gin hơn
vn cho kt qu tương t?”. Nu câu tr li có, thì cách thc ñơn
gin hơn nên ñưc la chn. Ci tin lnh (s0 ñưc trình bày /
phn sau) cũng nên ñưc s% d+ng, ñ làm cho lnh phc tp tr/
nên ñơn gin hơn.
Các bưc hoàn thin nh
Vic giao phn mm ñưc thc hin b/i các bưc ñưc quyt
ñ.nh t* trưc. K hoch t*ng bưc ñưc xác ñ.nh khi b"t ñu thc
hin d án. Thông thưng m-i bưc mt công ñon nh) c'a quá
trình phn mm, th chy không ph+ thuc vào các thành
phn s0 ñưc thc hin sau. Các bưc hoàn thin nh) m cho khách
hàng tin tư/ng vào li ích c'a s tin trin c'a d án.
1.2.2.4. Tc ñ làm vic va phi, h thng trong sut
tin ñ thc hin phù hp vi kh năng c'a lp trình viên.
Khái nim này cho bit các lp trình viên c nhà phát trin phn
mm không n làm vic hơn 40 gi mt tun. T* khi c chu k
phát trin là các chu k ng"n ñưc kt hp thưng xuyên, dn ñn
toàn b chu k phát trin thưng xuyên hơn, các d án trong XP
không tuân theo thi gian ñ(c bit nào mà các d án khác yêu cu. 3
ñây cũng ñ cp ñn vn ñ con ngưi s0 thc hin tt nht sáng
to nht nu ñưc ngh1 ngơi mt cách hp lý.
H thng trong sut
- 10 -
H thng trong sut mt khái nim, trong ñó các lp các
phương thc cn ñưc làm ñơn gin, sao cho các thành viên nhóm d
ñoán ñưc chc năng c'a mt lp hay mt phương thc ñ(c bit,
ch1 cn nhìn vào tên c'a nó.
1.2.2.5. Lp trình theo cp, làm vic theo nhóm
Làm vic theo nhóm
Trong XP, ngưi dùng không phi ngưi ch.u toàn b chi phí
xây dng h thng, nhưng thc s ngưi s% d+ng h thng. XP
cho r#ng, ngưi dùng nên quan tâm ñn vic xây dng h thng /
mi thi ñim luôn ñ(t sn các câu h)i. Trong trưng hp này,
nhóm pt trin mt h thng qun tài cnh n mt ngưi qun
i chính trong nhóm. Ngoài các “tng l” nêu trên, XP cũng ñưa ra các
k thut ci tin nh#m m tăng hiu qu c'a lnh có sn mà không
m thay ñ i m+c ñích chung c'a h thng. Các k thut ci tin mã lnh,
cho phép nhóm lp trình s% d+ng các b kim tra t ñng ñ tìm ra các
l-i và x% chúng mt cách hiu qu.
1.2.2.6. Lp k hoch d án
Quá trình lp k hoch cơ bn trong XP là lp k hoch d án.
Phn này s0 gii thích quá trình lp k hoch d án b#ng cách s%
d+ng các mô hình tin trình.
Quá trình lp k hoch ñưc chia làm 2 giai ñon:
Lp k hoch tng bưc
a. Giai ñon tìm hiu
b. Giai ñon chuyn giao
Lp li vic lp k hoch
a. Giai ñon tìm hiu
b. Giai ñon chuyn giao