View
218
Download
0
Category
Preview:
Citation preview
7/30/2019 BAO CAO TH CNPM
1/34
I HC N NGI HC BCH KHOA
KHOA CNG NGH THNG TIN
BO CO THC HNH
CNG NGH PHN MM
GVHD : L TH M HNH
SVTH : NGUYN TRNG LU 09T4
PHAN QUC HU 09T4
TRN C TRNH 09T4
NHM : 10A
Nng, thng 11 nm 2012
7/30/2019 BAO CAO TH CNPM
2/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
1 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
BI TP 1
bi: Cng ty IT quyt nh sn xut mt my tnh mi cung cp mt mi trngm phng cho cc h thng thi gian thc. Cng ty cn cc cng ngh v h iu hnh mi
sn xut my tnh. Phn mm h thng cung cp giao din gia h iu hnh v phncng cn phi c pht trin. Cng ty quyt nh s dng ngn ng lp trnh Java vitphn mm hthng. Tuy nhin, Java c mt shn chtrong lp trnh hthng. Nhm phttrin xc nh mt stnh nng mrng cn c tch hp thm vo chng trnh dch Java lp trnh h thng. c t yu cu c th thay i trong qu trnh pht trin d n. Ccthnh vin pht trin phn mm cho my tnh mi cn chng trnh dch Java bin dchphn mm. Hu ht cc yu cu ca phn mm u cn cc m rng ca chng trnh dchJava chy trn h iu hnh mi.
Hy xc nh m hnh pht trin phn mm ph hp pht trin my tnh mi. Yucu cc sinh vin chia nhm v tho lun.
M hnh la chn: M hnh xon c
I. Gii thiu m hnh xon c:
M hnh xon c, ban u do Boehm xut, l m hnh tin trnh phn mm tin hovn cp i bn cht lp ca lm bn mu vi cc kha cnh hthng v c kim sot ca mhnh trnh t tuyn tnh. N cung cp tim nng cho vic pht trin nhanh cc phinbn tng dn ca phn mm. Dng m hnh xon c ny, phn mm c pht trin thnh
tng chui cc ln a ra tng dn. Trong nhng ln lp u, vic a ra tng dn c th lm hnh trn giy hay bn mu. Trong cc ln lp sau, cc phin bn y tng dn ca hthng c k ngh ho s c to ra.
M hnh xon c c chia thnh mt s khun kh hot ng, cng cn c gil vng nhim v. V c bn, c t ba ti su vng:
1. Trao i vi khch hng - nhim v i hi thit lp vic trao i c hiu qu giangi pht trin v khch hng.2. Lp k hoch - nhim v i hi nh ngha cc ti nguyn, hn thi gian v cc
thng tin lin quan ti d n.3. Phn tch ri ro - nhim v i hi nh gi c nhng ri ro k thut v qun l4. K ngh - nhim v i hi xy dng mt hay nhiu biu din cho ng dng5. Xy dng v a ra - nhim v i hi xy dng, kim th, thit t v cung cps h tr cho ngi dng (nh ti liu v hun luyn)6. nh gi ca khnh hng - nhim v i hi thu c phn hi ca khch hngda trn nh gi v biu din phn mm c to ra trong giai on k ngh v c
7/30/2019 BAO CAO TH CNPM
3/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
2 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
ci t trong giai on ci t.Mi mt trong cc vng u c t vo mt tp cc nhim v, c gi l tp nhim
v, vn c thch ng vi cc c trng ca d n c tin hnh. Vi cc d nnh, s cc nhim v cng vic v tnh hnh thc ca chng l thp. Vi cc d nln, nhiu cng thng hn, th mi vng nhim vli cha nhiunhim vcng vic vnc xc nh t ti mc hnh thc cao hn. Trong mi trng hp, hot ng h tr(nh qun l cu hnh phn mm v m bo cht lng phn mm) s c p dng.
Khi tin trnh tin ho ny bt u, t k ngh phn mm i vng xon c theo chiungc kim ng h, bt u ttrung tm. Mch u tin quanh xonc c thlm pht sinhvic pht trin c tsn phm; cc bc tip theo quanh xonc c thc dng phttrin bn mu v th ri cc phin bn phc tp dn thm. Mi bc qua vng lp k hochli lm ny sinh vic iu chnh k hoch d n. Chi ph v lch biu c iu chnh datrn phn hi c suy t nh gi ca khch hng. Bn cnh , ngi qun l d n iuchnh svic lp lp k hoch cn hon chnh phn mm.
Khng ging nh m hnh tin trnh c in vn kt thc khi phn mm c chuyngiao, m hnh xon c c th c thch ng p dng trong ton b cuc i ca phnmm my tnh. Mt ci nhn khc c th c xem xt bng vic kim tra trc im vo dn, nh c v trong hnh trn. Mi hnh hp c t theo trc c th c dng biudin cho im bt u cho cc kiu d n khc nhau. "D n pht trin khi nim" bt uti ct li ca xon c v s tip tc (nhiu ln lp xut hin theo con ng xon c m vn
gn vi vng t m trung tm) cho ti khi vic pht trin khi nim l y . Nu khinim ny c pht trin thnh mt sn phm thc ti, th tin trnh tin qua hnh hp tip(im vo d n pht trin sn phm mi) v mt "d n pht trin mi" c khi u.Sn phm mi s tin ho qua mt s ln lp quanh xon c, i theo con ng vn gnvng c t mu sng hn vng li. V bn cht, xon c, khi c c trng theo cch ny,vn cn lm vic cho ti khi phn mm c cho ngh. C nhng lc tin trnh nyng, nhng bt k khi no mt thay i c khi u, th tin trnh ny li bt u ti
7/30/2019 BAO CAO TH CNPM
4/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
3 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
im vo thch hp (tc l nng cao sn phm).M hnh xon c l cch tip cn thc t cho vic pht trin cho cc h thng v phn
mm qui m ln. Bi v phn mm tin ho khi tin trnh tin ho, nn ngi pht trin vkhch hng hiu r hn v phnng vi ri ro ti tng mc tin ho. M hnh xonc dngcch lm bn mu nh mt c ch lm gim bt ri ro, nhng iu quan trng hn, lm chongi pht trin c kh nng p dng c cch tip cn lm bn mu ti mi giai ontrong tin ho ca sn phm. N duy tr cch tip cn tng bc mt cch c h thngdo cch tip cn vng i c in gi , nhng t hp cch tip cn ny vo mt khunkh lp li, vn phn nh c st thc hn th gii thc. M hnh xon c i hi vic xemxt trc tip cc ri ro k thut ti mi giai on ca dn, v nu c p dng ngth nc thlm gim ri ro trc khi chng trthnh vn thc s.
Nhng ging nh cc m hnh khc, m hnh xon c khng phi l mt liuthuc bch bnh. C th kh thuyt phc nhng khch hng (c bit trong tnh hung chp ng) rng cch tip cn tin ho l kim sot c. N i hi tri thc chuyn gia nhgi ri ro chnh xc v da trn tri thc chuyn gia ny m t c thnh cng. Nu mt riro chnh khng c pht hin v qun l th khng nghi ng g na vn s xut hin. Cuicng, chnh bn thn m hnh ny cng cn cha c s dng rng ri nh m hnhtrnh t tuyn tnh hoc lm bn mu. Cn phi c thm mt s nm na trc khi tnhhiu qu ca m hnh quan trng ny c th c xc nh vi s chc chn hon ton.
u im: M hnh xon c l mt trong nhng m hnh linh hot nht ca vng i pht trin
phn mm. Cc giai on pht trin phn mm c th c xc nh bi ngi qunl d n, theo s phc tp ca d n. Dn c gimst mt cch ddng v hiu qu. Mi giai on l nhng vng lp
c chia ra mt cch r rng. M hnh xon c hng n s phn tch ri ro trong tng giai on pht trin
phn mm. S thay i ca phn mm c th c kim sot v gii quyt trong tng giai on. Ph hp vi cc d n c nhiu thay i, mi trng lm vic khng n nh.
Nhc im: Chi ph p dng m hnh xon c thng rt cao. M hnh xon c phc tp v kh p dng. i hi nng lc lnh o ca ngi qun l d n v nng lc ca nhm d n cao. S thay i t pha khch hang nn nhng bn mu thng khng c s dng
trong sn phm tht.
7/30/2019 BAO CAO TH CNPM
5/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
4 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
Vic d tr kinh ph kh khn. Ti liu c tphc tp, do phi chnh sa qua tng giai on khc nhau. Khng ph hp cc d n c ri ro thp.
II. Phn tch bi ton:
Bi ton t ra, cng ty IT quyt nh xy dng mt my tnh mi vi cng ngh v hiu hnh mi. Phn mm h thng c pht trin bng ngng ng Java. Tuy nhin, Java cnhiu hn ch v lp trnh h thng, nhm pht trin cn tch hp mt s tnh nng m rngcho chng trnh dch Java. Cc c t yu cu c th thay i trong qu trnh pht trin dn. Hu ht cc yu cu ca phn mm u cn cc m rng ca chng trnh dch Java chy trn hiu hnh mi.
Qua nhng yu cu trn ca bi ton, xy dng mt h iu hnh v p dng cng nghmi vo h thng my tnh mi, y l mt d n vi quy m ln. Trc tin, h thng cn
tch hp b sung mt s tnh nng cho chng trnh dch ca Java, sau mi c th xydng c cc phn mm h thng v phn mm ng dng khc. Cc tnh nng tch hp nycha c xc nh r rng m d thay i b sung trong qu trnh pht trin d n. Nhvy, vic la chn m hnh xonc pht trin dn ny l ph hp.
Th nht, d n ca bi ton t ra c quy m ln v tnh ri ro cao, nhng yu cu caphn mm h thng cha c xc nh r ngay t khi pht trin d n, m c thay itrong qu trnh pht trin d n. Khng ging nh m hnh tng trng, cc thay i cnguy c dn n s sp ton b h thng do kin trc h thng khng r rng m cthay i qua tng giai on, m hnh xon c tp trung trc tin vo vic nghin cu tnh
ri ro ca tng giai on pht trin. Vi mi giai on pht trin, nhim v u tin canhm d n, phi xc nh tnh ri ro ca tnh nng c tch hp vo chng trnh dchJava nh th no ? Liu c dn n hu qu ln n ton b h thng ? T nhng phn tchri ro ban u cng vi nh gi vic tch hp t nhng giai on trc, ngi qun l dn v nhm pht trin d n s iu chnh v quyt nh thch hp.
Th hai, d n s c pht trin qua tng giai on, vi mi giai on, nhm d n stch hp dn dn cc tnh nng vo chng trnh dch Java, tha mn cc yu cu canhm pht trin phn mm ng dng v h thng. Nhm d n c th s dng bn mu xc nh r hn cc yu cu ca tnh nng cn thm vo. Nh vy h thng s c hon
thin qua tng giai on, cng vi phn tch ri ro, hthng m bo c tnh kin trc.Thba, vic qun l dn sddngv hiu quhn, do sphn chia r rng ca tnggiai on pht trin h thng. Ngi qun l s nm r tng giai on, cng nh nh ng thayi c t xut hin trong giai on . Nu thay i c xut hin, ngi qun l v nhmd n s gii quyt c vn da trn kin trc ca h thng nhng giai on trc .Qua vic nh gi ri ro cng vi s qun l d dng, ngi qun l bit r cn phi quay tr
7/30/2019 BAO CAO TH CNPM
6/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
5 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
li giai on no mt cch chnh xc nu vic tch hp s thay i l khng th giai onhin ti.
Tnhng yu ttrn, vic la chn m hnh xonc l ng n, m bo vn kin trcca h thng khi tch hp thm cc tnh nng vo.
BI TP 2
NGHIN CU KH THI FEASIBILITY STUDY
Khi no chng ta cn dng mt d n khng tt ? Sau mt cuc kho st v 8000 d n
IT, Standish Group bo co rng khong 30% tng sdn bhy b("Charting the Seasof Information Technology," Dennis, MA: The Standish Group, 1994). Capers Jones bo corng trung bnh d n c hy b M sau mt nm so vi k hoch v chi ph vtkhong 200% so vi dkin ti thi im dn buc phi dng li (Assessment and Controlof Software Risks, Englewood Cliffs, N.J.: Yourdon Press, 1994). Jones c tnh s tin b racho cc dn bhy ln n 15% tng stin U.S bra pht trin phn mm, con snyln n 14 triu $ mi nm, iu ny qu tht ht sc lng ph.
Mc d nhng thng k trn chra mt cch chn thc,nhng vichy bmt dnqu tht l iu kh khn, tuy nhin nu vic dng d n xy ra qu tr s dn n nhng
lng ph hn na. Do , m gim ti thiu s tin cn cho cc cng vic cn thit, ngay tnhng bc u ca vng i pht trin phn mm (Software Development Life Cycle:SDLC) cn phi xc nh d n c tip tc hay buc phi dng li.Press Cancel to Exit or OK to Continue
Lm th no hy b mt d n phn mm sm ? Chng ta cn tin hnh cc nghincu kh thi sm trong d n xc nh quy m d n l hon ton kh thi. Trc tin,nhm d n chun b cc ti liu lin quan n vic nghin cu kh thi. Cc kt qu canghin cu kh thi l mt nh gi tnh kh thi, m ti cc nhm d n, khch hng v
qun l d n quyt nh tip tc hoc dng d n li. Vic xem xt tnh kh thi thngc quyt nh thng qua mt bui hp hoc i khi ch d vo s quyt nh ca mt cnhn da trn nhng ti liu nghin cu kh thi. Cc thng tin cn thit h tr cho xem xttnh khthic thc a ra sau khi dn hon thnh khong 10-20%.
Nghin cu kh thi l mt hot ng thi gian-th nhim (time-tested practice), nhngn khng c s dng nhiu. Mt cuc kho st ca KPMG cho thy rng 84% cc cng ty
7/30/2019 BAO CAO TH CNPM
7/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
6 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
c dn runaway(vt ra khi kim sot) c xut s dng nghin cu kh thi nhl mt phng tin ngn nga cc vn trong tng lai ("Runaway ProjectsCause andEffect," Software World, vol. 26, no. 3, 1995). Cuc kho st ny cho thy rng cc cng ty khng thc hin phn tch kh thi trong cc d n runaway ca h.
Mt l do m nghin cu kh thi khng c s dng thng xuyn l do s hiu sai vthut ng nghin cu kh thi. Thut ng nghin cu kh thi gi ln cu hi v tnh khthi kthut, v i vi nhng ngi thuc nhm dn l nhng chuyn gia vngn nglptrnh no trn mt h thng my tnh ch o, th nhng cu hi v tnh kh thi k thutkhng th xut hin trong u ca h. Nu nh chng ti bit v tnh kh thi v mt kthut ca d n th ti sao chng ti cn phi tin hnh nghin cu kh thi ?.
i vi mt vi d n, tnh kh thi k thut l mt mi quan tm ng k: liu c kh thikhi xy dng mt Star War phng chng tn la ? C kh thi v mt k thut khi xy dngmt ngn ng t nhin ting Anh phin dch ting Php ? i vi nhiu d n, tnh khthi k thut khng phi l mi quan tm chnh, m cn phi xem xt n cc vn phi kthut: tng chi ph cn hon thnh d n, thi gian ca d n, kh nng chi tr ca cngty, phn mm s c s dng nh th no sau khi hon thnh
Trong giai on nghin cu kh thi, chng ta tp trung vo bn lnh vc quan tm chnh:1. Kh thi v kinh t: chi ph pht trin cn phi cn xng vi li ch m h thng c
xy dng em li. Tnh kh thi v kinh t th hin trn cc ni dung sau:- Kh nng ti chnh ca t chc cho php thc hin d n.- Li ch m d n pht trin h thng mang li b p chi ph phi b ra xy
dng n.- T chc chp nhn c nhng chi ph thng xuyn khi h thng hot ngMt thut nghaydng chti liu nghin cu khthi vkinh tl lun chng
kinh t. Lun chng kinh t ni chung c coi nh nn tng cho hu ht cc hthng (cc ngoi l l h thng quc phng, h thng lut, cc h thng phc v chocc nghin cu c bit). Lun chng kinh t bao gm:- cc mi quan tm, nht l phn tch chi ph/li ch- chin lc pht trin di hn ca cng ty- s nh hng ti cc sn phm li nhun khc
- chi ph cho ti nguyn cn cho vic xy dng v pht trin th trng tim nng2. Kh thi v k thut: kho cu v chc nng, hiu sut v rng buc c th nh hngti kh nng t ti mt h thng chp nhn c. Ni cch khc, kh thi k thut lxem xt kh nng k thut hin ti c m bo thc hin gii php cng ngh dnh p dnghay khng.
Kh thi k thut thng l lnh vc kh thm nhp nht ti giai on phn tch.iu thc cht l tin trnh phn tch v xc nh nhu cu cn c tin hnh song
7/30/2019 BAO CAO TH CNPM
8/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
7 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
song vi vic xc nhn tnh kh thi k thut. Cc xem xt thng c gn vi tnhkhthi kthut bao gm:- Ri ro xy dng: liu cc phn t h thng c th c thit k sao cho t c
chc nng v hiu sut cn thit tha mn nhng rng buc trong khi phn tch
khng?- C sn ti nguyn: c sn cc nhn vin cho vic xy dng phn t h thng angxt khng? Cc ti nguyn cn thit khc (phn cng v phn mm) c sn chovic xy dng h thng khng ?
- Cng ngh: cng ngh lin quan t ti trng thi sn sng h tr cho h thngcha?
3. Kh thi v php l: nghin cu v a ra phn quyt v c hay khng s xm phm, viphm php lut hay kh khn php l t vic xy dng v vn hnh h thng. Tnhkh thi php l bao gm mt phm vi rng cc mi quan tm k c hp ng, nghav php l, s vi phm v v s cc by php l khc m thng l cc nhn vin kthut khng bit ti. Trong nc, vn kh thi v php l vn cha c coi trngmt cch ng mc mc d c mt s lut lin quan n CNTT v bo h bnquyn.
4. Kh thi v hot ng: nh gi tnh kh thi ca vic vn hnh h thng. Trong miphng n ngi ta cn xem xt hthng c thvn hnh tri chy hay khng trongkhun kh t chc v iu kin qun l m t chc (ngi dng, khch hng) c.Mc cc phng n c xem xt ti trong nghin cu kh thi thng b gii hnbi cc rng buc v chi ph v thi gian.
Trong qu trnh nghin cu kh thi
Trong qu trnh nghin cu kh thi, nhm d n phi to ra cc ti liu sau y:- Tha thun r rng vi nhng quyt nh quan trng ca nh sn xut hoc nh
iu hnhvi khch hng- Tm nhn ca d n- Chin lc kinh doanh phn mm- ng lc ban u v mc tiu t ra- ng lc hin ti v d ton k hoch- Danh sch cc ri ro v k hoch gii quyt tng ri ro- Chi tit giao din ngi dng mu th, nu h thng yu cu mt giao din c th- Yu cu v k thut- K hoch m bo cht lng phn mm- Chi tit k hoch pht trin phn mm
Cc ti liu ch ra mt hoc mt s mi nguy him i vi d n. Yu cu khng r rng,thiu ngun ti tr, lp k hoch khng ph hp l nhng nguyn nhn chnh dn n s
7/30/2019 BAO CAO TH CNPM
9/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
8 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
tht bi ca dn c chra bi kho st caStandish Group.Nu nhm dn khng chun by cc ti liu ny cho nghin cu khthi, th khng
nn t chc cuc hp nh gi v bn khng c thng tin xc nh tnh kh thi ca dn.
Thi gian cn thit hon thnh cc ti liu nghin cu kh thi ph thuc ch yu vobao nhiu cng vic l cn thit xc nh cc yu cu ca phn mm. Nu ngi dng bitchnh xc hcn nhng gphn mm, giai on nyc thchtn 10% tng thi gian calch trnh pht trin phn mm.Trong nhiu trng hp in hnh khc, qu trnh ny c thmt t 10-20%. Mt s trng hp khc, khch hng thm ch khng bit ci hc mun l g,nh vy nhm dn phi gip ngidng tm ra nhng g hmun, v nh vy thi gianbrac thln n 25% hoc nhiu hn.Vic xem xt tnh kh thi nn tp trung vo cc cu hi sau:
- Khi nim sn phm l kh thi ?- Liu c sn xut c mt sn phm nh tm nhn ban u ?- c tnh chi ph hin ti v chi ph mc tiu hon thnh sn phm ?- Chi ph ban u, chi ph mc tiu t ra v chi ph hin ti chnh lch nh th no?- Chin lc kinh doanh ca phn mm l hp l khi kinh ph hin ti v d ton k
hoch c xem xt?- Khi cc nguy c chnh i vi d n c xc nh v h c th khc phc ?- Yu cu c im k thut y v n nh, h tr cng tc pht trin cn
li ?- Ngi s dng v cc nh pht trin c th ng v mt mu th nghim giaodin ngi dng chi tit ? Nu khng, cc yu cu c thc s n nh?- K hoch pht trin phn mm hon chnh v y h tr cng vic pht
trin hn na?Cng vic ny c thc hin trong thi gian 10-20% u tin ca d n nn tr
li nhng cu hi ny. T , khch hng hoc qun l d n c y thng tin quytnh c tip tc phn cn li ca d n.Cc li ch chnh ca nghin cu kh thi
Quyt nh hy d n vo mt giai on nghin cu kh thi v mt giai on chnh phttrin gip cc cng ty phn mm t nht ba li ch.
Th nht, mt s ngi xem bt k d n b hy b nh mt s tht bi, nhng mt dn b hy b ti thi im hon thnh 10-20% nn c coi l mt s thnh cng. Hy bmt d n sau khi n hon thnh 10-20% thay v 80-90% (hoc nh Jones ch ra, 200%),
7/30/2019 BAO CAO TH CNPM
10/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
9 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
vic hy b sm s gip cng ty tit kim rt nhiu chi ph v dnh thi gian kho st cc dn tim nng khc.
Th hai, nghin cu kh thi gip cho ngi qun l d n a ra cc yu cu ti tr chnhxc hn mc trung bnh. u tin qun l d n yu cu ti tr cho hot ng nghin cukh thi, tc l 10-20% u tin ca d n c hon thnh. Sau khi cc ti liu nghin cukh thi c xem xt v nhng ngi ti tr cho d n a ra quyt nh go, ngi qunl d n yu cu kinh ph ti tr cho cc phn cn li ca sn phm. Ti thi im ny, vnc th xy ra nhng s thay i v chi ph d n, nhng cng vic thm d s gim kh nngbin i ny.
Cui cng, s yu cu ngi qun l d n hon thnh 10-20% ca mt d n trc khiyu cu ti trcho phn cn li ca dn, iu ny buc nhm dn phi lm vic mt cchnghim tc v tp trung vo nhng cng vic ban u m bo s thnh cng ca d n.Nhng hot ng ny thng c lm qua loa hoc bqua, v nhng hu qutai hi strnn r rng vo cc giai on cui ca d n. Nu i d n c yu cu hon thnh cccng vic ban u quan trng trc khi tip tc d n, th ri ro tng th c th c gimmt cch ng k.
BITP3
bi:
Cu 3.1 Hy c t bi iu kin trc v sau cc hm:
a. Sp xp mt danh sch cc s nguyn.b. o ngc cc phn t ca mt danh schc.m s phn t c gi tr e trong mt danh sch cc s nguyn
Cu 3.2 Hy c t cc kiu tru tng:a. c t kiu tru tng cy nh phnb. c t kiu tru tng tp hp
Cu 3.3 Hy s dng ngn ng Z c t mt s h thng qun l:
a. Qun l thng tin on vin n gin c mt s tnh nng nh: thm, xa, chnhsa mt on vin, tm kim (theo nhiu tiu ch khc nhau)b. Qun l th vin n gin gm mt stnh nng nh qun l thm, sa, xa c
gi; thm, sa, xa sch; qun l vic thu mn sch,.
7/30/2019 BAO CAO TH CNPM
11/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
10 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
Bi gii:
Cu 3.1 Hy c t bi iu kin trc v sau cc hm:a.Sp xp mt danh sch cc s nguyn
Funtion_sort ( a : danh sch kiu s nguynsize : s phn t ca danh sch)
Post_condition:i,1
7/30/2019 BAO CAO TH CNPM
12/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
11 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
Cu 3.2 Hy c t cc kiu tru tng:a.c t kiu tru tng cy nh phn
Sort BinTree(T)Import : T, BooleanOperation
init : Bintree(T)isEmpty : Bintree(T) Booleancreate : T x BinTree(T) x BinTree(T) BinTree(T)root: BinTree(T)T
left : BinTree(T) BinTree(T)right : BinTree(T) BinTree(T)isLeaf : BinTree(T) BooleaninsertNode: BinTree(T) x TBinTree(T)searchNode: BinTree(T) x TBooleandeleteNode: BinTree(T) x TBinTree(T)deleteTree: BinTree(T)BinTree(T)
AxiomsisEmpty (init) = trueisEmpty(deleteTree(L)) = falseisEmpty (create(O,L,R)) = falseroot (create(O,L,R))) = Oleft (create(O,L,R))) = Lright (create(O,L,R))) = RisLeaf(O) = if ( isEmpty(left(O)) isEmpty(right(O)) ) true
else falseisEmpty(insertNode(init,O)) = falsesearchNode(insertNode(L,O)) = true
7/30/2019 BAO CAO TH CNPM
13/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
12 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
searchNode(deleteNode(L,O)) = falseWith: O: T; L,R: BinTree(T)
b. c t kiu tru tng tp hp
Sort Set(T)Import: T, Integer , BooleanOperations
init : Set(T)isEmpty : Set(T) Booleaninsert : Set(T) x T Set(T)delete : Set(T) x T Set(T)
in : Set(T) x T Booleanunion :Set(T)xSet(T)Set(T)intersection :Set(T)xSet(T)Set(T)count : Set(T) Integer
AxiomsisEmpty (init) = truecount(init) = 0
isEmpty (insert(init,e)) = falseisEmpty (delete(insert(init,e),e)) = truein(insert(S,e),e) = truecount (insert(S,e) )= if in(S,e)count(S)
else count(S)+1in(delete(S,e),e) = falsecount(delete(S,e)) = if in(S,e) count(S)-1
else count(S)in(union(S1,S2),e) =in(S1,e)in(S2,e)In(intersection(S1,S2),e) =in(S1,e)in(S2,e)
With:S,S1,S2: Set(T); e: T
7/30/2019 BAO CAO TH CNPM
14/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
13 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
Cu 3.3
a.Qun l thng tin on vin n gin c mt s tnh nng nh: thm, xa, chnh sa mton vin, tm kim (theo nhiu tiu ch khc nhau)+ Sdng kiu c bn
UnionMember, AgeOfUnion+ cttrng thi hthng (mi ngi on vin chc 1 tui on duy nht)UnionBook
Ubook: UnionMember AgeOfUnion
+ Khi to h thngInitUbook
UnionBook
Ubook= {}
+ Thm 1 on vin vo h thng
AddUnionBookName? : UnionMember
Age? : AgeOfUnion
Name? dom(Ubook)Ubook = Ubook {Name? Age?}
-
Trng hp Add thnh cngAddReply == OK|ERROR
7/30/2019 BAO CAO TH CNPM
15/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
14 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
SuccessAdd
Reply! : AddReply
Reply! = OK
- Trng hp Add liBadAdd
UnionBookName? : UnionMember
Age? : AgeOfUnionReply! : AddReply
Name
? dom
(Ubook
)Reply! = ERROR
- Khi:ResultAdd==(AddSuccessAdd)BadAdd
+ Xa 1 on vin ra khi h thngRemove
UnionBookName? : UnionMemberAge? : AgeOfUnion
Name? dom(Ubook)Ubook = Ubook {Name? Age?}
- Trng hp xa thnh cngRemoveReply == OK|ERROR
SuccessRemoveReply! : RemoveReply
Reply! = OK
- Trng hp xa li
7/30/2019 BAO CAO TH CNPM
16/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
15 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
BadRemove
UnionBookName? : UnionMember
Age? : AgeOfUnionReply
! :RemoveReply
Name? dom(Ubook)Reply! = ERROR
khi:ResultRemove==(RemoveSuccessRemove)BadRemove
M rng: Xa cc on vin ng vi 1 tp tn
RemoveNames UnionMemberName? : UnionMember
Ubook = Name? Ubook
+ Chnh sa tui onUpdate
UnionBookName? : UnionMember
Age? : AgeOfUnion
Name? dom(Ubook)Ubook = Ubook {Name? Age?}
- Trng hp chnh sa thnh cngUpdateReply == OK|ERROR
7/30/2019 BAO CAO TH CNPM
17/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
16 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
SuccessUpdate
Reply! : UpdateReply
Reply! = OK
- Trng hp chnh sa liBadUpdate
UnionBookName? : UnionMember
Age? : AgeOfUnionReply! : UpdateReply
Name
? dom
(Ubook
)Reply! = ERROR
Khi:ResultUpdate==(UpdateSuccessUpdate)BadUpdate
+ Tm kim- Tm tui on ca 1 ngi
LookupAge
UnionBookName? : UnionMember
Age! : AgeOfUnion
Name? dom(Ubook)Age! = Ubook(Name?)
. Trng hp tm thnh cngLookupAgeReply == OK|ERROR
7/30/2019 BAO CAO TH CNPM
18/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
17 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
SuccessLookupAge
Reply! : LookupAgeReply
Reply! = OK
. Trng hp tm liBadLookupAge
UnionBookName? : UnionMember
Age? : AgeOfUnionReply! : LookupAgeReply
Name? dom(Ubook)Reply! = ERROR
Khi : ResultLookupAge == (LookupAge SuccessLookupAge)BadLookupAge
- Tm nhng on vin c cng tui onLookupNames
UnionBookAge? : AgeOfUnionName! : UnionMember
Name! : {p : UnionMember| p dom(Ubook) Ubook(p) = Age?}
. Trng hp tm thnh cngLookupNamesReply == OK|ERROR
SuccessLookupNamesReply! : LookupNamesReply
Reply! : OK
7/30/2019 BAO CAO TH CNPM
19/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
18 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
.Trng hp tm liBadLookupNames
UnionBookAge? : AgeOfUnionReply! :LookupNamesReply
Age? ran(Ubook)Reply! = ERROR
b. Qun l th vin n gin gm mt stnh nng nh qun l thm, sa, xa c gi;thm, sa, xa sch; qun l vic thu mn sch.
Qun l c gi+ Sdng kiu c bn Readers, IdReaders
+ c t trng thi h thngReadersList
RList: Readers IdReaders
+ Khi to h thngInitList1ReadersList
RList= {}
+ Thm c gi
7/30/2019 BAO CAO TH CNPM
20/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
19 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
AddReader
ReadersListName? : ReadersId1? : IdReaders
Name? dom(RList)RList = RList {Name? Id1?}
+ Xa c giRemoveReader
ReadersListName? : Readers
Id1? : IdReadersName? dom(RList)RList = RList {Name? Id1?}
+ Sa m c giUpdateReader
ReadersListName? : ReadersId1? : IdReaders
Name? dom(RList)RList = RList {Name? Id1? }
Qun l sch+ Sdng kiu c bn
Books, IdBooks+ c t h thng trng thiBooksList
BList: Books IdBooks
7/30/2019 BAO CAO TH CNPM
21/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
20 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
+Khi to h thngInitList2BooksList
BList= {}
+ Thm mt cun schAddBook
BooksListTitle? : BooksId2? : IdBooks
Title? dom(BList)BList = BList {Title? Id2?}
+Xa mt cun schRemoveBook
BooksListTitle? : BooksId
2? :IdBooks
Title? dom(BList)BList = BList {Title? Id2?}
+ Sa Id mt quyn schUpdateBooks
BookListTitle
? :Books
Id2? : IdBooks
Title? dom(BList)BList = BList {Title? Id2?}
7/30/2019 BAO CAO TH CNPM
22/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
21 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
Qun l vic thu mn schCount
Dem : N
0
7/30/2019 BAO CAO TH CNPM
23/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
22 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
InitNumber
Number
Nb = {}
+ Mn sch- Mn sch ln u
Borrow1LibraryNumberId1? : IdReadersId2? : IdBooksDem? : Count
Dem? = 0Dem? = Dem? + 1Lib = Lib {Id1? Id2?}Nb = Nb {Id1? Dem?}
- Mn sch ln sauBorrow2LibraryNumberId1? : IdReadersId2? : IdBooksDem? : Count
Dem? < 5Lib = Lib {Id1? Id2?}Dem? = Dem? + 1Nb = Nb {Id1? Dem?}
- Trng hp mn thnh cngBorrowReply == OK|ERROR
7/30/2019 BAO CAO TH CNPM
24/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
23 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
SuccessBorrow
Repy! : BorrowReply
Reply! = OK
- Trng hp mn liBadBorrow
LibraryNumberDem? : CountReply! : BorrowReply
Dem
? = 5Reply! = ERROR
Khi :ResultBorrow == ((Borrow1Borrow2)SuccessBorrow)BadBorrow
+ Tr schPay1LibraryNumberId1? : IdReadersId2? : IdBooksDem? : Count
Dem? > 1Dem? = Dem? 1Lib = Lib { Id1? Id2?}Nb = Nb {Id1? Dem?}
7/30/2019 BAO CAO TH CNPM
25/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
24 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
Pay2LibraryNumberId1? : IdReadersId
2? :IdBooks
Dem? : Count
Dem? = 1Dem? = Dem? 1Lib = Lib { Id1? Id2?}Nb = Nb {Id1? Dem?}
+ Trng hp tr thnh cngPayReply == OK| ERROR
SuccessPay
Reply! : PayReply
Reply! = OK
+ Trng hp trliBadPay
LibraryNumberId1? : IdReadersId2? : IdBooksDem? : CountReply! : PayReply
Id
1? dom
(Lib
) Id
2? ran(Lib
) Dem? = 0Reply! = ERROR
Khi : ResultPay == ((Pay1 Pay2)SuccessPay)BadPay
7/30/2019 BAO CAO TH CNPM
26/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
25 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
BI TP 4
bi:
Cu 4.1 Mt chng trnh thng k phn tch mt tp cha tn v im ca sinhvin trong mt nm hc. Tp ny cha nhiu nht 100 trng. Mi trng cha tnca mi sinh vin (20 k t), giitnh (1 k t) v im ca 5 mn hc (t0 n 10).Mc ch chng trnh:- tnh im trung bnh mi sinh vin- tnh im trung bnh chung (theo gii tnh v theo mn hc)- tnh s sinh vin ln lp (im trung bnh trn 5)Xy dng tp d liu th cho chng trnh trn bi k thut kim th gi tr bin.
Cu 4.2
Mt chng trnh dch, trong c cu lnh FOR, c t cu lnh FOR nhsau: Lnh FOR ch chp nhn mt tham s duy nht l bin m. Tn bin khngc sdng qu hai k tkhc rng. Sau k hiu= l cn di v cn trn ca binm. Cc cn trn v cn di l cc s nguyn dng v c t gia t kha TO.Xy dng d liu th kim th cu lnh FOR theo k thut kim th lp tngng.
Cu 4.3 Xy dng d liu th tha mn tiu chun ph tt c cc l trnh cachng trnh sau:
int pat (char[] subject, char[] pattern)
{ // Post: if pattern is not a substring
of subject, return -1
// else return (zero-based) index where
the pattern (first)
// starts in subject
final int NOTFOUND = -1;
int iSub = 0, rtnIndex = NOTFOUND;
boolean isPat = false;
int subjectLen = subject.length;
int patternLen = pattern.length;
while (isPat == false && iSub +
patternLen - 1 < subjectLen){
if (subject [iSub] == pattern [0]){
rtnIndex = iSub; // Starting at zero
isPat = true;
for (int iPat = 1; iPat < patternLen;
iPat ++) {
7/30/2019 BAO CAO TH CNPM
27/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
26 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
Bi gii:
Cu 4.1
a.Tnh im trung bnh ca sinh vin
u vo: d liu gm tn sinh vin, gii tnh, v bng im gm 5 mn u ra: im trung bnh mn ca mi sinh vin. D liu cn kim th :
Tn sinh vin: chui 20 k t l ng im tng mn: thuc khong [010] l ng.
Xt cc trng hp sau:
Kim tra tn:- Tn sai: kt quli.- Tn ng: chuyn sang kim tra im.
Kim tra im:- im sai: im mt trong 5 mn thuc vo trng hp khng hp l th kt
qu tr v l sai.- im ng: im tng ng c 5 mn l ng th kt qutrvng.
Gi tr kim th cho tn sinh vin v im nh sau:
Tn sinh vin:- 19 k t- 20 k t- 21 k t
im:- -1- 0- 1- 9- 10-
11Xt cc trng hp kim tra:
- Tn sai (khc 20 k t) th mi gi tr im u cho kt qu khng hp l.- Tn ng (20 k t), nu mt mn c gi tr im sai m th kt qu tr v khng
hp l.
7/30/2019 BAO CAO TH CNPM
28/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
27 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
- Tn ng (20 k t) v im 5 mn u thuc min hp l th kt qu hp l.Ch : Ta chxt im mt mn, chcn vic nhp im mt mn c gi trkhng thuckhong [0,10] th kt qudn n skhng tha mn. Bng dliu thly Mn 1 lm idin:
Bng d liu th tng ng:
Trng hp Tn sinh vin Mn 11 20 k t -12 20 k t 03 20 k t 1
4 20 k t 95 20 k t 106 20 k t 117 19 k t 58 21 k t 5
b. Tnh im trung bnh chung (theo gii tnh v theo mn hc) Theo gii tnh:
Xt cc trng hp:- Gii tnh nhp ng v im 5 mn nhp ng: kt qu hp l.- Gii tnh nhp ng v im t nht mt mn nhp sai: kt qu tr v sai.- Gii tnh nhp sai: kt qu sai.- Gii tnh u vo l mt k t v vy gi tr bin cn xt l: 0, 1, 2 k t:- im tng t cu a, im hp l nu trong khong 0 10. Vi phng php
phn tch gi tr bin th cc trng hp kim th tng ng cho cc mn l : -1, 0, 1, 6, 9, 10, 11.V d: Vi 5 mn hc th ta ch xt mt trng hp mt mn l mn Mn 1 ng
vi cc trng hp kim th, cc mn cn li c gi tri im hp l, c bng dliuth:
7/30/2019 BAO CAO TH CNPM
29/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
28 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
Trng hp Gii tnh Mn 11 1 k t -12 1 k t 0
3 1 k t 14 1 k t 65 0 k t 56 2 k t 5
Theo mn hc:
Xt cc trng hp:Tnh im trung bnh theo tng mn hc th c hai tr ng hp kim th(ta chxt mt mn hc v trung bnh cho hai sinh vin)
Gi s ta tnh c im trung bnh ca tng mn, khi im trung bnh tngmn l thuc [0,10], vy im trung bnh tng mn sc hai trng hp:
- im trung bnh thuc [0,10] l trng hp hp l.- im trung bnh tnh c khng thuc [0,10] l khng hp l.Vi vic phn tch gi tr bin, ta xt cc trng hp kim th vi im trung bnh
tng ng vi tng mn hc l nhng gi tr: -1,0,1,6,9,10,11 ;V d d liu th tng ng vi im trung bnh Mn 1 ca hai sinh vin 1 v 2:
Trng hp SV1: im mn 1 SV2: im mn 11 -1 52 0 63 1 74 9 9
5 10 96 11 9
c.Tnh s sinh vin ln lp (im trung bnh trn 5)
7/30/2019 BAO CAO TH CNPM
30/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
29 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
u vo l im trung bnh ca sinh vin.Gischng trnh cho kt qu im trung bnh ca sinh vin.Cc trng hp m bi ton c th xy ra:
- im trung bnh nh hn 5 nhng ln lp-
im trung bnh ln hn 5 nhng khng ln lp.B d liu th:Vi vic phn tch nh trn ta c th xy dng b d liu kim th cho bi ton theo
phng php phn tch gi tr bin nh sau: Tn sinh vin: gi tr th: 19, 20, 21 k t. Gii tnh: gi tr th: 0, 1, 2 k t. imng vi mt mn hc: gi trth:-1,0,1,9,10,11.
Tn sinh vin Gii tnh Mn 1 Mn 2 Mn 3 Mn 4 Mn 5 Kt qu
19 k t ..... ..... ..... ..... ..... ..... Khng hp l21 k t ..... ..... ..... ..... ..... ..... Khng hp l20 k t 0 k t ..... ..... ..... ..... ..... Khng hp l20 k t 2 k t ..... ..... ..... ..... ..... Khng hp l20 k t 1 k t -1 ..... ..... ..... ..... Khng hp l20 k t 1 k t 0 -1 ..... ..... ..... Khng hp l
20 k t 1 k t 0 0 -1 ..... ..... Khng hp l20 k t 1 k t 0 0 0 -1 ..... Khng hp l20 k t 1 k t 0 0 0 0 0 Hp l20 k t 1 k t 1 -1 ..... ..... ..... Khng hp l20 k t 1 k t 1 0 -1 ..... ..... Khng hp l20 k t 1 k t 1 0 0 -1 ..... Khng hp l20 k t 1 k t 1 0 0 0 -1 Khng hp l20 k t 1 k t 1 0 0 0 0 Hp l20 k t 1 k t 1 1 0 0 0 Hp l
7/30/2019 BAO CAO TH CNPM
31/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
30 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
20 k t 1 k t 1 1 1 0 0 Hp l20 k t 1 k t 1 1 1 1 0 Hp l20 k t 1 k t 1 1 1 1 1 Hp l
20 k t 1 k t 11 ..... ..... ..... ..... Khng hp l20 k t 1 k t 10 11 ..... ..... ..... Khng hp l20 k t 1 k t 10 10 11 ..... ..... Khng hp l20 k t 1 k t 10 10 10 11 ..... Khng hp l20 k t 1 k t 10 10 10 10 11 Khng hp l20 k t 1 k t 10 10 10 10 10 Hp l20 k t 1 k t 9 9 9 9 9 Hp l
Ghi ch: k hiu (.....) l gi tr bt k.Cu 4.2
Cc trng hp cn kim th:
D liu vo M tFOR Chui k t quy nh ca vng lp FOR
Bin m Khc rng, 1 hoc 2 k t= K php quy nh
Cn (cn trn v cn di) S nguyn dngTO K php quy nh
Phn lp tng ng:
D liu vo Lp tng ng hp l Lp tng ng khng hp lFOR FOR (1) Khc chui FOR (2)
7/30/2019 BAO CAO TH CNPM
32/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
31 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
Bin m 1 k t (3) hoc 2 k t (4) Rng (5) hoc > 2 k t (6)= K hiu (=) (7) Khc k hiu (=) (8)
Cn nguyn 0 32767 (9) < 0 (10), > 32767 (11), (12)
TO TO (13) Khc chui TO (14) Cc trng hp kim th bao ph cc lp tng ng hp l:
(1)(3)(7)(9)(13) hoc (1)(4)(7)(9)(13)a. Bin m: a hoc abb. Cn trn: 32600c. Cn di: 10
FOR a = 0 TO 32767FOR ab = 0 TO 32767
Cc trng hp kim th tng ng vi tng trng hp kim th khnghp l: (cn trn: 100; cn di: 10)d. (2): Khc chui FOR
foR a = 10 TO 100e. (5): Tn bin rng
FOR = 10 TO 100f. (6): Tn bin ln hn 2 k t (abc)
FOR abc =10 TO 100g. (8): Khng cha k hiu (=)
FOR a % 10 TO 100h. (10): Cn m (cn di: -1)FOR a = -1 TO 100
i. (11): Cn >32767 (cn trn: 32900)FOR ab = 10 TO 32900
j. (12): Cn khng thuc s nguyn:FOR ab=0.112 TO 4.55
k. (14): Khc chui TO
FOR a = 10 tof 100Cu 4.3
Xy dng biu lung iu khin
7/30/2019 BAO CAO TH CNPM
33/34
SVTH : TRN C TRNH PHAN QUC HU NGUYN TRNG LU
32 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
1
2
3
4
5
6
7
9
10
11
8
T
F
F
T
F
T
F
T
F
iSub = 0; rtnIndex = -1; isPat = false;
subjectLen = subject.length;
isPat!= false
(iSub+patternLen1) >= subjectLen
(iSub+patternLen1) < subjectLen
iSub++
subject[iSub] != pattern[0]
subject[iSub] = pattern[0]
iPat >= patternLen
iPat < patternLen
isPat = false
subject[iSub + iPat] != pattern[iPat]
rtnIndex = -1;
subject[iSub + iPat] = pattern[iPat]
iPat++
rtnIndex = iSub;
7/30/2019 BAO CAO TH CNPM
34/34
33 BO CO THC HNH CNG NGH PHN MM GV: L TH M HNH
C = 15-11+2 = 5+1=6. Bdliu th:
- Theo ltrnh (1)(2)(11): rtnIndex =-1- Theo ltrnh (1)(2)(3)(11): rtnIndex =-1-
Theo l trnh (1)(2)(3)(4)(10)(2)(11): rtnIndex = -1- Theo l trnh (1)(2)(3)(4)(10)(2)(3)(11): rtnIndex = -1- Theo l trnh (1)(2)(3)(4)(5)(6)(7)(9)(10)(2)(11): rtnIndex = -1- Theo ltrnh (1)(2)(3)(4)(5)(6)(10)(2)(11): rtnIndex = iSub
Recommended