Bài giảng Công nghệ phần mềm - Phan Huy Khánh

Muc luc  
TS. PHAN HUY KHANH biãn soan  
i
ii  
Cäng nghã Phán mãm  
TS. PHAN HUY KHANH biãn soan  
ii  
Muc luc  
IV.2.  
Cac tiãn âã gan................................................................................................ 86  
TS. PHAN HUY KHANH biãn soan  
iii  
iv  
Cäng nghã Phán mãm  
TS. PHAN HUY KHANH biãn soan  
iv  
Âai cæång vã cäng nghã phán mãm  
5
CHÆÅNG 1  
Âai cæång vã cäng nghã phán mãm  
I. Khai quat vã lëch sæ láp trçnh  
Láp trçnh (programming), hay láp chæång trçnh cho may tênh âiãn tæ (MTÂT)  
la mät nganh con rát måi me. MTÂT âáu tiãn láp trçnh âæåc måi chè xuát hiãn  
cach âáy hån bän mæåi nàm . Suät hån bän tháp ky qua, láp trçnh khäng ngæng  
âæåc cai tiãn va phat triãn, cang ngay cang hæång vã nhu cáu cua ngæåi láp trçnh.  
Láp trçnh la mät cäng viãc nàng nhoc, nàng suát tháp so våi cac hoat âäng trê  
tuã khac. Vê du nãu mät san phám phán mãm khoang 2000 3000 dong lãnh âoi  
hoi 3 ngæåi láp trçnh chênh trong vong 6 thang thç nàng suát mäi ngæåi chè dao  
âäng trong khoang tæ 5 âãn 6 lãnh mäi ngay (?!).  
Chênh vç cac san phám phán mãm khi tung ra thë træång chæa thæc sæ hoan  
hao ngay nãn ngæåi ta thæång dung meo thæång mai bàng cach gan cho san phám  
mät cai âuäi “phiãn ban” (version) âã noi ràng phiãn ban ra sau âa khàc phuc âæåc  
nhæng khiãm khuyãt cua phiãn ban træåc âo.  
Vê du 1 :  
Hã âiãu hanh MSDOS âa co cac phiãn ban 1.0, 3.3, 5.0, 6.0, 7.0 v.v...  
Microsoft Windows âa co cac phiãn ban 1.0, 2.0, 3.0, 3.1, 3.11.  
Nay la Windows 95, 97, 98 v.v...  
Turbo Psacal cua hang Borland Inc. âa co cac phiãn ban 5.0, 6.0, 7.0, 8.0 v.v...  
I.1. Láp trçnh tuyãn tênh  
Våi nhæng MTÂT âáu tiãn, ngæåi ta sæ dung ngän ngæ may (machine  
language) hay ngän ngæ bác tháp (low level) âã láp trçnh va dung cac khoa cå khê  
âã nap chæång trçnh vao may. Theo âa phat triãn cua cac thiãt bë phán cæng, cac  
ngän ngæ bác cao (high level) våi cac dong lãnh tæa tiãng Anh bàt âáu âæåc sæ  
dung. May se dëch chæång trçnh âo sang ngän ngæ may træåc khi thæc hiãn.  
Våi nhæng ngän ngæ láp trçnh ban âáu, chæång trçnh viãt ra gäm nhæng dong  
lãnh co khuynh hæång näi nhau theo day dai, kho hiãu vã màt logic. Ngæåi ta sæ  
1
ENIAC (Electronic Numerical Integrator and Computer) la chiãc MTÂT âáu tiãn ra âåi nàm  
1945 tai træång Âai hoc Täng håp Pensylvania, næåc My.  
TS. PHAN HUY KHANH biãn soan  
5
   
6
Cäng nghã Phán mãm  
dung cac lãnh nhay (goto) âã âiãu khiãn chæång trçnh mät cach tuy tiãn. Chæång  
trçnh la mät må räi ràm khäng khac gç mon mç såi (spaghetti) cua næåc Y.  
Cac ngän ngæ láp trçnh tuyãn tênh khäng kiãm soat âæåc nhæng sæ thay âäi  
cua dæ liãu. Moi dæ liãu sæ dung trong chæång trçnh âãu co tênh toan cuc va co thã  
bë thay âäi vao bát cæ luc nao. Vao giai âoan nay, ngæåi ta xem viãc láp trçnh nhæ  
mät hoat âäng nghã thuát nhuäm mau sàc tai nghã ca nhán hån la khoa hoc, våi  
thuát ngæ “the art of programming”.  
I.2. Láp trçnh co cáu truc  
Vao cuäi nhæng nàm 1960 va âáu 1970, khuynh hæång láp trçnh cáu truc  
(structured programming) ra âåi. Theo phæång phap nay, mät chæång trçnh co cáu  
truc âæåc tä chæc theo cac phep toan ma no phai thæc hiãn. Chæång trçnh bao gäm  
nhiãu thu tuc, hay ham, riãng re. Cac thu tuc hay ham nay âäc láp våi nhau, co dæ  
liãu riãng, giai quyãt nhæng ván âã riãng, nhæng co thã trao âäi qua lai våi nhau  
bàng cac tham biãn.  
Láp trçnh cáu truc lam cho viãc kiãm soat chæång trçnh dã dang hån, va do váy,  
giai quyãt bai toan dã dang hån. Tênh hiãu qua cua láp trçnh cáu truc thã hiãn å  
kha nàng træu tæång hoa. Trong mät chæång trçnh co cáu truc, ngæåi ta chè quan  
tám vã màt chæc nàng : mät thu tuc hay ham nao âo co thæc hiãn âæåc cäng viãc  
âa cho hay khäng ? Con viãc thæc hiãn nhæ thã nao la khäng quan trong, chung  
nao con âu tin cáy.  
Màc du ky thuát thiãt kã va láp trçnh cáu truc âæåc sæ dung räng rai nhæng  
ván bäc lä nhæng khiãm khuyãt. Khi âä phæc tap tàng lãn thç sæ phu thuäc cua  
chæång trçnh vao kiãu dæ liãu ma no xæ ly cung tàng theo. Cáu truc dæ liãu trong  
mät chæång trçnh co vai tro quan trong cung nhæ cac phep toan thæc hiãn trãn  
chung. Mät khi co sæ thay âäi trãn mät kiãu dæ liãu thç mät thu tuc nao âo tac  
âäng lãn kiãu dæ liãu nay cung phai thay âäi theo.  
Khiãm khuyãt trãn cung anh hæång âãn tênh håp tac giæa cac thanh viãn láp  
trçnh. Mät chæång trçnh co cáu truc âæåc giao cho nhiãu ngæåi thç khi co sæ thay  
âäi vã cáu truc dæ liãu cua mät ngæåi se anh hæång âãn cäng viãc cua nhæng ngæåi  
khac.  
I.3. Láp trçnh âënh hæång âäi tæång (ÂHÂT)  
Láp trçnh ÂHÂT (oriented-object programming) âæåc xáy dæng trãn nãn tang  
cua láp trçnh cáu truc va træu tæång hoa dæ liãu (data abstraction).  
Chæång trçnh ÂHÂT âæåc thiãt kã xung quanh dæ liãu ma no thao tac chæ  
khäng ban thán cac thao tac. Tênh ÂHÂT lam ro mäi quan hã giæa dæ liãu va thao  
tac trãn dæ liãu.  
 
Âai cæång vã cäng nghã phán mãm  
7
Træu tæång hoa dæ liãu la lam cho viãc sæ dung cac cáu truc dæ liãu trå nãn âäc  
láp âäi våi viãc cai âàt cu thã. Vê du sä dáu chám âäng (floating point number) âa  
âæåc træu tæång hoa trong moi ngän ngæ láp trçnh. NSD thao tac trãn cac sä dáu  
chám âäng ma khäng quan tám âãn cach biãu diãn nhë phán trong may cua chung  
nhæ thã nao.  
Láp trçnh ÂHÂT liãn kãt cac cáu truc dæ liãu våi cac phep toan. Mät cáu truc  
nao âo thç tæång æng, ta co nhæng phep toan nao âo. Vê du : mät ban ghi vã nhán  
sæ co thã âæåc âoc, cáp nhát sæ thay âäi va âæåc cát giæ, con mät sä phæc thç âæåc  
dung trong tênh toan. Khäng thã viãt sä phæc lãn tãp nhæ mät ban ghi nhán sæ,  
cung khäng thã cäng træ nhán chia hai ban ghi nhán sæ våi nhau nhæ cach cua sä  
phæc.  
Láp trçnh ÂHÂT âæa vao nhiãu thuát ngæ va khai niãm måi, chàng han khai  
niãm låp (class), khai niãm kã thæa (inheritence).  
Æu âiãm cua láp trçnh ÂHÂT la lam cho viãc phat triãn phán mãm nhanh  
chong hån våi kha nàng dung lai cac chæång trçnh cu. Mät låp måi âæåc xem nhæ  
låp suy diãn, co thã âæåc kã thæa cáu truc dæ liãu va cac phæång phap cua låp gäc  
hoàc låp cå så.  
Mät trong nhæng ngän ngæ láp trçnh ÂHÂT âæåc noi âãn la SMALLTALK, âæåc  
phat triãn nàm 1980 tai Xerox Palo Alto Recearch Center (PARC). Hiãn nay,  
nhiãu ngän ngæ láp trçnh thäng dung cung âæåc trang bë thãm kha nàng ÂHÂT,  
nhæ la C++, Delphi, v.v...  
I.4. Láp trçnh træc quan  
Láp trçnh træc quan (visual programming) âæåc phat triãn trãn nãn tang cua  
láp trçnh ÂHÂT. Khi thiãt kã chæång trçnh, ngæåi láp trçnh nhçn tháy ngay kãt  
qua qua tæng thao tac va giao diãn ngæåi dung (user interface) khi chæång trçnh  
âæåc thæc hiãn. Ngæåi láp trçnh co thã dã dang chènh sæa vã mau sàc, kêch thæåc,  
hçnh dang va cac xæ ly thêch håp lãn cac âäi tæång co màt trong giao diãn.  
Cac ngän ngæ láp trçnh træc quan thäng dung hiãn nay thæång âæåc phat triãn  
trong mäi træång Microsoft Windows, nhæ Visual Basic, Visual C++, Visual  
Foxpro, Java. v.v...  
I.5. Nhæng tæ tæång cach mang trong láp trçnh  
Láp trçnh la mät trong nhæng lénh væc kho nhát cua toan hoc æng dung. Ngæåi  
ta coi láp trçnh la mät khoa hoc nhàm âã xuát nhæng nguyãn ly va phæång phap  
âã náng cao nàng suát lao âäng cua láp trçnh viãn. Nàng suát å âáy âæåc hiãu la  
tênh âung âàn cua chæång trçnh, tênh dã âoc, dã sæa, tán dung hãt kha nàng cua  
thiãt bë ma khäng phu thuäc vao thiãt bë.  
TS. PHAN HUY KHANH biãn soan  
7
 
8
Cäng nghã Phán mãm  
Thæc chát cua qua trçnh láp trçnh la ngæåi ta khäng láp trçnh trãn mät ngän  
ngæ cu thã ma láp trçnh hæång tåi no. Chæång trçnh phai âæåc viãt dæåi dang cac  
thao tac co cáu truc trãn cac âäi tæång co cáu truc va cac mãnh âã nhàm khàng  
âënh tênh âung âàn cua kãt qua.  
Nhæng tæ tæång cach mang trong láp trçnh thã hiãn å hai âiãm sau :  
Chæång trçnh va láp trçnh viãn trå thanh âäi tæång nghiãn cæu cua ly  
thuyãt láp trçnh.  
Lam thã nao âã lam chu âæåc sæ phæc tap cua hoat âäng láp trçnh ?  
II. Cac phæång diãn cua cäng nghã phán mãm  
II.1. Cäng nghã phán mãm la gç?  
Theo tæ âiãn Computer Dictionary cua Microsoft Press® (1994), Software  
Engineering : The design and development of sofware (computer program), from  
concept through execution and documentation.  
Tæ âiãn Larousse (1996) âënh nghéa chi tiãt hån : Cäng nghã phán mãm la táp  
håp cac phæång phap, mä hçnh, ky thuát, cäng cu va thu tuc liãn quan âãn cac giai  
âoan xáy dæng mät san phám phán mãm. Cac giai âoan âo la : âàc ta (specifiction),  
thiãt kã (design), láp trçnh (programming), thæ nghiãm (testing), sæa sai  
(debugging), cai âàt (setup) âã âem vao æng dung (application), bao trç  
(maintenance) va láp hä så (documentation).  
Muc âêch chênh cua cäng nghã phán mãm la âã san xuát ra nhæng phán mãm  
co chát læång. Chát læång phán mãm khäng la mät khai niãm âån gian, bao gäm  
nhiãu yãu tä. Chàng han chæång trçnh chay nhanh, dã sæ dung, co tênh cáu truc,  
dã âoc dã hiãu, v.v...  
Ngæåi ta thæång âanh gia theo hai kiãu chát læång : nhæng yãu tä chát læång  
bãn ngoai va nhæng yãu tä chát læång bãn trong.  
II.2. Nhæng yãu tä chát læång bãn ngoai va bãn trong  
Nhæng yãu tä chát læång bãn ngoai ngæåi dung co thã nhán biãt âæåc, nhæ täc  
âä nhanh, chay än âënh, tênh dã sæ dung, dã thêch nghi våi nhæng thay âäi (tênh  
må räng), tênh cäng thai hoc (ergonomy, human factor), v.v...  
Nhæng yãu tä chát læång bãn ngoai cua mät san phám phán mãm la :  
Tênh âung âàn  
Tênh bãn væng  
Kha nàng thæc hiãn chênh xac cäng viãc âàt ra.  
Co thã hoat âäng trong nhæng âiãu kiãn bát thæång.  
Tênh co thã må räng Kha nàng dã sæa âäi âã thêch nghi våi nhæng thay âäi måi  
 
Âai cæång vã cäng nghã phán mãm  
9
Tênh sæ dung lai  
Kha nàng sæ dung lai toan bä hay mät phán cua hã thäng  
cho nhæng æng dung måi.  
Tênh tæång thêch  
Co thã dã dang kãt håp våi cac san phám phán mãm khac.  
Cac chát læång khac Hiãu qua âäi våi nguän tai nguyãn cua MTÂT nhæ bä xæ ly,  
bä nhå..., dã chuyãn âäi (khäng phu thuäc vao cáu hçnh  
phán cæng), dã kiãm chæng va an toan (âæåc bao vã quyãn  
truy nháp), dã sæ dung, v.v...  
Nhæng yãu tä chát læång bãn trong la la tênh âån thã, tênh dã âoc, dã hiãu ma  
chè nhæng ngæåi lam Tin hoc chuyãn nghiãp måi biãt âæåc. Yãu tä chát læång bãn  
ngoai la muc âêch cuäi cung nhæng yãu tä chát læång bãn trong lai la máu chät âã  
âat âæåc nhæng yãu tä chát læång bãn ngoai.  
II.3. San phám phán mãm la gç ?  
Màc du ngæåi ta khäng âënh nghéa nhæng khai niãm san phám phán mãm âæåc  
hiãu nhæ la mät hã thäng chæång trçnh thæc hiãn mät nhiãm vu tæång âäi âäc láp  
nhàm phuc vu cho mät æng dung cu thã trong cuäc säng cua con ngæåi (va co thã  
âæåc thæång mai hoa). Vê du cac san phám phán mãm :  
Hã âiãu hanh : MS DOS, OS/2, Unix, MAC OS...  
Hã âiãu hanh mang may tênh : Unix, Novell Netware, Windows NT... va cac  
æng dung trãn mang LAN, WAN, Internet/Intranet (cac Browsers, cac dëch  
vu khai thac Internet...).  
++  
Cac ngän ngæ láp trçnh (chæång trçnh dëch) : Turbo Pascal, Turbo C, C ...  
Hã quan trë cå så dæ liãu : Microsoft Foxpro, Microsoft Access, Oracle,  
Paradox...  
Microsoft Windows va cac æng dung trãn Windows.  
Cac tro chåi (games).  
Cac phán mãm trå giup thiãt kã (CAD, Designers...), trå giup giang day...  
Cac hã chuyãn gia, trê tuã nhán tao, ngæåi may, v.v...  
Cac chæång trçnh phong chäng virus, v.v...  
Dæåi âáy la bang tom tàt qua trçnh tiãn hoa cua san phám phán mãm :  
Xæ ly theo lä (Batch processing)  
Phán mãm âæåc viãt theo âån âàt hang  
Thåi ky âáu tiãn  
1950 1960  
Thåi ky thæ hai  
1960 1970  
Âa ngæåi dung (Multiusers)  
Thåi gian thæc (Real time)  
Cå så dæ liãu (Database)  
Phán mãm san phám  
TS. PHAN HUY KHANH biãn soan  
9
 
10  
Thåi ky thæ ba  
Cäng nghã Phán mãm  
Hã thäng xæ ly phán bä (Distributed processing system)  
1970 1990  
Thäng minh (Intelligence)  
Phán cæng gia thanh ha  
Hiãu qua tiãu thu  
Thåi ky thæ tæ  
1990 trå âi  
Hã thäng âã ban (Desktop Personal Notebook computers)  
Láp trçnh hæång âäi tæång (Object oriented programming)  
Láp trçnh træc quan (Visual programming)  
Hã chuyãn gia (Expert system)  
Mang thäng tin toan cáu (Worldwide communication network)  
Xæ ly song song (Paralell processing)  
...  
Sau âáy la mät tranh vui vã qua trçnh tao ra mät san phám phán mãm âa kha  
quen thuäc âäi våi nhung ngæåi lam Tin hoc tæ hån 20 nàm nay (theo J.  
CLAVIER, “Diriger un projet informatique”, Edition J. C. I. Inc, Canada 1993) :  
1. Ngæåi âàt hang  
2. Thiãt kã cua chu trç âã tai  
3. San phám cua ngæåi láp trçnh  
Vê du : Cäng ty Cäng viãn  
4. Sau khi sæa sai våi  
5. Triãn khai cho khach hang  
6. Æåc må cua ngæåi sæ dung !  
nhiãu sang kiãn cai tiãn  
Hçnh 1.1. Qua trçnh tao ra mät san phám phán mãm  
Âai cæång vã cäng nghã phán mãm  
11  
III. Nhæng näi dung cå ban cua CNPM  
III.1.  
Täng quan vã cäng nghã phán mãm  
Cäng nghã phán mãm âàc træng båi táp håp cac phæång phap âã phat triãn mät  
chæång trçnh (phán mãm noi chung). Sæ phat triãn mät chæång trçnh, hay tiãn  
trçnh phán mãm (software process), khäng chè nàm å chä láp trçnh theo nghéa hep  
ma con la viãc triãn khai cac giai âoan dán âãn láp trçnh. Táp håp cac giai âoan  
nay âæåc goi la chu ky säng (hay vong âåi) cua phán mãm (life cycle).  
Våi mät dæ an Tin hoc lån, nhiãu ngæåi láp trçnh tham gia âæåc chia thanh  
nhom, mäi nhom phu trach giai quyãt mät phán cua dæ an. Ngæåi phu trach dæ an  
co nhiãm vu phán bä cäng viãc cho tæng nhom, âam bao mäi liãn lac giæa cac  
nhom, kiãm tra tiãn trçnh phat triãn cua dæ an, chát læång cua san phám phán  
mãm khi hoan tát.  
Tiãn trçnh phat triãn phán mãm gäm 3 giai âoan chênh la xac âënh, phat triãn  
va bao trç, khäng phu thuäc vao miãn ap dung, âä læn va âä phæc tap cua dæ an  
phat triãn, cung nhæ mä hçnh âæåc læa chon.  
Giai âoan xac âënh :  
Giai âoan nay tra låi cáu hoi la cai gç ? (What?) va khi nao (When?) vã dæ liãu  
(thäng tin) cán xæ ly, muc âêch chæc nàng va mäi træång phat triãn. Gäm 3 bæåc :  
- Phán têch hã thäng.  
- Láp kã hoach dæ an phán mãm.  
- Phán têch yãu cáu thæc tiãn.  
Giai âoan phat triãn :  
Giai âoan nay tra låi cáu hoi lam nhæ thã nao ? (How?). Gäm 3 bæåc :  
- Thiãt kã phán mãm : Sæ dung cac cäng cu âàc ta va láp trçnh cáu truc.  
- Chon cäng cu hoàc cac ngän ngæ láp trçnh âã tiãn hanh viãt chæång trçnh.  
- Kiãm thæ (phat hiãn sai sot, nhám lán...).  
Giai âoan bao trç :  
Giai âoan nay táp trung vao cac thay âäi (Modify). Co 3 kiãu thay âäi :  
- Sæa âäi : Du phán mãm co chát læång tät, ván tän tai nhæng khiãm khuyãt tæ  
viãc sæ dung cua khach hang (ngæåi sæ dung). Bao trç sæa âäi lam thay âäi phán  
mãm, khàc phuc khiãm khuyãt.  
- Thêch nghi : Nhàm lam phán mãm thêch nghi våi mäi træång phán cæng, nhæ  
CPU, OS, cac thiãt bë ngoai vi.  
TS. PHAN HUY KHANH biãn soan  
11  
 
12  
Cäng nghã Phán mãm  
- Náng cao : Khach hang tçm ra nhæng chæc nàng phu cua phán mãm. Bao trç  
hoan thiãn âã må räng phán mãm ra ngoai nhæng chæc nàng vän co.  
III.2.  
Chu ky säng cua phán mãm  
Co nhiãu mä hçnh khac nhau âã thã hiãn mät chu ky säng (life cycle). Sau âáy  
la mät chu ky säng kiãu cä âiãn theo mä hçnh thac næåc (“waterfall” model) gäm  
cac giai âoan nhæ sau :  
Tçm hiãu va phán têch cac yãu cáu (RAD Requirements analysis and  
definition)  
Thiãt kã hã thäng va phán mãm (SSD System and software design)  
Cai âàt va kiãm thæ tæng phán (IUT Inplementtation and Unit testing)  
Têch håp va kiãm thæ hã thäng (IST Integrgion and system testing)  
Tçm hiãu va phán têch  
cac yãu cáu  
Thiãt kã hã thäng  
va phán mãm  
Cai âàt va kiãm thæ  
tæng phán  
Têch håp va kiãm thæ  
hã thäng  
Hçnh 1.2. Mä hçnh thac næåc  
Dáu ràng mä hçnh thac næåc trãn âáy co êch låi trong viãc quan ly  
(management), láp kã hoach va láp bao cao tiãn âä phat triãn phán mãm nhæng  
chè thêch håp våi mät låp hã thäng phán mãm nao âo ma thäi, khäng phu håp våi  
cac hoat âäng âa chè ra trong mä hçnh.  
Tiãn trçnh phán mãm gäm cac hoat âäng phæc tap va biãn âäng ma khäng thã  
biãu diãn trãn mät mä hçnh âån gian. Nhæng mä hçnh tät vã tiãn trçnh phán mãm  
ván con la chæng chu âã nghiãn cæu. Hiãn nay, cac mä hçnh täng quat khac nhau  
hay tênh thæc dung cua sæ phat triãn phán mãm, gàn bo chàt che våi nhau.  
Mä hçnh thac næåc nguyãn thuy (original) la mät trong nhæng mä hçnh täng  
quat mang tênh thæc dung sáu sàc.  
Sau âáy la mät sä tiãp cán :  
 
Âai cæång vã cäng nghã phán mãm  
13  
1. Tiãp cán thac næåc (the waterfall approach) : Bao gäm cac giai âoan âàc ta yãu  
cáu, thiãt kã phán mãm, cai âàt, kiãm thæ, v.v..., sau mäi giai âoan la sæ kãt  
thuc (signed-off) va tiãp tuc giai âoan tiãp theo.  
2. Láp trçnh thàm do (exloratory programming) : Cho phep tàng nhanh qua trçnh  
âã dán âãn tênh thoa âang cua hã thäng. Láp trçnh thàm do thæång âæåc ap  
dung trong lénh væc trê tuã nhán tao, khi NSD khäng thã âënh hçnh âæåc cac  
âàc ta yãu cáu. NSD quan tám âãn tênh thoa âang cua kãt qua hån la tênh  
chênh xac.  
3. Ban máu (prototyping) : Tæång tæ tiãp cán láp trçnh thàm do. Pha âáu tiãn bao  
gäm phat triãn mät chæång trçnh cho phep thæ nghiãm. Tuy nhiãn, muc âêch  
cua phat triãn la thiãt láp cac yãu cáu hã thäng. Sau âo la sæ cai âàt lai phán  
mãm âã âæa âãn hã thäng chát læång - san phám.  
Bàt âáu  
Táp håp  
yãu cáu va  
lam mën  
Kãt thuc  
San phám  
thiãt kã  
nhanh  
Lam mën  
ban máu  
xáy dæng  
ban máu  
Âanh gia  
cua khach hang  
vã ban máu  
Hçnh 1.3. Tiãp cán kiãu ban máu  
4. Biãn âoi hçnh thæc (formal transformation) : La sæ biãn âäi cac âàc ta hçnh  
thæc (formal specification) cua hã thäng phán mãm âang xet âã thanh mät  
chæång trçnh kha thi nhæng bao toan âæåc tênh chênh xac (correctness -  
preserving transformations).  
5. Làp rap hã thäng tæ cac thanh phán dung lai âæåc (system assembly from  
reusable components). Ky thuát nay cho phep xáy dæng hã thäng tæ cac thanh  
phán âa co. Tiãn trçnh phat triãn hã thäng la sæ làp rap hån la sæ sang tao.  
Hiãn nay, cac tiãp cán 1, 2, 3 âæåc æng dung nhiãu trong thæc tiãn.  
Trãn thæc tã, cac giai âoan phat triãn phán mãm khäng phai råi riãng ma la gäi  
lãn nhau (overlap) va thäng tin âæåc cung cáp lán nhau.  
Trong khi thiãt kã, nhæng ván âã va cac yãu cáu gàn bo våi nhau, trong khi láp  
trçnh, nhæng ván âã thiãt kã âæåc tçm tháy, v.v... Luc nay, tiãn trçnh phán mãm  
khäng âån gian la mät mä hçnh tuyãn tênh ma bao gäm mät day cac tæång tac cua  
cac hoat âäng phat triãn.  
TS. PHAN HUY KHANH biãn soan  
13  
14  
Cäng nghã Phán mãm  
Tuy nhiãn, mät mä hçnh chæa cac vong làp se lam kho khàn cho viãc quan ly va  
bao cao. Co nhiãu dang mä hçnh trong tiãn trçnh phán mãm. Sau âáy la mät sä mä  
hçnh :  
1. Mä hçnh thac næåc cai tiãn  
Tçm hiãu va phán têch  
cac yãu cáu  
Thiãt kã hã thäng  
va phán mãm  
Cai âàt va kiãm thæ  
tæng phán  
Têch håp va kiãm thæ  
hã thäng  
Khai thac va  
bao trç  
Hçnh 1.4. Mä hçnh thac næåc cai tiãn  
1. Tçm hiãu va phán têch cac yãu cáu: NSD hã thäng va ngæåi phat triãn hã thäng  
ban bac, trao âäi (consultation) våi nhau âã thiãt láp muc âêch, rang buäc va  
cac dëch vu cua hã thäng phán mãm, lénh häi âæåc nhæng âoi hoi cua bai toan.  
2. Thiãt kã hã thäng va phán mãm : Tiãn trçnh thiãt kã hã thäng phán chia cac yãu  
cáu thanh cac hã thäng phán cæng, phán mãm va thiãt láp mät kiãn truc hã  
thäng toan bä (overall system architecture). Viãc thiãt kã phán mãm bao gäm  
viãc thã hiãn cac chæc nàng hã thäng phán mãm (software system functions) âã  
biãn âäi thanh cac chæång trçnh kha thi.  
3. Cai âàt va kiãm thæ tæng phán : Trong giai âoan nay, cac âån vë chæång trçnh  
hay táp håp cac chæång trçnh âæåc kiãm thæ lán læåt sao cho thoa man cac âàc  
ta tæång æng.  
4. Têch håp va kiãm thæ hã thäng : Cac âån vë chæång trçnh âæåc têch håp va kiãm  
thæ nhæ la mät hã thäng âáy âu âã âam bao cac yãu cáu âàt ra ban âáu. Sau  
giai âoan nay, hã thäng phán mãm âæåc giao cho khach hang.  
5. Khai thac va bao trç (operation and maintenance) : Âáy la mät pha dai nhát  
cua chu ky säng. Hã thäng âæåc cai âàt va âæa vao sæ dung thæc tã. Viãc bao trç  
bao gäm viãc khàc phuc nhæng sai sot xay ra âa khäng xuát hiãn trong cac giao  
âoan træåc âo cua chu ky säng. Viãc täi æu hoa cac dëch vu cua hã thäng âæåc  
xem nhæ la nhæng yãu cáu måi âæåc phat hiãn.  
Âai cæång vã cäng nghã phán mãm  
15  
2. Mä hçnh xoàn äc  
Phat triãn trãn tênh æu viãt cua vong âåi cä âiãn va ban máu, bä sung nhung  
yãu tä con thiãu va thãm cac yãu tä måi, phán têch rui ro.  
Phán têch rui ro :  
Kã hoach :  
Dæa trãn yãu cáu ban âáu  
Dæa trãn phan æng cua  
khach hang  
Táp håp yãu cáu ban âáu va  
kã hoach dæ an  
Quyãt âënh tiãp tuc  
hay khäng ?  
Kã hoach  
dæa trãn y kiãn  
cua khach hang  
Hæång tåi  
hã thäng hoan chènh  
Ban máu ban âáu  
Ban máu táng tiãp theo  
. . .  
Âanh gia cua khach hang :  
Khàng âënh kãt qua cua cäng nghã  
Hçnh 1.5. Mä hçnh xoàn äc  
Æu âiãm :  
Cac phiãn ban (hay san phám) âæåc hoan thiãn dán theo chiãu xoay äc tæ trong  
ra ngoai.  
Nhæåc âiãm :  
Kho âanh gia chênh xac, nhát la khi gàp rui ro, kho kiãm soat. Do âo kho  
thuyãt phuc âæåc cac khach hang lån  
Mä hçnh nauy con måi, chæa âæåc kiãm nghiãm nhiãu trong thæc tiãn.  
3. Ky thuát thã hã 4 (4th Generation Technology)  
Bao gäm cac cäng cu phán mãm trãn cå så tæ âäng san sinh ma chæång trçnh  
gäc theo nhu cáu cua ngæåi phat triãn :  
Ngän ngæ phi thu tuc2 (non procedural language) âã truy cáp cå så dæ liãu.  
Bä sinh bao cao.  
Bä thao tac dæ liãu.  
2
la ngän ngæ láp trçnh khäng tuán theo cach goi thu tuc hay goi chæång trçnh con  
thäng thæång, khäng sæ dung cac cáu truc âiãu khiãn, tuán tæ, ma dæa trãn táp  
håp cac yãu tä va quan hã âã dán vã kãt qua yãu cáu. Vê du ngän ngæ ván tin  
SQL thuäc loai nay.  
TS. PHAN HUY KHANH biãn soan  
15  
 
16  
Cäng nghã Phán mãm  
Bä tæång tac va thiãt kã man hçnh.  
Bä sinh chæång trçnh.  
Bang tênh.  
Cäng cu âä hoa.  
Táp håp  
yãu cáu  
Chiãn læåc  
thiãt kã  
Cai âàt sæ  
dung 4 GL  
Kiãm thæ  
Hçnh 1.6. Ky thuát thã hã 4  
Æu âiãm :  
Thæång âæåc sæ dung âã xáy dæng cac hã thäng tin va tæång lai la cac æng dung  
ky nghã phat triãn phán mãm thåi gian thæc.  
Cac PM sæ dung ky thuát 4 GT  
(láp chä häng)  
Nhu  
cáu  
phán  
Nhu cáu trung bçnh  
mãm  
Cac phæång phap truyãn thäng  
1970  
1980  
1990  
2000  
Hçnh 1.7. Nhu cáu phán mãm  
Âai cæång vã cäng nghã phán mãm  
17  
5. Têch håp cac ky thuát  
Nhàm tàng cæång tênh täi æu trong phat triãn phán mãm, ngæåi ta co xu hæång  
têch håp cac ky thuát cä âiãn, xoay tron äc va 46T âa nãu.  
Táp håp, hiãu cac yãu cáu ban âáu  
Phán têch yãu cáu  
Thiãt kã  
4 GT  
Mä hçnh xoay tron äc  
Lam ban máu  
Ban máu vong thæ n  
4 GT  
Ma hoa  
4 GT  
Mä hçnh vong thæ n  
Kiãm thæ  
Hã thäng hoat âäng  
Bao trç  
Hçnh 1.8. Têch håp cac ky thuát  
TS. PHAN HUY KHANH biãn soan  
17  
CHÆÅNG 2  
Thiãt kã phán mãm  
I. Nãn tang cua thiãt kã phán mãm  
TS. PHAN HUY KHANH biãn soan  
18  
 
Nãn tang cua thiãt  phán mãm  
Phæång phap láp trçnh cáu truc  
19  
TS. PHAN HUY KHANH biãn soan  
19  
20  
Cäng nghã Phán mãm  
II. Phæång phap láp trçnh cáu truc  
 
Tải về để xem bản đầy đủ
pdf 154 trang baolam 27/04/2022 7680
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Công nghệ phần mềm - Phan Huy Khánh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_cong_nghe_phan_mem_phan_huy_khanh.pdf