Professional Documents
Culture Documents
41023174 KĨ Thuật Lập Trinh
41023174 KĨ Thuật Lập Trinh
Sinh vin :Nguyn Thanh Dng Lp : Tin Php MSSV : 20080505 Lch s pht trin ca tin hc lun gn lin vi vic tm kim cc phng php lp trnh gip cho ngi s dng trin khai cac ng dng mt cch d dng , nhanh chng v hiu qu . Nh chng ta bit , mi loi my tnh (s dung loi CPU Central Processing Unit xc nh) ch c th hiu v thc hin trc tip c cc lnh cng nh trng trnh theo mt loi noon ng dnh ring c gi l noon ng my . Tuy nhin nu thc hin cc ng dng trong thc t m phi vit chng trnh trc tip bng ngn ng my th s rt phc tp , i hi thi gian v cng thc rt ln , nhiu khi khng th thc hin c . V vy ngi ta tm cch xy dng mt ngn ng lp trnh ring , gn vi cc ngn ng t nhin , thun li cho vic trin khai cc ng dng . Khi thc hin cc chng trnh bng ngn ng ny phi qua mt bc dch chng trnh sang ngn ng my n c th thc hin . T trc n nay c rt nhiu ngn ng lp trnh c ra i va phc v c lc cho vic trin khai cc ng dng trn my tnh . Sau y , chng ta s i tm hiu v 5 m hinh lp trnh sau : Visual paradigm Parallel paradigms Concurrent programming Distributed programming Extreme programming K53
A.Visual Paradigm .
1.Gii thiu v Visual Paradigm .
Lnh vc lp trnh trc quan l s kt hp gia ho my tnh, ngn ng lp trnh v tng tc ngi my. N c to ra t nhiu nghin cu c lp v c nhiu cng trnh nghin cu c xem l tin phong trong lnh vc ny.
Mt nghin cu u tin trong lnh vc ny l h thng Sketchpad ca Ivan Sutherland vo nm 1963. Sketchpad c thit k v thc hin trn my tnh TX-2 ti
MIT v n c xem l ng dng ho u tin trn my tnh. H thng cho php ngi s dng lm vic vi mt bt v to ra cc hnh nh trong khng gian 2 chiu (2D) n gin nh ng thng, ng trn cc x l nh sao chp v cc php bin i hnh hc khc trn cc hnh v ny. T nm 1965, Em trai ca Ivan Sutherland l William s dng my tnh TX-2 pht trin mt ngn ng c t dng d liu trc quan n gin. H thng cho php ngi s dng khi to, d li v thc thi cc biu dng d liu trong mi trng trc quan. K tip , nm 1975 , vi vic cng b lun n tin s ca David Canfield Smith vi tiu Pygmalion: A Creative Programming Environment . Cng vic ca Smith nh du s khi u ca mt lot cc nghin cu trong lnh vc ny cho n ngy hm nay.
Khi lnh vc VPL chn mui, ngy cng nhiu nhng nghin cu hng n vic sng to mnh m hn cng nh nhng tiu chun phn loi nhng cng vic trong lnh vc ny. Mt h thng phn loi khng ch gip cc nh nghin cu trong vic xc nh cc cng vic lin quan m cn cung cp mt ranh gii so snh v nh gi cc h thng khc nhau. Mts tn tui c nhng ng gp quan trng trong lnh vc ny nh Chang, Shu, v Burnett. H phn loi v a ra nhng nh ngha xc nh c trng cc nhm chnh ca VPL. Sau y l s phn loi cc ngn ng lp trnh trc quan chnh:
Cc ngn ng trc quan thun tu Nhng h thng lai gia trc quan v vn bn (text) Nhng h thng lp trnh bng v d Nhng h thng rng buc i tng Nhng h thng c xy dng da trn cc biu mu (form)
Lu rng vic phn loi trn l khng loi tr ln nhau. Do , c nhiu ngn ng c th thuc nhm ny nhng cng c th thuc nhm khc.
Ch ring nhm cc ngn ng trc quan thun tu (Purely Visual Languages) l quan trng nht. Cc ngn ng ny c c trng bi vic da hon ton trn cc k thut trc quan thng qua tin trnh lp trnh. Ngi lp trnh vn dng cc biu tng hoc cc s biu din ho khc khi to mt chng trnh ri tip theo s g li v thc thi trong cng mtmi trng trc quan. Chng trnh l c bin dch trc tip t s trnh by trc quan can v khng bao gi dch n mt ngn ng trung gian da trn ch vn bn (interim text- based language). Nhng v d ca cc h thng thun tu trc quan nh VIPR, Prograph v PICT. Trong nhiu ti liu thuc lnh vc ny, s phn loi ny l i xa hn n vic phn loicc nhm con nh nhm ngn ng biu tng (iconic languages) v phi biu tng (non-iconic languages), ngn ng hng i tng (object-oriented), ngn ng lp trnh hm (functional programming), v ngn ng mnh lnh (imperative languages).
Nh vy vi k thut lp trnh trc quan, lp trnh vin ging nh mt nh thit k, t chc to ra cc biu mu, ngh cc cng vic cn thc hin v my tnh s da vo xy dng chng trnh. Hin nay cc ngn ng lp trnh, h qun tr c s d liu theo hng trc quan thng dng nh : Visual Basic, Visual Foxpro, Visual C, Delphi...
icon (biu tng, hnh tng) Mt i tng vi s trnh by kp ca mt phn l-gc ( ngha) v mt phn vt l (hnh nh). iconic system (h thng c tnh cht biu tng) Mt tp hp c cu trc ca nhng biu tng c lin quan. iconic sentence (cu biu tng/trc quan) Mt s sp xp khng gian ca cc biu tng t h thng biu tng. visual language (ngn ng trc quan) Mt tp cc cu trc quan c cu trc vi c php v ng ngha cho trc. syntactic analysis (phn tch c php) Mt s phn tch ca mt cu trc quan xc lp cu trc c s. semantic analysis (phn tch ng ngha)
b.Phn tch
Mt s sp xp khng gian ca cc biu tng s to thnh mt cu trc quan. N l bn sao hai chiu ca s sp xp mt chiu ca cc du hiu trong cc ngn ng lp trnh qui c (trong ch text). Trong nhng ngn ng ny, mt chng trnh l c din gii nh mt xu k t trong k hiu kt thc l mc ni n mu mt cu m cu trc v ng ngha ca n l c khm ph bi s phn tch c php v ng ngha theo th t nh sn. Theo cch , qui tc xy dng l tim n trong ngn ng v khng cn gii thch nh mt phn ca ngn ng c t. Ngc li, trong nhng ngn ng lp trnh trc quan chng ta phn bit 3 nguyn tc sp xp cc biu tng: s mc ni theo chiu ngang (biu hin bi k hiu &), mc ni theo chiu ng (biu hin bi k hiu ^) v khng gian bao ph (biu hin bi k hiu +).
Trong vic nh dng cc ngn ng lp trnh trc quan, n l la chn phn bit cc biu tng tin trnh t cc biu tng i tng. S tnh ton cc biu thc trc, sau c th phn nh n cc biu tng i tng s cp v cc biu tng i tng phc hp. Nhng biu tng i tng c s cho bit cc i tng s cp trong ngn ng, nhng ngc li cci tng phc hp cho bit cc i tng c nh dng bi mt s sp xp khng gian cacc biu tng i tng s cp. Tm li, thut ng biu tng s cp (elementary icons) l tham chiu n c hai loi: biu tng tin trnh v biu tng i tng s cp v biu hin bi nhng biu tng ca chng l nguyn gc trong ngn ng. T mt bc tranh (hoc biu tng
trong trng hp ny) l c hng ngn cch biu t, chng ta c gng minh ho tt c nhng nim trn y trong hnh v sau:
Hnh v ny gii thiu mt vi biu tng t b biu tng Heidelberg. Nhng biu tng s cp gm (a) l mt k t v (b) l mt k t c chn; cc biu tng tin trnh: (c) l hot ng chn v (d) l hot ng xo; cc biu tng phc hp: (e) l mt xu (kt hp cc k t) v (f) l xu c la chn; (g) cu trc quan biu th s thay th ca mt xu con trong mt xu no . Mt mn ng lp trnh trc quan l c c t bi mt b ba (ID,G0,B), y ID l t in biu tng, G0 l mt ng php v B l mt c s tri thc cho mt lnh vc c bit. T in biu tng l mt tp hp cc biu tng tng qut v mi mt phn t l c trnh by bi mt cp (Xm,Xi), vi phn l-gc Xm (ngha) v phn vt l Xi (hnh nh). Ng php G0 ch nh cch thc lm th no nhng biu tng i tng phc hp c th c xy dng t cc biu tng s cp bng vic s dng nhng ton t sp xp khng gian. C s tri thc B cha nhng thng tin ca mt lnh vc c bit cn thit cho vic xy dng ng ngha ca mt cu trc quan cho trc. N cha thng tin v cc tn s kin, nhng quan h thuc v khi nim, tn ca cc i tng kt qu v nhng tham chiu n cc i tng kt qu.
c.Danh sch mt s khng gian Picture-processing grammars (ng php x l nh) Ngun gc ca vic thit k l phn tch nhng nh s trn mt li vung, nhng ng php l c xy dng trn c s thc t l nhng bc nh s l s kt hp ca cc im nh. Ng php ny khm ph ra cu trc ca cu trc quan bi trt t ca cc im nh ring l n cc phn t trc quan c th nhn din c (ng thng, hp, cung trn...). Cch tip cn ny c ch khi mt h thng biu tng cn nhn dng cc biu tng vi mt mc no ca li c th chp nhn c (v d cc ch s vit tay). Precedence grammars (ng php th t) Ng php phn tch khng gian ny c th c s dng dnh cho vic phn tch cc biu thc ton hc trong khng gian 2 chiu v phn tch cc trang in. Ng php th t l ph hp hn phn tch c php ca cc cu trc quan c xy dng t cc biu tng s cp cc ton t biu tng. Cy phn tch l c xy dng bi vic so snh th t ca cc ton t trong mt mu v tp con c chia ca mu n mt hoc nhiu mu con. Context-free and context-dependent grammars (ng php ph thuc ng cnh v ng php phi ng cnh) Nhng ng php ny c dng xc nh t hp ca cc cu trc quan trong vic s dng nhng hnh thc quen thuc v nhiu phng php tiu chun ca s phn tch nh nhng ng php ph hp. Graph grammars (ng php th) y l phng thc mnh nht (mc d km hiu qu) c t cc ngn ng trc quan. Nhng hnh thc ny cung cp nhiu ngha nht thit lp nhng quan h ng cnh v nhiu nghin cu hin ti c u t to ra nhng phn tch c th tnh ton c vi ng php th. Mt cy phn tch c sn sinh bi mt trong nhng phng php phn tch trn l nhng phn tch s dng cch tip cn truyn thng phn tch ng ngha (ngha l ng php tng trng hoc cy tnh ton...).
mong i ca mt h thng (c bit l nu n c thit k cung cp cho nhng ngi mi hc vic). Mt trong s cc ng ngha mnh lnh ca lung iu khin l s dng mt kiu c th khai bo ca lp trnh. Vi cch tip cn ny, ngi ta ch lo lng mi vic l nhng tnh ton no l s c thc hin v khng cn bit lm th no nhng hot ng hin ti c tin hnh. Vic thay i trng thi nht nh l c phng bi vic s dng ch mt s phn cng: ngi lp trnh khi to mt i tng mi bi vic sao chp mt trng thi ca i tng ang tn ti. Cng vy, thay v c t mt dy cc thay i trng thi, ngi lp trnh nh ngha nhng hot ng bi vic c t nhng ph thuc i tng. V d, nu ngi lp trnh nh ngha Y l bng X+1, th r rng Y c tnh ton bng cch s dng i tng X, cho php h thng suy ra rng gi tr ca X cn phi tnh ton trc. V vy, dy cc x l l vn hin din nhng phi c suy ra bi h thng th ng hn l c nh ngha bi ngi lp trnh. D nhin, s chm sc c bit phi c nm gi bi h thng m thng bo c lp l c nhn din v c thng bo nh l cc s c (errors). b. S tru tng ho th tc (Procedural Abstraction) Chng ta phn bit hai mc ca vic tru tng ho th tc. Nhng ngn ng lp trnh trc quan bc cao, ngha l khng th vit v bo qun ton b chng trnh trong mt ngn ng v chc chn c mt s lp cha nhng m-un khng trc quan m chng c kt hp li bng cch s dng mt ngn ng trc quan. Cch tip cn ny lp trnh trc quan l c th c tm thy trong rt nhiu cc h thng phc v cho mt lnh vc c bit, v d nh nhng cng c bo qun phn mm v mi trng trc quan khoa hc. pha ngc li l nhng ngn ng trc quan mc thp, chng khng cho php ngi lp trnh mc ni nhng n v l-gc n cc m-un th tc. Phng php ny cng c li trong nhiu ngn ng thuc mt lnh vc c bit v d nh l nhng b m phng l-gc. Nhng ngn ng lp trc quan a nng thng bao ph mt ph rng v cung cp tt c nhng chc nng nhm gip ngi lp trnh d dng khi pht trin ng dng nh mc ni n cc ngn ng bc thp, cc iu kin, qui, lp v mc ni d dng n cc m-un tru tng (th tc, lp, th vin...). c. S tru tng ho d liu (Data Abstraction)
Nhng phng tin cho php tru tng ho d liu l ch c th tm thy trong cc ngn ng lp trnh trc quan a nng. Khi nim tru tng ho d liu trong lp trnh trc quan l rt ging vi khi nim tru tng ho d liu trong nhng ngn ng lp trnh thng thng vi ch nhng yu cu tru tng cc kiu d liu c nh ngha trc quan (tri vi textually), c mt s trnh by trc quan (iconic) v c cung cp dnh cho cch i x tng tc.
Hn 10 nm k t ngy bt u, ngn ng Alternate Reality Kit (ARK) c thit k bi R. Smith ti Xerox PARC, ra i mt ngn ng lp trnh thuc h VPL phc v cho mt lnh vc c bit. ARK c pht trin trn Smalltalk-80, cung cp cho ngi dng mt mi trng ng trong khng gian 2 chiu dnh khi to s m phng tng tc. H thng l c d nh phc v cho nhng ngi lp trnh nghip d to ra cc m phng v mt nhm khn gi rng ln tng tc vi nhng m phng ny. gip ngi s dng hiu nhng lut c bn ca t nhin, ARK s dng php n d theo ngha ca ch m trong
ngi s dng iu khin bn tay trn mn hnh m n c th tng tc vi cc i tng vt l, v d cc qu bng hoc cc khi, chng x l mt khi lng ln v vn tc nhanh v vi cc i tng c gi l cc b tng tc, trnh by cc qui lut vt l nh l trng lc. Bng vic cung cp mt kiu nguyn bn vt l n cc lut tru tng, h thng c gng hu b mt vi b mt bao quanh theo nhng cch m cc lut tng tc vi cc i tng v nhng ci khc. Nhng ngi s dng c th hiu chnh bt k i tng no trong vic s dng mi trng, cc hp thng ip v cc nt, nhn thy kt qu ca nhng thay i ca chng trong thi gian thc. Vic m phng thc hin trong mt alternate reality cha trong mt ca s v tt c c bao quanh mt th gii siu thc. Cu trc rt ging mt h thng cc mn hnh v ca s theo kiu giao tip ngi dng ho hin i. Ngi lp trnh c th di chuyn bn tay gia nguyn bn lun phin v nhng i tng tc ng ra ngoi s m phng v n s siu thc bt k lc no. b.Prograph Trong phn ny, chng ti m t ngn ng Prograph, n c xem l ngn ng thnh cng nht trong s cc ngn ng trc quan a nng (general-purpose visual languages). Vic nghin cu Prograph c tin hnh t nm 1982 ti Trng i hc K thut Nova Scotia. T n nay, c vi phin bn c a vo s dng v trong s c dng ph bin nht l Prograph/CPX v c thng mi ho bi Pictorius, Inc. Prograph l ngn ng hng i tng trc quan. N mc ni nhng khi nim v cc lp, cc i tng vi mt c ch c t dng d liu trc quan rt mnh. Prograph cn l mt ngn ng mnh lnh, n cung cp nhng iu khin r rng trn trt t cc tnh ton. iu c bit l cc trng hp n l v a thnh phn ca Prograph, nhng cu trc iu khin c bit l c mong i thay th vng lp v cung cp cc iu khin lung tinh vi. Chng ta s tho lun nhng iu ny nh mt phn ca v d di y. Prograph cho php ngi lp trnh lm vic trn c hai mc thp v cao, cho php h thit k v bo tr nhiu hoc t phn mm phc tp. Nhng s tnh ton nguyn thu nh cc php ton s hc, cc li gi cc method... l c mc ni n cc phn thn ca phng php biu mu bi cc biu dng d liu. Cc phng thc (methods) l c t chc thnh cc lp. Ngoi ra, Prograph cn cung cp cho ngi lp trnh c ch gi nhng i tng m n c th l c lu tr trong mt c s d liu Prograph gia cc li ngh khc nhau ca chng trnh. c.Form/3 Forms/3 l mt ngn ng lp trnh khc thuc dng ngn ng lp trc quan hng i tng a nng. c im ni bt ca n l tru tng ho d liu. Tuy nhin, khng ging nh Prograph, n khng mang tnh k tha v s phn tch cc thng ip l c c h tr. Forms/3 phng theo cch t chc bng tnh vi cc v cng thc trnh by d liu v th t tnh ton. Mt c trng ca Forms/3 l cc y c t chc thnh mt nhm gi c l form, mt c ch tru tng ho d liu c bn. Mt form c th trnh by mt nh cho trc (cn gi l mt biu tng) v n c th c minh ho cho mt i tng. Theo ngha ny, mt form tng ng n mt i tng nguyn mu trong cc ngn ng hng i tng nguyn mu c bn (prototype-based object oriented languages. Trong Forms/3, d liu (values) v s tnh ton (formulas) l mt cp thng nht. Mi mt i tng c t trong mt v c nh ngha vi khai bo s dng mt cng thc. Cc i tng c th ch c khi to theo cc cng thc v mi mt cng thc sn sinh mt i tng ging nh mt kt qu ca vic nh gi n. Nhng cng thc cung cp mt s d
dng yu cu cc kt qu t cc i tng khc v khi to nhng i tng mi: iu ny khng cn s phn tch cc thng ip.
B.Extreme Programming
1.Gii thiu .
Lp trnh cc (eXtreme Programming vit tt l XP) l mt trong nhng nhm cc phng php pht trin phn mm mt cch linh hot . XP s dng cc nhm lm vic kt hp gm nhng ngi lp trnh, khch hng v cc nh qun tr pht trin phn mm c cht lng cao trong thi gian nhanh chng . Mt chng trnh chy c l thc o u tin ca tin trnh theo XP . XP c th pht trin v tn ti c l do s hiu bit ngy mt tin b v cc vn ang gii quyt v cng l v cc cng c sn c cho php ta thay i c ci gi ca s thay i (cost-of-change) ( ang l dng hm m trc y ) . XP gi cho ci gi phi tr ny mc thp do vy s thc y mi trng sn xut phn mm . --u im ca Extreme Programming :
Nh ta bit hu ht cc phng php u xem xt vic pht trin phn mm nh l mt quy trnh gia cng vi tin trnh phn mm i theo mt con ng
Cch tip cn ny c mt s tha nhn quan trng l ta bit c sn phm cui cng trc khi tin trnh bt u . Nhng hu ht cc d n phn mm hin i khng th tho mn ci s tha nhn ny . Khch hng s a ra mt cch y nhng ci g mi v ngi sn xut cn nhng thng tin phn hi mt cch lin tc nh gi li cc la chn ca h. Ngi lp trnh cn phi c mt phng n lun sn sng n nhn nhng thay i trong Nhu cu h c th i ph c vi cc thng tin phn hi. Nu bn lm vic trong mt mi trng m cc Nhu cu c ch thay i v cc khch hng s c li t vic bn giao phn mm sm v thng xuyn th chc chn nn xem xt XP . Cc nhm lm theo XP s thng xuyn nhn ra rng h ang bn giao cc sn phm phn mm cht lng cao vi s lng rt ln v nhanh hn trc y rt nhiu .
Thit k n gin
gim gi phi tr cho s thay i ng ngha vi vic lm cho h thng cng n gin cng tt . iu c ngha l khng nn b qu nhiu thi gian v cng sc vo nhng vic m sau ny c th cn hoc cng c th khng. Cc n XP thng c n gin mt cch ti a, m bo rng sau ny nu c cn thay i th chi ph cng rt nh .
Th nghim(test-first design)
Cc lp trnh vin s vit cc n v th nghim (unit test) (trng hp th nghim) trc khi vit m (thit k th nghim u tin). Tt c cc n v th nghim (trng hp th nghim) u c thc hin thng xuyn trong qu trnh pht trin sn phm trong tng module m ca tng lp trnh vin. Cc lp trnh vin c th thay i mt cch linh hot v quy trnh th nghim c th mc li hay sai so vi thit k ban u (iu chnh trng hp th nghim).
Lp trnh cp i
Tt c qu trnh pht trin sn phm u c thc hin bi 2 ngi cng chia s cng vic trn mt my . iu ny hiu qu hn l 2 ngi lm vic c lp . Vic quay vng cc cp thng xuyn nh vy s ph bin c kinh nghim v kin thc cho ton nhm. M s c xem li lin tc .
Quyn s hu m kt tp
Bt k ngi no trong i d n u c quyn thay i m trong qu trnh lm vic vi khch hng ch cn tun theo Tiu chun m ho v phi m bo thc hin th nghim li ton b sau khi hon tt cng vic sa i . iu ny s loi b cc vn nh l sai lch v cu trc chng trnh, c th xy ra khi mt c nhn m ho c lp .
Ti ch
Ti ch l k thut lm tng hiu qu ca vic tht k cc m c sn m khng lm thay i chc nng . Ti ch l rt kh thi v mt nhm XP c cc quy trnh th nghim t ng bt li, cho php
ta thay i m ( phn nh kh nng hiu bi ton ngy cng cao ca cc thnh vin ) . Qua cng m rng cc thit k ln .
Tng tc lin tc
Cc nhm XP chia cng vic ra thnh cc bc nh v tch hp m ca h mt vi ln trong mt ngy . Do vy, cc vn s c xem xt ngay sau khi thc hin v c th d dng sa cha khi gp s c . Qu trnh ny m bo cho mi ngi lun lm vic vi phin bn mi nht ca h thng .
Pht hnh nh gn
Do nhm XP lm vic trong cc bc nh cho nn vic pht hnh cng chia ra thnh cc pht hnh nh ( khong vi tun mt ln ) . V cc thnh vin s phi tch hp lin tc . C nhng n XP thc hin vic pht hnh hng ngy .
Tr chi k hoch
Thao tc ny thc hin cc ti lp ( vi tun mt ln ) quyt nh xem chc nng tip theo s c pht hnh l g . Cc lp trnh vin s a ra cc d on v khch hng s la chn ci no c li nht, v mi ngi s thc hin .
Tun l 40 gi
Vic pht trin phn mm l mt cng vic sng to, v h s khng th sng to c nu h kit sc. Vic gii hn s gi lm vic trong tun s m bo c sc kho ca cc thnh vin v tng cng cht lng sn phm.
Metaphor
Dng mt h thng cc thut ng v business object trong vic discuss cc vn v cc solutions cho chng ( the system Metaphor ) . Di y l mt s nhn xt v XP v Rational Unified Process(RUP) Ging nhau RUP khng cp t m n nhng nh l, tuy nhin nhng nguyn l c bn ca phng php lun c ra r rng v ta c th thy r, v d nh phn hi t khch hng, s thay i tng dn, u t ban u t, th nghim c th v tu bin theo tng ni. C mt s im tng ng trong chin lc lp k hoch, c hai phng php u pht biu l khng lp k hoch qu c th ngay t ban u bi v bn khng th bit cng vic g l quan trong ngay t lc u. C hai phng php s dng quan nim vng quay ca d n, v nhn
mnh s u tin theo mc quan trng ca cc chc nng. User story v use case u c dng nh hng kin trc phn mm v ng vai tr quyt nh cho vic lp k hoch cng nh qu trnh pht trin. Phng php lun hng i tng u l cng c chnh ca c hai phng php. User story trong XP ging ht vi Use case trong RUP. Trong cc yu t quan trng cu thnh d n l phm vi d n, tnh ng hn, cht lng v ti nguyn d n, XP khuyn co chng ta cn gi c nh mc tiu tnh ng hn, cht lng v ti nguyn. Phm vi d n c th c php iu chnh. RUP khng t quan im mt cch cht ch nh vy, tuy nhin RUP cho php chng ta dng phng php xy dng ma trn quyt nh, trong cc yu t c th c iu chnh ph hp theo c tnh ca tng d n. Du RUP khng pht biu c th nh vy v s cho php thay i phm vi d n, tuy nhin quan im tng ng cng th hin phng php pht trin phn mm to dn ca RUP. Th nghim c th l mt nguyn l ca XP v ta cng c th thy trong RUP. Trong giai on Elaboration, RUP i hi bn phi tin hnh nghin cu nhng vn quan trng v v th nghim nhng cng ngh mi. Vic kim tra chng trnh mt cch t ng u c XP v RUP khuyn co. XP da trn vic ny m bo chi ph thp cho mi s thay i, tuy nhin RUP th khng i hi. Khc nhau S khc bit ng k gia RUP v XP l RUP hng n nhng d n ln hn so vi XP v v th, n phc tp hn. Chi ph cho thay i v ri ro RUP cho rng chi ph thay i tng theo hm m v tp trung vo cho nhng bc u tin gim thiu nhng chi ph v sau trong qu trnh pht trin phn mm. RUP quan tm nhiu n vic gim thiu ri ro, theo di tm kim ri ro v tip cn mc tiu ny tng bc t qu trnh xy dng kin trc n cc qu trnh pht trin phn mm sau ny. XP cho rng chi ph thay i khng ln lm. XP cng c xy dng vi mc tiu gim thiu ri ro (ri ro y nh ngha l nhng vn c bn) v hng ti mt thit k v kin trc tt cng nh vi mc tiu trc tin l cho ra l nhng chc nng quan trng nht. Tuy nhin, vi s gi nh l gi cho s thay i thp, kin trc ca phn mm c php pht trin mt cch hu c, nh mt b xng ch cn pht trin va nng c th ti thi im nht nh. iu then cht trong XP l s n gin.
Mt i iu v ti liu d n
XP khuyn ngh bn c mt hnh l gn nh v khng phi lun lun cp nht ti liu d n, tr khi bn cn dng chng. RUP nhn nhn vn theo mt cch khc v da trn s cp nht kp thi bn thit k nhm phc v cho vic pht trin phn mm tip theo. XP cn c m ngun phi c vit tt v da trn trao i cng nh thit k cho cc bc tip theo.
Chia s m ngun
XP khuyn ngh cn c mt s chia s m ngun trong nhm, iu ny c ngha l bt k ai vo bt k lc no cng c th thay i bt k phn no ca m ngun. RUP gi rng ngi thit k phn mm c trch nhim cho mt phn h hoc mt gi no , tng t nh vy i vi lp trnh vin.
Cc bc ca d n
RUP c 4 bc c nh ngha r rng : Inception, Elaboration, Construction, and Transition. XP th ni v Exploration, Commitment v Steer vi nhng u mc cng vic khc nhau v phn chia thi gian theo nhng phng php khc nhau. RUP chia ton b qu trnh sn xut phn mm thnh mt s release. XP chia v thc hin d n theo tng bc k tip. Nhng bc ny c XP gi trong khong thi gian ngn hn.
C.Parallel Paradigms
1.Gii thiu
Parallel Paradigms l mt phng thc lp trnh m trong : Nhng ch dn c thc hin mt cch ng thi . Nhng vn , bi ton cj chia thnh nhng phn nh hn nhng c th c gii mt cch ng thi . Nhng ch dn ca mi phn c thc hin ng thi trn nhng CPU khc nhau
Trong nhng ngay u ca my tnh , chng trnh c thc hin ni tip , tc l mi chng trnh bao gm mt chui cc lnh , mi lnh thc hin sau khi thc hin xong mt lnh trc . N chay t u n cui trn mt b x ly duy nht .
Parallel programming xut hin nh mt phng tin ci thin hiu xut v hiu qu .Trong mt chng trnh song song , x l c chia thnh cc phn , mi phn trong s c th c thc hin ng thi . Cc lnh t mi phn chy ng thi trn cc CPU khc nhau , CPU ny c th tn ti trn mt my duy nht hoc chng c th l CPU trong mt hp cc my tnh c kt ni qua mng .
Vy , ti sao phi cn lp trnh parallel programming . l t nhng l do sau : Tit kim thi gian . Gii quyt c nhng vn ln hn . Cung cp s tng tranh : C th lm nhiu th cng mt lc .
Ngoi nhng l do chnh nh trn cn c mt s l do sau : Tn dng c nhng ti nguyn non-local. Chi ph tit kim s dng ti nguyn tnh ton c hiu qu . Gii phng b nh b chim ng. Thot khi s gii hn truyn ca serial programming v tc v kinh t.
Nu cng mt x l m cn thit cho mi phn t mng , khng ph thuc vo tnh ton, v khng c yu cu thng tin lin lc gia cc tc v , chng ta c mt tng tnh ton song song . y l mt k thut ph bin c gi l Master/Worker . Master : Khi to cc mng v chia tch n theo cc Worker c sn . Gi cho mi Worker cc subarray ca n . Nhn c cc kt qu t mi Worker . Worker : Nhn c subarray t Master . Thc hin x l trn subarray . Tr v kt qu cho Master . M hnh ny c s dng ph bin khi tt c cc nhim v ang c thc hin cng s lng cng vic trn cc my tnh ging ht nhau . Nhn chung , n cp n k thut m c gng tn ra cc nhim v gia cc b vi x l trong mt h thng song song trnh mt s b vi x l c nhn ri trong khi nhng ci khc
c nhng nhim v phi xp hang c thc hin . M hnh tnh ton song song c ng dung rng ri , nhng language/library c s dng n nh : MPICH ,OpenMP,FORTRAN 90/95 . V nhng Software Package nh : Gaussian, GAMESS, MM5 N gip pht trin nhng siu my tnh v nhng my tinh a nhn.
D.Distributed Programming
1.Gii thiu
Thng thng m lnh ca mt chng trnh khi thc thi c tp trung trn cng mt my, y l cch lp trnh truyn thng. S pht trin nh v bo ca mng my tnh c bit l mng Internet ton cu, khin cc chng trnh truyn thng ny khng cn p ng c yu cu na. Cc chng trnh by gi yu cu phi c s hp tc x l, tc l m lnh ca n khng tp trung trn mt my m c phn tn trn nhiu my. Khi mt ng dng c m lnh thc thi c phn tn trn nhiu my th chng trnh c gi l chng trnh phn tn v vic lp trnh to ra cc chng trnh ny c gi l lp trnh phn tn. C rt nhiu cng ngh lp trnh phn tn nh: DCOM, CORBA, RMI, EJB.. trong RMI l cng ngh thun Java v d lp trnh nht. C cc m hnh lp trnh phn tn nh : - M hnh client/server . - M hnh tc t di ng . - M hnh da trn thnh phn , m hnh i tng phn tn . Tnh ton phn tn l mt lnh vc khoa hc my tnh m mghin cu v nhng h thng phn tn . Mt h thng phn tn bao gm nhiu my tnh t tr m c th truyn thong lin lc trong sut mt mng my tnh . Nhng my tnh tng tc vi nhau t c mt mc ch chung . Mt chng trnh my tnh m chy trong mt h thng phn tn c gi l mt chng trnh phn tn , v lp trnh phn tn l qu trnh ca vic vit ra nhng chng trnh nh vy . S tnh ton phn tn cng da vo vic s dng h thng phn tn gii gii quyt nhng vn . Trong s tnh ton phn tn , mt vn c chia thnh nhiu cng vic , mi cng vic c gii quyt bi mt my tnh .
2.So snh parallel v distributed computing . Nhn chung c v lp trnh song song v lp trnh phn tn ging ht nhau v cng chia nh vn ra x l . Nhng thc ra bn cht l khc nhau hon ton : Trong cc lp trnh song song th tt c cc b x l cng truy nhp n mt b nh dung chung .B nh dng chung c th c dung trao i thng tin gia cc b x l . Trong lp trnh phn tn th mi b x l c mt b nh ring ca mnh (b nh phn tn) , thong tin c trao i bi s chuyn qua thong bo gia nhng b x l .
2.ng dng
Nhng h thng phn tn lan rng u tin l nhng mng local area networks nh Ethernet c pht minh vo khong nm 1970 . Nghin cu v tnh ton phn tn tr thnh mt b phn ca nganh khoa hc my tnh vo cui nhng nm 1970 v u nhng nm 1980 . C hai l do chng ta s dng h thng phn tn v tnh ton phn tn : Tnh t nhin ca ng dng c th yu cu s dng mt mng thong tin m ni mt s my tnh . C li v l do thc t . V d c th tng hiu qu , gim chi ph vi vic s dng nhiu my tinh cp thp so vi vic s dng mt my tnh cp cao duy nht .
E.Concurrent Programming
1.Gii thiu
Tnh ton Concurrent l mt hnh thc trong nhng chng trnh c thit k nh nhng tp hp ca nhng vic tng tc tnh ton x l m c th thc hin song song . Nhng chng trnh concurrent c th c thc hin tun t trn mt b x l n bi vic xem xt t mi bc thc hin ca mi qu trnh tnh ton , hoc thc hin trong ng song song bi vic gn mi qu trnh tnh ton cho mt s tp hp nhng b x l gn hoc phn tn trong mt mng . Nhng thch thc chnh trong vic thit k nhng chng trnh concurrent l m bo s sp xp ng trnh t ca s tng tc hoc truyn thong gia nhng qu trnh tnh ton x l khc nhau v phi hp truy nhp ti nhng ti nguyn chia s trong nhng qu trnh . Mt s phng php khc nhau c th c s dng thc hin nhng chng
trnh concurrent ,nh vic thc hin mi qu trnh tnh ton nh mt h iu hnh x l , hay vic thc hin nhng qu trnh tnh ton nh mt tp hp hot ng n l quy trnh h thng . Nhng ngi tin phong trong lnh vc concurrent computing bao gm : Edsger
C.A.R. Hoare .
C mt s m hnh concurrent computing m c th dung hiu v phn tch nhng h thng concurrent system :
Actor model o Object-capability model for security Petri nets Process calculi such as o Ambient calculus o Calculus of Communicating Systems (CCS) o Communicating Sequential Processes (CSP) o -calculus