1
ÁP ÁN CNG MÔN CÔNG NGH PHN MM
Chng 1.
Câu1. Trình bày tóm tt các bc c bn trong quy trình xây dng phn mm
B1. Xác nh
ây là bc hình thành bài toán hoc tài. bc này thit k trng hoc phân
tích viên h thng phi bit c vai trò ca phn mm cn phát trin trong h thng,
ng thi phi c lng công vic, lp lch biu và phân công công vic.
Bên cnh ó chúng ta phi bit ngi t hàng mun gì. Các yêu cu cn phi c
thu thp y và c phân tích theo chiu ngang (rng) và chiu dc (sâu). Công c s!
d ng ch yu giai on này là các lc , s phn ánh rõ các thành phn ca h
thng và mi liên quan gi"a chúng vi nhau.
B2. Phát trin
Da vào các ni dung ã xác nh c, nhóm phát trin phn mm dùng ngôn ng" c
t hình th#c (da trên các kin trúc toán hc) hoc phi hình th#c (ta ngôn ng" t nhiên) hoc
kt hp c hai mô t nh"ng yu t sau ây ca chng trình:
Giá tr nhp, giá tr xu$t.
Các phép bin %i
Các yêu cu cn t c m&i im ca chng trình.
Phn c t ch' quan tâm ch yu n giá tr vào, ra ch# không quan tâm n c$u trúc
và ni dung các thao tác cn thc hin.
Sau bc thit k là bc trin khai các c t chng trình thành mt sn ph(m
phn mm da trên mt ngôn ng" lp trình c th. Trong giai on này các lp trình viên
s) tin hành cài t các thao tác cn thit thc hin úng các yêu cu ã c c t.
Công vic cui cùng ca giai on phát trin là chúng ta cn phi ch#ng minh
tính úng n ca chng trình sau khi ã tin hành cài t. Tuy nhiên thông thng
bc này chúng ta coi các chng trình nh nh"ng hp en. V$n t ra là xây dng mt
cách có ch ích các tp d" liu nhp khác nhau giao cho chng trình thc hin ri
da vào kt qu thu c ánh giá chng trình. Công vic nh trên c gi là kim
th! chng trình.
Công vic kim th! nh*m vào các m c tiêu sau:
Kim tra phát hin l&i ca chng trình. Lu ý r*ng kim th! không m
bo tuyt i tính úng n ca chng trình do bn ch$t quy np không
2
hoàn toàn ca cách làm.
Kim tra tính %n nh, hiu qu c+ng nh kh n,ng ti a ca chng trình.
Tùy theo m c ích mà ngi ta thit k các tp d" liu th! sao cho có th ph ht các
trng hp cn quan tâm.
B3. Bo trì (Vn hành)
Công vic qun lý vic trin khai và s! d ng phn mm c+ng là mt v$n cn
c quan tâm trong qui trình phát trin phn mm. Trong quá trình xây dng phn mm,
toàn b các kt qu phn tích, thit k, cài t và h s liên quan cn phi c lu tr" và
qun lý c(n thn nh*m m bo cho công vic c tin hành mt cách hiu qu nh$t
và ph c v cho công vic bo trì phn mm v sau.
Nh vy công vic qun lý không ch' d-ng li trong quá trình xây dng phn mm mà
trái li còn phi c tin hành liên t c trong sut quá trình sng ca nó.
Câu2. Trình bày Quy trình 4 giai on trong mô hình thác nc? u và nhc im?
Mô hình thác nc là mt trong nh"ng mô hình u tiên và ph% bin c áp
d ng trong quá trình phát trin phn mm. Mô hình này chia quá trình phát trin phn
mm thành nh"ng giai on tun t ni tip nhau. M&i giai on s) có mt m c ích nh$t
nh. Kt qu cu giai on trc s) là thông tin u vào cho giai on tip theo sau. Tùy
theo qui mô ca phn mm cn phát trin mà mô hình thác nc s) có nh"ng bin th khác
nhau nh sau:
Qui trình 4 giai on: Là qui trình ci tin ca qui trình phía trc b*ng cách b% sung thêm
mt giai on mi gi"a xác nh yêu cu và thit k (có s!a %i)
o Xác nh yêu cu: c tin hành ngay khi có nhu cu v vic xây dng phn
mm.
- M c tiêu: Xác nh chính xác các yêu cu t ra cho phn mm s) xây dng.
- Kt qu nhn: Thông tin v hot ng ca th gii thc.
- Kt qu chuyn giao: Danh sách các yêu cu (công vic s) thc hin trên máy
tính) cùng vi các thông tin miêu t chi tit v các yêu cu (cách th#c thc
hin trong th gii thc)
o Phân tích: c tin hành ngay sau khi kt thúc vic xác nh yêu cu.
- M c tiêu: Mô t li th gii thc thông qua các mô hình (mô hình th gii
thc) trc khi thit k.
3
- Kt qu nhn: Danh sách các yêu cu cùng các thông tin có liên quan.
- Kt qu chuyn giao:
Mô hình x! lý (h thng các công vic trong th gii thc cùng vi
quan h gi"a chúng)
Mô hình d" liu (h thng các loi thông tin c s! d ng trong th
gii thc cùng vi quan h gi"a chúng)
Các mô hình khác (không gian, thi gian, con ngi…) nu cn thit.
o Thit k: c tin hành ngay sau khi kt thúc vic phân tích.
- M c tiêu: Mô t các thành phn ca phn mm (mô hình ca phn mm) trc khi
tin hành cài t.
- Kt qu nhn: Mô hình th gii thc.
- Kt qu chuyn giao:
Mô t thành phn giao din: các hàm nhp/xu$t, c$u trúc d" liu
nhp/xu$t.
Mô t thành phn x! lý: các hàm kim tra x! lý.
Mô t thành phn d" liu: các hàm c/ghi, t% ch#c lu tr" trên b nh
ph .
o Lp trình (cài t): c tin hành ngay sau khi kt thúc vic thit k.
- M c tiêu: To lp phn mm theo yêu cu
- Kt qu nhn: Mô hình phn mm
- Kt qu chuyn giao: Chng trình ngun ca phn mm vi c$u trúc c s
d" liu tng #ng (nu cn thit) và chng trình thc hin c trên máy
tính (chng trình ngun ã c biên dch)
+) u im:
- D. qun lí
- c lng thi gian và chi phí r$t chính xác
+) Nhc im:
- Ri ro cao
- òi h/i khách hàng a ra yêu cu chính xác ngay t- u
+) 0ng D ng:
- Khách hàng a ra yêu cu ngay t- u
- Nhà phát trin hiu h thng
Câu 3. Trình bày mô hình bn m1u phn mm? So sánh vi các mô hình thác nc?
Tng t nh mô hình thác nc vi vic b% sung vào các giai on thc hin
phn mm m1u ngay khi xác nh yêu cu nh*m m c tiêu phát hin nhanh các sai sót v
4
yêu cu. Các giai on trong mô hình bn m1u phn mm có th tin hành lp i lp li
ch# không nh$t thit phi theo trình t nh$t nh.
Ngay sau khi giai on xác nh yêu cu, nhà phát trin phn mm a ra ngay mt
bn thit k s b và tin hành cài t bn m1u u tiên và chuyn cho ngi s! d ng.
Bn m1u này ch' nh*m miêu t cách th#c phn mm hot ng c+ng nh cách ngi s!
d ng tng
tác vi h thng.
Ngi s! d ng sau khi xem xét s) phn hi thông tin cn thit li cho nhà phát trin.
Nu ngi s! d ng ng ý vi bn m1u ã a thì ngi phát trin s) tin hành cài t thc
s. Ngc li c hai phi quay li giai on xác nh yêu cu. Công vic này c lp li liên
t c cho n khi ngi s! d ng ng ý vi các bn m1u do nhà phát trin a ra.
Nh vy ây là mt hng tip cn tt khi các yêu cu cha rõ ràng và khó ánh
giá c tính hiu qu ca các thut toán. Tuy nhiên, mô hình này c+ng có nhc im
là tính c$u trúc không cao do ó khách hàng d. m$t tin tng.
Mô Hình M1u Mô Hình thác nc
- Khách hàng có th bit c h thng
ngay t- ban u nh bn m1u
- Mô hình này không c khách hàng tin
tng nhiu.
- Ngi sn xu$t không chc v hiu qu
giao din
- Không lãng phí các bn m1u
- Mô hình này c khách hàng tin tng
nhiu
- Khách hàng không th bit c h thng
t- ban u
Câu 4. Trình bày mô hình xon c? u và nhc im?
Mô hình này chính là s kt hp ca mô hình bn m1u thit k và mô hình thác
nc c lp li nhiu ln. ln lp tip theo h thng s) c tìm hiu và xây dng
hoàn thin hn ln lp trc ó.
5
m&i ln lp các yêu cu ca ngi s! d ng s) c hiu ngày càng rõ ràng hn
và các bn m1u phn mm c+ng ngày mt hoàn thin hn. Ngoài ra cui m&i ln lp
s) có thêm công on phân tích m#c ri ro quyt nh xem có nên i tip theo hng
này n"a hay không.
Mô hình này phù hpvi các h thng phn mm ln do có kh n,ng kim soát ri ro
t-ng bc tin hóa. Tuy nhiên v1n cha c s! d ng rng rãi nh mô hình thác nc hoc
bn m1u do òi h/i n,ng lc qun lý, n,ng lc phân tích ri ro cao.
+) u im:
- Loi b/ c khong cách gi"a nhà sn xu$t và khách hàng
- Khc ph c c nhc im ca mô hình khác
- S! d ng mô hình m1u + phân tích ri ro
- S! d ng mô hình thác nc + mô hình lp
+) Khuyt im:
- Mô hình mi
- òi h/i khách hàng có k2 n,ng ánh giá tt và vic phân tích ri ro c+ng
phi tt
Câu 5. Trình bày các tiêu chí c bn ca ch$t lng phn mm?
* Tính úng n
Tính úng n ca phn mm c th hin ch% sn ph(m ó thc hin y và
chính xác các yêu cu ca ngi dùng. Tính úng n ây cn phi hiu theo ngh2a rng là
chng trình cn phi thc hin c trong c nh"ng trng hp mà d" liu u vào là
không hp l.
Ví d , nu mt trong s các ch#c n,ng ca phn mm là sp xp mt tp tin có s
lng m1u tin tùy ý theo mt ct tùy ý theo chiu t,ng hoc gim thì nh"ng trng hp sau
là vi phm tính úng n ca chng trình:
Không th thc hin c (treo máy) khi tp tin r&ng (không có m1u tin nào).
6
Không th thc hin hoc thc hin nhng cho kt qu sai khi các m1u tin có hn
100 ct hoc có quá nhiu m1u tin.
Không th thc hin hoc cho kt qu sai khi các ct có chiu dài ln hn 125
bytes.
Không th sp xp theo chiu t,ng dn….
Tính úng n ca mt sn ph(m phn mm c xác minh qua các c,n c# sau ây:
Tính úng n ca thut toán.
Tính tng ng ca chng trình vi thut toán. Thut toán có th úng
nhng chng trình lp ra không tng ng vi thut toán nên khi thc hin
s) cho kt qu sai.
Tính úng n ca chng trình có th c ch#ng minh trc tip trong v,n bn
ca chng trình.
Tính úng n c+ng có th c kh3ng nh dn qua vic kim th!, vic áp d ng
chng trình trong mt khong thi gian dài trên din rng và vi tn su$t s!
d ng cao.
* Tính tin hóa
Cho phép ngi dùng có th khai báo các thay %i v qui nh vi phn mm tùy
theo các thay %i trong th gii thc liên quan (thay qui nh v s sách mn ti a,
công th#c tính tin pht, công th#c tính tin in…)
Sn ph(m có th m rng, t,ng cng v mt ch#c n,ng mt cách d. dàng.
* Tính hiu qu
Tính hiu qu ca mt sn ph(m phn mm c xác nh qua các tiêu chu(n sau:
Hiu qu kinh t hoc ý ngh2a, giá tr thu c do áp d ng sn ph(m ó.
Tc x! lý ca phn mm (v) tính b*ng t' l gi"a khi lng i tng cn phi
x! lý (m) và t%ng thi gian (t) cn thit x! lý các i tng ó.
S! d ng ti u tài nguyên ca máy tính (CPU, b nh…)
* Tính tin dng
Sn ph(m phi tính n nh"ng yu t tâm lý sau ây ca ngi dùng:
D. hc, có giao din trc quan t nhiên.
D. thao tác,…
* Tính tng thích
7
Trao %i d" liu vi các phn mm khác có liên quan (nhn danh m c sách t- tp tin
Excel, g!i báo cáo t%ng kt n,m hc n phn mm WinFax, …)
Giao tip ni b
Giao tip bên ngoài
* Tính tái s dng
Sn ph(m phn mm có th áp d ng cho nhiu l2nh vc theo nhiu ch làm vic
khác nhau.
Các phn mm cùng lp
Các phn mm khác lp
Chng 2.
Câu 1. Trình bày s lc các bc c bn trong quá trình phân tích yêu cu?
B1. Xác nh
ây là bc hình thành bài toán hoc tài. bc này thit k trng hoc phân
tích viên h thng phi bit c vai trò ca phn mm cn phát trin trong h thng,
ng thi phi c lng công vic, lp lch biu và phân công công vic.
Bên cnh ó chúng ta phi bit ngi t hàng mun gì. Các yêu cu cn phi c
thu thp y và c phân tích theo chiu ngang (rng) và chiu dc (sâu). Công c s!
d ng ch yu giai on này là các lc , s phn ánh rõ các thành phn ca h
thng và mi liên quan gi"a chúng vi nhau.
B2. Phát trin
Da vào các ni dung ã xác nh c, nhóm phát trin phn mm dùng ngôn ng" c
t hình th#c (da trên các kin trúc toán hc) hoc phi hình th#c (ta ngôn ng" t nhiên) hoc
kt hp c hai mô t nh"ng yu t sau ây ca chng trình:
Giá tr nhp, giá tr xu$t.
Các phép bin %i
Các yêu cu cn t c m&i im ca chng trình.
Phn c t ch' quan tâm ch yu n giá tr vào, ra ch# không quan tâm n c$u trúc
và ni dung các thao tác cn thc hin.
Sau bc thit k là bc trin khai các c t chng trình thành mt sn ph(m
phn mm da trên mt ngôn ng" lp trình c th. Trong giai on này các lp trình viên
s) tin hành cài t các thao tác cn thit thc hin úng các yêu cu ã c c t.
8
Công vic cui cùng ca giai on phát trin là chúng ta cn phi ch#ng minh
tính úng n ca chng trình sau khi ã tin hành cài t. Tuy nhiên thông thng
bc này chúng ta coi các chng trình nh nh"ng hp en. V$n t ra là xây dng mt
cách có ch ích các tp d" liu nhp khác nhau giao cho chng trình thc hin ri
da vào kt qu thu c ánh giá chng trình. Công vic nh trên c gi là kim
th! chng trình.
Công vic kim th! nh*m vào các m c tiêu sau:
Kim tra phát hin l&i ca chng trình. Lu ý r*ng kim th! không m
bo tuyt i tính úng n ca chng trình do bn ch$t quy np không
hoàn toàn ca cách làm.
Kim tra tính %n nh, hiu qu c+ng nh kh n,ng ti a ca chng trình.
Tùy theo m c ích mà ngi ta thit k các tp d" liu th! sao cho có th ph ht các
trng hp cn quan tâm.
B3. Bo trì (Vn hành)
Công vic qun lý vic trin khai và s! d ng phn mm c+ng là mt v$n cn
c quan tâm trong qui trình phát trin phn mm. Trong quá trình xây dng phn mm,
toàn b các kt qu phn tích, thit k, cài t và h s liên quan cn phi c lu tr" và
qun lý c(n thn nh*m m bo cho công vic c tin hành mt cách hiu qu nh$t
và ph c v cho công vic bo trì phn mm v sau.
Nh vy công vic qun lý không ch' d-ng li trong quá trình xây dng phn mm mà
trái li còn phi c tin hành liên t c trong sut quá trình sng ca nó.
Câu 2. Trình bày khái nim v yêu cu và mô t yêu cu? Các thông tin c xem xét
trong vic mô t yêu cu?
Kn yc
- Yêu cu (hay yêu cu phn mm) là công vic mun thc hin trên máy tính. Nh"ng
công vic này phi xu$t phát t- thc t ch# không thun túy tin hc
- Mô t yêu cu là mô t y các thông tin liên quan n công vic tng #ng. Các
mô t này dùng làm c s nghim thu và ánh giá phn mm khi c chuyn
giao.
Các thông tin c xem xét trong vic mô t yc.
Tên công vic #ng vi t-ng yêu cu
Ngi hoc b phn s) thc hin công vic
9
a im thc hin công vic
Thi gian thc hin công vic
Cách th#c tin hành công vic cùng vi các quy nh liên quan
Sau ây, t-ng loi thông tin s) ln lt c xem xét chi tit:
a. Tên công vic.
Cn xác nh c th, tránh dùng các tên chung chung, m h
Ví d : xét mt s tên công vic sau:
Qun lý c gi: chung chung, m h; c th nh vic ,ng ký mn sách, gia hn th4
c gi, tr sách
Qun lý sách: chung chung, m h; c th nh nhp sách vào kho, tra c#u sách, cho
mn sách, nhn tr sách, thanh lý sách.
b. Ngi thc hin.
Cn xác nh chính xác ngi hoc b phn s) thc hin công vic trên máy tính (còn
gi là ngi dùng phn mm hay ngi dùng).
Nh"ng ngi dùng có vai trò và công vic thc hin tng t nh nhau s) c
xp vào cùng mt loi ngi dùng (thông thng mt loi ngi dùng s) tng #ng vi
mt b phn trong th gii thc).
Cùng mt công vic có th có nhiu loi ngi dùng khác nhau thc hin và ngc li,
mt loi ngi dùng có th thc hin nhiu công vic khác nhau.
c. Thi gian, a im.
Cn xác nh chính xác a im, thi im tin hành công vic. Các thông tin này s)
có ý ngh2a nh$t nh trong mt s trng hp c thù.
d. Cách thc tin hành và các quy nh liên quan.
ây là phn chính yu khi tin hành mô t yêu cu. i vi loi thông tin này cn c
bit quan tâm n mt s yu t sau:
e. Các quy nh cn kim tra khi thc hin công vic ghi nhn thông tin
Câu 3 Trình bày s phân loi yêu cu?
10
Câu 4. Trình bày các bc xác nh yêu cu?
Quá trình thc hin xác nh yêu cu: gm 2 bc chính nh sau
Bc 1: Kho sát hin trng, kt qu nhn c là các báo cáo v hin trng.
Bc 2: Lp danh sách các yêu cu, kt qu nhn c là danh sách các yêu cu s)
c thc hin trên máy tính.
1/ Kho sát hin trng
Các chuyên viên tin hc s) tìm hiu hin trng v các công vic ca các nhà chuyên
môn.
a. Các hình thc thc hin ph bin:
Quan sát: theo dõi các hot ng ang di.n ra th gii thc có liên quan, có
th tin hành ghi âm, ghi hình i vi nh"ng tình hung mang tính ph#c tp, quan
trng, cn s chính xác cao.
Ví d :
- Ghi hình quá trình giao dch ca mt nhân viên ngân hàng vi khách hàng ti mt
ngân hàng X.
- Quan sát thao tác cho mn sách ca mt th th ti mt th vin Y
11
Ph/ng v$n trc tip: t% ch#c ph/ng v$n bt u t- c$p lãnh o dn xung
các v trí công vic. Có th s! d ng các bng câu h/i có s5n các câu tr li cho
i tng c ph/ng v$n la chn, …
Thu thp thông tin, tài liu: các công th#c tính toán, quy nh; các bng biu,
m1u gi$y t có ít nhiu liên quan.
Ví d :
- M1u hóa n và các quy nh lp hóa n bán hàng ti mt c!a hàng Y.
- Phiu mn sách ti th vin ca trng i hc Z.
b.Quy trình thc hin:
Tìm hiu t%ng quan v th gii thc: bao gm
- Quy mô hot ng.
- Các hot ng mà n v có tham gia.
Tìm hiu hin trng t% ch#c (c c$u t% ch#c)
Ngi tin hành kho sát hin trng cn hiu rõ c c$u t% ch#c các b phn ca th
gii thc, c bit là 2 yu t: trách nhim và quyn hn. S hiu rõ c c$u t% ch#c
giúp xác nh b phn nào s) s! d ng phn mm có th lên k hoch tip t c
kho sát chi tit hn b phn ó.
C c$u t% ch#c bao gm:
- i ni.
- i ngoi.
- Các ch#c danh (Ví d : nhân viên nhp liu, th th, nhân viên bán hàng,
…). S! d ng các hình v) li c c$u t% ch#c.
Tìm hiu hin trng nghip v
Thng di.n ra ti các v trí công vic. Vi b phn c chn kho sát chi tit,
ngi thc hin kho sát cn lp danh sách các công vic mà b phn này ph
trách, sau ó tìm hiu các thông tin chi tit cho t-ng công vic (thông tin mô t yêu
cu phn mm).
Vic tìm hiu da trên các ý sau:
12
- Thông tin u vào.
- Quá trình x! lý.
- Thông tin kt xu$t.
Sau ó tin hành xp loi các nghip v vào 4 loi sau nh*m tránh thiu xót khi tìm
hiu các thông tin:
- Nghip v lu tr".
- Nghip v tra c#u.
- Nghip v tính toán.
- Nghip v t%ng hp, thng kê
2/ Lp danh sách các yêu cu
có c danh sách y và chính xác các, quá trình lp danh sách các yêu cu
cu theo các bc sau:
Xác nh yêu cu ch#c n,ng nghip v
Xác nh yêu cu ch#c n,ng h thng
Xác nh yêu cu phi ch#c n,ng
a. Xác nh yêu cu chc nng nghip v.
Cách tin hành: Nhà chuyên môn xu$t và chuyên viên tin hc s) xem xét li
Bc tin hành :
1. Xác nh b phn (ngi dùng) s) s! d ng phn mm
2. Xác nh các công vic mà ngi dùng s) thc hin trên phn mm theo t-ng loi
công vic sau:
- Lu tr"
- Tra c#u
- Tính toán
- Kt xu$t
Ln lt lp bng yêu cu ch#c n,ng nghip v , bng quy nh/Công th#c và các biu
m1u – c mô t chi tit
Chng 3.
Câu 1. Trình bày m c tiêu và kt qu ca thit k d" liu?
a. Mc tiêu
M c tiêu chính ca thit k d" liu là mô t cách th#c t% ch#c lu tr" các d" liu ca
13
phn mm. Có hai dng lu tr" chính mà ngi thit k cn phi cân nhc và la chn.
- Lu tr" di dng tp tin
- Lu tr" di dng c s d" liu
Cách tip cn dùng c s d" liu r$t thông d ng và giáo trình này s) gii hn trình
bày chi tit các phng pháp k6 thut liên quan n vic t% ch#c lu tr" d" liu dùng c s
d" liu quan h. Giáo trình này s) không nhc li các khái nim c bn v c s d" liu
và gi s! r*ng ngi xem ã bit qua các khái nim này. Tuy nhiên chúng ta c+ng nên xem
li các bc
hình thành nên mô hình d" liu quan h trong quá trình thit k d" liu
b. Kt qu ca thit k
Cách th#c t% ch#c lu tr" d" liu ca phn mm c mô t thông qua 2 loi thông tin
sau:
Thông tin t%ng quát
Cung c$p góc nhìn t%ng quan v các thành phn lu tr"
Danh sách các bng d" liu: Vic lu tr" cn s! d ng bao nhiêu bng d" liu và ó là
các bng nào ?
Danh sách các liên kt: Các bng d" liu có quan h, có mi liên kt gi"a chúng ra
sao?
Thông tin chi tit:
Danh sách các thuc tính ca t-ng thành phn: Các thông tin cn lu tr" ca thành
phn ?
Danh sách các Min giá tr toàn v7n: Các qui nh v tính hp l ca các thông tin
c lu tr"
Có nhiu phng pháp, nhiu ngh khác nhau v vic mô t các thông tin trên. Giáo
trình này chn s logic biu di.n các thông tin t%ng quát và bng thuc tính. Min giá
tr mô t chi tit các thành phn trong s logic.
S logic là s cho phép th hin h thng các bng d" liu cùng vi quan h mi
ni liên kt gi"a chúng. Các ký hiu c dùng trong s r$t n gin nh sau:
Bng: hình ch nht
Liên kt: (xác nh duy nh$t mt): M+i tên
14
A B
M+i tên hình trên có ng" ngh2a: 1 phn t! A s) xác nh duy nh$t 1 phn t! B, ngc li 1
phn t! B có th tng #ng vi nhiu phn t! A.
Câu 2. Trình bày vai trò, nh"ng v$n c bn và kt qu ca thit k giao din?
Thit k giao din là công on không kém phn quan trng trong quá trình làm
phn mm, ây c+ng có th xem là công on phác tho hình hay prototype cho phn
mm và sau ó nhn phn hi yêu cu ca khách hàng i vi chng trình và ngi
thit k có th iu ch'nh theo yêu cu ra. Tùy theo m c ích yêu cu, theo ph#c tp
ca chng trình, ngi thit k giao din có th làm theo các nh"ng thit k sau và kt
qa thit k tng #ng. Thit k giao din phi nm bt các iu chính yu sau:
1. H s cá nhân ngi dùng: Bit h là ai, m c ích ca ngi dùng là gì, K6 n,ng và
kinh nghim ca ngi dùng, nhu cu ca h
2. Mn nh"ng #ng x! t- nh"ng h thng quen thuc i vi ngi dùng.
3. Cho ngi dùng th$y rõ các ch#c n,ng mt cách s5n sàng
4. #ng x! ca chng trình t- trong ra ngoài phi kt dính, gn kt
5. Thay %i trong #ng x! nên tng phn vi din mo ca chng trình
6. Shortcut: Cung c$p c cách th#c c th và tóm tt tác v c làm
7. Tính tp trung: Mt s giao din GUI c tp trung chú ý nhiu hn
8. Ng" pháp: thông qua giao din bit s lut thao tác
9. Tr giúp, an toàn, giao din 7p,…
Câu 3. Trình bày c bn 3 k6 thut thit k phn mm?
• Thit k c t i n k6 thut ct lõi ca tin trình công ngh phn mm.
• Thit k c t xem xét nh"ng mô hình ca tin trình phn mm c s! d ng.
• Thit k phn mm là bc u tiên trong ba hot ng k6 thut: thit k, phát
sinh mã ngun, và th! nghim, ó là nh"ng yêu cu trong xây dng và phát
trin phn mm.
Mt trong nh"ng im m$u cht chính i vi ph#c tp ca h thng phn mm là
s tr-u tng. Có hai phng pháp chính: thit k Top-down và thit k bottom-up
1/ Thit k trên xung (Top-down)
-Thit k bt u vi vic phân tích nh"ng nh ngh2a yêu cu và không nên xem xét
vic thc hin chi tit u tiên.
- Mt d án c trin khai thành nh"ng d án nh/, th t c này phi c lp li
15
cho n khi nh"ng nhim v con tr nên n gin sao cho mt thut toán c tính toán
và gii quyt.
2/ Thit k t di lên (Bottom–up)
Ý tng nn tng: Hiu c phn c#ng và tng trên ca nó nh mt c ch tr-u tng.
K6 thut: Thit k t- di lên bt u c cho bi máy c th và liên tip phát trin
mt máy tr-u tng sau khi nh"ng máy khác c thêm vào nh"ng thuc tính cn thit cho
n khi mt máy ã t c kt qu mà cung c$p nh"ng ch#c n,ng ngi dùng yêu cu.
3/ Thit k bn mu (prototype)
Thit k bn m1u ngh2a là a ra các màn hình giao din s b, hay các bn thit
k phác tho nháp cho ngi dùng tham kho trc khi i vào thit k chi tit, hay ch#c
n,ng c th. Các bn thit k này c son tho di dng su liu hoc mt s phn
mm có kh n,ng thit k nhanh giao din, các k6 s thit k có th s! dùng mt s
phn mm chuyên d ng son tho nhanh nh MS Visual Basic, Visual C++, MS
Visual Studio … vi trang web thì có th dùng Front Page, MS Visual Interdev ch' vi
nh"ng on chng trình n gin c cài t. ây c+ng có th coi là bc m c bn
trc khi i vào cài t chi tit cho t-ng chng trình con hay môun con v.v.
Chng 4
Câu 1. Trình bày vai trò ca môi trng lp trình? Các yêu cu c bn ca ngôn ng" lp
trình?
Câu h/i cho vic chn la “úng” ngôn ng" lp trình luôn là ch c a ra
trong qui trình lp trình.Vic chn la ngôn ng" lp trình trong công on thc thi ca
mt d án luôn óng vai trò quan trng.
Trong trng hp lý tng, thit k nên m trách mà không có b$t c# kin th#c
liên quan n ngôn ng" thc hin sau ó sao cho thit k có th thc hin c trên b$t
k8 ngôn ng" lp trình nào.
1/ Cht lng òi hi cho mt ngôn ng lp trình:
• Tính mô un hóa
• Giá tr ca tài liu
• C$u trúc d" liu
• Control flow (lung iu khin)
• Tính hiu qu
• Kh n,ng tích hp (Integrity)
16
• Tính kh chuyn (Portability)
• H& tr hp thoi
• Yu t ngôn ng" chuyên bit
2/ Kh nng Mô un hóa ca ngôn ng lp trình
Kh n,ng mô un hóa là m#c h& tr nh"ng kh n,ng mô un hóa chng trình.
Phác tho mt chng trình ln thành nhiu mô un là iu kin tiên quyt thc thi
trong d án phn mm.
Không có kh n,ng mô un hóa thì phân chia công vic trong giai on thc hin
tr nên không th c. Nh"ng chng trình n nh$t tr nên không th qun lý: chúng
khó có th bo trì và su liu và chúng thc hin vi thi gian biên dch dài.
Ngôn ng" nh Pascal chu(n (không h& tr mô un, nhng so sánh vi Turbo Pascal và
Moun 2) ch#ng minh tính không thích hp cho nh"ng d án ln.
Nu mt ngôn ng" h& tr phát tho mt chng trình thành nh"ng phn nh/,
chúng phi m bo nh"ng thành phn phi hot ng vi nhau. Nu mt th t c c thc
thi mô un khác, c+ng c kim tra th t c có thc s tn ti và nó có c s! d ng
chính xác hay không (ngh2a là s tham s và kiu d" liu là chính xác).
Nh"ng ngôn ng" vi vic biên dch c lp (ví d nh C) ni vic kim tra ca ngôn
ng" ch' thay th quá trình run-time.
Ngôn ng" vi vic biên dch tách bit (ví d Ada và Modula-2) m&i mô un có mt mô
t giao din cung c$p nh"ng phng th#c c bn cho vic kim tra nh"ng thành phn ca mô
un dùng ti thi im chy chng trình (run time).
Câu 2. Trình bày khái nim và c im ca kim th! phn mm?
Sn ph(m phn mm c gi là úng nu nó thc hin c chính xác nh"ng
tiêu chu(n mà ngi thit k ã t ra. có mt ánh giá chính xác v c$p úng
ca phn mm, ta phi kim tra ch$t lng phn mm. Nh th, kim tra là quá trình
tìm l&i và nó là mt ánh giá cui cùng v các c t, thit k và mã hoá. M c ích ca
kim tra là m bo r*ng t$t c các thành phn ca #ng d ng ,n khp, vn hành nh
mong i và phù hp các tiêu chu(n thit k.
c im ca kim tra phn mm
Xác minh và th(m nh mt h phn mm là mt quá trình liên t c xuyên sut
mi giai on ca quá trình phn mm. Xác minh và th(m nh là t- chung cho các
quá trình kim tra m bo r*ng phn mm th/a mãn các yêu cu ca chúng và các
yêu cu ó th/a mãn các nhu cu ca ngi sm phn mm.
Xác minh và th(m nh là mt quá trình kéo dài sut vòng i. Nó bt u khi
duyt xét yêu cu. Xác minh và th(m nh có hai m c tiêu:
i) Phát hin các khuyt tt trong h thng.
17
ii) ánh giá xem h thng liu có dùng c hay không?
S khác nhau gi"a xác minh và th(m nh là:
i) Th(m nh: Xem xét cái c xây dng có là sn phm úng không? T#c là
kim tra xem chng trình có c nh mong i ca ngi dùng hay không.
ii) Xác minh: Xem xét cái c xây dng có úng là sn phm không? Nh
th, xác minh là kim tra chng trình có phù hp vi c t hay không.
Nh trên, kim tra là mt quá trình ca tìm kim l&i. Mt kim tra tt có kh
n,ng cao tìm kim các l&i cha c phát hin. Mt kim tra thành công là kim tra
tìm ra các l&i mi, mt kim tra ti là kim tra mà không tìm c l&i.
Có hai kiu l&i trong #ng d ng và các kim tra tt s) xác nh c hai loi ó. C
th:
• Không làm nh"ng iu cn phi làm: l&i b/ sót thng xu$t hin i vi
#ng d ng mi c phát trin.
• Làm nh"ng iu không cn làm: l&i ca lnh ã c trú trc trong các #ng
d ng bo trì.
Các kim tra có mt ti các m#c khác nhau và c tin hành bi các cá nhân
khác nhau trong quá trình phát trin #ng d ng. Các kim tra c tin hành bi i
ng+ d án và kim tra c tin hành bi các c quan bên ngoài ch$p nhn #ng
d ng.
Các kim tra ca i d án c gi là kim tra phát trin (Development test).
Kim tra phát trin bao gm kim tra n v, kim tra h thng con, kim tra tích hp
và các kim tra h thng.
• Kim tra n v (Unit test) c tin hành cho m&i n v mã nh/ nh$t.
• Kim tra tích hp (Subsystem integration test) kim tra mt logic và x! lý
cho phù hp ca các khi, kim tra vic truyn tin gi"a chúng.
• Kim tra h thng (System test) ánh giá các c t ch#c n,ng có c áp
#ng, các thao tác giao din ngi có ging thit k không, và các công vic
ca #ng d ng trong môi trng thao tác mong mun, i vi các ràng buc.
Các kim tra bi các c quan bên ngoài c gi là m bo ch$t lng
(Quality assurance-QA) và kim tra ch$p nhn (Acceptance test). Ngi ngoài có th
là ngi s! d ng hoc i din ngi dùng, nó to mt m c ích, ánh giá khách quan
v #ng d ng và c quan bên ngoài c coi là có m c ích hn các thành viên nhóm.
Kim tra m bo ch$t lng tng t các kim tra h thng v mt m c ích
và tin hành, nhng nó khác là h n*m ngoài s iu khin ca d án trng. Các báo
cáo kim tra m bo ch$t lng c g!i thng xuyên ti nhóm phát trin và qun
lý d án. Các kim tra viên m bo ch$t lng lp k hoch cho chin lc ca mình
và tin hành kim tra m bo các #ng d ng thc hin t$t c các ch#c n,ng cn
thit. Kim tra m bo ch$t lng là kim tra cui cùng c làm trc khi #ng d ng
c a sn xu$t i trà.
18
Quan h gi"a các m#c kim tra và các giai on trong vòng i ca chng
trình c trình bày nh sau:
Câu 3. Trình bày khái nim và các hình thái bo trì phn mm?
1.1 Khái nim
Theo IEEE (1993), thì bo trì phn mm c nh ngh2a là vic s!a %i mt
phn mm sau khi ã bàn giao ch'nh li các l&i phát sinh, ci thin hiu n,ng ca
phn mm hoc các thuc tính khác, hoc làm cho phn mm thích #ng trong mt môi
trng ã b thay %i.
N,m 1995, tiêu chu(n ISO/IEC 12207 nh ngh2a: Bo trì phn mm là s thay
%i mã ngun và các tài liu liên quan vì mt v$n hoc vì s cn thit phi phát
trin. M c ích là bin %i phn mm hin có trong khi v1n gi" nguyên tính toàn v7n
ca nó.
1.2 Các hình thái bo trì
IEEE (1993) chia bo trì phn mm thành 4 loi:
1/ Bo trì Tu chnh:
Là bo trì khc ph c nh"ng khim khuyt có trong phn mm. Mt s nguyên nhân
in hình:
- K6 s phn mm và khách hiu nhm nhau.
Các giai on phát trin ng dng
Phm vi và m c tiêu
Yêu cu ch#c n,ng/Thit k logic
Thit k vt lý
c t mô h
ình c
$u trúc ch
n
g trình
Mã hoá module/ch
ng tr
ình
Kim tra n v
Kim tra tích hp
Ki
m tra h thng
QA/Kim tra ch$p thun
Các kiu kim tra
19
- L&i tim (n ca phn mm do s ý ca lp trình hoc khi kim th! cha bao quát
ht.
- V$n tính n,ng ca phn mm: không áp #ng c yêu cu v b nh, tp, . . .
Thit k sai, biên tp sai . . .
- Thiu chu(n hóa trong phát trin phn mm trc ó.
Qui trình: s! d ng k6 ngh ngc nh*m dò li thit k tu s!a
2/ Bo trì Thích hp:
Là tu ch'nh phn mm theo thay %i ca môi trng bên ngoài nh*m duy trì và
qun lý phn mm theo vòng i ca nó. Thay %i phn mm thích nghi vi môi
trng: công ngh phn c#ng, môi trng phn mm. Nh"ng nguyên nhân chính:
- Thay %i v phn c#ng (ngoi vi, máy ch,. . .)
- Thay %i v phn mm (môi trng): thí d nh H iu hành
- Thay %i c$u trúc tp hoc m rng c s d" liu .
3/ Bo trì Ci tin:
Là vic tu ch'nh h phn mm theo các yêu cu ngày càng hoàn thin hn, y
hn, hp lý hn. Nh"ng nguyên nhân chính:
- Do mun nâng cao hiu su$t nên thng hay ci tin phng th#c truy cp tp.
- M rng thêm ch#c n,ng mi cho h thng.
- Ci tin qun lý kéo theo ci tin t liu vn hành và trình t công vic.
- Thay %i ngi dùng hoc thay %i thao tác.
Qui trình: s! d ng k6 thut tái k6 ngh (re-engineering) vi m c ích: a ra mt
thit k cùng ch#c n,ng nhng có ch$t lng cao hn. Thng tin hành vi hai
mng: tái c$u trúc phn mm, tái xây dng c$u trúc d" liu cho phù hp
4/ Bo trì Phòng nga:
Là công vic tu ch'nh chng trình có tính n tng lai ca phn mm ó s) m rng
và thay %i nh th nào. Thc ra trong khi thit k phn mm ã phi tính n tính m
rng ca nó, nên thc t ít khi ta gp bo trì phòng ng-a nu nh phn mm c thit
k tt.
Câu 4. Trình bày quy trình và trình t nghip v bo trì phn mm?
1. Qui trình:
- Hiu hot ng bên trong chng trình
20
- Thc hin nh"ng thay %i trên thit k không tng minh.
- Thit k / lp trình li.
- S! d ng công c CASE
2. Trình t nghip v bo trì
Bo trì là mt quá trình trong vòng i ca phn mm, c+ng tuân theo các pha
phân tích, thit k, phát trin và kim th! t- khi phát sinh v$n cho n khi gii
quyt xong.
Theo tiêu chu(n quc t v bo trì phn mm ISO/IEC14764, bo trì phn mm
gm có hai nhóm chính là bo trì Ch'nh s!a (Correction) và bo trì nâng cao
(Enhancement). Bo trì Ch'nh s!a bao gm bo trì Tu ch'nh và bo trì Phòng ng-a.
Bo trì Nâng cao gm bo trì Ci tin và bo trì Thích hp. Do vy, ta có th chia làm
2 nhóm:
- Loi 1: Tu ch'nh ci ã có
- Loi 2: Thêm cái mi
S qui trình bo trì
1/ Hiu phn mm ã có
- Theo tài liu nm chc các ch#c n,ng
- Theo tài liu chi tit hãy nm v"ng c t chi tit, iu kin kim th!, . . .
- Dò c chng trình ngun, hiu trình t x! lý chi tit ca h thng
Ba vic trên u là công vic thc thi trên bàn.
2/ Tu sa phn mm ã có
- Bo trì chng trình ngun, to các môun mi và dch li.
- Thc hin kim th! unit và tu ch'nh nh"ng m c liên quan có trong t liu c
t.
- Chú ý theo sát tác ng ca môun c s!a n các thành phn khác trong
h thng.
3/ Phát trin phn mm mi
- Khi thêm ch#c n,ng mi phi phát trin chng trình cho phù hp vi yêu
cu
- Cn tin hành t- thit k, lp trình, g9 l&i và kim th! unit
21
- Phn nh vào giao din ca phn mm (thông báo, phiên bn, . . .)
4/ Kim chng tính nht quán
- a n v (unit) ã dc kim th! vào hot ng trong h thng
- iu ch'nh s tng tích gi"a các môun
- Dùng các d" liu trc ây khi kim th! kim th! li tính nh$t quán
- Chú ý hiu #ng làn sóng trong ch'nh s!a
5/ Kim tra khi hoàn thành bo trì
Kim tra ni dung mô t có trong t liu c t xem cách ghi t liu có phù hp
vi mô t môi trng phn mm mi hay không ?, nh"ng im cn lu ý hay
thay %i ã c mô t cha,
6/ Lp biu qun lý bo trì
Thit lp bp biu qun lý tình trng bo trì bao gm các thông tin:
- Ngày tháng, gi
- Nguyên nhân
- Tóm tt cách khc ph c
- Chi tit khc ph c, hiu #ng làn sóng
- Ngi làm bo trì
- S công