You are on page 1of 48

CHNG 1.

TNG QUAN V CNG NGH PHN MM


1.1. I IU V VN THUT NG
Theo ting Anh th cng ngh l technology, cn phn mm l software. Nh vy cng ngh phn mm phi chng theo ting Anh l software technology? Tuy nhin thc t li khng phi vy. Trong ting Anh khng c thut ng software technology trong cc t in tin hc hay bch khoa ton th, m ch c thut ng software engineering. T engineering c ngha l k ngh. Cng chnh v vy m trong mt s ti liu c mt s tc gi dng thut ng k ngh phn mm. Vit nam ngi ta quen dng t "cng ngh" hn. Do phn ln cc trng vn gi mn hc software engineering l cng ngh phn mm. y chng ti cng dng thut ng ny trn tinh thn nh vy. Ngy nay kho kin thc ca loi ngi ngy cng c m rng, nhiu ngnh khoa hc p dng cc thnh tu ca nhau v do ranh gii gia chng khng cn r rng nh trc y. Vic nh ngha chnh xc cc khi nim cng tr nn kh khn v kh nht qun. Cng mt khi nim, cng mt thut ng nhng trong mt hon cnh nht nh li c hiu khc i. Ly v d ngay trong lnh vc tin hc: thut ng "h thng" (system) c khi c hiu l mt tp hp cc chng trnh gii quyt mt vn no , v d operating system hay management information system; nhng c khi bao hm c cc chng trnh v thit b phn cng, v d computer system hay the flight control system... Chnh Stephen R. Schach, tc gi cun "ObjectOriented and Classical Software Engineering" cng phi tht ln rng, tc gi qu mt khi phi nh vt vi ci xay gi (tc gi m ch vic s dng thut ng) v mong cc bn c thng cm. Trong bi cnh , cc nh ngha chng ti nu ra sau y ch nhm mc ch cung cp cho cc bn mt s hnh dung v cc khi nim. Nh vy cc bn ch cn hiu, v c th din t li theo cch suy ngh ca mnh, ch khng cn hc thuc tng ch cc khi nim ny. C mt s khi nim cc bn c th cha hiu ngay khi c ln u. Trong trng hp ny cc bn c tm chp nhn ri tm hiu sau.

1.2. CC NH NGHA V THUT NG


1.2.1. Mt s khi nim chung

Khoa hc (science) l h thng cc tri thc do con ngi khm ph ra. Khoa hc tp trung vo vic tm hiu v rt ra cc quy lut thc t (ca t nhin v ca con ngi). Cc quy lut ny thng c pht biu di dng cc nh l, cc mnh , cc cng thc ton hc, cc bi vit...v d nh lut vn vt hp dn, nh l Pitagor, quy lut gi tr thng d...Khoa hc c chia thnh cc nghnh nh ton hc, ha hc, sinh hc, vn hc, lch s, ...

K thut (technique) l ch ra mt cch thc tin hnh mt cng vic c th no . Cch lm ny thng c p dng kin thc khoa hc v c h thng thnh cc bc sao cho nhng ngi khc cng c th hc v lm theo. V d k thut hn, k thut tn trang xe my. Trong tin hc ta ni n k thut phn mm bao gm k thut vit h iu hnh, k thut lm chng trnh iu khin. Ta cng hay ni k thut lp trnh tc l cch thc vit chng trnh sao cho ti u theo mt ngha no . Cng ngh (technology) ni ti cch thc hay phng php lm mt vic g , c th hoc tru tng, c p dng cc thnh tu ca khoa hc v c thc hin mt cch c bi bn, h thng. Ta thng ni cng ngh sinh hc, cng ngh jen, hay cng ngh gio dc... Nh th, cng ngh c th c hiu l khi nim rng hn khi nim k thut. K thut ni ti cch thc hin chi tit, cn cng ngh th nhn mnh tnh h thng, bi bn. K ngh (engineering) l vic s dng phi hp cc cng ngh cn thit to ra cc sn phm. Cng nghip (industry) l khi nim bao trm c mt nghnh ln, trong bn cnh yu t k ngh cn c thm cc yu t khc nh kinh t, ti chnh, t chc x hi. Cu sau y cho chng ta cch hnh dung v mi lin quan ca cc khi nim va ni (tr khi nim khoa hc): Trong ngnh cng nghip xe hi, k ngh xe hi cn n cc k thut c hn... ca cng ngh c kh, k thut lm lp xe ca cng ngh cao...
1.2.2. Mt s khi nim lin quan n cng ngh phn mm

Phn cng (hardware) l cc thit b cu kin mang tnh vt l c th tip xc bng tay c nh my in, a, my qut, cc mch tch hp (IC). Ngha n gin nht ca phn mm (software) l cc chng trnh cha cc dng lnh ch th cho my tnh thc hin mt cng vic no . Tuy nhin thng ngi ta hiu phn mm l mt tp hp cc chng trnh v c d liu phc v cho mt cng vic c tin hc ha no . V d phn mm qun l cc dch v bay, phn mm iu khin l phn ng ht nhn, phn mm iu khin dch v mobile phone...i khi ngi ta gi phn mm l chng trnh, cho d thc t th phn mm gm nhiu chng trnh v d liu. V d: chng trnh qun l nhn s, chng trnh qun l tn dng... Trong cng ngh phn mm, ngi ta hiu phn mm khng ch l cc chng trnh, d liu, m cn gm c cc ti liu lin quan nh cc bn c t, thit k, hng dn s dng. Chng trnh (program): i khi ngi ta gi phn mm l chng trnh. Hay chnh xc hn, ngi ta thng gi phn c ci t trn my tnh chy l chng trnh. Vi cch hiu nh vy th phn mm = chng trnh + ti liu. Tuy nhin, trong thc t c khi ngi ta ng nht hai khi nim ny. V d ngi ta ni rng "phn mm c ci t trn my tnh khch hng".

K ngh phn mm (software engineering) l cch lm phn mm tun theo nhng nguyn tc tng t nh cc nguyn tc ca k ngh truyn thng (v d k ngh xy dng cu, k ngh lm ng,...) Nh chng ti ni ti trn, do thi quen, chng ta dng t cng ngh phn mm thay cho t c dch ng ngha hn l k ngh phn mm. Vng i phn mm (software life-cycle) l cc bc m mt phn mm phi tri qua, bt u t kho st nhu cu khch hng cho n khi phn mm khng cn c s dng. Pht trin phn mm (software developement) qu trnh xy dng phn mm t bt u cho n khi chuyn giao cho khch hng. Ngi pht trin (software developer) l tn gi chung cho nhng ngi tham gia xy dng phn mm. Nhm m bo cht lng phn mm (software quality assurance group = SQA group) nhm chuyn kim tra cht lng phn mm, kim tra kt qu ca tng giai on xy dng phn mm. Quy trnh phn mm (software process) l cch thc lm ra phn mm, bao gm vng i phn mm, cc cng c v nhng ngi pht trin phn mm. Pha (phase) l mt giai on trong qu trnh xy dng phn mm. V d pha xc nh yu cu, pha phn tch... Yu cu (requirements) l pha u tin trong qu trnh xy dng phn mm. Pha ny thng c tn gi l tm hiu khi nim (concept exploration). Ngi pht trin v khch hng ngi li vi nhau. Khch hng nu ra nhng yu cu m phn mm phi c. Nhng ngi pht trin ghi chp li. Nu dch theo ting Anh "requirements phase" l pha yu cu. Tuy nhin cch gi qu n gin nh th ny c th hi kh hiu, do ta s gi l pha xc nh yu cu. c t (specification) hoc phn tch (analysis): Trn c s nhng yu cu ca khch hng, ngi pht trin m t li chnh xc hn cc yu cu m phn mm phi c. Cch m t ny c tnh chuyn mn v i khi s dng cc cng c tr gip. Pha ny tr li cu hi "phn mm lm ci g?" Phn tch h thng (system analysis) ngi ta thng gp hai pha yu cu v phn tch thnh mt pha v gi l pha phn tch h thng. Thit k (design) l pha tip theo pha c t. Cn c vo ti liu c t, pha ny m t cch thc m phn mm thc hin cc cng vic c th. Pha ny tr li cu hi "phn mm lm nh th no?". Pha thit k thng c hai phn: thit k kin trc (architecture design) v thit k chi tit (detail design). Ci t (implementation) hoc m ha (coding) hay lp trnh (programming): vit chng trnh bng mt ngn ng c th no .

Tch hp (integration) kt ni cc phn chng trnh vit thnh mt phn mm thng nht v chy th, hiu chnh cho n khi chy tt. Pha ny i khi c gi l kim th hoc kim chng hay n gin l th. Bo tr (maintenance) hay i khi c gi l h tr (trong ti liu ting Vit): Khi chng trnh c ci t trn my ca khch hng vn c th c li pht sinh cn loi tr hoc phi hiu chnh li phn mm theo yu cu khch hng. K hoch qun l d n phn mm (software project management plan - SPMP) bn k hoch c son tho sau khi hon thnh pha c t, trong m t chi tit k hoch xy dng phn mm (c c thi gian hon thnh v gi c). Trong cc phn sau chng ta s cn nu li cc khi nim ny. Nh vy cc bn c th thy, trong tin hc cc thut ng khng c s dng mt cch chnh xc nh ton hc.
1.2.3. Vn dch cc thut ng ting Anh ra ting Vit

Phn ln cc thut ng tin hc u c xut x ting Anh, khi dch sang ting Vit thng rt kh dch chnh xc, v mt t ting Anh tng ng vi rt nhiu t ting Vit. V d t "process" c cc ngha l x l, qu trnh, quy trnh, trong t qu trnh c s dng nhiu hn. Tuy nhin khi dch cm t "software process" sang ting Vit, nu dch l "qu trnh phn mm" s nghe l tai v kh hiu. C tc gi dch l "tin trnh phn mm" tuy c d nghe hn nhng vn hi kh hiu. Theo chng ti c mt s tc gi dch l "quy trnh phn mm" c l nghe xui tai v d hiu hn c. Khi ta ni "quy trnh lm s " c l d hiu hn l ni "tin trnh lm s ". Mt s t khc, v d "implementation" c hai ngha nh nhau l thc hin, thi hnh. V v th trong quy trnh lm phn mm th vic dch thut ng "implementation phase" l "pha thc hin" c th coi l cch dch duy nht. Tuy nhin t "thc hin" li c dng rt nhiu ni vi ngha khc, ch khng hn l vit chng trnh. V vy nu ni "pha thc hin" th i vi ngi cha quen vi tin hc nghe rt kh hiu. Lm sao h c th hiu c "thc hin phn mm" li l vit chng trnh? V vy c tc gi dng t "ci t" thay th, v dch "i mplementation phase" l pha ci t. Bn thn ti cng ng h cch dch ny, v Vit nam vn quen dng t "ci t" ch vic vit chng trnh, v d: ci t thut ton Euclid bng ngn ng Pascal. Tuy nhin t "ci t" vn c th nhm vi ngha ca t "installation" hay "setup", tc l ci t (ch khng phi vit chng trnh) mt phn mm ln my tnh phn mm ny c th chy c. C l chng ta nh chp nhn t "ci t" c hai ngha vy: mt ngha tng ng vi t "setup" trong ting Anh, cn mt ngha l "writing code", tc l vit chng trnh. Nh vy nu cc bn gp cc thut ng: lp trnh, ci t, thc hin, vit m, vit code, m ha, th thc ra chng ch l mt m thi. C th ni rng tin hc l lnh vc ang pht trin nn ngay M vic dng thut ng cng khng c s thng nht. Ly v d ngay trong m hnh vng i phn mm, th c ngi gi pha "c t" l pha "phn tch", hay gp hai pha "yu cu" v pha "phn tch" thnh pha phn tch h thng. Cch dch st nhiu khi lm cho cu kh hiu. V d nh chng ti ni n trong phn trc, nu dch "requirements phase" l pha yu cu th kh hiu hn l

dch thot : pha xc nh yu cu. Nh vy, khi s dng cc ti liu ting Anh chng ti s p dng cch dch thot nu thy cn thit. Khi c cc ti liu khc nhau, cc bn s thy nhng thut ng c s dng khng nht qun. Chng ti ngh rng iu i vi cc bn khng qu quan trng cc bn phi bn khon. Cc bn hy dng mt cch gi no m cc bn thy thch hp, iu quan trng l cc bn phi nm c ngha thc s ca n.

1.3. PHM VI CA CNG NGH PHN MM


1.3.1.M u

Mc tiu ca cng ngh phn mm l sn xut ra cc phn mm khng c li, c hon thnh ng thi hn vi kinh ph cho php v tha mn yu cu khch hng. Hn na phn mm phi d sa i khi ngi s dng cn. t c iu ny cc k s phn mm phi c trang b cc k nng v k thut cng nh v qun l. Cc k nng ny khng ch th hin khi vit chng trnh, m phi c p dng trong cc pha xy dng phn mm, bt u t kho st yu cu khch hng cho n giai on bo tr. C nhiu ngi tng vit nhng chng trnh my tnh, thm ch tham gia vit nhiu chng trnh ng dng trong thc t m cha h bit v "cng ngh phn mm". Mt iu ng ni l khng phi v th m chng trnh ca h km hiu qu. Vy th "cng ngh phn mm" liu c ch li g, c thc s cn thit i vi nhng ngi pht trin phn mm khng? Chng ta hy xem mt v d thc t: gi s bn cn xy dng mt ngi nh. Nu bn l th xy v ngi nh nh th bn c th xy m khng cn thit k trn giy. Thc ra th trc v trong qu trnh xy nh, bn cng hnh dung ra cng vic mnh cn lm, bn tng tng ra ngi nh ca mnh, ngha l bn cng c thit k, nhng khng ghi ra trn giy m thi. Nu cng l ngi nh nhng bn li nh mt ngi khc th sao? R rng bn phi gii thch cho ngi bit cn phi lm g. Khng t trng hp xy ra l cho d bn gii thch rt r, nhng ngi th vn lm khng ng bn. C th bui sng bn cn dn ngi th phi xy cu thang nh th no nhng bui chiu v bn li thy mt chic cu thang khc hn iu bn m t v kt qu l phi ph i lm li. l vic "xy ngi nh nh". Nu cng trnh ta cn xy dng l c mt ta nh hay chic cu bc qua sng ln th khng th thiu bn thit k chi tit. Bn thit k phi c tho lun rt nhiu trc khi i n phng n cui cng. Bn thit k phi r rng sao cho ngi k s thi cng v nhng nhi th phi hiu c chnh xc, khng b nhm ln. i vi vic vit chng trnh cng vy. Nu l vn nh nh tnh nh thc ma trn hay tnh xp x tch phn, bn ch cn bit thut ton ri bt tay vo vit nhng dng lnh trn my. Thm ch i vi bi ton ln hn nh qun l bn hng mt ca hng nh chng hn, vi mt phn mm qun tr c s d liu c sn nh foxpro, bn ch cn trao i i iu vi khch hng ri c th bt tay vo va vit va hiu chnh cho n khi nhn c sn phm c th s dng c. Chng trnh my tnh c mt c im khc vi cc sn phm khc l c tnh "mm" nh tn gi ca n: ta c th hiu chnh cc dng lnh hoc xa i vit li tng on chng trnh m khng tn nhiu cng sc v khng nh hng n kt qu cui cng. Trong

thc t c nhng vic khin chng ta phi cn nhc rt k trc khi thc hin. Nu l xy mt bc tng ta c th ph i tng phn xy li, cho d nh th c th tn mt s vt liu v cng sc. Nhng vi ngi bc s phu thut th anh ta phi suy ngh v cng cn thn khi a li dao ct i mt phn no ca c th ngi, v nu anh ta sai st th hu qu tht khn lng v i khi khng th sa cha c. Ngy nay c nhng h phn mm cn hng trm ngi lm trong nhiu nm nh h phn mm dng cho chng trnh khng gian ca M. Thm ch c nhng h cn n hng ngn ngi trong nhiu nc lm trong nhiu nm nh chng trnh iu khin tng i in thoi hin c bn khp ni trn th gii. Khc vi cc sn phm khc, phn mm khng bao gi gi nguyn m khng ngng c thay i. V d nh chng trnh qun l kt qu thi i hc chng hn. C th mi nm li c mt chnh sch khc v phi sa li cho ph hp. Chng trnh qun l nhn s ca mt c quan, chng trnh qun l du lch, ... cng vy. Thng th sau mt thi gian ci t v s dng, khch hng li c thm mt s yu cu v h mun phn mm c sa li theo yu cu . Nu lc h phi tm li tc gi c th tht l kh khn. iu ny t ra thm mt yu cu cho phn mm: phn mm phi c xy dng sao cho cc chuyn gia phn mm khc (m khng phi l tc gi) c th hiu v bo tr c. Tm li, c th nu mt vi l do khin chng ta phi nghin cu cc cch thc xy dng phn mm mt cch c khoa hc l:

Ngy nay phn ln phn mm c xy dng theo n t hng. Nh vy cn c mt ngn ng chung gia ngi xy dng phn mm v khch hng. Phn mm thng khng do mt ngi m gm rt nhiu ngi xy dng. Nhng ngi cng pht trin mt phn mm phi hiu r cng vic ca mnh v cng vic chung, mi lin h gia cng vic ca tng c nhn hoc tng nhm. Cn c mt cch thc din t cc cng vic lm phn mm sao cho mi k s phn mm u c th trao i d dng cc tng v cng vic ca mnh vi cc k s trong nhm lm vic. Phn mm cng l mt th hng ha nh nhng th hng ho khc v do phi tun th nguyn tc ca kinh t th trng l sn phm phi c lp vi ngi sn xut. Ngha l sau khi mua hng, ngi mua khng b l thuc vo ngi bn. Mun vy th sn phm phn mm ngoi chng trnh chy trn my, cn c thm cc ti liu sao cho ngi khc c th tm hiu v bo tr c. Vy th cn mt ngn ng, mt cch trnh by chung cho cc sn phm phn mm.

1.3.2. Cng ngh phn mm nhn t gc lch s

My tnh in t u tin cho mc ch thng mi l my UNIVAC-1 c sn xut nm 1951 M. T khong nhng nm 1955 th bt u c cc phn mm, tc l cc chng trnh my tnh. Cho n nay, nu ly phng php v mc phc tp lm cn c, th c th chia qu trnh pht trin phn mm thnh 3 giai on: 1955 - 1970, 1971 - 1985, 1986 n nay. Tt nhin s phn chia ny ch l tng i m thi. c im ca tng giai on l: - 1955 - 1970: Tnh ton v qun l ri rc, qun l nh. c t nhng yu cu ca khch hng lc cn dng ngn ng t nhin thng thng. V d cc cu kiu nh: ti mun c tp d liu cha nhng thng tin v bn sn phm nh s ha n, ngi bn, mt hng,...D liu s c nhp t bn phm, c kim tra ri mi a vo tp. Hng thng ti mun ly thng tin v doanh thu, li, s hng bn....Thit k thi y khng c son tho ra giy m ch hnh

thnh trong t duy ca ngi lp trnh. Ngi lp trnh va vit chng trnh va suy ngh v cch t chc d liu, cch s dng cc thut ton sao cho chng trnh chy tt, p ng c yu cu ca khch hng. Chng trnh hi ch gm khong trn di vi trm dng lnh. Phng php lp trnh c s dng thi l lp trnh tuyn tnh, tc l cch vit chng trnh trong phn ln cc lnh c t theo trnh t thc hin ca chng, ngha l lnh cn thc hin trc s c vit trc, lnh thc hin sau c vit sau. - 1971 - 1985: Lc ny c nhu cu xy dng cc phn mm thi gian thc (ngha l tnh ton v s dng ngay kt qu, v d tnh ton trong l phn ng ht nhn phi c ngay kt qu iu khin kp thi). Lc ny c nhu cu xy dng cc mng cc b v kt ni cc c s d liu. c t thi ch trng vo c t u vo u ra, d liu v cc lung d liu (data flow). V d nhng tp d liu lu tr nhng thng tin g, trong qu trnh x l th d liu c tnh ton v di chuyn ra sao. u ra ca tp d liu ny sau khi x l li c th tr thnh u vo ca tp khc...Thit k thi ch trng ti cu hnh h thng (system configuration). Vn cu trc i vi d liu v gii thut cng c ch , v vn ln cn phi c m t c cu trc cho d hiu. Cc chng trnh tiu biu thi c th k ti h iu hnh DOS, UNIX...Lc cng c nhng c s d liu c th truy cp t xa. Do nhu cu thc t, cc ngn ng lp trnh ra i giai on ny c kh nng h tr phng php lp trnh c cu trc, ngha l chng trnh c phn chia thnh cc chng trnh con, mi chng trnh con c tn v cc chc nng x l ring, c th giao tip vi cc chng trnh con khc thng qua cc i s v kiu tr v (nu c). - T 1986 n nay: y l thi k ca my vi tnh PC, thi ni mng tm rng, mng ton cu Internet. c t d n c bit nhiu l hng i tng, cng c CASE (Computer Aided Software Engineering). Trong thit k ngi ta ch n mun (module), i tng (object), giao thc (protocol) v giao din (interface). Giao thc hay giao din ni v s trao i gia cc i tng. Khi ci t trn my tnh ngi ta thng dng ngn ng hng i tng. Ngoi cc phn mm c vit theo t hng, ngi ta ch trng n cc phn mm ng gi nh: Netscape, Internet Explorer, Word, Excel... Ngy nay phn mm ngy cng ln, cng tch hp. Phn mm ngy nay cn c truy cp khp ni trn th gii thng qua Internet. Ngi ta cho rng vic xy dng mt phn mm cng cn tun theo nhng nguyn tc v k lut ging nh khi xy dng mt chic cu hay thc hin nhng cng vic k ngh khc. Nu mt chic cu b li khi xy dng v do b sp th tc hi gy ra rt ln. Mt phn mm quan trng nh phn mm iu khin h thng tn la n o ca mt nc m c li, cho kt qu tnh ton sai th hu qu n gy ra cng tht l kinh khng. Chnh v vy mt nhm nghin cu ca NATO trong nm 1967 s dng thut ng "Software engineering". H mun rng khi xy dng phn mm th cc k s cng cn p dng cc nguyn tc ca k ngh truyn thng. Tuy nhin, c nhiu s khc bit gia sn phm ca k ngh truyn thng v cng ngh phn mm. V d nh chic cu v h iu hnh chng hn. S c cu sp rt t khi xy ra v nu xy ra th cch khc phc thng l xy dng li. Cn h iu hnh nu c s c c khi ch cn tt my khi ng li l li chy tt. Phn mm c th sa li, c khi l ti 50% c th chy trn

my tnh c cu hnh khc hoc thc hin thm cc chc nng khc. Cn chic cu mun sa li 50% th rt kh, nhiu khi xy dng mi cn d thc hin hn.
1.3.3. T gc kinh t

Trong k ngh truyn thng, khi c nhiu cch thc sn xut mt sn phm no , v d chit xut du la t than chng hn, cc k s thng chn phng n r nht. Khi xy dng phn mm cng vy, ngi ta thng la chn cch thc chi ph t nht. Mt phng php lp trnh mi c th vit chng trnh nhanh hn, nhng chi ph hun luyn s dng v cng bo tr c th ln hn khin ngi ta phi cn nhc khi la chn.
1.3.4. V vn bo tr

Dy cc bc m mt phn mm tri qua, bt u t nhng kho st ban u cho n khi phn mm khng cn c s dng c gi l vng i ca phn mm (software life cycle). Cho n nhng nm 70 ca th k trc, vic sn xut mt phn mm c coi l kt qu ca hai giai on ni tip nhau: pht trin (developement) v bo tr (maintenance). Dn dn quan im ny tr nn khng ph hp. Ta c th ly mt v d n gin: phn mm ngy nay c th c pht trin trong mt vi nm. Trong khong thi gian c th c nhng phn hon thin theo ng thit k ban u nhng khch hng li b sung nhng yu cu mi v phi thit k li, vit li... Cng vic ny c th xem l bo tr. C quan im cho rng cng vic sa li hay hiu chnh nhng phn chng trnh hon thin theo thit k ban u th nn coi l cng vic bo tr. Tuy nhin cho n nay thng ngi ta vn coi cng tc bo tr l nhng hot ng sau khi phn mm hon chnh v c ci t s dng. Trong ti liu ny ch yu chng ta cng hiu t "bo tr" vi ngha nh vy. Trong nhng nm cui ca thp k 70 ca th k trc, phn ln cc cng ty khi sn xut cc phn mm s dng m hnh vng i phn mm m ngy nay ngi ta gi l m hnh thc (waterfall). M hnh ny bao gm 7 giai on nh sau: 1. Xc nh yu cu (Requirements phase) 2. Phn tch hay cn gi l c t (Analysis or specification phase) 3. Thit k (Design phase) 4. Ci t (Implementation phase) 5. Tch hp (Integration phase) 6. Bo tr (Maintenance phase) 7. Thi s dng (Retirement)

Trong thc t c th mt vi pha c b qua hoc c thay th bi cc pha khc. V d ngi ta hp nht hai pha u tin thnh pha h thng. Ngi ta li cho rng vic tch hp phi c thc hin trong qu trnh ci t, ci t xong th phi c mt thi gian kim th, v nh th m hnh gm cc giai on sau: 1. Phn tch h thng 2. Thit k (kin trc v chi tit) 3. Ci t (v tch hp) 4. Kim th 5. Bo tr 6. Thi s dng Cng c quan im cho rng thc ra kim tra (verify) hoc kim th (test) l cng vic cn c thc hin mi ni. V d vi pha c t, kim tra l xem xt i chiu xem ti liu c t m t y v chnh xc cc yu cu khch hng hay cha, cn kim th chnh l xem xt xem tng im trong pha c t c th hin trong cc pha sau hay khng. V vy khng nn tch ring kim th thnh mt pha. Theo quan im ca chng ti th khng nn gp hai pha yu cu v c t. Vi phn mm ln, nhiu ngi vit th vic tch hp l rt quan trng v nn ring thnh mt pha, cn vi phn mm va v nh th nn kt hp ci t v tch hp thnh mt pha, trong bao hm c tch hp, nh trong bng sau: PM nh PM ln Yu cu Yu cu c t c t Thit k Thit k Ci t v tch hp Ci t Tch hp Bo tr Bo tr Thi s dng Thi s dng

ngha ca cc pha: 1. Xc nh yu cu: Tm hiu cc yu cu ca khch hng, a ra cc khi nim v vn . 2. Phn tch: Phn tch cc yu cu ca khch hng. M t cc kt qu phn tch di dng "ti liu c t". Cui giai on ny l k hoch qun l d n phn mm c a ra, m t chi tit qu trnh pht trin phn mm. Cu hi m pha ny cn cho cu tr li l: "phn mm s lm g?" (What the product is supposed to do?). 3. Thit k: Pha thit k bao gm hai giai on ni tip nhau: thit k kin trc (architechtural design) v thit k chi tit (detailed design). Thit k kin trc phn chia phn mm thnh cc thnh phn gi l module. Thit k chi tit l thit k tng module mt cch chi tit. Cu hi cn tr li trong pha ny l: phn mm thc hin cc cng vic nh th no? (How the product is to do it?).

4. Ci t: Tng thnh phn khc nhau c lp trnh v kim th. 5. Tch hp: Cc thnh phn ca sn phm c kt hp vi nhau v kim th tng th. S au khi nhng ngi pht trin kim th v cho rng tt c cc chc nng ca phn mm hot ng tt th n lt khch hng kim th. S kim th ca khch hng c gi l kim th chp nhn (acceptance testing). Khi s kim th ca khch hng kt thc v khch hng va lng vi sn phm th phn mm c ci t trn my ca khch hng. Trong thc t th pha tch hp c tin hnh song song vi pha ci t. Khi mi thnh phn ca sn phm c hon thnh th ngi ta tin hnh th lun. 6. Bo tr: Sn phm c s dng thc hin cc cng vic t ra trc . Trong qu trnh ny c th xy ra nhng s c: c th l cc li chng trnh cha c loi tr ht, hay kt qu khng c nh khch hng mong i. Ngi ta phn chia cng vic bo tr thnh hai loi: bo tr sa li (software repair) v bo tr cp nht (softwair update). Trong ting Anh bo tr sa li cn c gi l corrective maintenance, bo tr cp nht cn c gi l software enhancement. Bo tr sa li nh tn gi ca n, l sa cc li c th vn cn xut hin trong khi chy chng trnh. Bo tr cp nht li c chia lm hai loi: bo tr hon thin (perfective maintenance) v bo tr thch nghi (adaptive maintenance). Bo tr hon thin l sa i phn mm theo khch hng nng cao hiu qu. Bo tr thch nghi l sa i phn mm thch nghi vi mi trng mi, v d sa i cng thc tnh lng theo chnh sch mi ban hnh hay hiu chnh chng trnh ph hp vi phin bn mi ca ngn ng lp trnh...(S phn chia ny cng ch l tng i m thi). Ngi ta tnh ton rng bo tr sa cha v thch nghi chim thi gian gn bng nhau v khong 20% mi loi, cn bo tr hon thin chim thi gian khong gp 3 ln mi loi bo tr kia (khong 60%). Ngi ta thng ngh rng "sn phm xu" mi phi bo tr. Tuy nhin thc t th ngc li: "sn phm xu" b vt vo st rc, cn "sn phm tt" th c hiu chnh, nng cp v s dng trong nhiu nm (tc l c bo tr). Phn mm l m hnh ca th gii thc, m th gii thc th bin i khng ngng, do phn mm cng phi c bo tr thng xuyn phn nh ng th gii thc. Trong thc t cng vic bo tr chim mt lng thi gian v chi ph kh ln so vi cc pha khc. Nu ta gi cc pha 1-5 thnh tn chung l cc pha pht trin, phn cn li l pha bo tr th thc t cho thy rng trung bnh pha bo tr thng chim khong hai phn ba (67%) chi ph sn phm. Thm ch c nhiu cng ty phn chi ph cho bo tr c th ln ti 80%. T l % thi gian thc hin cc pha pht trin c th thy trong bng sau: Cc pha Phn tch h thng Thit k Ci t Tch hp Tng Cc d n t 1976-1981 21 18 36 24 99 132 d n gn y ca HewlettPackard 18 19 34 29 100

7. Thi s dng.
1.3.5. Vn phn tch v thit k

Cc chuyn gia pht trin phn mm cng l nhng ngi bnh thng v do khng th trnh c sai st trong cng vic. Nh vy trong phn mm h pht trin c th cha li. Li c th cha trong mi pha. D thy rng li trong pha trc cng s gy nn li pha sau. Do nu pht hin li cng chm th chi ph sa cha cng ln. Chi ph tn km nht l khi phn mm c chuyn giao v ci t cho khch hng. Lc khng nhng phn lnh phi vit li m c th cc bo co trc cng phi sa cha. Sau khi phn mm c sa cha th li tn cng phn phi v ci t li... Trong cc pha xc nh yu cu, phn tch thit k th sn phm cn nm trn giy v vic sa cha thng ch cn n ty v bt ch. V vy nn thc hin cc pha ny tht k sao cho c t sai st nht. Ngi ta cng s dng mt s k thut tm li nhanh trong cc pha yu cu v pha phn tch.
1.3.6. Vn lp trnh theo nhm

Ngy nay nh s pht trin rt nhanh ca k thut, cc cng ty c th trang b nhng my tnh c cu hnh cao, c th chy c nhng chng trnh ln. Nhiu phn mm tr thnh qu ln v khng th vit c bi mt ngi. V d ngi ta cn c sn phm trong khong thi gian mt nm, nhng nu mt ngi lm th mt 15 nm, r rng lc ny phn mm phi c lm bi nhiu ngi. Tuy nhin khng ging nh vic xy nh hoc o knh rch, vic pht trin phn mm theo nhm thng gp kh khn trong vic phn chia v kt hp cng vic gia cc thnh vin. V d A v B ng thi vit code cho hm p v q. Hm p c li gi ti hm q. chng trnh khng bo li, khi vit p A phi khai bo nguyn mu cho q. Nu khng c s trao i cn thn, c th B xy dng hm q vi cc tham s khng hon ton ging vi nguyn mu m A khai bo, v d th t cc tham s khc chng hn, khi vic kt hp s khng thnh cng. Thc t chng t rng khng phi nhiu ngi lm l thi gian c gim xung t l vi s ngi. Gi s mt phn mm c lm trong mt nm bi mt ngi. Khi nu c 3 ngi lm th thi gian khng phi l 4 thng nh ta ngh m c th l gn 1 nm v cht lng c th km hn phn mm do mt ngi xy dng. Vn lm vic theo nhm qu thc l vn rt kh v l mt lnh vc m cng ngh phn mm cn nghin cu.
1.3.7. Phng php hng i tng

Trc 1975 phn ln cc cng ty phn mm u khng s dng mt k thut no c bit. Thng th mi cng ty c cch lm phn mm ring. T 1975 - 1985 phng php cu trc (structured paradigm) ra i, nh du mt s thay i ng k trong k thut lm phn mm. K thut ny bao gm: phn tch h thng c cu trc (structured system analysis), phn tch dng d liu (data flow analysis), lp trnh cu trc (structured programming) v kim th theo cu trc (structured testing). Lc mi ra i, phng php cu trc t ra c rt nhiu ha hn v cng c p dng kh hiu qu. Tuy nhin, khi ln ca cc phn mm tng ln th phng php ny bc l nhng nhc im. Theo thi gian, ngi ta rt ra 2 nguyn nhn hn ch kh nng ca k thut ny:

Th nht, ngi ta nhn thy rng phong cch lp trnh cu trc t ra khng ph hp vi nhng phn mm cha khong trn 5000 dng lnh (tc l khong 100 trang). Cc phn mm ngy nay c th cha n 500 000 , thm ch cha n 5 triu dng lnh hoc hn. Th hai, khi xy dng phn mm ngi ta d kin v trung bnh th kinh ph bo tr chim khong hai phn ba tng kinh ph (66%). Tuy nhin trong thc t th phng php cu trc khng lm c iu ny. Rt nhiu cng ty dng n 80% kinh ph cho cng vic bo tr. Nguyn nhn lm cho lp trnh cu trc cha tht thnh cng l v phng php ny hoc l nh hng hnh ng (action oriented) hoc l nh hng d liu (data oriented), ch khng phi l c hai. Cc thnh phn c bn ca mt phn mm chnh l cc hnh ng v d liu m cc hnh ng ny tc ng ln. V d vic xc nh chiu cao trung bnh bao gm hai thao tc: thu thp chiu cao (d liu), v tnh chiu cao trung bnh. Mt vi k thut cu trc, v d phn tch dng d liu (xem [6], mc 13.3), l nh hng thao tc. Ngha l k thut ny ch hn cc thao tc, d liu ch l th yu. Ngc li, k thut khc nh h thng Jackson (xem [6], mc 13.5) li l nh hng d liu. y s nhn mnh li l d liu, cn thao tc l th yu. Phng php hng i tng li xem d liu v hnh ng u quan trng nh nhau . Ngi ta xem i tng l mt thnh phn ca phn mm trong bao gm d liu v cc hnh ng thao tc trn d liu ny. Ti khon ngn hng l mt v d v i tng. D liu ca i tng l s d ti khon. Cc hnh ng tc ng ln s d ti khon l vic gi tin, rt tin v tnh s d. Nhn t quan im phng php cu trc th phn mm gii quyt bi ton ny bao gm mt thnh phn d liu l s d ti khon v 3 hnh ng l gi tin, rt tin v tnh li s d. Theo quan im hng i tng th ti khon ngn hng l mt i tng bao gm 3 thnh phn trn. Ta c th biu din cc phng php ny trong cc hnh sau y:

(a) (b) Hnh 1.1. So snh s tnh ton ti khon ngn hng bng (a) phng php cu trc v (b) phng php hng i tng.

Nhn v hnh thc th ta cha thy r lm s khc bit gia phng php cu trc v phng php hng i tng. S khc bit c bn c th hin trong cch thc i tng vn hnh. Trong phng php cu trc, s d ti khon c khai bo sao cho cc hnh ng gi tin, rt tin, hay tnh ton s d c th tc ng ln n. y l cc thao tc bn ngoi, do s d phi c khai bo sao cho cc hm bn ngoi u bit r cc thng tin kiu d liu l g; khai bo nh bin c lp hay l mt trng ca mt cu trc khc... Nh vy ngoi 3 hnh ng trn y, s d c th b thay i bi mt thao tc (hm) khc. Trong phng php HT th s d ch c th chu tc ng ca 3 thao tc ca i tng. Bn ngoi nu mun bit thng tin v s d th ch c th gi thng bo n i tng (ngi ta ni gi thng bo n i tng c ngha l chy mt hm thnh phn ca i tng). V d nu khch hng gi 10$ th s gi thng bo v kch hot hm gi tin, v hm gi tin s tng s d ln 10 $. ch li ca phng php HT cn th hin trong qu trnh bo tr phn mm. Tr li v d trn y. Gi s kiu d liu ca s d b thay i do mt l do no . Trong phng php cu trc th tt c cc phn ca chng trnh lin quan n s d u phi sa i. Ngc li, trong phng php HT th s d ch b tc ng bi cc hm ca chnh i tng cha n, v vy ch cn sa i cc hm ny. Phng php HT c thit k tt th cc i tng l nhng phn c lp, t ph thuc ln nhau, v nh vy chng c th c xy dng mt cch c lp v do d phn chia cng vic cho nhiu ngi thc hin. Mt phn mm c xy dng theo phng php cu trc th thng c coi l mt n th duy nht (v cho d n cha nhiu thnh phn nhng cc thnh phn li ph thuc ln nhau), do phng php ny khng thch hp cho phn mm kch c ln. Cng nh tnh c lp ca cc i tng m kh nng s dng li ca phng php HT cao hn. Nu s dng phng php HT, vng i phn mm s c sa i cht t nh trong hnh sau: Phng php cu trc 1. Xc nh yu cu 2. Phn tch (xc nh phn mm lm g?) 3. Thit k (thit k kin trc, tc l phn chia phn mm thnh cc module, v thit k chi tit, tc l thit k chi tit cc module) 4. Ci t (vit chng trnh) 5. Tch hp 5. Tch hp 6. Bo tr Phng php hng i tng 1. Xc nh yu cu 2. Phn tch hng i tng (xc nh phn mm lm g, phn mm gm cc i tng no?) 3. Thit k hng i tng (thit k chi tit cc i tng) 4. Lp trnh hng i tng

6. Bo tr 7. Thi s dng

7. Thi s dng

Trong phng php cu trc, pha phn tch tr li cu hi: "phn mm lm g?" , cn pha thit k tr li cu hi: "lm nh th no?". Pha thit k gm hai pha con: thit k kin trc (phn mm c chia thnh cc module nh th no?) v thit k chi tit (mi module c thit k nh th no?) Vi phng php HT, trong pha phn tch th ngoi vic xc nh phn mm s lm nhng g (nh phng php cu trc) cn phi xc nh cc i tng trong phn mm; nh vy trong pha thit k khng phi xc nh cc i tng na, m ch cn thit k chi tit cc i tng. Nh vy trong phng php HT cc bc chuyn tip t pha ny sang pha khc mn hn, v do gim c cc li trong qu trnh pht trin.

CHNG 2. QUY TRNH LM PHN MM


2.1. M U
Quy trnh lm phn mm (hay gi n gin theo ting Anh: software process - quy trnh phn mm) l qu trnh to ra phn mm. Quy trnh ny l s kt hp m hnh vng i phn mm, cc cng c c s dng v quan trng hn ht, l nhng ngi xy dng nn phn mm . Cc cng ty phn mm khc nhau c cc quy trnh phn mm khc nhau. V d hy xem vn ti liu. C mt s cng ty cho rng chnh bn thn phn mm vi cc m ngun l ti liu v phn mm. H cho rng phn mm c th hiu c bng cch c cc m ngun ny. Mt s cng ty khc chun b ti liu rt chi tit. Ngay c khi phn mm ci t cho khch hng v chuyn sang giai on bo tr, th mi s sa i phn mm cng c ghi chp li, cc bn thit k cng c thay i cho ph hp. T thc t c th thy rng mt phn mm c kim th k lng v c cc ti liu bo co y trong tng pha th cht lng s tt hn v cng vic bo tr cng thun li hn. Ni chung, mt quy trnh phn mm thng tri qua 7 pha: xc nh yu cu, phn tch, thit k, ci t, tch hp, bo tr v thi s dng. Trong mt s trng hp th tn cc pha ny c th khc. V d ngi ta hp nht hai pha xc nh yu cu v phn tch thnh pha phn tch h thng. Mt vi pha khc li c chia nh hn, v d pha thit k c chia thnh pha thit k kin trc v thit k chi tit. Hai pha ci t v tch hp c kt hp thnh pha ci t v tch hp. Nhng l do sau y tr li cu hi v sao cc pha ca vng i phn mm cn c kim th k v bo co thnh ti liu chi tit bi nhm thc hin trc khi tin hnh cc pha tip theo: - V s thc p v thi gian hon thnh nn nhng phn ti liu b tr hon thng t khi c tip tc hon thin. - Trch nhim v mt pha no c th c chuyn giao cho nhm khc thm ch mt cng ty phn mm khc. - Phn mm thng lin tc thay i trong qu trnh xy dng. V d thit k c th b thay i trong pha ci t. R rng nu ti liu thit k c bin son y th s sa i s thun li hn.

2.2. KHCH HNG, NGI PHT TRIN V NGI S DNG


(Client, developer, and user) Khch hng l c nhn hoc cng ty c nhu cu s dng phn mm.

Nhng ngi pht trin l nhng ngi nhn trch nhim xy dng phn mm do khch hng yu cu. Ngi s dng l ngi trc tip s dng phn mm khi n c ci t cho khch hng. Khch hng, ngi pht trin v ngi s dng c th cc cng ty khc nhau hoc ngay trong mt cng ty. Cng c khi h l nhng ngi lao ng t do. Thng th khch hng v ngi s dng cng mt cng ty, cn nhng ngi pht trin l thnh vin ca mt cng ty phn mm no . Nu xt v mt gi c th ngi ta phn cc phn mm thnh hai loi: phn mm c xy dng cho mt khch hng thng c gi cao, v phn mm ng gi c bn cho nhiu khch hng v d nh Microsoft Word, Microsoft Excel...thng c gi r hn.

2.3. PHA XC NH YU CU
2.3.1. Gii thiu

Trong nhng ln gp u tin gia khch hng v ngi pht trin, khch hng phc tho cc yu cu, chc nng, cc cng vic cn thc hin ca phn mm m h mun t hng. Theo cch nhn nhn ca ngi pht trin th nhng iu khch hng m t c th m h, c nhng iu khng hp l, thm ch mu thun hay khng kh thi. Nhim v ca ngi pht trin l phi tm hiu xem thc cht khch hng cn g. Ngoi nhng yu cu v chc nng v cng vic, h cn phi tm hiu xem cc iu kin v phn mm l g? V d nh phn mm phi hon thnh trong thi gian bao lu, phn mm cn lm vic vi h iu hnh no, trn my tnh c cu hnh ra sao, gi c khong bao nhiu th chp nhn c. Thng th chnh khch hng hi li ngi pht trin gi ca phn mm, v ngi pht trin phi cn nhc khi tr li cu hi ny. Nhng kho st ban u v nhu cu khch hng c gi l tm hiu vn (concept exploration). Cc bui gp tip theo s bn k hn v cc chc nng ca phn mm, cc vn k thut lin quan v kinh ph. Thng th mi vic trong pha xc nh yu cu c v nh c thc hin sun s. Khch hng v ngi pht trin hiu nhau, cng vic c chuyn qua pha tip theo. Tuy nhin thc t li chng t rng, thng th pha xc nh yu cu khng c thnh cng lm. Sau ny khi sn phm c ci t v a vo s dng, khch hng bng n gp nhng ngi pht trin v phn nn rng "qu tnh l cc anh lm ng nhng g ti yu cu, nhng by gi ti mi nhn ra l c l phn mm ti cn li khng hn l ci m cc anh xy dng". Trong nhng trng hp ny, phn mm li phi sa i, cc ti liu phi vit li,... Nhng tnh hung trn y rt hay xy ra trong cc trng hp khch hng hiu bit t v my tnh. Lc ny ngi pht trin v khch hng thng b "bt ng ngn ng". khc phc tnh trng ny, ngi pht trin thng vit nhanh mt phn mm thc hin nhng iu m khch hng yu cu. Trong phn mm ny cha cn giao din p, cha cn kim tra nhp d liu,...ct l khch hng c th dng th xem n c thc hin ng nhng iu h mun khng. Phin bn th nghim ny c gi l bn mu nhanh (rapid prototype). Phng php xc nh yu cu s dng bn mu c gi l k thut dng bn mu.

T y c lc ta s gi n gin pha xc nh yu cu l pha yu cu, ng nh thut ng ting Anh: requirements phase.


2.3.2. Kim th pha yu cu

Trong mi cng ty phn mm cn c mt nhm lm vic m nhim v chnh ca h l bo m rng phn mm hot ng tt v p ng ng cc yu cu ca khch hng. Nhm ny c gi l nhm bo m cht lng phn mm (SQA = software quality assurance). Nhm SQA bt u thc hin vai tr ca mnh ngay t pha khi u. Nu s dng bn mu th trong pha ny nhm cng khch hng kim th phin bn cui cng ca bn mu xem n thc hin ng cc yu cu m khch hng cn khng.
2.3.3. Ti liu bo co trong pha yu cu

Ti liu c bin son trong pha yu cu bao gm bn mu v cc ghi chp trong qu trnh trao i vi khch hng. Nhng ghi chp ny chnh l c s nhng ngi pht trin xy dng v sa i bn mu. Nu nhm pht trin khng lm bn mu th ti liu s m t nhng yu cu ca khch hng. Ti liu ny c kim tra bi khch hng v mt s ngi s dng trc khi c nhm SQA kim tra k lng v chi tit.

2.4. PHA C T (HAY PHN TCH)


2.4.1. Gii thiu

Khi khch hng cho rng nhm pht trin hiu c cc yu cu ca h th cng vic c chuyn sang pha c t. Nhm c t (hay phn tch) s bin son ti liu c t. Nhng iu c nu trong ti liu ca pha yu cu s c chi tit v chnh xc ha. Cc chc nng ca phn mm c m t mt cch r rng, tng minh. Nhng iu kin rng buc v phn mm c lit k y . Ti liu c t cn ch r u vo (input) v u ra (output) ca phn mm. V d, nu yu cu ca khch hng l phn mm tnh bng lng ca mt c quan th u vo l cc mc lng ca mi nhn vin, bng ghi cc ngy lm vic, cc thng tin v thu thu nhp ca tng ngi... u ra l bng lng cng vi bo co v phn khu tr vo bo him x hi, bo him y t...Bo co c t l c s to ra bn hp ng. Hay ni chnh xc hn, bo co c t l nhng iu kin ca bn hp ng. Nhng ngi pht trin phn mm s c coi nh hon thnh hp ng nu sn phm tha mn cc tiu chun nu ra trong bn c t. Chnh v vy bn c t khng cha nhng t khng c ngha chnh xc nh: ni chung, thch hp, tng i, phong ph... Ti liu c t phi c vit sao cho c th s dng nh l chng c khi c vn cn a ra phn x ta n, ngay c khi phn mm c vit s dng trong ni b mt c quan (v nh vy kh nng kin tng s khng xy ra). Ti liu c t ng vai tr quan trng trong vic kim th v bo tr phn mm. Ta c th cn c vo ti liu ny kim tra xem phn mm tha mn cc mc tiu t ra cha. Nu nhu cu khch hng thay i th phn no ca ti liu c t cn thay i cho ph hp... Cc thiu st sau c th xy ra trong pha c t:

- Mt li m nhm c t thng vi phm l din t vn khng chnh xc, i lc c th hiu nhiu ngha. V d: sp xp mng A ri chn phn t u tin. y t sp xp cha cho cch hiu duy nht, sp tng dn hay gim dn? - Ti liu cha y : V d nu d liu c li th gii quyt nh th no? Sau khi ti liu c t c bin son xong th tip theo l xy dng k hoch chi tit v c lng thi gian hon thnh v gi tr phn mm . Khch hng s khng chp nhn d n phn mm nu cha bit cc thng tin l d n s ko di trong bao lu v chi ph ht bao nhiu. Cc vn ny rt kh. Nu gi c thp th cng ty b thit, cao th c th khch hng li chn mt cng ty khc chp nhn gi r hn. Nu thi gian c lng qu ngn, khng kp hon thnh th cng ty phn mm hoc b mt lng tin i vi khch hng, hoc nu khch hng kin th c th b pht. Nu thi hn hon thnh qu di th khch hng c th chn i tc khc lm nhanh hn. Ngoi vic c lng thi gian v gi c, nhng ngi pht trin cn phi phn cng nhn s mt cch thch hp cho tng giai on. V d nhm vit chng trnh cha th bt u khi cc ti liu thit k cha c nhm SQA kim tra v chp nhn. Nhm thit k li khng th bt u cng vic nu nhm c t cha hon thnh cng vic ca h. Tm li, k hoch qun l d n phn mm (SPMP) cn c bin son k lng nhm phn nh cc giai on khc nhau ca qu trnh pht trin phn mm, nhng thnh vin tham gia trong tng giai on v thi hn cn hon thnh. Thi im sm nht bt u xy dng SPMP l khi phn c t kt thc. Trc th d n vn cha nh hnh nn khng th vit k hoch c. D nhin cng c nhng phn ca d n c th lp k hoch sm hn, c th ngay khi bt u; tuy nhin cho n khi nhng ngi pht trin xc nh c l cn xy dng ci g th h khng th xem xt mi kha cnh ca d n v xy dng k hoch c. Nhng thnh phn chnh ca k hoch l: nhng phn sn phm chuyn giao cho khch hng, cc mc thi gian cn chuyn giao, chi ph ca cc phn sn phm ny. Bn k hoch m t t m quy trnh phn mm bao gm: m hnh vng i phn mm c s dng, c cu t chc ca cng ty phn mm, nhng mc tiu ca d n, cc k thut v cc cng c CASE c s dng, lch trnh lm vic chi tit, chi ph ...
2.4.2. Kim th pha c t

Nh ni dn trong chng 1, phn ln cc li trong phn mm chuyn giao cho khch hng thng do li trong ti liu c t gy nn. Cc li ny ch b pht hin khi phn mm c ci t trn my tnh ca khch hng. V vy nhm SQA cn phi kim tra ti liu c t mt cch k lng, nhn ra nhng iu mu thun, m h hoc cha y . Ngoi ra, nhm SQA cn phi xem xt tnh kh thi ca c t, v d cc phn cng ni n trong phn ny thc s c ph hp vi vic ci t phn mm khng, dung lng cc b nh trn my khch hng c vn hnh phn mm khng. Ti liu c t phi c th kim th c, v d c th da vo ti liu ny m kim tra tin cng vic thc hin, c th so snh vi tng mc trong pha yu cu. Ti liu c t cng nn c cc phn, cc mc c nh s tng ng vi ti liu xc nh yu cu

tin theo di. Nu c bn mu trong pha yu cu th trong ti liu c t cng nn c cc mc tng ng vi cc chc nng trong bn mu. Cch tt nht kim tra ti liu c t l xem xt. i din ca nhm c t v nhm khch hng cng ngi li di s ch ta ca thnh vin nhm SQA, xem xt k lng bn c t, pht hin nhng sai st, nhng iu cha chnh xc... Sau khi khch hng va lng vi bn c t th chuyn sang xem xt bn k hoch thc hin d n. Cng nh vi bn c t, cch tt nht kim tra bn k hoch l xem xt. Hai yu t cn ch l thi gian thc hin v chi ph. Thng th cc c lng v thi gian v chi ph c hai hoc nhiu nhm nghin cu c lp nhau, sau cng trao i a ra kt lun thng nht.
2.4.3. Ti liu bo co trong pha c t

Ti liu c bin son trong pha c t bao gm hai ti liu: bn bo co c t v bn k hoch qun l d n phn mm (SPMP).

2.5. PHA THIT K


2.5.1. Gii thiu

Pha c t cho chng ta bit "phn mm lm g?", cn pha thit k li tr li cu hi "lm nh th no?" Vi vic tm hiu nghin cu bn bo co c t, nhm thit k xc nh cu trc bn trong ca phn mm. H phn chia phn mm thnh cc module, l nhng phn m lnh c lp nhau v c cc giao tip ph hp vi cc phn cn li ca phn mm. (i tng cng l mt trng hp c bit ca module). Cc giao tip ca mt module l cc tham s vo v cc tham s ra ca n. V d nu module l tnh li sut tit kim th u vo l s tin gi, thi gian gi, loi tit kim (khng k hn, 3 thng, 6 thng hay 1 nm...) v u ra l s tin li. Sau khi kt thc vic phn chia phn mm thnh cc module (thit k kin trc), nhm lm vic bt u cng vic thit k chi tit cho tng module. Vi mi module cn chn cc thut ton v cc cu trc d liu thch hp. Trong qu trnh phn chia phn mm thnh cc module, nhm lm vic cn ghi chp li cc bc quyt nh v l do la chn. Lm nh vy c hai iu li: Th nht, c th i khi cng vic i n ch b tc, ngi ta phi quay li v sa i mt s quyt nh ca cc bc trc . Nu c bn ghi chp y th vic quay li ny d dng hn. Th hai, vic ghi chp y s rt tt cho cng tc bo tr. Chng ta bit rng phn mm khng bao gi gi nguyn m thng hay b sa i. Mt phn mm tt phi c tnh m (open ended), c ngha l ta c th thm vo, bt i hoc thay i mt s module m khng phi thay i nhiu cc phn cn li. Tuy nhin iu ny trong thc t rt kh thc hin. Do sc p v thi gian, nhm lm vic ch yu tp trung vo vic thit k phn mm theo cc yu cu hin c m t khi suy ngh n vic m rng nng cp trong tng lai. Nhm lm vic thng chn s tha

hip l thit k v ghi chp li sao cho sau ny khi cn nng cp phn mm th bit c cn thay i module no, sao cho s sa i cng t cng tt. Thm ch ngay c trong trng hp phn mm phi thit k li hon ton th bn thit k c vi ghi chp y cng s cung cp nhiu thng tin b ch.
2.5.2. Kim th pha thit k

Nh nhc n, mt tnh cht rt quan trng ca mt sn phm (ti liu bo co, phn mm) l tnh theo di c (traceable). Trong trng hp thit k th iu ny c ngha l bn thit k phi l s ni tip ca bn bo co c t. Nhn vo bn thit k ta phi bit c cc phn tng ng vi bo co c t. Bn thit k cng phi c xem xt k, xem n thc s ph hp vi bo co c t cha. Tuy nhin, khc vi bo co yu cu v bo co c t, bn thit k mang tnh chuyn nghip v nu khch hng khng phi l k s tin hc th s rt kh hiu. Chnh v vy khi kim tra bn thit k th thng khch hng khng c mt. Cng vic xem xt ny c nhm SQA thc hin. Cc li thng c pht hin trong pha ny thng l: li logic, li giao tip, thiu phn x l cc trng hp ngoi l, v quan trng nht l khng tng hp vi bo co c t. Ngoi ra nhm SQA cn ch nhn ra nhng li trong cc pha trc nhng cha c pht hin.
2.5.3. Ti liu bo co trong pha thit k

Sn phm chnh trong pha ny chnh l bn thit k. Bn ny gm hai phn: kin trc v chi tit. Cc bn thit k chi tit s c chuyn cho cc lp trnh vin thc hin cng vic lp trnh.

2.6. PHA CI T
2.6.1. Gii thiu

Trong pha ny cc lp trnh vin vit chng trnh cho cc module theo thit k chi tit.
2.6.2. Kim th pha ci t

Mi module cn kim th trong khi thc hin v sau khi hon thnh (desk checking). Cc module c chy th vi s liu th (test case). V d vi module tnh li sut th ta th nhp s liu l s tin gi, thi gian gi, loi hnh tit kim ri chy th cho kt qu. S liu nn n gin hoc c tnh ton trc bng cch no , sao cho ta c th bit c chng trnh cho kt qu ng hay sai. Cng vic th tng module ny c ngi lp trnh thc hin. Sau nhm SQA s dng mt s phng php c th li cc module. Cng vi vic chy th cc s liu mu, vic xem xt cc m ngun cng l mt cch kim th hiu qu tm ra li lp trnh. Ngi lp trnh s gii thiu cc dng lnh, cch hot ng ca cc module. Nhm xem xt m ngun cn c i din ca nhm SQA. Cng ging nh vic xem xt bo co c t hay thit k, hot ng kim th trong pha ny ca nhm SQA cng phi c ghi chp li.

2.6.3. Ti liu bo co trong pha ci t

Ti liu trong pha ci t chnh l cc m ngun ca mi module cng vi cc li gii thch. Cc lp trnh vin phi b sung bn cnh m ngun nhng ti liu khc h tr cho vic bo tr sau ny, v d cc s liu v kt qu mu dng th chng trnh.

2.7. PHA TCH HP


2.7.1. Gii thiu

Trong pha ci t th tng module c kim th. Trong pha tch hp cc module s c kt hp thnh phn mm v chng ta cn kim tra xem cc chc nng ca phn mm c hot ng chnh xc khng. Thc t chng t rng nn tch hp cc module lc c th, ch khng ch n lc tt c cc module u c xy dng. Ngha l nn thc hin pha ci t v tch hp song song vi nhau.
2.7.2. Kim th pha tch hp

Mc ch kim th y l kim tra xem cc module c c kt hp mt cch chnh xc to nn phn mm thc hin ng nhng yu cu nu trong bo co c t hay khng. Lc ny cn ch n phn giao tip gia cc module. V d cc tham s thc t v cc tham s hnh thc phi cng loi, chng cng l thc, nguyn hay chui k t chng hn. Tuy nhin c nhng ngn ng lp trnh li khng i hi kht khe v kiu d liu. Sau khi kim tra tch hp v thy rng cc module c ghp ni vi nhau mt cch chnh xc th nhm SQA chuyn sang kim th phn mm (product testing). Cc chc nng ca phn mm c kim tra theo cc rng buc c nu trong bo co c t. V d nh chng trnh tnh ton v cho kt qu c nhanh khng. Bi v mc tiu ca vic kim th phn mm l xc nh xem phn c t c c thc hin ng khng, v vy nn a ra nhiu trng hp th (tc l cc s liu v kt qu mu) khi kt thc phn c t. Khng ch tnh chnh xc m c tnh n nh ca chng trnh cng c kim th. Ngi ta th xem chng trnh x l nh th no vi mt d liu sai. Chng trnh s sp hay c cch x l hp l hn nh thng bo v tm ngng ch d liu mi chng hn. Nu chng trnh c ci trn my khch hng cng vi mt phn mm khc th c gy s xung khc khng... Bc cui ca kim th tch hp l kim th chp nhn (acceptance testing). Chng trnh c ci t trn my khch hng, chy vi cu hnh v s liu thc. Cho d nhm pht trin s dng nhng s liu mu nh th no th thng vn c s khc bit rt ln gia s liu mu v s liu thc t. Phn mm s khng c coi l tha mn cc c t chng no cha tri qua kim th chp nhn. Trong trng hp phn mm ng gi th khng c khch hng c th. Vi phn mm loi ny th sau khi nhm pht trin xy dng v kim th xong, phn mm s c gi cho mt s khch hng c coi l nhng ngi s dng trong tng lai h dng th. Phn mm gi i c gi l phin bn alpha. Sau khi khch hng (c la chn) kim th v hiu chnh th phin

bn alpha tr thnh phin bn beta. Phin bn beta thng c coi l gn vi phin bn cui cng. Li trong phn mm ng gi thng lm cho phn mm khng bn c v cng ty pht trin chu thua l ln. Cc phin bn alpha v beta c gi cho mt s cng ty c la chn v s dng vo cng vic ca h vi hy vng trong qu trnh s dng s pht hin ra cc li tim n. Cc cng ty th cc phin bn alpha v beta thng c ha l c cung cp min ph phn mm thnh phm. Tuy nhin cc cng ty ny cng phi chu s ri ro l rt c th trong qu trnh s dng th li trong phn mm lm cho h tn thi gian v ch, cc li ny c th lm tn hi nhng cng vic khc, v d nh c s d liu b sp chng hn. B li, i khi cc cng ty ny li c hng li trong cnh tranh do c s dng phn mm mi, cha ai c.
2.7.3. Ti liu bo co trong pha tch hp

Sn phm trong pha tch hp l cc m ngun c hiu chnh cng cc li ch thch. Km theo l ti liu hng dn s dng, ti liu hng dn ci t v vn hnh chng trnh, gii thch cc c s d liu...Tm li tt c cc ti liu cn thit cng vi phn mm chuyn giao cho khch hng.

2.8. PHA BO TR
2.8.1. Gii thiu

Nu phn mm c chp nhn bi khch hng v ci t trn my ca h th t lc mi thay i v phn mm u c gi l bo tr. Bo tr l mt phn ca quy trnh phn mm v thng c chi ph ln hn tt c cc pha khc cng li. Mt vn quan trng hay b lng qun trong pha bo tr l vn cp nht ti liu. Mi khi c thay i v phn mm trong pha bo tr th ng l cc ti liu trong cc pha trc u phi sa i. Tuy nhin ngi ta thng khng lm iu ny v ti liu trong pha bo tr thng ch c m ngun ca phn mm sa i. Trong nhiu trng hp, thi gian bo tr kh di v c th nhng ngi xy dng nn phn mm khng cn cng ty na, v vic bo tr cng tr nn kh khn. Ni chung pha bo tr l pha tri qua nhiu thch thc nht trong qu trnh sn xut phn mm.
2.8.2. Kim th pha bo tr

Khi mt phn ca phn mm b sa i th d nhin ta phi tin hnh kim th li. Vic kim th y bao gm hai phn: th nht cn kim tra xem phn mm c sa theo ng yu cu t ra cha. Th hai l sau khi sa i li mt phn ca phn mm th phn cn li c b nh hng khng. thc hin php kim th th hai ny ta phi gi li tt c cc trng hp th trc y. Vic dng cc d liu mu c th li cc chc nng khng lin quan n phn chng trnh va sa i c gi l php th li li hay php th hi quy (regression testing).

2.8.3. Ti liu bo co trong pha bo tr

Ti liu quan trng trong pha bo tr l cc ghi chp v cc sa i c thc hin cng cc l do. Khi phn mm b sa i th cn thc hin php th hi quy. Do cc trng hp th hi quy cng l mt phn quan trng trong ti liu ny.

2.9. THI S DNG


Sau nhiu nm s dng c th phn mm tr nn khng cn thit v khng cn cn s bo t r na. Cc l do c th nh sau: 1. S thay i do khch hng a ra qu ln. Tt nht l xy dng mt phn mm khc thay th. 2. Sau nhiu ln thc hin cc sa i trn thit k ban u lm cho cc phn ca phn mm tr nn qu ph thuc ln nhau (mt cch tnh c ch khng phi l do yu cu ca phn mm) do mi ln thay i mt module nh cng c th lm nh hng n cc chc nng ca ton b phn mm nn vic bo tr tr nn qu kh khn. Tt nht l t li yu cu v thit k mi t u, tc l lm phn mm mi. 3. Sau nhiu ln sa i nhng cc ti liu li khng cp nht y nn khng kim sot c cc li hi quy. Tt nht l nn vit li phn mm. 4. Phn cng b thay i. Phn mm khng cn thch hp na, tt nht l nn vit li. Trong cc trng hp trn y, phn mm c c thay bng phn mm mi v quy trnh phn mm li c bt u. S kt thc s dng thc s thng t xy ra hn nhng khng phi l c bit. Nu mt phn mm tr nn li thi th d nhin ngi ta khng s dng chng na v xa khi cc my tnh ca h. V d Vit nam th cc phn mm son tho vn bn th h c c loi b v thay th cc phn mm hon ton mi.

CHNG 3. CC M HNH VNG I PHN MM


Nh nu trong chng 1, dy cc bc m mt phn mm tri qua, bt u t nhng kho st u tin cho n khi phn mm khng cn c s dng c gi l vng i phn mm. Vng i phn mm ca mi sn phm nhiu khi c s khc bit rt ln. C phn mm dng mt vi nm cho pha kho st, tm hiu vn . Nhng trng hp nh th ny thng xy ra do cha c phn cng ph hp xy dng phn mm, hoc cn phi tin hnh kh nhiu nghin cu tm ra thut ton hiu qu. C sn phm c thit k v vit chng trnh rt nhanh nhng li tn hng nm bo tr do phi sa i chng trnh cho ph hp vi cc yu cu ca khch hng. Cng c nhng sn phm phn mm sau mt thi gian s dng ngi ta nhn thy rng c l nn vit hn mt sn phm mi hon ton th s tt hn l bo tr sn phm c. Cho n nay c rt nhiu m hnh vng i phn mm c s dng Tuy nhin y chng ta ch tm hiu mt vi m hnh tiu biu xt c v mt nhc im v mt u im.

3.1. M HNH XY DNG-V-HIU CHNH (BUILDAND-FIX MODEL)


C kh nhiu phn mm c xy dng da trn m hnh xy dng-v-hiu chnh. Trong m hnh ny khng c cc pha phn tch thit k. Phn mm c xy dng nh sau: ngi pht trin sau khi trao i vi khch hng s vit phin bn u tin. Tip theo, phn mm c chy th vi s quan st ca khch hng v lin tc c hiu chnh cho n khi khch hng va (tc l p ng c yu cu ca khch hng). Sau khi c khch hng chp nhn, phn mm c a vo s dng v bo tr. M hnh ny c th biu din trong s sau:

Xy dng phin bn u tin

Hnh 3.1. M hnh xy dng-v-hiu chnh V sao cch thc ny c nhiu ngi s dng lm phn mm, nht l cc phn mm nh? Nu ni chnh xc hn th m hnh trn y khng c ti liu phn tch, thit k. V thc ra khi vit chng trnh th ngi pht trin cng phi hnh dung ra cc chc nng ca phn mm, nhng module phi c, nhng thut ton s dng... Ngha l phn no h cng c phn tch thit k, nhng h khng bin son li thnh ti liu m thi. Chc cc bn cng tng thy nhng bc th mc mit mi lm vic, chng thy c bn v thit k no m h vn lm ra nhng chic t, chic ging rt p. D nhin l h khng lm mt cch v thc m theo mt cch thc c sn trong tr nh ca h. Nu phn mm do mt ngi vit v d dng trao i vi khch hng th c l m hnh xy dng-v-hiu chnh l cch nhanh nht i ti sn phm. Sau khi vit phin bn u tin, ngi pht trin hiu kh r yu cu ca khch hng, h cng hiu r cc dng lnh va vit. V vy khi khch hng nu yu cu hiu chnh phn mm th h bit

ngay cn phi hiu chnh phn no ca chng trnh. Cng vic thng c thc hin kh nhanh chng v phn mm sm c hon thnh v a vo s dng. V hnh thc, cch lm phn mm theo kiu xy dng-v hiu chnh cng ging nh lm bn mu. Tuy nhin c mt s khc bit, l khi lm bn mu ta b qua cc yu t quan trng khc m ch tp trung m t cc yu cu ca khch hng; cn trong m hnh xy dng-v-hiu chnh th ta ch ti c cc c trng ny khi xy dng phn mm. Nhc im ca m hnh th hin r trong giai on bo tr. Cng vic bo tr thng l sa li v cp nht. Nu phn mm va mi c a vo s dng v tc gi vn cn chu trch nhim cng vic ny th khng c vn g lm. Tuy nhin nu phn mm c s dng sau mt thi gian di, khin cho chnh ngi vit chng trnh cng qun i ngha cc dng lnh; hoc vic bo tr li do mt ngi khc thc hin th s rt kh khn. Nu bn th c chng trnh ngun ca mt tc gi khc m khng c ti liu gii thch km theo th bn s thy rt kh hiu. i khi bn tm hiu vn ri vit mi chng trnh c l cn n gin hn l sa li chng trnh ca ngi khc. R rng m hnh xy dng-v-hiu chnh ch thch nghi cho phn mm nh, mt ngi vit v t kh nng phi sa i trong qu trnh s dng. Ngy nay cc phn mm thng ln, do nhiu ngi vit do cch thc ny tr nn khng thch hp. Khi c nhu cu lm phn mm, ta cn la chn m hnh vng i thch hp (i khi ta ni n gin l m hnh). M hnh ny phi c c nhm lm phn mm nht tr, sau cng vic pht trin phn mm mi thc s c bt u. Cho n u nhng nm 1980 m hnh c s dng rng ri nht l m hnh thc (waterfall) m ta s nghin cu sau y.

3.2. M HNH THC (WATERFALL MODEL)


M hnh thc l m hnh pht trin phn mm c a ra ln u tin bi W.W. Royce vo nm 1970. Trong m hnh ny, qu trnh pht trin phn mm c coi nh mt dng chy tri qua cc pha yu cu, phn tch, thit k, ci t, tch hp v bo tr. Thc ra, Royce c m t tnh lp ca tng pha, ngha l nu trong mt pha ngi ta pht hin ra iu g sai st hoc khng ph hp th s quay li hiu chnh pha trc. Hnh 3.2 l s biu din m hnh thc .

Hnh 3.2. M hnh thc (waterfall model) M hnh thc l m hnh c nht v c s dng rng ri nht trong cng ngh phn mm. Tuy nhin cng c nhiu kin ch trch v cho rng m hnh ny c mt s nhc im nh sau:

Cc d n trong thc t him khi tun theo dng chy tun t m m hnh ngh. Mc du m hnh cho php lp, nhng iu ch lm gin tip. Kt qu l nhng thay i c th gy ra ln ln khi nhm pht trin lm vic. Khch hng thng kh pht biu mi yu cu mt cch tng minh ngay t u. M hnh tun t tuyn tnh i hi iu ny v thng kh thch hp vi s khng chc chn t nhin tn ti vo lc u ca nhiu d n. Khch hng phi kin nhn ch i, v bn lm vic c ca chng tnh ch c c vo cui ca thi gian d n. Mt sai lm ng ngn, nu n lc c chng trnh lm vic mi pht hin ra, c th l mt thm ha. Vi vic phn tch mt s d n hin ti, Bradax thy rng bn cht tuyn tnh ca vng i c in dn ti "cc trng thi tc nghn", ngha l c mt s thnh vin ca nhm pht trin phi ch i s chuyn giao t nhm khc hon thnh cng vic pha trc. Trong thc t, thi gian ch i c th vt qu thi gian sn xut. Trng thi nghn c xu hng xy ra vo thi gian u v cui ca quy trnh phn mm. Tuy nhin, m hnh vng i c in c mt v tr quan trng v n a ra mt hnh mu v cc bc m mt phn mm cn phi tri qua l: phn tch h thng, thit k, ci t, tch hp v bo tr. Nhiu m hnh sau ny l ci tin m hnh ny, nhng vn gi li nhng im ct li.

3.3. M HNH BN MU (RAPID PROTOTYPING MODEL)


M hnh bn mu thc cht cng l m hnh thc , nhng phn xc nh yu cu c thay bng bn mu. M hnh ny c th biu din bi s sau:

Hnh 3.3. M hnh bn mu (rapid prototyping model) Cng nh m hnh thc , cc pha t bn mu n thit k u c kim tra (verify), cc pha ci t v tch hp c kim th (test). Thng thng khch hng xc nh c mt tp cc mc tiu tng qut cho phn mm, nhng cn cha nhn din c u vo, u ra, nhng ci cn x l. Trong cc trng hp khc ngi pht trin c th khng chc v tnh hiu qu ca thut ton, vic thch nghi h iu hnh hay dng mn hnh giao din cn c. Trong trng hp ny v nhiu trng hp khc, cch lm bn mu c th a ra cch tip cn tt nht.

lm bn mu, u tin ngi ta thu thp yu cu khch hng. Ngi pht trin v khch hng cng ngi li vi nhau xc nh cc mc tiu tng th cho phn mm, xc nh xem yu cu no r rng, yu cu no cn phi xc nh thm. Tip theo l vic "thit k nhanh". Thit k nhanh ch tp trung vo vic biu din cc kha cnh ca phn mm thy c i vi ngi dng, v d mn hnh nhp d liu, cc chc nng tm kim, truy xut thng tin, cc bo co. Ngi pht trin c th kt hp th nghim mt thut ton. Tuy nhin mc ch chnh l th hin c cc yu cu ca khch hng trong phn mm m cha n tnh ti u, tc , s hp l... Thit k nhanh dn ti vic xy dng mt bn mu. Bn mu c gii thiu vi khch hng v c th h dng th v nh gi, gp kin. Trn c s kin khch, hng ngi pht trin lm mn dn bn mu cho n khi khch hng thy va (ch yu l ci vo, ci ra, giao din...). Cn c vo bn mu ngi pht trin cng hiu r hn yu cu khch hng, nhng yu cu v cu hnh, v cc thut ton, cu trc d liu, ngn ng lp trnh ph hp...

Hnh 3.4. M thc lm bn mu Mt cu hi t ra l: bn mu c hiu chnh cho n khi khch hng va , vy c nn s dng ngay bn mu ny hoc hon thin thm thnh bn chnh chuyn giao cho khch hng khng? V vn ny Brook nu cu tr li nh sau:
Trong hu ht cc d n, h thng u tin him khi s dng c. N c th l qu chm, qu ln, cng knh trong s dng hay tt c nhng nhc im ny. Khng c cch no khc l b t u li, au n nhng tinh khn hn, v xy dng li mt phin bn trong nhng vn ny c gii quyt.

Mt cch l tng, bn mu ch c xem nh mt c ch xc nh cc yu cu ca phn mm. Khch hng thng khng bit c cht lng thc s ca bn mu. H khng bit c rng trong khi x y cho bn mu th hin c nhng yu cu khch hng th ngi ta khng n cht lng tng th hay tnh bo tr lu di ca phn mm. Khi c thng bo li l sn phm c xy dng li n t ti mc cht lng cao th khch hng thng ku tri v i hi rng "phi t sa cha". Cch tt nht l ngay t u nn xc nh vi khch hng l bn mu ch s dng xc nh ng yu cu khch hng m thi. So snh m hnh thc v m hnh bn mu Trong m hnh thc , mc ch ca pha xc nh yu cu l lm sao nm bt c nhng yu cu ca khch hng. Tuy nhin vic ny thng gp kh khn do khch hng i khi khng din t c chnh xc yu cu ca mnh v c th ngi pht trin i khi hiu sai ca khch hng. Vic s dng bn mu trong pha xc nh yu cu s khc phc c phn no tnh trng ny. Khch hng d kim tra li cc yu cu ca mnh qua vic chy th cc chc nng ca phn mm bn mu. Thc cht th m

hnh bn mu cng l m hnh thc nhng k thut kho st c s dng l bn mu. Vic s dng bn mu cn c im li l gip cc nh pht trin c c hi p dng th v nh gi nhng cng ngh v k thut mi v c th gim thiu nhng ri ro khi s dng nhng cng ngh mi ny.

3.4. M HNH TNG DN (INCREMENTAL MODEL)


Phn mm c xy dng tng bc, cng nh xy mt ngi nh vy. Nu nh khi xy dng ngi nh c lc ngi ta phi ph i xy li mt bc tng khng va th khi lm phn mm chng ta cng c th sa i thm ch b i nhng module chng trnh khng ph hp...Mt phn mm ra i, c a vo s dng. Trong qu trnh s dng ngoi vic pht hin v sa cha sai st, ngi ta thy cn nng cp cht lng bng cch ci tin mt vi thut ton, thm mt s chc nng... V d nh khi lm phn mm son tho vn bn chng hn. Phin bn u c th cha c chc nng kim tra chnh t, cha c chc nng chn hnh nh...Ngi ta nng cp phin bn ny bng cch b sung cc chc nng ny. Sau khi hon thnh cng vic ny ngi ta li thy nn thm chc nng v th, thm kh nng tnh ton trong bng. Mi ln nng cp nh vy ngi ta li da trn nn tng phn mm c v xem xt sa i li ti liu cc pha. T nhn xt rng phn mm c th c xy dng tng bc a n vic ra i mt m hnh mi l m hnh tng dn. Trong m hnh tng dn, ngi ta xem phn mm bao gm nhiu thnh phn (build) tng i c lp nhau. Vi h iu hnh chng hn, l thnh phn scheduler, thnh phn file management system,.. Mi thnh phn nh vy c coi nh mt phn mm nh, c thit k, lp trnh, kim th v a cho khch hng s dng theo m hnh thc ri kt hp dn thnh phn mm hon chnh tha mn tt c cc yu cu ca khch hng. Ban u ngi ta cha ch n ton b cc yu cu ca phn mm m ch ch n nhng nt c trng nht v xy dng phin bn u tin ca phn mm bao gm cc c trng ny ri a cho khch hng s dng. Chng trnh c hiu chnh theo kin phn hi ca khch hng. Tip theo ngi ta li xy dng phn mm th hai tha mn cc c trng quan trng th hai v li a cho khch hng s dng v c kin. Phn mm th hai ny sau khi hiu chnh li c tch hp vo phn mm u tin thnh mt phn mm ln hn. Phn mm tch hp ny li c kim th bo m vic ghp ni thnh cng v chng trnh chy tt. C nh vy, thay v xy dng phn mm hon chnh, ngi ta xy dng cc phn mm con ri tch hp dn cho ti khi t c sn phm mong mun. S sau m t m hnh tng dn.

Hnh 3.5. M hnh tng dn (incremental model) Nhn xt m hnh tng dn Vi m hnh thc hoc bn mu, sn phm c chuyn giao cho khch hng chnh l phin bn hon chnh tha mn tt c cc yu cu ca khch hng v c th s dng ngay. Thi gian hon thnh

phn mm c quy nh trong hp ng v c th sm hoc mun hn. Vi m hnh tng dn th phn mm c chia ra nhiu phn (thng l t 5 n 25 phn). Phn u tin cha ng nhng c trng quan trng nht c nhanh chng xy dng v chuyn giao cho khch hng s dng. Thi gian hon thnh phn u tin ny thng rt ngn so vi thi gian xy dng ton b phn mm hon chnh. Nh vy khch hng c s dng sn phm trong thi gian ngn nht v h c th c hng li t vic s dng phn mm. Khi mi phn sau c hon thnh v c tch hp th h c s dng ngay. Nh vy h c lm quen tng bc vi sn phm v s t b ng khi sn phm cha ng nhng cng ngh mi. Nh theo st tng bc pht trin ca phn mm m khch hng c th c nhng kin xc ng, gip cho nh pht trin i ng hng v sn phm cui cng s tha mn c cc yu cu t ra, thm ch qua vic s dng mt s phn u, khch hng nhn thy rng khng nn pht trin tip v s khng mang li li ch kinh t. Kh khn trong vic s dng m hnh tng dn chnh l s tch hp phn mi pht trin vi phn chng trnh c. Thit k ca m hnh ny do vy phi c tnh m v tnh mm do thch nghi vi vic m rng dn. Ta c th nhn thy rng, trong m hnh tng dn khng c s khc bit gia s pht trin phn mm v bo tr cp nht (nng cao). Nu vn dng khng hp l, m hnh ny c th suy thoi thnh m hnh xy dng-v-hiu chnh. S iu khin ton b quy trnh pht trin phn mm c th b mt v sn phm nhn c thay v c tnh m li l ni kinh hong cho nhng ngi bo tr. trnh c iu ny, ngi pht trin ngay t u phi c cch nhn ton cc v sn phm, phi a ra thit k tng th ca sn phm v s phn chia cc thnh phn pht trin sau ny cng phi trn c s thit k ton cc . Nh s 3.5. ch ra, cc pha yu cu, c t v thit k kin trc phi c thc hin trc khi cc thnh phn nh hn c bt u xy dng. Nu khng c nhng nh chuyn mn trnh cao th sn phm pht trin theo m hnh ny c th tr thnh sn phm km cht lng. Khi no nn s dng m hnh tng dn? Nu phn mm c th phn chia thnh nhng thnh phn tng i c lp nhau th c th p dng m hnh ny. Vi nhng bi ton nh xy dng phn mm qun l dch v bay cc cng ty hng khng, chng trnh qun l tn dng ngn hng chng hn, tnh lin kt gia cc thnh phn kh cao nn khng nn p dng m hnh ny.

3.5. M HNH TNG DN NG THI (CONCURRENT INCREMENTAL MODEL)


M hnh tng dn ng thi c cng ty Fujitsu (Nht) s dng xy dng phn mm truyn thng c ln vo khong nm 1993. Sau ny K. Beck chnh xc ha khi nim ny vo nm 1999 v t tn l "lp trnh cc im" (extreme programming). Tuy nhin chng ta s gi l m hnh tng dn ng thi cho d hnh dung. C th tm tt m hnh ny nh sau: Trc ht ngi ta tm hiu nhu cu khch hng ri phn chia thnh nhm cc c trng tng ng vi tng phn ca phn mm cn xy dng. Sau nhm c t tin hnh xy dng c t ca phn th

nht, sau khi hon thnh th trao kt qu cho nhm thit k thc hin thit k, nhm li chuyn qua c t thnh phn th hai,... c nh vy cc thnh phn c xy dng song song, v mi nhm s dng cc thng tin nhn c t cc thnh phn trc . Cch tip cn ny thc s gy ra ri ro l cc thnh phn c th khng tng thch vi nhau. Vi m hnh tng dn, kh nng ri ro phn no c gim thiu v thit k kin trc c thc hin trc khi phn mm c chia nh thnh tng phn v c xy dng. S m hnh ny nh sau:

...

Hnh 3.6. M hnh tng dn ng thi (concurrent incremental model)

y l m hnh cn c nhiu tranh ci. Thc cht l m hnh tng dn, nhng cc phn c thc hin ng thi. M hnh ny c tnh ri ro cao hn m hnh tng dn thng thng. Bc u tin nhm pht trin phn mm da vo kin khch hng xc nh cc c trng khc nhau ca phn mm. Vi mi c trng nh vy h thng bo cho khch hng l phi xy dng trong bao lu v gi c bao nhiu. Tip theo khch hng la chn nhng c trng cho cc phn cn xy dng da trn phn tch gi c v li nhun (cost-benifit analysis), tc l phn tch da trn thi gian v gi c nu ra bi nhm pht trin v li nhun d tnh ca cng ty h. Mi phn c la chn li c chia thnh tng phn nh hn, c gi l cc nhim v. Mi lp trnh vin trc ht nu ra cc trng hp th cho tng nhim v sau cng lm vic vi cng s ca h trc mt mn hnh (kiu lp trnh ny c gi l pair programming). Lp trnh vin hon thnh nhim v c giao v chy cc trng hp th bo m phn chng trnh h vit chy tt. Phn chng trnh ny sau c tch hp vo phin bn hin thi ca phn mm cn xy dng. Trng hp l tng l c phn lp trnh v tch hp cho mt nhim v ch ko di trong vi gi. Thng th cc cp lp trnh vin thc hin cc nhim v song song, nh th s tch hp s c tin hnh mt cch lin tip. Cc trng hp dng th cc nhim v c gi li cho cc php kim th tch hp sau ny. Mt s c trng ca lp trnh cc im (XP) c phn no hi khc thng: 1. My tnh ca cc nhm lp trnh cc im c t gia phng ln, trong cc phng nh c vch ngn. 2. i din ca khch hng lun lun lm vic cng nhm XP. 3. Khng ai lm vic qu gi trong hai tun lin tc.

4. Khng c phn cng c bit. Tt c cc thnh vin ca nhm XP u c th tham gia phn tch, thit k, lp trnh v kim th. 5. Nh s ch ra, khng c thit k tng th trc khi cc phn c xy dng. Thay vo , thit k s c hiu chnh khi sn phm c xy dng. Th tc ny c gi l ti phn tch nhn t (refactoring). Khi mt trng hp th khng chy tt th cc lnh s c vit li cho n khi nhm lp trnh thy rng thit k l n gin, r rng v mi trng hp th u chy tt. M hnh ny c s dng hiu qu cho mt s phn mm va v nh,c dung lng cng vic t 9 ngi-thng cho n 100 ngi-nm. M hnh ny thc s c li khi yu cu ca khch hng khng r rng v hay thay i. Tuy nhin m hnh ny cn cha c s dng rng ri v do cng cha c iu kin kim chng li kt lun trn y.

3.6. M HNH NG B-V-N NH (SYNCHRONIZE-AND-STABILIZE MODEL)


Cng ty Microsoft l cng ty sn xut phn mm ng gi ln nht th gii. Hu ht phn mm ca h c xy dng da trn mt phin bn ca m hnh tng dn c tn gi l ng b-v-n nh ha (synchronize-and-stabilize model). Pha xc nh yu cu c thc hin bng cch phng vn rt nhiu khch hng d kin v cc c trng ca nhu cu khch hng c lit k theo th t u tin. Sau ti liu c t c son tho. Tip theo, cng vic c chia lm ba hoc bn phn. Phn th nht cha cc c trng quan trng nht, phn th hai cha cc c trng quan trng th nh...Mi thnh phn s c xy dng bi mt s nhm nh lm vic song song. Cui mi ngy cc nhm ng b ha (synchrronize), tc l h hp li nhng phn h lm ring bit thnh mt thnh phn thng nht, kim tra, sa li v kim th. S n nh ha (stabilize) c thc hin giai on cui ca mi phn. Trong giai on ny nhng li cn st li c pht hin, c sa cha v thnh phn c ng gi (frozen), tc l khng thc hin thay i no i vi cc c t. Cc bc ng b ha c lp li bo m rng cc thnh phn khc nhau c th c kt hp v cng lm vic tt.Mt im li ca cch lm ny l nhng ngi pht trin c th sm nhn thy s hot ng ca phn mm v c th hiu chnh cc yu cu, c th l ngay trong qu trnh cc thnh phn c xy dng. M hnh ny c th p dng ngay c trong trng hp cc c t ban u khng hon thin.

3.7. M HNH XON C (SPIRAL MODEL)


M hnh xon c (do Boehm xut nm 1988) l kt hp cc kha cnh ca cc m hnh trn y. C th hn, m hnh xon c l s kt hp tnh lp ca m hnh bn mu v tnh h thng ca m hnh thc . V bn cht, m hnh m t s pht trin ca phn mm qua cc giai on tin ho, mi giai on c coi nh mt m hnh thc . Ban u ngi ta cha nh ngha h thng mt cch chi tit, m ch ch n nhng c trng ni bt nht. Sau phn c trng ny c xy dng v a cho

khch hng xem xt, c kin (cng khng hn l s dng cho cng vic nh trong m hnh tng dn). Cng nhng thng tin phn hi t khch hng, ngi pht trin tr li thc hin cc c trng vi mc chi tit hn. Bn cht m hnh xon c nh tn gi ca n, l bt u t nhng ci khi qut nht ri i dn n chi tit. Trong qu trnh c lp k hoch cho tng giai on lm chi tit ha sn phm v phn tch ri ro. Ti liu ny chng hn, cng c bin son theo cch thc "xon c": ban u nu cc khi nim chung, v sau i su dn vo cc chi tit. Qu trnh xy dng phn mm thng cha ng nhng ri ro. V d ngi ch cht c th xin ngh vic trc khi phn mm c hon thnh. Cng ty ch to phn cng m phn mm s ci t b ph sn. Sau khi chi ph hng trm nghn la cho s pht trin phn mm bng c mt bc thay i t ph trong cng ngh lm cho phn mm tr nn v dng, phi thit k li hon ton. Cng ty c th nghin cu v pht trin h qun tr c s d liu, nhng trc khi sn phm c hon thnh v a ra th trng th mt cng ty khc li qung co mt h tng ng c gi r hn. C th cng ty s dng m hnh tng dn ng thi, nhng sau cc thnh phn khng th tch hp c vi nhau c phn mm nh yu cu t ra... Ni tm li, cc nh pht trin phn mm thng c th gp rt nhiu ri ro v h mun gim thiu cc kh nng ri ro n mc c th. Mt trong nhng cch lm gim thiu kh nng ri ro l s dng bn mu. Nh ta thy, s dng bn mu trong pha xc nh yu cu l cch thc tuyt vi ngn nga kh nng sn xut ra mt phn mm khng tha mn tt c cc yu cu ca khch hng. Trong cc pha tip theo ngi ta cng c th xy dng nhng bn mu thch hp. V d, cng ty in thoi c th va pht minh ra mt thut ton hiu qu cho vic phn tuyn cc cuc gi thng qua mng din rng. Nu phn mm c xy dng nhng khng lm vic c nh mong mun, th cng ty s b thit hi v kinh ph. Trong trng hp ny khch hng c th bc tc v chuyn sang la chn mt cng ty khc. Tnh trng ny c th c loi tr nu ta xy dng mt bn mu ch dng cho mc ch phn tuyn cc cuc gi v c kim th trn thit b m phng. Bng cch ny h thng tht s khng b nh hng, v gi ca cng lp trnh ch l thut ton phn tuyn. Sau khi th nghim, cng ty s quyt nh c l c nn p dng thut ton mi cho ton h thng ca h hay khng. tng lm gim thiu ri ro thng qua vic s dng cc bn mu v mt s cng c khc dn n mt m hnh mi mang tn: m hnh xon c( spiral model). Cch n gin nht xem xt m hnh ny chnh l m hnh thc trong mi pha (tr pha bo tr) c b sung phn phn tch ri ro trc. Trc khi bt u mt pha no ngi ta phn tch cc kh nng ri ro v cch thc gii quyt c th. Nu khng c cch no gii quyt c cc ri ro quan trng th d n s kt thc. Bn mu c th s dng mt cch hiu qu thu thp thng tin v s ri ro. V d rng buc v thi gian c th kim th bng cch xy dng mt bn mu v c lng thi gian hon thnh sn phm thng qua thi gian xy dng bn mu. Bn mu vi s liu hoc thit b m phng c th kim tra tnh thch hp ca mt thut ton mi... Tuy nhin cng c nhng ri ro khng th nh gi c thng qua bn mu. V d nh nu mt thnh vin ch cht xin thi vic trc khi sn phm hon thnh th liu c th thu c ngi thay th kp

thi hay khng? Hoc trnh ca cc thnh vin trong nhm pht trin liu c p ng c vic pht trin phn mm quy m ln hay khng? Cc thnh vin cng ty lu nay vn thng xy dng cc phn mm s dng trong gia nh, nay phi xy dng phn mm phc tp s dng trong cng s th c lm c khng? Mt lnh vc khc m bn mu cng khng s dng c trong vic nh gi ri ro l nhng ha hn v s pht trin phn cng. Phn mm c pht trin c tnh ti s ra i ca cc thit b m cc cng ty phn cng ha hn, nhng thc t li khng xy ra nh vy... M hnh xon c cung cp cch thc lm phn mm bng cch a ra cc phin bn tng dn. S tng dn y khng phi l b sung thm cc thnh phn mi nh m hnh tng dn, m s tng y l s tin ha (evolution), tc l cng cc c trng y nhng c lm mn hn, chi tit hn. Phin bn sau cng chnh l phn mm hon chnh c th chuyn giao cho khch hng s dng. M hnh xon c c chia thnh mt s khun kh hot ng, cng cn c gi l vng nhim v. V c bn, c khong t ba n su vng. V d bn vng nh sau: 1. Xc nh mc tiu, cc gii php khc nhau t c mc tiu, cc rng buc. 2. Phn tch ri ro v kh nng gii quyt (thng l xy dng bn mu). 3. Pht trin v kim tra. 4. Lp k hoch cho pha tip theo. biu din s cho m hnh xon c, ngi ta v hai ng thng vung gc ct nhau chia mt phng thnh 4 vng. Bn vng ny tng ng vi 4 vng cng vic: nu dch chuyn theo chiu kim ng h v bt u t gc phn t pha trn bn tri ta c cc vng tng ng l 1,2,3,4. Coi giao im ca hai ng thng l tm, ta v cc ng xon c i t pha trong ra ngoi cng theo chiu kim ng h. di ng xon c s biu din gi tch ly ca phn mm, Mt vng ca ng xon c s biu din mt pha. Nu i t trong ra ngoi gc phn t s 3 ta c m hnh thc . Mt pha bt u t gc phn t pha trn bn tri (gc 1) bng vic xc nh cc mc tiu ca pha, cc gii php khc nhau t c cc mc tiu ny v cc rng buc cho tng gii php. Kt qu ca giai on ny l chn c gii php thch hp. gc phn t th hai l phn tch ri ro cho gii php la chn. Mt vi bin php c a ra khc phc ri ro. Bin php thng c s dng l bn mu. Nu ri ro ln v khng c bin php khc phc th d n phi dng li. Trong mt s trng hp, d n vn c tip tc nhng vi quy m nh hn. Nu vn ri ro c gii quyt th chuyn sang gc phn t th ba l pht trin. gc cui cng l k hoch cho pha tip theo. ng xon c s c lp li chng no sn phm cha t mc hon chnh. Nhn xt m hnh xon c M hnh xon c l cch tip cn thc t cho vic pht trin cc phn mm quy m ln. Bi v phn mm c tin ha theo ng xon c, t tng quan cho n chi tit, nn ngi pht trin v khch hng

hiu r hn v c phn ng thch hp vi ri ro ti tng mc tin ha. M hnh ny dng bn mu nh mt c ch lm gim ri ro. Bn mu cn gip cho khch hng nhn r tng bc pht trin ca phn mm v c kin gp kp thi nhng ngi pht trin i ng hng, nhanh chng a n phn mm hon thin. M hnh i hi xem xt trc tip cc ri ro k thut cng nh qun l ti mi giai on ca d n, v nu c p dng ng th c th lm gim ri ro trc khi nhng ri ro ny tr thnh vn thc s. Tuy nhin m hnh ny khng phi l s la chn tt nht cho mi d n. - Trc ht, phn tch ri ro s tn km, do m hnh ch c th p dng cho cc d n ln, khi m chi ph phn tch ri ro l khng ng k so vi tng chi ph ton b d n. - Phn tch ri ro c thc hin trong sut qu trnh pht trin phn mm. Tuy nhin nu l phn mm k hp ng m b dng li th cng ty pht trin s b pht. Do vi cc d n k hp ng th nh pht trin v khch hng phi phn tch ri ro trc khi hp ng c k, ch khng phi trn ng xon c nh m hnh m t. - Liu cc nh pht trin nhn thy ht cc ri ro khng? C th ri ro vn cn nhng h li ch quan cho rng ht v c th mc sai lm. Nh vy m hnh ny ch nn p dng nu cng ty phn mm c mt i ng chuyn gia phn tch ri ro trnh cao. Cui cng, chnh bn thn m hnh xon c cn cha c p dng rng ri nh m hnh thc hoc m hnh bn mu. Cn c thm thi gian xc nh tnh hiu qu m hnh ny.

3.8. M HNH HNG I TNG (OBJECTORIENTED MODEL)


Theo kinh nghim th trong phng php hng i tng, tnh lp gia cc pha v gia cc phn trong mt pha xy ra nhiu hn so vi phng php cu trc. Khi xy dng m hnh hng i tng ngi ta mun ch r c trng ny. Mt trong nhng m hnh nh vy l m hnh ni i c biu din bng cc hnh trn c mt phn chng ln nhau. Mi vng trn ch mt pha. Vng trn khng ri nhau ch ra rng cc pha c phn chung nhau. Bn trong cc vng trn c cc mi tn un cong ng ni rng trong mi pha cng c tnh lp gia cc phn. Cc pha c phn chung l: - Pha yu cu v pha phn tch hng i tng. - Pha thit k hng i tng, pha lp trnh v tch hp. - Pha s dng v bo tr.

CHNG 4. PHN TCH CHC NNG H THNG


4.1. M HNH PHN R CHC NNG
Xc nh chc nng nghip v l bc u tin ca vic phn tch h thng. phn tch yu cu thng tin ca t chc ta phi bit c t chc thc hin nhng nhim v, chc nng g. T , tm ra cc d liu, cc thng tin c s dng v to ra trong cc chc nng. ng thi, cng phi tm ra nhng hn ch, mi rng buc t ln cc chc nng .
Qun l trng ph thng QL nhn s Tuyn dng QL h s QL lng QL hc sinh Nhp hc QL cc lp Khen thng K lut X l tt nghip QL ging dy QL hc tp Thi/Kim tra Tng kt

QL chng trnh
QL thi kha biu Phn cng ging dy Lp lch thi

Hnh 4.1. FHD ca h thng Qun l trng ph thng


4.1.1. nh ngha m hnh phn r chc nng

M hnh phn r chc nng (FHD Function Hierarchy Diagram) l cng c biu din vic phn r c th bc n gin cc cng vic cn thc hin. Mi cng vic c chia ra lm cc cng vic con, s mc chia ra ph thuc kch c v phc tp ca h thng (hnh 4.1).
4.1.2. Cc thnh phn ca m hnh phn r chc nng Khi nim v chc nng trong h thng thng tin

Chc nng l cng vic m t chc cn lm v c phn theo nhiu mc t tng hp n chi tit.

Cn ch cch t tn cho chc nng, tn chc nng phi l mt mnh ng t, gm ng t v b ng. ng t th hin hot ng, b ng thng lin quan n cc thc th d liu trong min nghin cu. Tn cc chc nng phi phn nh c cc chc nng ca th gii thc ch khng ch dng cho h thng tin. Tn ca chc nng cn ngn v gii thch ngha ca chc nng v phi s dng thut ng nghip v. Mi chc nng c mt tn duy nht, cc chc nng khc nhau phi c tn khc nhau. xc nh tn cho chc nng c th bn lun v nht tr vi ngi s dng. Chc nng c biu din bng mt hnh ch nht Chc nng
Quan h phn cp chc nng

Mi chc nng c phn r thnh cc chc nng con. Cc chc nng con c quan h phn cp vi chc nng cha. Biu din mi quan h phn cp chc nng nh sau: Mc 0 Mc 1 Mc 2 Mc 2 M hnh phn r chc nng c biu din thnh hnh cy phn cp. V d v m hnh phn r chc nng ca chc nng QL h s c biu din trn hnh 4.2.
QL h s Gia hn hp ng Thi vic

Mc 1

Mc 1

Hnh 4.2. M hnh phn r ca chc nng QL h s

4.1.3. c im v mc ch ca m hnh phn r chc nng c im

M hnh phn r chc nng c cc c im sau: Cung cp cch nhn khi qut v chc nng D thnh lp Gn gi vi s t chc Khng a ra c mi lin quan v thng tin gia cc chc nng.

Mc ch

Mc ch ca m hnh phn r chc nng l: Xc nh phm vi ca h thng cn phn tch Cho php m t khi qut dn cc chc nng ca t chc mt cch trc tip, khch quan, pht hin c chc nng thiu hoc trng lp To iu kin thun li khi hp tc gia nh thit k v ngi s dng trong qua trnh pht trin h thng.

4.1.4. Xy dng m hnh phn r chc nng Nguyn tc phn r cc chc nng

Trong qu trnh tip cn mt t chc theo phng php t trn xung (top- down) ta nhn c thng tin v cc chc nng t mc gp (do lnh o cung cp) n mc chi tit (do cc b phn chc nng cung cp). Cch phn r ny tng ng vi s phn cng cc chc nng ca mi t chc vi cc nguyn tc sau: Mi chc nng c phn r phi l mt b phn thc s tham gia thc hin chc nng phn r ra n. Vic thc hin tt c cc chc nng mc di trc tip phi m bo thc hin c cc chc nng mc trn phn r ra chng

Nguyn tc ny c s dng phn r mt s chc nng nhn c cn ang mc gp. Qu trnh phn r xung di c tip tc cho n khi nhn c mt m hnh vi cc chc nng mc cui m ta hon ton nm c ni dung thc hin n.
Cch tin hnh phn r

Bc 1: Xc nh chc nng

Trong hu ht cc hon cnh, cc chc nng cha v chc nng con trong h thng c th c xc nh mt cch trc tip theo thng tin nhn c qua qu trnh kho st. Cc chc nng mc nh thng l cc lnh vc hot ng chnh ca t chc. Bc 2: Phn r cc chc nng Khi phn r cc chc nng cn phn r c th bc v thc hin vic phn r chc nng theo cc nguyn tc phn r. Vic b tr sp xp cc chc nng phi thc hin theo nguyn tc sau: Khng nn qu 6 mc i vi h thng ln, khng qu 3 mc i vi h thng nh. Sp xp cc cng vic trn mt mc cng mt hng m bo cn i. Cc chc nng con ca cng mt chc nng cha nn c kch thc, phc tp v tm quan trng xp x nh nhau. Cc chc nng mc thp nht nn m t c trong khng qu na trang giy, n ch c mt nhim v hoc mt nhm nhim v nh do tng c nhn thc hin.

M hnh phn r chc nng cho ta mt ci nhn ch quan v h thng nn cn to ra m hnh tt v t c s thng nht vi ngi s dng. Bc 3: M t chi tit chc nng mc l i vi mi chc nng l (mc thp nht) trong m hnh cn m t trnh t v cch thc tin hnh n bng li v c th s dng m hnh hay mt hnh thc no khc. M t thng bao gm cc ni dung sau: Tn chc nng Cc s kin kch hot (khi no? ci g dn n? iu kin g?) Quy trnh thc hin Yu cu giao din cn th hin (nu c) D liu vo (cc h s s dng ban u) Cng thc (thut ton) tnh ton s dng (nu c) D liu ra (cc bo co hay kim tra cn a ra) Quy tc nghip v cn tun th

V d (M t chc nng Thi vic): Cn kim tra ngi cho thi vic c phi l gio vin khng. Nu l gio vin v ang tham gia ging dy th phi phn cng gio vin khc dy thay.

4.1.5. Cc dng m hnh phn r chc nng

M hnh phn r chc nng nghip v c th biu din hai dng: dng chun v dng cng ty. Vic s dng dng FHD no tu thuc vo chin lc x l d liu ca cng ty v tm quan trng, mm do ca h thng.
M hnh dng chun

Dng chun c s dng m t cc chc nng cho mt lnh vc kho st (hay mt h thng nh). M hnh dng chun l m hnh cy: mc cao nht ch gm mt chc nng, gi l chc nng gc hay chc nng nh; nhng chc nng mc di cng (thp nht) gi l chc nng l.

Qun l trng ph thng

QL nhn s

QL hc sinh (a)

QL ging dy

QL hc tp

Qun l trng ph thng

QL nhn s

QL hc sinh

QL ging dy

QL hc tp

Nhp hc

QL cc lp

Khen thng, K lut

X l tt nghip

Nhn h s

Thi tuyn

Phn lp

(b)

Hnh 4.3. Cc dng FHD dng cng ty v dng chun (a) Dng chun; (b) Dng cng ty.
M hnh dng cng ty

Dng cng ty c s dng m t tng th ton b chc nng ca mt t chc c qui m ln. dng cng ty, m hnh thng gm t nht hai m hnh tr ln. Mt m hnh gp m t ton b h thng vi cc chc nng mc cha (t hai n ba mc). Cc m hnh cn li cc cc m

hnh chi tit dng chun chi tit ha mi chc nng l ca m hnh gp. N tng ng vi cc chc nng m mi b phn ca t chc thc hin. V d v m hnh gp v m hnh chun ca h thng qun l trng ph thng c th hin trn hnh 4.3. Vi cch tip cn dng cng ty cn phn tch ton b t chc xc nh tt c cc chc nng nghip v mc cao nht. Bt c d n no ang c pht trin u l mt phn ca mt trong nhng chc nng mc cao ny.

4.2. M HNH LUNG D LIU


Hc sinh H s Nhn h s

Thng bo + Kt qu

Danh sch thi

Hc sinh

Lp

Thi tuyn

Phn lp

Bi thi Hc sinh

Thng bo nhp hc

Hnh 4.4. DFD ca hot ng Nhp hc


4.2.1. Mc ch ca m hnh lung d liu

M hnh lung d liu nhm mc ch: B sung khim khuyt ca m hnh phn r chc nng bng vic b sung cc lung thng tin nghip v vo/ra ca cc chc nng. Cung cp mt ci nhn y hn v cc mt hot ng ca h thng L mt trong s cc u vo cho qu trnh thit k h thng.

4.2.2. nh ngha m hnh lung d liu

M hnh lung d liu (DFD - Data Flow Diagram) l mt cng c m t mi quan h thng tin gia cc cng vic . Hnh 4.4 th hin DFD ca hot ng Nhp hc.
4.2.3. Cc thnh phn ca m hnh lung d liu Chc nng (cn gi l Tin trnh)

nh ngha: L mt hot ng c lin quan n s bin i hoc tc ng ln thng tin nh t chc li thng tin, b sung thng tin hoc to ra thng tin mi. Nu trong mt chc nng khng c thng tin mi c sinh ra th cha phi l chc nng trong m hnh lung d liu. Cch t tn: ng t + b ng. Biu din bng mt hnh van hoc hnh trn

Tuyn dng

Trong thc t tn chc nng phi trng vi tn chc nng trong m hnh phn r chc nng
Lung d liu:

nh ngha: L lung thng tin vo hoc ra khi chc nng Cch t tn: Danh t + tnh t Biu din bng mi tn vi nhn ghi thng tin di chuyn Cc lung d liu phi ch ra c thng tin logic ch khng phi ti liu vt l. V d: Lung d liu biu hin vic tr tin mang tn l "thanh ton" ch khng mang tn l "tin" hay "sec". Cc lung thng tin khc nhau phi c tn gi khc nhau.

Yu cu

Tm kim

Kt qu

Kho d liu

nh ngha: Kho d liu l ni biu din thng tin cn lu gi, mt hoc nhiu chc nng s dng chng.

Hc sinh

Cch t tn kho d liu nh sau: danh t + tnh t. Tn kho phi ch r ni dung d liu trong kho. Tn kho d liu c biu din gia cp ng thng song song:

Quan h gia kho d liu, chc nng v lung d liu c biu din nh sau:
Tn kho Tn kho Tn kho

Vo

Ra

Vo/Ra

Chc nng

Chc nng

Chc nng

Tc nhn ngoi

nh ngha: L mt ngi hoc mt nhm ngi nm ngoi h thng nhng c trao i trc tip vi h thng. S c mt ca cc nhn t ny trn s ch ra gii hn ca h thng, nh r mi quan h ca h thng vi th gii bn ngoi Tn: Danh t Biu din bng mt hnh ch nht.

Khch hng

Tc nhn trong

L mt chc nng hoc mt h thng con ca h thng ang xt nhng c trnh by mt trang khc ca m hnh. Mi s lung d liu u c th bao gm mt s trang, thng tin truyn gia cc qu trnh trn cc trang khc nhau c ch ra nh k hiu ny. Tn: ng t + b ng Biu din bng mt hnh ch nht h mt cnh

Gi SMS

4.2.4. Mt s quy tc v biu lung d liu

Khi v biu lung d liu ta phi thc hin theo cc quy tc sau: - Cc lung d liu vo ca mt tin trnh cn khc vi cc lung d liu ra ca n. Tc l cc d liu qua mt tin trnh phi c thay i. Ngc li, tin trnh l khng cn thit v khng tc ng g n cc lung thng tin i qua n

Cc i tng trong mt m hnh lung d liu phi c tn duy nht: mi tin trnh phi c tn duy nht. Tuy nhin, v l do trnh by cng mt tc nhn trong, tc nhn ngoi v kho d liu c th c v lp li. Cc lung d liu i vo mt tin trnh phi to thnh cc lung d liu i ra. Ni chung tn lung thng tin vo/ra kho trng vi tn kho v vy khng cn vit tn lung. Nhng khi ghi hoc ly tin ch tin hnh mt phn kho th lc phi t tn cho lung Khng c mt tin trnh no ch c ci ra m khng c ci vo. i tng ch c ci ra th c th l tc nhn ngoi (ngun) Khng mt tin trnh no m ch c ci vo m khng c ci ra. Mt i tng ch c ci vo th ch c th l tc nhn ngoi (ch) - Khng th xy ra cc trng hp biu din sau:

4.2.5. Trnh t xy dng m hnh lung d liu

Bc 1: Xy dng m hnh lung d liu mc ng cnh (context-level, mc 0) - M hnh lung d liu mc ng cnhgm mt chc nng duy nht biu th ton b h thng ang nghin cu, chc nng ny c ni vi mi tc nhn ngoi ca h thng. - Cc lung d liu gia chc nng v tc nhn ngoi th hin thng tin vo/ra ca h thng
H s Thi kha biu

Hc sinh

Bi thi

Qun l trng ph thng

Bng lng

Cn b

Kt qu hc tp

H s

Hnh 4.5. DFD mc ng cnh ca h thng Qun l trng ph thng

Bc 2: Xy dng m hnh lung d liu mc nh (top-level, mc 1) - Vi mc nh cc tc nhn ngoi ca h thng mc ng cnh c gi nguyn vi cc lung thng tin vo ra. - H thng c phn r thnh cc chc nng mc nh l cc tin trnh chnh bn trong h thng theo m hnh phn r chc nng mc 1. - Xut hin thm cc kho d liu v lung thng tin trao i gia cc chc nng mc nh.
Cn b

H s

Bng im

Bng lng

1. QL nhn s

Chng trnh Hc b

4. QL hc tp

Cn b
Thi kha biu

Phiu xc nhn gi ging

o to Cn b
Danh sch phn cng ging dy

Hc sinh

Bi thi, kim tra

3. QL ging dy

2. QL hc sinh

H s

Hc sinh

Kt qu hc tp

Hnh 4.6. DFD mc nh ca h thng Qun l trng ph thng

Bc 3: Xy dng m hnh lung d liu mc di nh (lower-level, mc 2 v di 2) - mc ny thc hin phn r i vi mi chc nng ca mc nh. - Khi thc hin mc phn r ny vn phi cn c vo m hnh phn r chc nng xc nh cc chc nng con s xut hin trong m hnh lung d liu. - Vic phn r c th tip tc cho n khi s mc cn thit - Khi phn r cc chc nng phi m bo tt c cc lung thng tin vo ra chc nng mc cao phi c mt trong cc chc nng mc thp hn v ngc li.

Cc kho d liu khng xut hin DFD mc khung cnh. Nn nh s cc chc nng theo s phn cp. Cc kho d liu, cc tc nhn ngoi c th xut hin nhiu ln. S mc ph thuc vo phc tp ca h thng.

3.1. QL chng trnh


Yu cu

Lp

Chng trnh

Cn b

Yu cu

3.2. QL thi kha biu


Thi kha biu

Thi kha biu

3.3. Phn cng ging dy

3.4. Lp lch thi

Cn b

Thi kha biu

Hnh 4.7. DFD mc di nh, chc nng QL ging dy

4.2.6. Chuyn t m hnh lung d liu vt l sang m hnh lung d liu logic

Vic chuyn t m hnh lung d liu vt l sang m hnh lung d liu logic c tc dng sau: - Xc nh nhu cu thng tin mi chc nng - Cho mt thit k s b v thc hin chc nng

L phng tin giao tip gia ngi phn tch thit k v ngi s dng Lun c hai mc din t vt l v logic. Mc vt l tr li cu hi nh th no, mc lgc tr li cu hi lm g. Trong thc t ngi ta thy rng vic to ra mt m hnh lung d liu cho h thng thc di dng vt l khng c li v nhng l do sau: o Tn nhiu thi gian v tiu tn ngun ti nguyn pht trin d n mt cch khng cn thit. C th xem qu trnh ny l vic sao chp cng vic ca k thut vin iu tra, sao chp tt c nhng g ang thc hin hin ti. o Khi to ra m hnh th phi to ra nhng iu chnh tng trng cho n, x l n nh m hnh logic, kt qu l h thng mi ch n thun l tin hc ho h thng c vi rt nhiu li m ci ta cn cui cng l m hnh DFD logic. M hnh lung d liu logic loi b nhng rng buc v cc yu t vt l, m hnh ny ch quan tm chc nng no l cn cho h thng v thng tin no l cn thc hin cho chc nng . Cc yu t vt l cn loi b l: o Cc phng tin, phng thc: t ng, th cng, bn phm, mn hnh o Cc gi mang thng tin: cc tp, chng t o Cc chc nng x l gn vi cc cng c hay cch thc ci t c th o Tin hnh cc loi b v chnh n li cu trc. Loi b: loi b cc ngn t, hnh v biu din cc phng tin, gi mang tin gi li cc chc nng v ni dung thng tin Nn xy dng m hnh logic cn c bng cch iu chnh m hnh logic thc ti. Khng c s phn chia r rt gia logic v vt l. M hnh cng phn r mc thp th cng thm nhiu yu t vt l. Cng gi cho m hnh ca mnh c logic nhiu nht khi i su vo chi tit cng tt.

4.2.7. Chuyn t m hnh lung d liu ca h thng c sang m hnh lung d liu ca h thng mi

Giai on ny c ngha v cng quan trng nh hng to ln n s thnh cng ca h thng mi. Trong giai on ny nh qun l v nh phn tch phi hp tc cht ch tm cch ho hp c cu t chc, nhn thc c vai tr ca my tnh thay i h thng c. chuyn t m hnh lung d liu ca h thng c sang m hnh lung d liu ca h thng mi, trc tin phi xc nh cc mt yu km cn ci tin, thay i trong h thng c. Cc yu km ch yu do s thiu vng gy ra: thiu vng v c cu t chc hp l, thiu vng cc phng tin hot ng t dn n hiu qu hot ng thp, chi ph hot ng cao. Cc bc chuyn i: Xem li m hnh lung d liu

o Nu thiu vng th b sung o Nu tha th loi b o Nu thay i bt u t mc nh Khoanh vng vng s c thay i Gi nguyn cc lung vo v lung ra ca vng Xc nh chc nng tng qut ca vng Xo b m hnh lung d liu bn trong vng c khoanh, lp li cc chc nng t mc thp nht Thnh lp kho d liu v lung d liu cn thit. Sa li m hnh phn r chc nng theo m hnh lung d liu. Kim tra li cc m hnh d liu iu chnh li cho hp l.

V d: H cung ng vt t Nhc im: thiu kho hng thng dng o Tc chm v c khu i chiu th cng o Theo di thc hin n hng cn nhiu sai st o Lng ph do i chiu th cng Sa m hnh lung d liu o B sung: Kho cha vt t o Sa li m hnh lung d liu ca h thng

4.2.8. Hon chnh m hnh lung d liu

Khi hon thnh s lung d liu cn kim tra v tnh y v nht qun ca n. Phi lm cho s n gin, chnh xc v logic nht c th c. Nn trnh xy ra cc tnh hung sau: Tnh hung 1: Hiu ng mt tri bng sng tc l mt chc nng c qu nhiu dng vo, ra. Cch khc phc tnh hung ny nh sau: Gom nhm hoc phn r tip mt s chc nng cha hp l. Tnh hung 2: Thng tin i qua mt chc nng m khng b thay i. Cch khc phc tnh hung ny nh sau: xo b chc nng khng bin i thng tin.

Nu xut hin mt chc nng c cc chc nng con khng c lin quan v d liu (khng c dng thng tin ni b gn vi nhau hoc khng s dng kho d liu chung) th vic phn b s phn r chc nng l cha hp l, lc ny cn phi xem xt li. Cn ch rng khi thay i m hnh lung d liu th phi sa li m hnh phn r chc nng cho ph hp. Tc dng ca vic hon chnh m hnh lung d liu

Xc nh nhu cu thng tin mi chc nng Cho mt thit k s b v thc hin chc nng L phng tin giao tip gia ngi phn tch thit k v ngi s dng Lun c hai mc din t vt l v lgc. Mc vt l tr li cu hi nh th no, mc lgc tr li cu hi lm g.

4.2.9. Phn mc m hnh lung d liu

S lung d liu y ca h thng l rt phc tp v khng th xp gn trong mt trang nn cn dng ti k thut phn r s theo mt s mc. Cc mc c nh s th t, mc cao nht (mc khung cnh) l 0 sau n mc nh 1, cc mc di nh 2, 3 Mc 0: Tn chc nng l tn ton b h thng. Mc 1: Mi chc nng c gn vi mt s v s c mang tip theo vi cc ch s ch mc ph thuc, xem nh mt cch t tn theo s cho tng chc nng con ca n. Bt u mc 1 mi c cc kho d liu.
4.2.10. Hn ch ca m hnh lung d liu

Khng ch ra c yu t thi gian (V d: Thng tin chuyn t tin trnh ny sang tin trnh khc ht bao nhiu thi gian) Khng xc nh c trt t thc hin cc chc nng. Khng ch ra c yu t nh lng i vi d liu c lin quan (ti a v ti thiu nhng thng tin l c bn trong qu trnh phn tch)

You might also like