Tài liệu Giáo trình công nghệ phần mềm - Pdf 88



Giáo trình
Công nghệ phần mềm
Mủc lủc

CHỈÅNG 1 ............................... 5ÂẢI CỈÅNG VÃƯ CÄNG NGHÃÛ PHÁƯN MÃƯM
I. K
HẠI QUẠT VÃƯ LËCH SỈÍ LÁÛP TRÇNH
.................................................................................... 5
I.1. Láûp trçnh tuún tênh........................................................................................... 5
I.2. Láûp trçnh cọ cáúu trục.........................................................................................6
I.3. Láûp trçnh âënh hỉåïng âäúi tỉåüng (ÂHÂT).......................................................... 6
I.4. Láûp trçnh trỉûc quan............................................................................................ 7
I.5. Nhỉỵng tỉ tỉåíng cạch mảng trong láûp trçnh ....................................................... 7
II. C

IV.2.1. Phán loải âån thãø................................................................................... 33
IV.2.2. Täø chỉïc mäüt chỉång trçnh cọ cáúu trục âån thãø .......................................... 33
V. P
HẠT TRIÃØN CHỈÅNG TRÇNH BÀỊNG TINH CHÃÚ TỈÌNG BỈÅÏC
............................................... 35
V.1. Näüi dung phỉång phạp.................................................................................... 35
V.2. Vê dủ minh hoả................................................................................................ 36
V.2.1. Vê dủ 1........................................................................................................ 36
V.2.2. Bi toạn 8 qn háûu................................................................................... 38
TS. PHAN HUY KHẠNH
biãn soản i
ii Cäng nghãû Pháưn mãưm
V.3. Sỉía âäøi chỉång trçnh....................................................................................... 42
VI. P
HỦ LỦC
- Â
ÅN VË TRONG
T
URBO
P
ASCAL
...................................................................... 50
VI.1. Giåïi thiãûu Unit ................................................................................................ 50
VI.2. Cáúu trục ca Unit............................................................................................50
VI.3. Cạch sỉí dủng Unit........................................................................................... 52
VI.4. Vê dủ vãư Unit................................................................................................... 53
VI.5. Bi táûp............................................................................................................. 55
CHỈÅNG 3 ..................................................... 57HÅÜP THỈÏC HỌA PHÁƯN MÃƯM
I. X
ẠC MINH V HÅÜP THỈÏC HỌA PHÁƯN MÃƯM

ẠC TIÃN ÂÃƯ V QUY TÀÕC SUY DIÃÙN
................................................................................ 82
IV.1. Âiãưu kiãûn trỉåïc úu nháút v âiãưu kiãûn sau mảnh nháút ca mäüt dy lãûnh........ 82
IV.1.1. Hm fppre .................................................................................................. 83
IV.1.2. Hm fppost................................................................................................. 83
IV.1.3. Sỉí dủng âiãưu kiãûn trỉåïc úu nháút v âiãưu kiãûn sau mảnh nháút âãø chỉïng
minh tênh âụng âàõn ca chỉång trçnh
............................................................................ 84
TS. PHAN HUY KHẠNH
biãn soản ii
Mủc lủc

IV.2. Cạc tiãn âãư gạn................................................................................................ 86
IV.2.1. Âiãưu kiãûn trỉåïc úu nháút v âiãưu kiãûn sau mảnh nháút ca lãûnh gạn ......... 86
IV.2.2. Quy tàõc tênh toạn âiãưu kiãûn sau mảnh nháút ca mäüt phẹp gạn.................. 87
V. B
I TÁÛP
........................................................................................................................... 89
CHỈÅNG 4 ............................................... 90THỈÍ NGHIÃÛM CHỈÅNG TRÇNH
I. K
HO SẠT PHÁƯN MÃƯM
..................................................................................................... 90
II. C
ẠC PHỈÅNG PHẠP THỈÍ NGHIÃÛM
..................................................................................... 92
II.1. Âënh nghéa v mủc âêch thỉí nghiãûm............................................................... 92
II.2. Thỉí nghiãûm trong chu k säúng ca pháưn mãưm............................................... 94
II.2.1. Thỉí nghiãûm âån thãø.................................................................................... 94
II.2.2. Thỉí nghiãûm têch håüp................................................................................... 95
II.2.3. Thỉí nghiãûm hãû thäúng.................................................................................. 96

II.3.2. Tçm kiãúm nhë phán (Binary search) ......................................................... 113
III. Â
ÀÛC T ÂẢI SÄÚ
:
MÄ HÇNH HỌA PHẠT TRIÃØN PHÁƯN MÃƯM
................................................. 117
III.1. Måí âáưu..........................................................................................................117
III.2. Phán loải cạc phẹp toạn................................................................................. 119
III.3. Hảng v biãún ................................................................................................. 120
III.4. Phẹp thãú cạc hảng.......................................................................................... 120
TS. PHAN HUY KHẠNH
biãn soản iii
iv Cäng nghãû Pháưn mãưm
III.5. Cạc thüc tênh ca âàûc t..............................................................................122
III.5.1. Mä hçnh láûp trçnh (triãøn khai).................................................................. 122
III.5.2. Mä hçnh âàûc biãût ...................................................................................... 123
III.5.3. Mä hçnh âäưng dỉ...................................................................................... 123
III.6. Phẹp chỉïng minh trong âàûc t âải säú............................................................123
III.6.1. L thuúttỉång âỉång............................................................................... 124
III.6.2. Khại niãûm vãư l thuút quy nảp................................................................ 125
III.6.3. Chỉïng minh tỉû âäüng båíi viãút lải............................................................... 126
III.6.4. Phán cáúp trong âàûc t âải säú................................................................... 128
IV. Â
ÀÛC T HAY CẠCH CỦ THÃØ HỌA SỈÛ TRỈÌU TỈÅÜNG
.......................................................... 129
IV.1. Âàûc t phẹp thay âäøi bäü nhåï ......................................................................... 129
IV.2. Hm............................................................................................................... 131
IV.3. Håüp thỉïc họa v phủc häưi ............................................................................. 134
IV.4. Bàõt âáưu triãøn khai thỉûc tiãùn........................................................................... 137
IV.5. Phẹp håüp thnh (cáúu tảo)............................................................................... 140
d
d
u
u
û
û

1
1:
:Hãû âiãưu hnh MS−DOS â cọ cạc phiãn bn 1.0, 3.3, 5.0, 6.0, 7.0 v.v...
Microsoft Windows â cọ cạc phiãn bn 1.0, 2.0, 3.0, 3.1, 3.11.
Nay l Windows 95, 97, 98 v.v...
Turbo Psacal ca hng Borland Inc. â cọ cạc phiãn bn 5.0, 6.0, 7.0, 8.0 v.v...
I.1.

Láûp trçnh tuún tênh
Våïi nhỉỵng MTÂT âáưu tiãn, ngỉåìi ta sỉí dủng ngän ngỉỵ mạy (machine
language) hay ngän ngỉỵ báûc tháúp (low level) âãø láûp trçnh v dng cạc khoạ cå khê
âãø nảp chỉång trçnh vo mạy. Theo â phạt triãøn ca cạc thiãút bë pháưn cỉïng, cạc

i ta chè quan
tám vãư màût chỉïc nàng : mäüt th tủc hay hm no âọ cọ thỉûc hiãûn âỉåüc cäng viãûc
â cho hay khäng ? Cn viãûc thỉûc hiãûn nhỉ thãú no l khäng quan trng, chng
no cn â tin cáûy.
Màûc d k thût thiãút kãú v láûp trçnh cáúu trục âỉåüc sỉí dủng räüng ri nhỉng
váùn bäüc läü nhỉỵng khiãúm khuút. Khi âäü phỉïc tảp tàng lãn thç sỉû phủ thüc ca
chỉång trçnh vo kiãøu dỉỵ liãûu m nọ xỉí l cng tàng theo. Cáúu trục dỉỵ liãûu trong
mäüt chỉång trçnh cọ vai tr quan trng cng nhỉ cạc phẹp toạn thỉûc hiãûn trãn
chụng. Mäüt khi cọ sỉû thay âäøi trãn mäüt kiãøu dỉỵ liãûu thç mäüt th tủc n
o âọ tạc
âäüng lãn kiãøu dỉỵ liãûu ny cng phi thay âäøi theo.
Khiãúm khuút trãn cng nh hỉåíng âãún tênh håüp tạc giỉỵa cạc thnh viãn láûp
trçnh. Mäüt chỉång trçnh cọ cáúu trục âỉåüc giao cho nhiãưu ngỉåìi thç khi cọ sỉû thay
âäøi vãư cáúu trục dỉỵ liãûu ca mäüt ngỉåìi s nh hỉåíng âãún cäng viãûc ca nhỉỵng ngỉåìi
khạc.
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 tng
ca láûp trçnh cáúu trục v trỉìu tỉåüng hoạ dỉỵ liãûu (data abstraction).
Chỉång trçnh ÂHÂT âỉåüc thiãút kãú xung quanh dỉỵ liãûu m nọ thao tạc chỉï
khäng bn thán cạc thao tạc. Tênh ÂHÂT lm r mäúi quan hãû giỉỵa dỉỵ liãûu v thao
tạc trãn dỉỵ liãûu.

Âải cỉång vãư cäng nghãû pháưn mãưm 7
Trỉìu tỉåüng hoạ dỉỵ liãûu l lm cho viãûc sỉí dủng cạc cáúu trục dỉỵ liãûu tråí nãn âäüc
láûp âäúi våïi viãûc ci âàût củ thãø. Vê dủ säú dáúu cháúm âäüng (floating point number) â
âỉåüc trỉìu tỉåüng hoạ trong mi ngän ngỉỵ láûp trçnh. NSD thao tạc trãn cạc säú dáúu
cháúm âäüng m khäng quan tám âãún cạch biãøu diãùn nhë phán trong mạy ca chụng
nhỉ thãú no.
Láûp trçnh ÂHÂT liãn kãút cạc cáúu trục dỉỵ liãûu våïi cạc phẹp toạn. Mäüt cáúu trục
no âọ thç tỉång ỉïng, ta cọ nhỉỵng phẹp toạn no âọ. Vê dủ : mäüt bn ghi vãư nhán

âãø náng cao nàng sút lao âäüng ca láûp trçnh viãn. Nàng sút åí âáy âỉåüc hiãøu l
tênh âụng âàõn ca chỉång trçnh, tênh dãù âc, dãù sỉía, táûn dủng hãút kh nàng ca
thiãút bë m khäng phủ thüc vo thiãút bë.
TS. PHAN HUY KHẠNH
biãn soản 7
8 Cọng nghóỷ Phỏửn móửm
Thổỷc chỏỳt cuớa 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 phaới õổồỹc vióỳt dổồùi daỷng caùc
thao taùc coù cỏỳu truùc trón caùc õọỳi tổồỹng coù cỏỳu truùc vaỡ caùc móỷnh õóử nhũm khúng
õởnh tờnh õuùng õừn cuớa kóỳt quaớ.
Nhổợng tổ tổồớng caùch maỷng trong lỏỷp trỗnh thóứ hióỷn ồớ hai õióứm sau :
Chổồng trỗnh vaỡ lỏỷp trỗnh vión trồớ thaỡnh õọỳi tổồỹng nghión cổùu cuớa lyù
thuyóỳt lỏỷp trỗnh.
Laỡm thóỳ naỡo õóứ laỡm chuớ õổồỹc sổỷ phổùc taỷp cuớa hoaỷt õọỹng lỏỷp trỗnh ?
II. Caùc phổồng dióỷn cuớa cọng nghóỷ phỏửn móửm
II.1.
II.2.
Cọng nghóỷ phỏửn móửm laỡ gỗ?
Theo tổỡ õióứn Computer Dictionary cuớa 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 caùc phổồng phaùp, mọ hỗnh, kyợ thuỏỷt, cọng cuỷ vaỡ thuớ tuỷc lión quan õóỳn caùc giai
õoaỷn xỏy dổỷng mọỹt saớn phỏứm phỏửn móửm. Caùc giai õoaỷn õoù laỡ : õỷc taớ (specifiction),
thióỳt kóỳ (design), lỏỷp trỗnh (programming), thổớ nghióỷm (testing), sổớa sai
(debugging), caỡi õỷt (setup) õóứ õem vaỡo ổùng duỷng (application), baớo trỗ
(maintenance) vaỡ lỏỷp họử sồ (documentation).
Muỷc õờch chờnh cuớa cọng nghóỷ phỏửn móửm laỡ õóứ saớn xuỏỳt ra nhổợng phỏửn móửm

hiãøu nhỉ l mäüt hãû thäưng chỉång trçnh thỉûc hiãûn mäüt nhiãûm vủ tỉång âäúi âäüc láûp
nhàòm phủc vủ cho mäüt ỉïng dủng củ thãø trong cüc säúng ca con ngỉåìi (v cọ thãø
âỉåüc thỉång mải hoạ). Vê dủ cạc sn pháøm pháưn mãưm :
 Hãû âiãưu hnh : MS − DOS, OS/2, Unix, MAC OS...
 Hãû âiãưu hnh mảng mạy tênh : Unix, Novell Netware, Windows NT... v cạc
ỉïng dủng trãn mảng LAN, WAN, Internet/Intranet (cạc Browsers, cạc dëch
vủ khai thạc Internet...).
 Cạc ngän ngỉỵ láûp trçnh (chỉång trçnh dëch) : Turbo Pascal, Turbo C, C
++
...
 Hãû qun trë cå såí dỉỵ liãûu : Microsoft Foxpro, Microsoft Access, Oracle,
Paradox...
 Microsoft Windows v cạc ỉïng dủng trãn Windows.
 Cạc tr chåi (games).
 Cạc pháưn mãưm tråü giụp thiãút kãú

(CAD, Designers...), tråü giụp ging dảy...
 Cạc hãû chun gia, trê tû nhán tảo, ngỉåìi mạy, v.v...
 Cạc chỉång trçnh phng chäúng virus, v.v...
Dỉåïi âáy l bng tọm tàõt quạ trçnh tiãún họa ca sn pháøm pháưn mãưm :
Thåìi k âáưu tiãn
1950 − 1960
Xỉí l theo lä (Batch processing)
Pháưn mãưm âỉåüc viãút theo âån âàût hng
Thåìi k thỉï hai
1960 − 1970
Âa ngỉåìi dng (Multiusers)
Thåìi gian thỉûc (Real time)
Cå såí dỉỵ liãûu (Database)
Pháưn mãưm sn pháøm

Âải cỉång vãư cäng nghãû pháưn mãưm 11
III. Nhỉỵng näüi dung cå bn ca 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 cạc phỉång phạp âãø phạt triãøn mäüt
chỉång trçnh (pháưn mãưm nọi chung). Sỉû phạt 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 hẻp
m cn l viãûc triãøn khai cạc giai âoản dáùn âãún láûp trçnh. Táûp håüp cạc giai âoản
ny âỉåüc gi l chu k säúng (hay vng âåìi) ca pháưn mãưm (life cycle).
Våïi mäüt dỉû ạn Tin hc låïn, nhiãưu ngỉåìi láûp trçnh tham gia âỉåüc chia thnh
nhọm, mäùi nhọm phủ trạch gii quút mäüt pháưn ca dỉû ạn. Ngỉåìi phủ trạch dỉû ạn
cọ nhiãûm vủ phán bäø cäng viãûc cho tỉì
ng nhọm, âm bo mäúi liãn lảc giỉỵa cạc
nhọm, kiãøm tra tiãún trçnh phạt triãøn ca dỉû ạn, cháút lỉåüng ca sn pháøm pháưn
mãưm khi hon táút.
Tiãún trçnh phạt triãøn pháưn mãưm gäưm 3 giai âoản chênh l xạc âënh, phạt triãøn
v bo trç, khäng phủ thüc vo miãún ạp dủng, âäü lỉïn v âäü phỉïc tảp ca dỉû ạn
phạt triãøn, cng nhỉ mä hçnh âỉåüc lỉûa chn.
Giai âoản xạc âënh :
Giai âoản ny tr låìi cáu hi l cại gç ? (What?) v khi no (When?) vãư dỉỵ liãûu
(thäng tin) cáưn xỉí l, mủc âêch chỉïc nàng va ìmäi trỉåìng phạt triãøn. Gäưm 3 bỉåï
c :
- Phán têch hãû thäúng.
- Láûp kãú hoảch dỉû ạn pháưn mãưm.
- Phán têch u cáưu thỉûc tiãùn.
Giai âoản phạt triãøn :
Giai âoản ny tr låìi cáu hi lm nhỉ thãú no ? (How?). Gäưm 3 bỉåïc :
- Thiãút kãú pháưn mãưm : Sỉí dủng cạc cäng củ âàûc t v láûp trçnh cáúu trục.
- Chn cäng củ hồûc cạc ngän ngỉỵ láûp trçnh âãø tiãún hnh viãút chỉång trçnh.
- Kiãøm thỉí (phạt hiãûn sai sọt, nháưm láùn...).
Giai âoản bo trç :

Dỏựu rũng mọ hỗnh thaùc nổồùc trón õỏy coù ờch lồỹi trong vióỷc quaớn lyù
(management), lỏỷp kóỳ hoaỷch vaỡ lỏỷp baùo caùo tióỳn õọỹ phaùt 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 naỡo õoù maỡ thọi, khọng phuỡ hồỹp vồùi
caùc hoaỷt õọỹng õaợ chố ra trong mọ hỗnh.
Tióỳn trỗnh phỏửn móửm gọửm caùc hoaỷt õọỹng phổùc taỷp vaỡ bióỳn õọỹng maỡ khọng thóứ
bióứu dióựn trón mọỹt mọ hỗnh õồn giaớn. Nhổợng mọ hỗnh tọỳt vóử tióỳn trỗnh phỏửn móửm
vỏựn coỡn laỡ chổùng chuớ õóử nghión cổùu. Hióỷn nay, caùc mọ hỗnh tọứng quaùt khaùc nhau
hay tờnh thổỷc duỷng cuớa sổỷ phaùt trióứn phỏửn móửm, gừn boù chỷt cheợ vồùi nhau.
Mọ hỗnh thaùc nổồùc nguyón thuyớ (original) laỡ mọỹt trong nhổợng mọ hỗnh tọứng
quaùt mang tờnh thổỷc duỷng sỏu sừc.
Sau õỏy laỡ mọỹt sọỳ tióỳp cỏỷn :

Âải cỉång vãư cäng nghãû pháưn mãưm 13
1. Tiãúp cáûn thạc nỉåïc (the waterfall approach) : Bao gäưm cạc giai âoản âàûc t u
cáưu, thiãút kãú pháưn mãưm, ci âàût, kiãøm thỉí, v.v..., sau mäùi giai âoản l sỉû kãút
thục (signed-off) v tiãúp tủc giai âoản tiãúp theo.
2. Láûp trçnh thàm d (exloratory programming) : Cho phẹp tàng nhanh quạ trçnh
âãø dáùn âãún tênh tha âạng ca hãû thäúng. Láûp trçnh thàm d thỉåìng âỉåüc ạp
dủng trong lénh vỉûc trê tû nhán tảo, khi NSD khäng thãø âënh hçnh âỉåüc cạc
âàûc t u cáưu. NSD quan tám âãún tênh tha âạng ca kãút qu hån l tênh
chênh xạc.
3. Bn máùu (prototyping) : Tỉång tỉû tiãúp cáûn láûp trçnh thàm d. Pha âáưu tiãn bao
gäưm phạt triãøn mäüt chỉång trçnh cho phẹp thỉí nghiãûm. Tuy nhiãn, mủc âêch
ca phạt triãøn l
thiãút láûp cạc u cáưu hãû thäúng. Sau âọ l sỉû ci âàût lải pháưn
mãưm âãø âỉa âãún hãû thäúng cháút lỉåüng - sn pháøm.
Kãút thục
Bàõt âáưu
Táûp håüp

hỗnh :
1. Mọ hỗnh thaùc nổồùc caới tióỳn
Tỗm hióứu vaỡ phỏn tờch
caùc yóu cỏửu
Thióỳt kóỳ hóỷ thọỳng
vaỡ phỏửn móửm
Caỡi õỷt vaỡ kióứm thổớ
tổỡng phỏửn
Tờch hồỹp vaỡ kióứm thổớ
hóỷ thọỳng
Khai thaùc vaỡ
baớo trỗ
Hỗnh 1.4. Mọ hỗnh thaùc nổồùc caới tióỳn
1. Tỗm hióứu vaỡ phỏn tờch caùc yóu cỏửu: NSD hóỷ thọỳng vaỡ ngổồỡi phaùt trióứn hóỷ thọỳng
baỡn baỷc, trao õọứi (consultation) vồùi nhau õóứ thióỳt lỏỷp muỷc õờch, raỡng buọỹc vaỡ
caùc dởch vu cuớa hóỷ thọỳng phỏửn móửm, lộnh họỹi õổồỹc nhổợng õoỡi hoới cuớa baỡi toaùn.
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 caùc yóu
cỏửu thaỡnh caùc hóỷ thọỳ
ng phỏửn cổùng, phỏửn móửm vaỡ thióỳt lỏỷp mọỹt kióỳn truùc hóỷ
thọỳng toaỡn bọỹ (overall system architecture). Vióỷc thióỳt kóỳ phỏửn móửm bao gọửm
vióỷc thóứ hióỷn caùc chổùc nng hóỷ thọỳng phỏửn móửm (software system functions) õóứ
bióỳn õọứi thaỡnh caùc chổồng trỗnh khaớ thi.
3. Caỡi õỷt vaỡ kióứm thổớ tổỡng phỏửn : Trong giai õoaỷn naỡy, caùc õồn vở chổồng trỗnh
hay tỏỷp hồỹp caùc chổồng trỗnh õổồỹc kióứm thổớ lỏửn lổồỹt sao cho thoớa maợn caùc õỷc
taớ tổồng ổùng.
4. Tờch hồỹp vaỡ kióứm thổớ hóỷ thọỳng : Caùc õồn vở chổồng trỗnh õổồỹc tờch hồỹp vaỡ kióứm
thổớ nhổ laỡ mọỹt hóỷ thọỳng õỏửy õuớ õóứ õaớm baớo caùc yóu cỏửu õỷt ra ban õỏửu. Sau
giai õoaỷn naỡy, hóỷ
thọỳng phỏửn móửm õổồỹc giao cho khaùch haỡng.
5. Khai thaùc vaỡ baớo trỗ (operation and maintenance) : ỏy laỡ mọỹt pha daỡi nhỏỳt


Ỉu âiãøm :
Cạc phiãn bn (hay sn pháøm) âỉåüc hon thiãûn dáưn theo chiãưu xoạy äúc tỉì trong
ra ngoi.
Nhỉåüc âiãøm :
 Khọ âạnh giạ chênh xạc, nháút l khi gàûp ri ro, khọ kiãøm soạt. Do âọ khọ
thuút phủc âỉåüc cạc khạch hng låïn
 Mä hçnh nuy cn måïi, chỉa âỉåüc kiãøm nghiãûm nhiãưu trong thỉûc tiãùn.
3. K thût thãú hãû 4 (4th Generation Technology)
Bao gäưm cạc cäng củ pháưn mãưm trãn cå såí tỉû âäüng s
n sinh m chỉång trçnh
gäúc theo nhu cáưu ca ngỉåìi phạt triãøn :
 Ngän ngỉỵ phi th tủc
2
(non procedural language) âãø truy cáûp cå såí dỉỵ liãûu.
 Bäü sinh bạo cạo.
 Bäü thao tạc dỉỵ liãûu. 2
l ngän ngỉỵ láûp trçnh khäng tn theo cạch gi th tủc hay gi chỉång trçnh con
thäng thỉåìng, khäng sỉí dủng cạc cáúu trục âiãưu khiãøn, tưn tỉû, m dỉûa trãn táûp
håüp cạc úu täúï v quan hãû âãø dáùn vãư kãút qu u cáưu. Vê dủ ngän ngỉỵ váún tin
SQL thüc loải ny.

TS. PHAN HUY KHẠNH
biãn soản 15
16 Cọng nghóỷ Phỏửn móửm
Bọỹ tổồng taùc vaỡ thióỳt kóỳ maỡn hỗnh.
Bọỹ sinh chổồng trỗnh.

Mọ hỗnh xoaùy troỡn ọỳc
4 GTPhỏn tờch yóu cỏửu
Laỡm baớn mỏựu
Thióỳt kóỳ
4 GT
Baớn mỏựu voỡng thổù n
Maợ hoùa
Mọ hỗnh voỡng thổù n
4 GT
Hóỷ thọỳng hoaỷt õọỹng
Kióứm thổớ
Baớo trỗ
Tỏỷp hồỹp, hióứu caùc yóu cỏửu ban õỏửu
Hỗnh 1.8. Tờch hồỹp caùc kyợ thuỏỷt TS. PHAN HUY KHAẽNH
bión soaỷn 17

CHÆÅNG 2
Thiãút kãú pháön mãöm
I. Nãön taíng cuía thiãút kãú pháön mãöm
TS. PHAN HUY KHAÏNH
biãn soaûn 18
Nóửn taớng cuớa thióỳt kóỳ phỏửn móửm
Phổồng phaùp lỏỷp trỗnh cỏỳu truùc 19
TS. PHAN HUY KHAẽNH
bión soaỷn 19
20 Cọng nghóỷ Phỏửn móửm
II. Phổồng phaùp lỏỷp trỗnh cỏỳu truùc

vióỷc 1.2.2vióỷc 1.2.1
vỏỳn õóử

Nãưn tng ca thiãút kãú pháưn mãưm
Phỉång phạp láûp trçnh cáúu trục 23
Vê dủ 2 :
Phán têch bi toạn cäüng hai phán säú âãø âỉa vãư bi toạn tçm ỉåïc säú chung låïn
nháút.
Âãø cäüng hai phán säú, trỉåïc tiãn cáưn ỉåïc lỉåüc chụng, tiãúp âọ quy âäưng máùu säú âãø
láúy máùu säú chung. Cúi cng tiãún hnh cäüng hai tỉí säú ca hai phán säú â cọ chung
máùu säú. Viãûc ỉåïc lỉåüc phán säú âỉåüc âỉa vãư tçm ỉåïc säú chung låïn nháút ca tỉí säú v
máùu säú (sỉí dủng thût toạn Euclide).
Âãø quy âäưng máùu säú, cáưn tçm bäüi säú chung nh nháút. Viãûc tçm bäüi säú chung nh
nháút ca hai säú lải âỉåüc âỉa vãư tçm ỉåïc säú chung låïn nháút ca chụng :
BSCNN(b’, d’) = b’ * d’ / ỈSCLN(b’,d’).
Hçnh 2.2. Phán têch bi toạ
n cäüng hai phán säú
Nhỉ váûy, chỉång trçnh l mäüt hãû thäúng gäưm nhiãưu thnh pháưn phán cáúp, mäùi
thnh pháưn cọ nhiãûm vủ gii quút mäüt váún âãư så cáúp v cọ tênh âäüc láûp cao. Cạc
thnh pháưn nãn tỉång tạc våïi nhau täúi thiãøu. Giỉỵa hai thnh pháưn trong hãû thäúng
chè nãn cọ täúi âa mäüt âỉåìng tỉång tạc l âỉåìng trao âäøi thäng tin âãø dãù qun l v
dãù kiãøm soạt.

Giỉỵa chỉång trçnh chênh v chỉång trçnh con cọ âỉåìng giao tiãúp l viãûc truưn
tham biãún. Khäng âỉåüc gi chỉång trçnh con theo kiãøu vỉåüt cáúp.

a

b
+

khọ âc, khọ sỉía sai (räúi ràõm nhỉ mọn mç såüi Spaghetti ca ).
Cạc chỉång trçnh viãút trãn ngän ngỉỵ aassembly hồûc trãn cạc ngän ngỉỵ báûc cao
nhỉ Fortran, Algol, Cobol... thỉåìng sỉí dủng lãûnh goto.
Vê dủ 3 :
Chỉång trçnh Algol sau âáy sỉí dủng lãûnh goto âãø âiãưu khiãøn vng làûp tênh täøng
cạc pháưn tỉí ca mng a gäưm N säú thỉûc :
S := 0; I := 0;
Start : S := S + a[I]; I := I + 1;
if I <= N then goto Start;
...
c) Chỉång trçnh cọ tênh cáúu trục
Chỉång trçnh chè sỉí dủng cạc cáúu trục âiãưu kiãûn chøn, dãù hiãøu, dãù thãø hiãûn
thût toạn. Cáúu trục ca chỉång trçnh phn ạnh âỉåüc cáúu trục ca váún âãư v cạch
gii quút váún âãư (lm nhỉ thãú no ?). Phỉång phạp hay âỉåüc sỉí dủng âãø thiãút kãú
chỉång trçnh l phán têch tỉì trãn xúng (Top-Down Analysis) v täøng håüp tỉì dỉåïi
lãn (Bottom up Synthesis).
Näüi dung phỉång phạp phán têch tỉì trãn xúng l nhçn nháûn xem xẹt täøng quạt
ton bäü váún âãư, xút phạt tỉì mủc tiãu (âènh) âi xúng cạc thnh pháưn trong hãû
thäúng, chia cạc thnh pháưn thnh cạc thnh pháưn nh hån theo mäüt cáúu trục phán
cáúp chàût ch.

üi dung phỉång phạp täøng håüp tỉì dỉåïi lãn l xút phạt tỉì cạc váún âãư củ thãø
v cạch gii quút củ thãø, sau âọ têch håüp chụng lải thnh váún âãư låïn hån v cạch
gii täøng quạt hån, hỉåïng tỉì dỉåïi lãn trãn âãø nháûn âỉåüc váún âãư cáưn phi gii quút
ban âáưu
Cạch thiãút kãú ny gáy khọ khàn vç khọ kiãøm soạt v dãù lảc hỉåïng, khọ âạp ỉïng
âáưy â cạc u cáưu ca váún âãư.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status