Tải bản đầy đủ (.pdf) (234 trang)

Phát triển hệ thống máy tính I

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.38 MB, 234 trang )

c lc
1 Phát trin h thng 1
Gii thiu 2
1.1 Phng pháp lun phát trin 2
1.1.1 Vai trò ca t chc phát trin h thng 2
1.1.2 Mô hình phát trin phn mm 5
1.1.3 Vòng i phn mm 10
1.1.4 Dùng li phn mm 19
1.2 Phân tích yêu cu và phng pháp thit k 22
1.2.1 Phng pháp lp biu  22
1.2.2 Lp biu  phân tích/thit k 24
1.2.3 Phng pháp thit k 31
1.3 Ngôn ng lp trình 52
1.3.1 Thuc tính chng trình 52
1.3.2 Kiu d liu 53
1.3.3 Cu trúc u khin 54
1.3.4 Phân tích cú pháp 56
1.3.5 Phân loi v ngôn ng lp trình 61
1.3.6 Kiu và c trng ca ngôn ng lp trình 65
1.4 K thut lp trình 72
1.4.1 Lp trình th tc 72
1.4.2 Lp trình hàm 72
1.4.3 Lp trình logic 73
1.4.4 Lp trình hng i tng 74
1.5 Phng pháp kim th và kim m 75
1.5.1 Phng pháp kim th 75
1.5.2 Phng pháp kim m 82
1.5.3 Thit k kim th và phng pháp qun lí 85
1.6 Môi trng phát trin 88
1.6.1 Công c h tr phát trin 88
1.6.2 EUC và EUD 95


1.7 Qun lí phát trin 97
1.7.1 Lp k hoch d án 97
1.7.2 Lp k hoch, qun lí và ánh giá cht lng 98
1.7.3 Qun lí tin trình 100
1.7.4 Nng sut phn mm 104
1.7.5 T chc phát trin 109
1.8 Gói phn mm 114
1.8.1 i cng v gói phn mm 114
1.8.2 Phân loi các gói phn mm 115
1.8.3 Công c qun lí sn xut 117
1.8.4 Ví d v vic dùng hiu qu gói phn mm 118
1.8.5 Phn mm nhóm - Groupware 119
1.8.6 Công c OA 120
Bài tp 126
2 Vn hành và bo trì h thng 132
Gii thiu 133
2.1 Vn hành h thng 133
2.1.1 Qun lí tài nguyên 133
2.1.2 Qun lí vn  135
2.1.3 Qun lí tin nghi 137
2.1.4 Qun lí an ninh 140
2.1.5 Vic qun lí vn hành khác 143
2.2 Bo trì h thng 145
2.2.1 Bo trì là gì? 145
2.2.2 Tm quan trng ca công vic bo trì 146
2.2.3 Chi phí bo trì 147
2.2.4 Nhim v bo trì 147
2.2.5 T chc bo trì 151
2.2.6 Các kiu bo trì 154
2.2.7 Bo trì phn cng và bo trì phn mm 155

Bài tp 158
3 Cp nht x lí thông tin và an ninh 161
Gii thiu 162
3.1 Lnh vc ng dng ca h thng máy tính 162
3.1.1 Tng quan v kinh doanh n t (e-business) 162
3.1.2 Tng quan v e-learning 165
3.1.3 Tng quan v chính phn t (e-government) 170
3.2 An ninh 176
3.2.1 An ninh Internet 176
Gii thiu
Lot sách giáo khoa này ã c xây dng da trên Chun k nng k s Công ngh thông tin c
a ra công cng vào tháng 7 nm 2000. Bn tp sau ây bao quát toàn b ni dung ca tri thc và
 nng c bn cn cho vic phát trin, vn hành và bo trì h thông tin:
p 1: Gii thiu v h thng máy tính
p 2: Phát trin và vn hành h thng
p 3: Thit k trong và lp trình Tng lng tri thc ct lõi và thc hành
p 4: Công ngh mng và c s d liu
Cun sách này nêu nhng gii thích d mt cách có h thng,  nhng ngi ang hc v phát
trin, vn hành và bo trì h thng ln u tiên có th d dàng thu c nhng tri thc trong các
nh vc này. Cun sách này bao gm các chng sau:
Chng 1: Phát trin h thng
Chng 2: Vn hành và bo trì h thng
1 Phát trin h thng
c ích ca chng
i các công ti, u bn cht là thu c li nhun. Tuy
nhiên tình hình kinh t hin nay là hn lon và rt khó d
oán xu hng tng lai. Trong tình hung nh vy, các h
thng x lí thông tin tr thành quan trng thit yu cho hot
ng nghip v, và do ó là mu cht cho s tn ti ca công

ti. Các k s x lí thông tin, tt c các h thng thit k và
phát trin x lí thông tin ã tr nên ngày mt quan trng.
Chng này dnh nói v lung phát trin dùng mô hình
thác , cung cp mt c s cho vic phát trin h thng, môi
trng phát trin, h thng qun lí, và vic dùng các gói phn
m. V chi tit, các mc sau sc ging dy:
• Kiu và i cng v các phng pháp lun phát trin h
thng, và các tin trình phát trin dùng mô hình thác .
‚ Cách lp biu  phân tích yêu cu, và các công ngh thit
 khác nhau.
ƒ Các ngôn ng lp trình và k thut lp trình.
„ Tm quan trng ca kim th, và các phng pháp thit k
các trng hp kim th.
… Các công c c dùng trong môi trng phát trin, và
các k thut và h thng cho vic qun lí phát trin.
† Các kiu gói phn mm và cách dùng chúng.
2 Chng 1 Phát trin h thng
Gii thiu
m mi nm ã trôi qua k t khi cái máy c gi là "máy tính" i vào hin hu. Ban u,
không có lí thuyt hay phng pháp lun gì cho vic phát trin h thng c. Cho nên vic phát trin
tu thuc ch yu vào "tài ngh" ca k s. Nó hoàn toàn tng t nh tình hung trong nhng
ngày xa khi th mc làm nhà theo "trc giác" và "kinh nghim" ca h. Tuy nhiên, các h thng
ã dn tr nên ngày mt ln hn, và cùng vi nhng phát trin mi, s m rng ca vic thay i
cho h thng hin có ã tr thành cn thit. Thêm vào ó, nng sut phát trin ã tr nên cao hn.
Tình hung này ã t ti m mà vic dùng "tài ngh" là hoàn toàn không , a ti vic mc
nhiên công nhn cn có các lí thuyt phát trin h thng, và các phng pháp k ngh thc hin
chúng.
Thêm vào vi các phng pháp qui c, nhng phng pháp phát trin và lí thuyt mi ã c
a vào  cung cp nng sut cao hn và thân thin hn vi ngi dùng.
Trong chng này, các lí thuyt c s cho vic phát trin h thng và các phng pháp lun ca

chúng c ging dy. Vic dùng có hiu qu các gói phn mm gn ây và các phng pháp kim
m là bn cht cho công vic phát trin cng c trình by.
1.1 Phng pháp lun phát trin
c này gii thiu v mi quan h gia các h thng doanh nghip nghip, công ngh thông tin và
các phng pháp phát trin chính.
1.1.1 Vai trò ca t chc phát trin h thng
(1) Hot ng xí nghip và h thông tin
n nhiu n lc  to ra s phát trin liên tc ca xí nghip. Trong ó vic s dng Công ngh
Thông tin (CNTT) là u ch cht.
i các xí nghip, có hai kiu thông tin:
Thông tin ni b :Thông tin c phát sinh qua các hot ng nghip v, và bao gm c các
hoá n, biu mu và tài liu qun lí c dùng trong bán hàng, ra lnh sn
xut và k toán.
Thông tin ngoài :Thông tin c phát sinh ra tu thuc vào tình trng kinh t bao quanh công
ti, k c vic bán sn phm, xu hng các ngành công nghip có liên quan,
ng thái ca các công ti cnh tranh, và các giao tác vi các công ti có liên
quan.
Doanh nghip dùng các thông tin trên trong hot ng hàng ngày ca mình mt cách hiu qu. H
thông tin c phân thành hai loi:
1.1 Phng pháp lun phát trin 3
 x lí tác nghip : c dùng  h tr cho các hot ng hàng ngày và cung cp d liu qun
lí doanh nghip. Vic x lí thông tin u kì c tin hành  làm tng hiu sut và ci tin hiu
qu vn hành.
 thông tin chin lc : t ti các hot ng nghip va dng, u quan trng là dùng
tài nguyên sn có, con ngi, vt t và tin bc theo cách hiu qu nht. H thng cung cp thông
tin cn cho vic qun lí các tài nguyên này. H thng này ch yu c dùng  sinh ra các báo cáo
theo quan m qun lí.
Hình 1-1-1 H thông tin chin lc và h x lí tác nghip
c ích ca tng h là nh sau.
<H thng x lí tác nghip>

- Làm gim nhân công cho nhng thao tác có liên quan
- Làm gim vic x lí nghip v
- Làm gim thi gian giao hàng
- Làm gim vic qun lí kho
- Thc hin các thao tác không giy t
<H thông tin chin lc>
- Làm tng bán hàng
- Ci thin hiu qu bán hàng
- Ci thin s tho mãn ca khách hàng
- To ra th trng mi
Nói chung, mt t chc chu trách nhim phát trin các h thng x lí thông tin c gi là t chc
phát trin h thng hay cái gì ó tng t, và các k s h thng (SE) là các lp trình viên thuc t
chc này.
t khác, mt t chc dùng các h thng ã phát trin c gi là t chc ngi dùng.
Làm k hoch chin lc
Phân tích th trng
Phân tích bán hàng
Qun lí ngân sách và chi phí
H tr bán
hàng
Nh
n v
à 
t
n hàng
Qun lí kho
Qun lí
nhân s
Tính lng
Lp k hoch

sn xut
<H thông tin chin lc>
<H x lí tác nghip>
4 Chng 1 Phát trin h thng
(2) Tin b trong CNTT và t chc phát trin h thng
• Tin b trong công ngh thông tin
Nhng tin b mi ây trong công ngh là rt áng ngc nhiên. Trong s nhiu tin ba dng,
nhng u sau ây c xem nh các nhân tnh hng rt áng k ti vic phát trin h thng.
a. Tin b trong công ngh máy tính
Vic ci tin hiu nng ca c máy tính cá nhân và trm làm vic, và vic gim giá áng k
a chúng là u rt áng ngc nhiên. Nhng thao tác mà có thi ã phi c thc hin
ch vi máy tính ln thì bây gi có thc thc hin bng nhng máy tính nh hn.
b. S dng rng rãi các gói phn mm
i vì s phát trin nhanh chóng ca các gói phn mm, nên nhng gói phn mm cho qun tr c
 d liu RDBMS (Relational Data Base Management System) và bng tính nay ã sn có, và nó
ng có thc tích hp vào mt s h thng.
c. Tin b trong công ngh mng
i mi công ngh trong lnh vc thông tin và truyn thông, k c vic t hp ca mng cc b
LAN (Local Area Network) và WAN (Wide Area Network) và vic xây dng các mng ni b
intranets và mng ngoi b extranets (mng c to ra bng vic m rng mng ni b ra bên
ngoài công ti), là rt áng chú ý.
d. Tin b trong công ngh xây dng h thng
Công nghã dch chuyn t cách tip cn hng x lí sang cách tip cn hng d liu (DOA).
t qu là các kí pháp nh Biu  lung d liu - Data Flow Diagram (DFD), Biu  thc th
quan h - Entity-Relationship Diagram (ERD), và p bc cng vi Vào X lí Ra - Hierarchy plus
Input Process Output (HIPO) c to ra  biu din cho các thit k có cu trúc, ã c chp
nhn rng rãi. Thêm vào ó, các công c CASE (Computer Aided Software Engineering) ã tr nên
n có  h tr cho nhng n lc phát trin, và ã tr nên c dùng rng rãi.
‚ Hin trng ca các t chc phát trin h thng
i vic tng qui mô h thng và vic a vào multimedia, các t chc phát trin h thng ang

phi ng u vi nhng vn  sau:
a. Tng khi lng công vic tn ng li
 lng vic tn ng li, u ch ra h thng không thc bt u ngay lp tc theo yêu cu
phát trin t t chc ngi dùng, ã tng lên. Mi công ti trung bình u tn ng 2 n 3 nm
công vic.
b. a vào h mutimedia và tng s các h thng qui mô ln
Các h thng multimedia, trong ó các d liu a dng, k c ting nói, video và vn bn u c
dùng, ã i vào thc t. Thêm vào ó, WAN và LAN ã c t hp và mng ni b intranets ã
c xây dng. Do ó, ngày nay con ngi phi gii quyt các h thng qui mô ngày càng ln và
phc tp.
c. Tng công vic bo trì
i qui mô ngày càng m rng h thng, khi lng công vic bo trì cng tng lên. Khi lng
này tng lên bi vì các yêu cu sa i h thng t các phòng ban ngi dùng tng lên, sa i các
 thng hin có tr thành cn thit, và vic sa i toàn b h thng do gp nhiu li cng tng
lên.
1.1 Phng pháp lun phát trin 5
ƒ Vai trò mi ca t chc phát trin h thng
Bên cnh nhng công vic qui c v vic phát trin h thng và bo trì, các t chc phát trin h
thng hin nay c trông i thc hin nhng công vic có liên quan nh sau:
a. Phát trin h thng cùng s vn hành và bo trì chúng
Bên cnh các công vic qui c, các t chc phi chp nhn công ngh và phng pháp mi mt
cách tích cc.
b. Xây dng và vn hành các c s d liu và mng
Các c s d liu khác nhau là bn cht cho s vn hành và qun lí nghip v. Bên cnh ó, bây gi
không th xem xét các hot ng nghip v mà không dùng mng. Vic xây dng, vn hành và
qun lí các c s d liu và mng này c coi nh công vic bn cht ca t chc.
c. Lp k hoch và u phi tin hc hoá toàn công ti
Vic lp k hoch cho các h thng ln bao quát toàn b công ti, và phn ánh cái nhìn ca ngi
dùng và ban u hành công ti, cng là vic quan trng ca t chc.
d. Gn cht vi ngi dùng

Ngi ta trông i rng t chc chp nhn các yêu cu ca ngi dùng mt cách tích cc và phát
trin các h thng thc t hn. T chc cng cn sn sàng cung cp s h tr k thut cn thit 
ng dn môi trng tính toán ngi dùng cui (EUC), hun luyn t xa và hun luyn ti ch v
 lí thông tin trong công ti.
1.1.2 Mô hình phát trin phn mm
i vic phát trin h thng, ngi ta dùng nhiu mô hình khác nhau tu theo qui mô ca công ti và
cách thc làm vic cho trong công ti. Ti ây, nhng phng pháp này c mô t mt cách
n tt. c bit, chúng tôi s nêu chi tit v mô hình thác  trong mc 1.1.3.
Nhc v trong Hình 1-1-2, vic xem xét cách xây nhà s làm cho chúng ta d hiu hn v cách
thc tin trin vic xây dng h thng.
u ch riêng các biu  lc  khách hàng khó có th có c hình nh rõ ràng v ngôi nhà và
ngôi nhà trông s nh th nào khi c hoàn tt. Do ó, hãy kim tra vi ngôi nhà mô hình, hay các
nh 3 chiu trên máy tính mi c cung cp gn ây.
Vic gii quyt tng t cng c dùng trong phát trin h thng.
6 Chng 1 Phát trin h thng
Hình 1-1-2
Quy trình
xây dng
nhà
Yêu cu ca khách v mt ngôi nhà c a cho
nhà xây dng. Da trên các yêu cu này, ngi
xây dng a ra giá thành c lng, các bn v
 và lch biu, và nói u ó vi khách hàng.
Thêm vào ó, ngi ch nhà còn phi i xin phép
các c quan chính ph có liên quan.
a trên thit k s, ngi xây dng to ra các
n thit k chi tit có tính ti nhng ràng buc
n thit nh các u kin a lí và xã hi ca v
trí này và giá thành. Cui cùng, vic thit kc
chia xung mc cho phép vic xây dng thc.

Vic lp ráp c th mc thc hin trên các thit
.
Vic kim tra c tin hành mi khi hoàn tt mt
 phn. n cui, vic kim tra c thc hin
i s có mt ca khách hàng. Sau ó ngôi nhà
c chuyn giao cho khách hàng.
Nhiu loi bo trì s c tin hành tng ng
theo yêu cu ca khách
(1) Mô hình thác 
Mô hình thác , công ngh phát trin h thng, vn là mô hình c s dng rng rãi nht. Trong
mô hình này công vic c phân chia thành mt s pha, và vic qun lí c tin hành cho tng
pha.
Nhc ch ra bi cái tên "thác ", công vic tin trin trong mô hình này t lung trên cao (lp
p k
hoch c s
Thit k
ngoài
Thit k
trong
Thit k
chng trình
p trình
Kim th
n hành và
o trì
Tin trình
thng lu
Tin trình
 lu
Hình 1-1-3 Mô

hình thác 
1.1 Phng pháp lun phát trin 7
 hoch c s) ti lung di thp (kim th), không bao gii ngc li.
(2) Mô hình bn mu
Mô hình thác  bao gm nhng vn  sau.
- Vi mô hình thác  cc kì khó hiu thu yêu cu ca ngi dùng trong pha lp k hoch c
 cho h thng. ôi khi ngay c khách hàng cng không bit ti nhng yêu cu ó.
- Các biu  thit k và gii thích ming ôi khi không .
 gii quyt nhng vn  này, mô hình bn mu ã c  xut ra. Vi mô hình bn mu, h
thng c xây dng sc làm mô hình thô trong các ngôn ng lp trình n gin nh SQL
(Structured Query Language)  giúp cho khách hàng hiu. Sau ó, công vic phát trin dnh s
c bt u.
n mu bao gm nhiu mô hình a dng.
<Phân lp theo phng pháp xây dng>
- "Kiu vt i": Các mnh mu th b vt i sau khi ã t ti mc ích ca chúng.
- "Kiu khung xng": Các chi tit c thêm dn vào cho các mnh mu th m rng
n nó thành h thng dnh.
<Phân lp theo mc  bao quát>
- "Kiu dùng b phn": Mô hình này c dùng trong các pha xác nh yêu cu và thit k
ngoài.
- "Kiu dùng toàn b": Mô hình này c xây dng cho tt c các pha.
Hình 1-1-4 ch ra mt ví d lu  ca mô hình bn mu theo kiu dùng b phn.
Vic dùng mô hình bn mu em ti cm giác v s tham gia ca ngi dùng, ngn nga các li
trong các pha thng lu vn nh hng áng k ti công vic v sau.
Tuy nhiên, mô hình bn mu bao gm các vn  sau cn c gii quyt.
Thit k trong
Thit k ch. trình
p trình
Kim th
n hành và bo trì

OK
NO
Xác nh yêu cu
Thit k ngoài
Sinh ra bn mu
Ngi dùng cho
chy bn mu
ánh giá
Hình 1-1-4 Ví d
u  v mô hình
n mu theo kiu
8 Chng 1 Phát trin h thng
- Chi phí phát trin vt quá mô hình thác .
- Khó u chnh lch.
(3) Mô hình xon c
Trong mô hình xon c, mt lot các tin trình bao gm thit k, lp trình và kim thc lp li
cho tng n v con ca h thng, vi vic phát trin c lp li nhiu ln (xem Hình 1-1-5).
<Các c trng>
- Cách dùng mô hình này là thích hp cho nhng trng hp mà n v con ca h thng
c phát trin là tng i c lp ln nhau.
- Nó tuân theo mô hình thác  theo b phn.
- Nó cho phép mô hình bn mu c s dng khi có nhu cu ny sinh.
- c s dng trong vic phát trin kiu hng i tng và theo nhng cách khác.
Hình 1-1-5 Mô hình xon c
(4) Phát trin hng i tng
n ây s chú ý ã dn vào cách phát trin hng i tng. Theo mô hình này, h thng c xét
nh mt tp các i tng, và vic phát trin c tin hành trên c si tng. Trong phát trin
i tng, tin trình phân tích ti thit k ti thc hin c thc hin lp i lp li thit lp nên
t loi mô hình xon c.
Pha kim th

Hoàn tt
Pha thit k
Pha lp trình
1.1 Phng pháp lun phát trin 9
(5) Cu trúc phân vic
t ti mc ích ca mình, d án phát trin h thng c phân ra thành các mc theo th t
sau, tu theo tin trình phát trin.
1. Mc quyt nh cu trúc chính ca d án
2. Mc công vic to nên khuôn kh cho tng pha
3. Mc công vic hin hành chi tit
u trúc phân vic - Work Breakdown Structure (WBS) c suy ra bng cách b sung thêm các
c ích c th, lch công vic, và vic qun lí tin trình xác nh các chi tit  mc mn nht có
thc cho u thu c bi nhng thao tác phân chia này. WBS c biu din bng cu trúc
phân cp nhc v trong Hình1-1-6.
Vic dùng WBS a ra nhng ích li sau:
- Cung cp các c lng chi phí và d liu cho vic phân tích chi phí.
- Làm sáng t cu trúc công vic và bao quát công vic d án cùng trách nhim v công
vic.
- Vic hiu thu tin trình thc ti cho tng n v công vic, và lp k hoch công vic
c d dàng hn.
- Tên ca các n v công vic c phân ra và h thng phân lp là mt phn ca tri thc
chuyên gia v cách làm.
i WBS, mc ích ca công vic, nh cht lng, chi phí và thi gian c cho trên c sn v
công vic. Cho nên, công vic c thc hin vi các mc tiêu nh tham chiu.
(6) Tin trình và mô hình tin trình
Tin trình c nh ngha nh các n v công vic nào, nh phân tích, thit k và ch to, c
 án phát trin sn
phm
.
p k hoch c s

Thit k ngoài
Xác nh h con và s
phát trin
Thit k màn hình - báo
cáo
.
Phân chia chc nng
 bn
Xác nh chc nng c
n
.
Phân chia chc nng
Phân loi cách x lí và
p
.
Hình 1-1-6 Cu trúc phân
vic
0.0
1.0
2.22.1
2.0
2.1.2
2.1.1
2.1.1.1 2.1.1.2
10 Chng 1 Phát trin h thng
n ti trong vic to ra sn phm (k c sn phm phn mm), và c b trí theo chui thi gian.
i cu phn ca tin trình c gi là "giai n tin trình". Vi WBS c mô t trên, công
vic c biu din theo cp bc, nhng không theo chui thi gian. u này to ra s khác bit
n.
Tin trình c thit ki th trong pha lp k hoch c s. Trong thit k này, mô hình tin trình

c nêu trong Hình 1-1-7 có thc dùng nh tham chiu.
<Các giai
n tin
trình>
p k
hoch
Xác nh
yêu cu
Thit k Ch to, xây dng và kim th Chuyn
ch
n hành
và bo trì
<Mô hình
tin trình
1>
Thit k quan nim Thit k c s Thit
 chi
tit
Mã hoá Kim th Chuyn
ch
o trì
<Mô hình
tin trình
2>
Phân tích h thng K hoch h thng
hoá
Thit

chng
trình

Sinh chng
trình
Kim th Chuyn
ch
o trì
<Mô hình
tin trình
3>
p k hoch Thit k Ch to Kim th h
thng
Chuyn
ch sang
n hành
thc t
o trì
Thc hin phát trin Kim th
 thng
<Mô hình
tin trình
4>
 hoch
 thng
hoá
Xác nh
yêu cu
Thit k
ngoài
Thit

trong

Thit
 mô
un

hoá
Kim
th
n v
Kim th móc
i
Chuyn
ch
o trì
<Mô hình
tin trình
5>
p k
hoch h
thng hoá
Phân tích
 thng
Thit k
 thng
i
ng
Thit k h thng
chi tit
Ch to Kim th, chuyn dch Vn hành
và bo trì
<Mô hình

tin trình
6>
p k
hoch h
thng
Phân tích
 thng
Thit k
giao din
ngi
dùng
Thit
 cu
trúc h
thng
Thit
 cu
trúc
chng
trình
p
trình
Kim
th
chng
trình
Kim
th
móc
i

Kim
th

thng
Kim th
n hành
o trì/
ánh giá
 thng
Hình 1-1-7 Mô hình tin trình
Các sn phm phn mm c to ra qua tng tin trình phát trin. Do ó, thit k ca tng tin
trình, cho c s ca tin trình, ch yu nh hng ti cht lng và chi phí ca sn phm phn
m.
1.1.3 Vòng i phn mm
Vòng i là tin trình t khi sinh n khi cht hay khong sng ca vt sng và sn phm. Vi khái
nim v vòng i phn mm (SLC) cng vy, ó là khong thi gian t lúc bt u d án phát trin
 thng, và thi gian khi vic cp nht h thng kt thúc, c xem nh cuc sng ca h thng.
y, các hot ng xut hin trong thi kì ó c biu din bng cuc sng thc c dùng, xem
nh mô hình din t cho mi quan h gia các tin trình.
Hình 1-1-8 Vòng i ca h thng phn mm
Trong phn sau ây s gii thích v mô hình thác , là mô hình n hình nht.
Phân
tích
Thit

Phát
trin
o trì t i
Chuyn sang
 phn mm

i
Vòng i ca h phn mm
1.1 Phng pháp lun phát trin 11
(1) c trng ca mô hình thác 
R: hp xét duyt
Hình 1-1-9 Hình nh toàn th ca mô hình thác nc (cu trúc hình ch V)
Trong mô hình thác , các k thut sau c s dng. Do ó, có th trc quan hoá mô hình này
nh cu trúc hình ch V trong Hình 1-1-9.
Pha lp k hoch c s ti pha lp trình: phng pháp làm mn tng bc (tip cn trên xung)
Pha kim thn v ti pha kim th vn hành: phng pháp tích hp tng bc (cách tip cn di
lên)

hoch

thng
hoá
p k
hoch
thc
hin
 án
Xác
nh
yêu
u
p k hoch c s
Thit

trong
Thit


chi
tit
p
trình
Kim
th
n
hành

o
trì
Các c trng ca Mô hình thác c tóm tt sau ây:
Công vic phát trin h thng c chia thành mt s pha cho vic qun lí.
Khi công vic ca mt pha hoàn tt thì sn phm công vic (k c loi tài liu thit k) ca pha
này c xét duyt  kim tra tính úng n.
Các sn phm công vic (k c loi tài liu thit k) t pha này c chuyn tip sang tin trình
tip. Theo cách này, s nht quán trong vic phát trin h thng c duy trì.
p k hoach c s R
Phân tích R
Thit k tng th R
Thit k chng trình R
Lp trình R
n hành/bo trì
Kim th vn hành
Kim th h thng
Kim th tích hp
Kim thn v
Hình 1-1-10 M
i quan h

gia tng pha trong mô hình
thác  và khi lng công
vic ca nó
Thi gian
Ngi
phân tích
 s
ng
 s phát
trin phn
 s
CNTT

 s k
thut
(qu n
tr h
thng)
 s
chu
trách
nhim
Khi lng công vic
Thit

ngoài
12 Chng 1 Phát trin h thng
 c bn, không c phép tr li công vic ca pha trc.
Cách t chc d án có tm quan trng ch cht
Nhã mô t trên, vic phân chia tin trình phát trin h thng thành mt s pha cho qun lí là

t trong nhng c trng ca mô hình thác nc. Hình 1-1-10 ch ra mi quan h gia tng pha
và khi lng công vic ó.
Trong các mc (2) ti (8) di ây, s mô t i cng tng pha công vic trong phát trin h
thng.
(2) Lp k hoch c s
p k hoch c s là bc u tiên ca vic phát trin h thng. Cn phi có tri thc thu áo v
hot ng hin ti nhm t mc ích tin hc hoá. Bng không, không th nào phát trin c h
thng có th tho mãn cho ngi dùng. Do vy, vic lp k hoch c s bt u bng phân tích v
 thng hin ti, ri nhn din ra vn  ca nó.
Hình 1-1-11 Lp k hoch c s
Th tc chi tit trong lp k hoch c sc mô t sau ây:
1. K hoch h thng hoá
Vic lp k hoch h thng hoá là công vic son tho ra các k hoch c s cho mt h thng.
<Nhim v>
u tra và phân tích vn  trong các hot ng nhm ti vic h thng hoá.
a trên kt qu ca mc a, kho sát gii pháp tt nht và s cn thit phát trin h thng c xem
xét li. Nu thy rng có mt gii pháp tt hn, thì chp nhn gii pháp ó.
u t công vic ca mc b thy rng vic phát trin h thng mi là thích hp thì bn k hoch h
thng hoá sc to ra và c t cho ngi có trách nhim.
<Tài liu>
n k hoch h thng hoá.
2. K hoch thc hin d án
Sau khi ngi có trách nhim chp thun k hoch h thng hoá, thì bn k hoch thc hin (bn k
hoch thc hin d án) c vit ra.
<Th tc>
a. D án c t chc (k c b nhim ngi ph trách)
 hoch h thng hoá
p k hoch thc hin
 án
Xác nh yêu cu

1.1 Phng pháp lun phát trin 13
b. Bn k hoch tài nguyên h thng (c lng) c son tho ra.
 hoch nhân s
Phn cng cho phát trin h thng
c lng qui mô phát trin (k c nhân lc và ngân sách)
Tài chính
Và nhng th khác
c. Bn k hoch tin trình công vic và lch biu mc cao nht c son ra.
Có các kiu lch sau:
ch biu mc cao nht: lch cho toàn b h thng
ch biu mc trung: Lch cho tng pha trong vic phát trin h thng.
ch biu mc thp nht: Lch biu cho tng ngi có liên quan.
u lp c tt c các loi lch biu trên ti pha này là tt nht nhng thc t thì khó làm c.
Cho nên ít nht cn son ra lch biu mc cao nht ti pha này.
<Tài liu>
n k hoch phát trin.
3. Xác nh yêu cu
Trong xác nh yêu cu, các chc nng ích thit lp nên cái vào cho vic phát trin h thng, và
các yêu cu cho h thông tin c phân tích và nh ngha chi tit hn trong các bn k hoch phát
trin, bng các phng pháp có cu trúc nh DFD (biu  lung d liu) và ERD (biu  thc th
quan h)
<Nhim v>
a. Thông tin v h thng, nh công vic trong các chc nng ích (mô hình công vic c sinh ra
i ây c gi là mô hình logic hin ti), các khuôn mu c dùng và các mc ích, c thu
thp.
b. Các yêu cu v h thng xem nh mt tng th, bao gm các chc nng, các yêu cu hiu nng
và thao tác c xác nh.
c. Các yêu cu cho c phn cng và phn mm c làm sáng t.
<Tài liu>
n c t yêu cu

4. Tóm tt v vic lp k hoch c s
Vic lp k hoch c s là pha thit k ra i cng v h thông tin, k c vic phân tích h thng
n phát trin và vch ra lch biu mc cao nht. Kt qu ca nó nh hng rt nhiu ti các tin
trình i sau. Bên cnh ó, nó là pha u tiên trong vic phát trin h thng. Do ó, u cn thit là
công vic c thc hin vi s xác nhn ca ngi dùng, công vic c ngi phân tích h thng
có k nng cao và có tri thc ct lõi thc hin.
14 Chng 1 Phát trin h thng
(3) Thit k ngoài
Thit k ngoài là  xác nh phn thy c bên ngoài hay nhng phn dành cho giao tip vi
ngi dùng. Do ó, h thng c xét thun tuý theo quan m ca ngi dùng mà không  ý ti
nhng ràng buc v phn cng (nh máy tính). Bên cnh ó, cu trúc h thng cn c t ti
ng c làm sáng t.
<Nhim v>
a. Kim tra c t yêu cu
Sau khi kim tra bn c t yêu cu có trong bn k hoch c s, thì vic xét tng quan v h
thng c biu din bi vic dùng các biu  sao cho vic x lí và lung d liu có thc
hiu d dàng. Da trên các biu din này, thc hin vic phân chia thành các h con và thit k
vào/ra. Các DFD hay HIPO c dùng  v biu .
b. Xác nh các h con và phân chia thêm na
Toàn b h thng c chia thành mt s h con trên c s chc nng, ri h con li c
phân chia thêm na thành các n v nh hn.
c. Thit k tài liu và màn hình.
Trong thit k màn hình và tài liu, các thit k thô cho màn hình và vic chuyn i màn hình,
thit k thô cho tài liu vào/ra c to ra.
d. Thit k mã
i ây, vic thit k mã, nh vic xác nh h thng mã c tin hành.
e. Thit k d liu logic
Trong thit k d liu logic, mi quan h gia d liu c phân tích, và ng c viên cho c
KIm tra c t yêu cu
Xác nh h con và phân

chia thêm
Xác nh màn hình và tài
liu
Thit k mã
Thit k d liu logic
Xét duyt thit k ngoài
Hình 1-1-12 Thi
t
 ngoài
1.1 Phng pháp lun phát trin 15
 d liu và tp c rút ra. (công vic chi tit cho u này c tin hành trong thit k
ngoài).
f. Xét duyt thit k ngoài
Tài liu thit k ngoài c xét duyt.
<Tài liu>
Tài liu thit k ngoài
Báo cáo xét duyt tài liu thit k ngoài
(4) Thit k trong
Thit k trong dành cho phn không thy c ca h thng, và x lí vi nhng thit kc xem
xét t phía máy tính hay phía phát trin h thng. Trong thit k ngoài, h thng c nhìn t quan
m ca ngi dùng. Tuy nhiên trong thit k trong, các chi tit c thit k bng vic xem xét
i các thit k ngoài này c cài t hiu qu th nào trên máy tính, hay bi vic tính ti nhng
ràng buc phn cng cng nh phn mm.
Trong thit k trong, công vic c ch ra trong Hình 1-1-13 sc tin hành.
Hình 1-1-13 Thit k trong
<Nhim v>
a. Phân hoch và cu trúc chc nng (thit k cu trúc)
Trong phân hoch và cu trúc chc nng (thit k cu trúc), mi h con u phân hoch thành
các n v lp trình, và lung d liu và x lí gia các chng trình c làm sáng t.
b. Thit k d liu vt lí

Trong thit k d liu vt lí (thit k tp),  dùng hiu qu các c trng phn cng, vic thit
 vt lí v tp và c s d liu c da trên thit k d liu logic ã c thc hin trong
pha phân tích h thng.
Phân hoch và cu trúc
chc nng
Thit k d liu vt lí
Thit k vào ra chi tit
Thit k mã
Xét duyt thit k h
thng
16 Chng 1 Phát trin h thng
c. Thit k vào-ra chi tit
Trong thit k vào ra chi tit, các chi tit v màn hình và tài liu vào-ra c thit k bng vic
dùng mu c bit.
d. Xét duyt thit k trong
Vic xét duyt c tin hành vi tài liu thit k trong.
<Tài liu>
Tài liu thit k trong
Báo cáo xét duyt thit k trong
(5) Thit k chng trình
Trong thit k chng trình, các cu trúc trong ca tng chng trình c thit k. Mi chng
trình c dn ra qua vic phân chia trong pha thit k h thng li c phân chia thêm na mt
cách có phân cp thành các n v chc nng c gi là mô un. Sau ó, các giao din (d liu
vào/ra) gia các modun c thit k.
Bên cnh ó, các k hoch cho vic kim th chng trình (tích hp) cng c chun b, và các
trng hp kim thc thit lp. Trong thit k chng trình, công vic c ch ra trong Hình
1-1-14 sc tin hành.
Hình 1-1-14 Thit k chng trình
<Nhim v>
a. Thit k có cu trúc cho chng trình (Phân hoch môdun)

Trong thit k có cu trúc, mi chng trình li c phân hoch thành các n v chc nng
c gi là mô un  cho phép d dàng bo trì, còn lung d liu và x lí gia các chng
trình thì rõ ràng, mch lc. Bên cnh ó, các chc nng ca tng mô un và giao din gia các
mô un cng c xác nh.
b. Thit k các trng hp kim th (tích hp) chng trình
Các k hoch cho kim th chng trình c chun b và các trng hp kim thc thit
.
Thit k có cu trúc cho chng
trình
Thit k các trng hp kim th
chng trình
Xét duyt thit k chng trình
1.1 Phng pháp lun phát trin 17
c. Xét duyt thit k chng trình
Trong xét duyt thit k chng trình, tin hành xét duyt tài liu thit k chng trình.
<Tài liu>
Tài liu thit k chng trình
Báo cáo xét duyt thit k chng trình
 hoch kim th (tích hp) chng trình
(6) Lp trình
Trong lp trình, vic thit k các cu trúc logic ca mô un c nh ngha trong pha thit k chi
tit và vic mã hoá cho các mô un c thc hin. Bên cnh ó, các k hoch cho kim th (n
) mô un c chun b, và các trng hp kim thc thit lp.
<Nhim v>
a. Thit k mô un
Trong thit k mô un, các cu trúc logic trong ca mô un (các th tc x lí chi tit bên trong
ng mô un) c thit k bng vic dùng các k thut có cu trúc khác nhau.
Hình 1-1-15 Lp trình
Thit k mô un
p k hoch kim th

n v
Mã hoá
Kim thn v
b. Lp k hoch kim thn v
Các k hoch kim thn vc chun b. (To ra d liu kim th thích hp, xác nh lch
kim th.)
c. Mã hoá
ng mô un c mã hoá trong ngôn ng lp trình
d. Kim thn v
Tin hành kim thn v cho tng mô un
<Tài liu>
Tài liu thit k mô un
Báo cáo xét duyt thit k mô un
18 Chng 1 Phát trin h thng
 hoch kim thn v
Danh sách chng trình gc
Báo cáo xét duyt chng trình gc
Báo cáo kim thn v
(7) Kim th
Công vic kim thc tin hành  phát hin li trong hành vi và cu trúc ca mô un, chng
trình hay h thng xem nh mt tng th (xem Hình 1-1-16). Nu li c tìm ra thì cn làm phn
i, nu cn, cho pha lp trình hay thit k sa cha. Ri li tin hành kim th kim tra liu
i trên thc tã c sa hay cha.
Hình 1-1-16 Các loi kim th
<Nhim v>
a. Kim thn v (c tin hành trong pha lp trình)
Trong kim thn v, mi mô un u c kim tra xem liu nó có thc hin úng n hay
không.
b. Kim th tích hp
Trong kim th tích hp, các kim thc tin hành cho tng chng trình c to ra bng

vic móc ni các mô un. Kim tra vic vn hành ca chng trình và giao din gia các mô
un.
c. Kim th h thng
Trong kim th h thng, s vn hành ca h thng xem nh mt tng thc kim tra toàn
 theo quan m ca mc ích và hiu nng c yêu cu. Ri vic bt u vn hành thc t
c quyt nh da trên kt qu này.
d. Kim th vn hành
Trong kim th vn hành, các nhóm vn hành t phía ngi dùng tin hành các kim th trong
Kim thn v
Kim th tích hp
Kim th h thng
Kim th vn hành
1.1 Phng pháp lun phát trin 19
u kin và môi trng nh trong vn hành thc t.
<Tài liu>
Báo cáo kim thn v
Báo cáo kim th tích hp
Báo cáo kim th h thng
Báo cáo kim th vn hành
(8) Vn hành và bo trì
Vic sn xut theo h thng ã phát trin c bt u. Các hot ng bào trì c tin hành khi
khim khuyt (nh khó dùng) hay li c phát hin ra, hay khi thay i là không th tránh khi.
Trong mt s trng hp, h thng cn phi c thay i.
1.1.4 Dùng li phn mm
 thng ã c phát trin trên c s xây dng theo n hàng. Da trên yêu cu ca ngi dùng,
ngi phát trin phân tích các thao tác ích, và thit k, lp trình, và kim th h thng trc khi
hoàn thành vic phát trin ca nó. Sau ó ngi dùng làm quen vi thao tác ca mình bng vic
dùng h thng ã c xây dng áp ng cho các yêu cu riêng ca ngi ó.
Tuy nhiên bây gi nhiu công ti b phin hà bi vic tn ng ca h (các khon mc phát trin còn
cha c bt u). Vic sn xut da theo xây dng theo n hàng là nguyên nhân làm tng thêm

vic tn ng. Vi sn xut da theo vic xây dng theo n hàng, vic phát trin h thng phi
t nhiu tháng và nhiu nm. Bên cnh ó, vic tham d ca các chuyên gia nh k s h thng
(SE) là cn thit  phát trin h thng. Tuy nhiên, trong nhng n lc thc t ca các k s h
thng tn nhiu vào vic bo trì h thng hin có, u này ngha là s nhân viên có th d phòng
cho các d án phát trin mi là nh. Tình hung này ã to ra ý tng v vic dùng li phn mm
hin có.
Trong vic dùng li phn mm, các b phn ca toàn b phn mm c to ra tng phn, hay phn
m hin ti c phân tích, và sa i, và kt qu là thu c phn mm mi. Theo cách ó, mt
phn mm có thc dùng lp li trong các h thng khác nhau.
Có nhng cách sau ây  dùng li phn mm:
- Dùng li nh các b phn
- Dùng li qua tái k ngh
(1) Dùng li nh các cu phn
Phng pháp to ra các cu phn t phn mm hin có và lp ráp chúng  xây dng h thng mi
làm gim chi phí và tng cht lng h thng. Bên cnh ó, chu kì phát trin có thc làm ngn
i.
• Phng pháp  to ra các cu phn
Các b phn c chính ngi dùng to ra hay c ngi bán phn mm cung cp. Các b phn
do ngi bán cung cp u c chun hoá. Tuy nhiên, vic chun hoá theo nh dng c bit, và
vic biu din cng cn cho các b phn do ngi dùng to ra. Lí do là  ch các cu phn mà
20 Chng 1 Phát trin h thng
không c chun hoá thì không thc lp ráp úng. Hn na, trong khi ngôn ng nào c
dùng v c bn không phi là vn , thì tt hn c là nên dùng cùng mt ngôn ng tính ti mã
ngun có th phi c thay i.
Hình 1-1-17 Chun hoá các cu phn
‚ Th vin cu phn và h thng tìm kim
 xây dng h thng bng vic dùng các cu phn phn mm, các cu phn c ct gi và duy trì
trong th vin cu phn. S các cu phn c ct gi trong th vin càng ln, thì kt cu ca h
thng càng tr nên linh hot hn.
n na, khi h thng tìm c ci tin, thì th vin cu phn sc dùng thng xuyên hn, ci

tin c s d liu cu phn và tng c hi dùng th vin.
Hình 1-1-18 Th vin cu phn
 tn ti ca th vin cu phn rt phong phú và công c d dùng to ra hiu qu tng hp
ƒ Ci tin các cu phn - to ra công c và công c tìm cu phn
Khi cu phn phn mm c to ra và nó cung cp cách thc d dàng  tìm kim cu phn trong
th vin, thì vic dùng li phn mm sc tng tc bi vì d dùng. H qu là s có th cung cp
các công c to cu phn ã c ci tin và nhng công c tìm cu phn.
Các phng pháp hay công c phát trin ng dng bng vic lp ráp các cu phn phn mm
A
B
u phn
C
D
E
C1 C2
u phn 3 ca C1 c tìm
u phn Cu phn Cu phn Cu phn Cu phn Cu phn Cu phn Cu phn Cu phn
u phn
u
phn
Các b phn, có các chng trình ngun c cung cp,
có thc chuyên bit hoá (sa i),  dùng theo cách
úng n hn.
<Cu phn>
<H thng>
1.1 Phng pháp lun phát trin 21
c to ra, da trên các c t chun  có kh nng dùng li, c gi là "componentware."
(2) Dùng li qua tái k ngh
Vic to ra phn mm mi t phn mm hin có c gi là "tái k ngh.Tái k ngh là công ngh
c dùng  to ra h thng mi bng vic s dng h thng ang trong s dng.

 thc hin tái k ngh, các công c CASE (nh công c CASE bo trì) thng c dùng.
Trong tái k ngh thông thng, các c t phn mm hin có c dn ra ngay bc u tiên. Công
nghc dùng trong phn này ca công vic c gi là "k ngho". Sau ó, c t cho phn
m mi c to ra bng vic sa i c t suy dn. Da trên các c t mi, mt h thng mi
c to ra. Công ngh phát trin truyn thng c dùng ây c gi là "k ngh tin" tng
phn vi 'k ngho" (xem Hình 1-1-19).
Hình 1-1-19 Tái k ngh
• Tin → ‚o → ƒ Tin
= Tái k ngh
Khon mc phát
trin phn mm
Phân tích và
thit k
Biu  có
cu trúc
Thc hin
Chng trình gc
K ngh tin
Chng trình
ngun hin có
Tru tng hoá
Biu  có cu
trúc
Thc hin
Chng trình gc
i
K ngho
K ngh tin
Editor
Công vic bin

i

×