Bài giảng Công nghệ phần mềm - Phan Huy Khánh
Muc luc
I. KHAI QUAT VÃ LËCH SÆ LÁP TRÇNH .................................................................................... 5
San phám phán mãm la gç ?.............................................................................. 9
III. NHÆNG NÄI DUNG CÅ BAN CUA CNPM........................................................................... 11
Chu ky säng cua phán mãm............................................................................ 12
I. NÃN TANG CUA THIÃT KÃ PHÁN MÃM.............................................................................. 18
II. PHÆÅNG PHAP LÁP TRÇNH CÁU TRUC ............................................................................... 20
Khai niãm vã âån thã...................................................................................... 32
Mäi liãn hã giæa cac âån thã........................................................................... 33
Phán loai âån thã................................................................................... 33
V. PHAT TRIÃN CHÆÅNG TRÇNH BÀNG TINH CHÃ TÆNG BÆÅC ............................................... 35
Vê du 1........................................................................................................ 36
TS. PHAN HUY KHANH biãn soan
i
ii
Cäng nghã Phán mãm
Sæa âäi chæång trçnh....................................................................................... 42
VI. PHU LUC - ÂÅN VË TRONG TURBO PASCAL...................................................................... 50
Bai táp............................................................................................................. 55
I. XAC MINH VA HÅP THÆC HOA PHÁN MÃM........................................................................ 57
II. CHÆNG MINH SÆ ÂUNG ÂÀN CUA CHÆÅNG TRÇNH............................................................ 58
Tiãn âã va quy tàc suy diãn........................................................................ 61
Phæång phap cua C.A.R. Hoare...................................................................... 66
Phat biãu.................................................................................................... 66
Chæng minh dæng cua Div ......................................................................... 70
III. XÁY DÆNG CHÆÅNG TRÇNH ............................................................................................. 72
In ra mät danh sach theo thæ tæ ngæåc............................................................ 80
TILDA1 .................................................................................................... 81
IV. CAC TIÃN ÂÃ VA QUY TÀC SUY DIÃN................................................................................ 82
Ham fppost................................................................................................. 83
minh tênh âung âàn cua chæång trçnh............................................................................ 84
TS. PHAN HUY KHANH biãn soan
ii
Muc luc
IV.2.
Cac tiãn âã gan................................................................................................ 86
V. BAI TÁP........................................................................................................................... 89
I. KHAO SAT PHÁN MÃM ..................................................................................................... 90
II. CAC PHÆÅNG PHAP THÆ NGHIÃM..................................................................................... 92
Må âáu ................................................................................................... 102
I. MÅ ÂÁU ÂÀC TA PHÁN MÃM.......................................................................................... 105
Âàc ta va láp trçnh......................................................................................... 107
II. ÂÀC TA CÁU TRUC DÆ LIÃU .......................................................................................... 109
III. ÂÀC TA ÂAI SÄ : MÄ HÇNH HOA PHAT TRIÃN PHÁN MÃM................................................. 117
TS. PHAN HUY KHANH biãn soan
iii
iv
Cäng nghã Phán mãm
Mä hçnh láp trçnh (triãn khai).................................................................. 122
Mä hçnh âäng dæ...................................................................................... 123
Phep chæng minh trong âàc ta âai sä ............................................................ 123
IV. ÂÀC TA HAY CACH CU THÃ HOA SÆ TRÆU TÆÅNG .......................................................... 129
Bàt âáu triãn khai thæc tiãn........................................................................... 137
Triãn khai thæ hai.......................................................................................... 141
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
âæå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 MS−DOS â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
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 :
ꢀ 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
Nãn tang cua thiãt kã phán mãm
Phæång phap láp trçnh cáu truc
19
TS. PHAN HUY KHANH biãn soan
19
Tải về để xem bản đầy đủ
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:
- bai_giang_cong_nghe_phan_mem_phan_huy_khanh.pdf