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

đáp án đề cương môn công nghệ phần mềm

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 (273.97 KB, 21 trang )


1

ÁP ÁN  CNG MÔN CÔNG NGH PHN MM
Chng 1.
Câu1. Trình bày tóm tt các bc c bn trong quy trình xây dng phn mm
B1. Xác nh

ây là bc hình thành bài toán hoc  tài.  bc này thit k trng hoc phân
tích viên h thng phi bit c vai trò ca phn mm cn phát trin trong h thng,
ng thi phi c lng công vic, lp lch biu và phân công công vic.

Bên cnh ó chúng ta phi bit ngi t hàng mun gì. Các yêu cu cn phi c
thu thp y  và c phân tích theo chiu ngang (rng) và chiu dc (sâu). Công c s!
d ng ch yu  giai on này là các lc , s  phn ánh rõ các thành phn ca h
thng và mi liên quan gi"a chúng vi nhau.

B2. Phát trin

Da vào các ni dung ã xác nh c, nhóm phát trin phn mm dùng ngôn ng" c

t hình th#c (da trên các kin trúc toán hc) hoc phi hình th#c (ta ngôn ng" t nhiên) hoc
kt hp c hai  mô t nh"ng yu t sau ây ca chng trình:


Giá tr nhp, giá tr xu$t.


Các phép bin %i



Các yêu cu cn t c  m&i im ca chng trình.

Phn c t ch' quan tâm ch yu n giá tr vào, ra ch# không quan tâm n c$u trúc

và ni dung các thao tác cn thc hin.
Sau bc thit k là bc trin khai các c t chng trình thành mt sn ph(m
phn mm da trên mt ngôn ng" lp trình c th. Trong giai on này các lp trình viên
s) tin hành cài t các thao tác cn thit  thc hin úng các yêu cu ã c c t.

Công vic cui cùng ca giai on phát trin là chúng ta cn phi ch#ng minh
tính úng n ca chng trình sau khi ã tin hành cài t. Tuy nhiên thông thng 
bc này chúng ta coi các chng trình nh nh"ng hp en. V$n  t ra là xây dng mt
cách có ch ích các tp d" liu nhp khác nhau  giao cho chng trình thc hin ri
da vào kt qu thu c  ánh giá chng trình. Công vic nh trên c gi là kim
th! chng trình.

Công vic kim th! nh*m vào các m c tiêu sau:


Kim tra  phát hin l&i ca chng trình. Lu ý r*ng kim th! không m
bo tuyt i tính úng n ca chng trình do bn ch$t quy np không

2

hoàn toàn ca cách làm.

Kim tra tính %n nh, hiu qu c+ng nh kh n,ng ti a ca chng trình.

Tùy theo m c ích mà ngi ta thit k các tp d" liu th! sao cho có th ph ht các
trng hp cn quan tâm.


B3. Bo trì (Vn hành)

Công vic qun lý vic trin khai và s! d ng phn mm c+ng là mt v$n  cn
c quan tâm trong qui trình phát trin phn mm. Trong quá trình xây dng phn mm,
toàn b các kt qu phn tích, thit k, cài t và h s liên quan cn phi c lu tr" và
qun lý c(n thn nh*m m bo cho công vic c tin hành mt cách hiu qu nh$t
và ph c v cho công vic bo trì phn mm v sau.

Nh vy công vic qun lý không ch' d-ng li trong quá trình xây dng phn mm mà
trái li còn phi c tin hành liên t c trong sut quá trình sng ca nó.

Câu2. Trình bày Quy trình 4 giai on trong mô hình thác nc? u và nhc im?
Mô hình thác nc là mt trong nh"ng mô hình u tiên và ph% bin c áp
d ng trong quá trình phát trin phn mm. Mô hình này chia quá trình phát trin phn
mm thành nh"ng giai on tun t ni tip nhau. M&i giai on s) có mt m c ích nh$t
nh. Kt qu cu giai on trc s) là thông tin u vào cho giai on tip theo sau. Tùy
theo qui mô ca phn mm cn phát trin mà mô hình thác nc s) có nh"ng bin th khác
nhau nh sau:
Qui trình 4 giai on: Là qui trình ci tin ca qui trình phía trc b*ng cách b% sung thêm
mt giai on mi gi"a xác nh yêu cu và thit k (có s!a %i)

o Xác nh yêu cu: c tin hành ngay khi có nhu cu v vic xây dng phn
mm.

- M c tiêu: Xác nh chính xác các yêu cu t ra cho phn mm s) xây dng.

- Kt qu nhn: Thông tin v hot ng ca th gii thc.

- Kt qu chuyn giao: Danh sách các yêu cu (công vic s) thc hin trên máy

tính) cùng vi các thông tin miêu t chi tit v các yêu cu (cách th#c thc
hin trong th gii thc)

o Phân tích: c tin hành ngay sau khi kt thúc vic xác nh yêu cu.

- M c tiêu: Mô t li th gii thc thông qua các mô hình (mô hình th gii
thc) trc khi thit k.

3

- Kt qu nhn: Danh sách các yêu cu cùng các thông tin có liên quan.

- Kt qu chuyn giao:


Mô hình x! lý (h thng các công vic trong th gii thc cùng vi
quan h gi"a chúng)

Mô hình d" liu (h thng các loi thông tin c s! d ng trong th

gii thc cùng vi quan h gi"a chúng)


Các mô hình khác (không gian, thi gian, con ngi…) nu cn thit.

o Thit k: c tin hành ngay sau khi kt thúc vic phân tích.

- M c tiêu: Mô t các thành phn ca phn mm (mô hình ca phn mm) trc khi
tin hành cài t.
- Kt qu nhn: Mô hình th gii thc.


- Kt qu chuyn giao:


Mô t thành phn giao din: các hàm nhp/xu$t, c$u trúc d" liu
nhp/xu$t.

Mô t thành phn x! lý: các hàm kim tra x! lý.


Mô t thành phn d" liu: các hàm c/ghi, t% ch#c lu tr" trên b nh

ph .

o Lp trình (cài t): c tin hành ngay sau khi kt thúc vic thit k.

- M c tiêu: To lp phn mm theo yêu cu

- Kt qu nhn: Mô hình phn mm

- Kt qu chuyn giao: Chng trình ngun ca phn mm vi c$u trúc c s
d" liu tng #ng (nu cn thit) và chng trình thc hin c trên máy
tính (chng trình ngun ã c biên dch)
+) u im:
- D. qun lí
- c lng thi gian và chi phí r$t chính xác
+) Nhc im:
- Ri ro cao
- òi h/i khách hàng a ra yêu cu chính xác ngay t- u
+) 0ng D ng:

- Khách hàng a ra yêu cu ngay t- u
- Nhà phát trin hiu h thng

Câu 3. Trình bày mô hình bn m1u phn mm? So sánh vi các mô hình thác nc?
Tng t nh mô hình thác nc vi vic b% sung vào các giai on thc hin
phn mm m1u ngay khi xác nh yêu cu nh*m m c tiêu phát hin nhanh các sai sót v

4

yêu cu. Các giai on trong mô hình bn m1u phn mm có th tin hành lp i lp li
ch# không nh$t thit phi theo trình t nh$t nh.

Ngay sau khi giai on xác nh yêu cu, nhà phát trin phn mm a ra ngay mt
bn thit k s b và tin hành cài t bn m1u u tiên và chuyn cho ngi s! d ng.
Bn m1u này ch' nh*m  miêu t cách th#c phn mm hot ng c+ng nh cách ngi s!
d ng tng
tác vi h thng.

Ngi s! d ng sau khi xem xét s) phn hi thông tin cn thit li cho nhà phát trin.
Nu ngi s! d ng ng ý vi bn m1u ã a thì ngi phát trin s) tin hành cài t thc
s. Ngc li c hai phi quay li giai on xác nh yêu cu. Công vic này c lp li liên
t c cho n khi ngi s! d ng ng ý vi các bn m1u do nhà phát trin a ra.

Nh vy ây là mt hng tip cn tt khi các yêu cu cha rõ ràng và khó ánh
giá c tính hiu qu ca các thut toán. Tuy nhiên, mô hình này c+ng có nhc im
là tính c$u trúc không cao do ó khách hàng d. m$t tin tng.


Mô Hình M1u Mô Hình thác nc
- Khách hàng có th bit c h thng

ngay t- ban u nh bn m1u
- Mô hình này không c khách hàng tin
tng nhiu.
- Ngi sn xu$t không chc v hiu qu
giao din
- Không lãng phí các bn m1u
- Mô hình này c khách hàng tin tng
nhiu
- Khách hàng không th bit c h thng
t- ban u

Câu 4. Trình bày mô hình xon c? u và nhc im?
Mô hình này chính là s kt hp ca mô hình bn m1u thit k và mô hình thác
nc c lp li nhiu ln.  ln lp tip theo h thng s) c tìm hiu và xây dng
hoàn thin hn  ln lp trc ó.


5

 m&i ln lp các yêu cu ca ngi s! d ng s) c hiu ngày càng rõ ràng hn
và các bn m1u phn mm c+ng ngày mt hoàn thin hn. Ngoài ra  cui m&i ln lp
s) có thêm công on phân tích m#c  ri ro  quyt nh xem có nên i tip theo hng
này n"a hay không.


Mô hình này phù hpvi các h thng phn mm ln do có kh n,ng kim soát ri ro 

t-ng bc tin hóa. Tuy nhiên v1n cha c s! d ng rng rãi nh mô hình thác nc hoc
bn m1u do òi h/i n,ng lc qun lý, n,ng lc phân tích ri ro cao.
+) u im:

- Loi b/ c khong cách gi"a nhà sn xu$t và khách hàng
- Khc ph c c nhc im ca mô hình khác
- S! d ng mô hình m1u + phân tích ri ro
- S! d ng mô hình thác nc + mô hình lp
+) Khuyt im:
- Mô hình mi
- òi h/i khách hàng có k2 n,ng ánh giá tt và vic phân tích ri ro c+ng
phi tt
Câu 5. Trình bày các tiêu chí c bn ca ch$t lng phn mm?
* Tính úng n
Tính úng n ca phn mm c th hin  ch% sn ph(m ó thc hin y  và
chính xác các yêu cu ca ngi dùng. Tính úng n  ây cn phi hiu theo ngh2a rng là
chng trình cn phi thc hin c trong c nh"ng trng hp mà d" liu u vào là
không hp l.
Ví d , nu mt trong s các ch#c n,ng ca phn mm là sp xp mt tp tin có s

lng m1u tin tùy ý theo mt ct tùy ý theo chiu t,ng hoc gim thì nh"ng trng hp sau

là vi phm tính úng n ca chng trình:


Không th thc hin c (treo máy) khi tp tin r&ng (không có m1u tin nào).


6


Không th thc hin hoc thc hin nhng cho kt qu sai khi các m1u tin có hn

100 ct hoc có quá nhiu m1u tin.



Không th thc hin hoc cho kt qu sai khi các ct có chiu dài ln hn 125

bytes.


Không th sp xp theo chiu t,ng dn….

Tính úng n ca mt sn ph(m phn mm c xác minh qua các c,n c# sau ây:


Tính úng n ca thut toán.


Tính tng ng ca chng trình vi thut toán. Thut toán có th úng
nhng chng trình lp ra không tng ng vi thut toán nên khi thc hin
s) cho kt qu sai.

Tính úng n ca chng trình có th c ch#ng minh trc tip trong v,n bn
ca chng trình.

Tính úng n c+ng có th c kh3ng nh dn qua vic kim th!, vic áp d ng

chng trình trong mt khong thi gian dài trên din rng và vi tn su$t s!

d ng cao.
* Tính tin hóa

Cho phép ngi dùng có th khai báo các thay %i v qui nh vi phn mm tùy

theo các thay %i trong th gii thc liên quan (thay qui nh v s sách mn ti a,
công th#c tính tin pht, công th#c tính tin in…)

Sn ph(m có th m rng, t,ng cng v mt ch#c n,ng mt cách d. dàng.

* Tính hiu qu

Tính hiu qu ca mt sn ph(m phn mm c xác nh qua các tiêu chu(n sau:


Hiu qu kinh t hoc ý ngh2a, giá tr thu c do áp d ng sn ph(m ó.


Tc  x! lý ca phn mm (v) tính b*ng t' l gi"a khi lng i tng cn phi
x! lý (m) và t%ng thi gian (t) cn thit  x! lý các i tng ó.

S! d ng ti u tài nguyên ca máy tính (CPU, b nh…)

* Tính tin dng

Sn ph(m phi tính n nh"ng yu t tâm lý sau ây ca ngi dùng:


D. hc, có giao din trc quan t nhiên.


D. thao tác,…

* Tính tng thích



7

Trao %i d" liu vi các phn mm khác có liên quan (nhn danh m c sách t- tp tin

Excel, g!i báo cáo t%ng kt n,m hc n phn mm WinFax, …)


Giao tip ni b


Giao tip bên ngoài

* Tính tái s dng

Sn ph(m phn mm có th áp d ng cho nhiu l2nh vc theo nhiu ch  làm vic
khác nhau.


Các phn mm cùng lp


Các phn mm khác lp

Chng 2.
Câu 1. Trình bày s lc các bc c bn trong quá trình phân tích yêu cu?
B1. Xác nh

ây là bc hình thành bài toán hoc  tài.  bc này thit k trng hoc phân
tích viên h thng phi bit c vai trò ca phn mm cn phát trin trong h thng,

ng thi phi c lng công vic, lp lch biu và phân công công vic.

Bên cnh ó chúng ta phi bit ngi t hàng mun gì. Các yêu cu cn phi c
thu thp y  và c phân tích theo chiu ngang (rng) và chiu dc (sâu). Công c s!
d ng ch yu  giai on này là các lc , s  phn ánh rõ các thành phn ca h
thng và mi liên quan gi"a chúng vi nhau.

B2. Phát trin

Da vào các ni dung ã xác nh c, nhóm phát trin phn mm dùng ngôn ng" c

t hình th#c (da trên các kin trúc toán hc) hoc phi hình th#c (ta ngôn ng" t nhiên) hoc
kt hp c hai  mô t nh"ng yu t sau ây ca chng trình:


Giá tr nhp, giá tr xu$t.


Các phép bin %i


Các yêu cu cn t c  m&i im ca chng trình.

Phn c t ch' quan tâm ch yu n giá tr vào, ra ch# không quan tâm n c$u trúc

và ni dung các thao tác cn thc hin.
Sau bc thit k là bc trin khai các c t chng trình thành mt sn ph(m
phn mm da trên mt ngôn ng" lp trình c th. Trong giai on này các lp trình viên
s) tin hành cài t các thao tác cn thit  thc hin úng các yêu cu ã c c t.


8


Công vic cui cùng ca giai on phát trin là chúng ta cn phi ch#ng minh
tính úng n ca chng trình sau khi ã tin hành cài t. Tuy nhiên thông thng 
bc này chúng ta coi các chng trình nh nh"ng hp en. V$n  t ra là xây dng mt
cách có ch ích các tp d" liu nhp khác nhau  giao cho chng trình thc hin ri
da vào kt qu thu c  ánh giá chng trình. Công vic nh trên c gi là kim
th! chng trình.

Công vic kim th! nh*m vào các m c tiêu sau:


Kim tra  phát hin l&i ca chng trình. Lu ý r*ng kim th! không m
bo tuyt i tính úng n ca chng trình do bn ch$t quy np không
hoàn toàn ca cách làm.

Kim tra tính %n nh, hiu qu c+ng nh kh n,ng ti a ca chng trình.

Tùy theo m c ích mà ngi ta thit k các tp d" liu th! sao cho có th ph ht các
trng hp cn quan tâm.

B3. Bo trì (Vn hành)

Công vic qun lý vic trin khai và s! d ng phn mm c+ng là mt v$n  cn
c quan tâm trong qui trình phát trin phn mm. Trong quá trình xây dng phn mm,
toàn b các kt qu phn tích, thit k, cài t và h s liên quan cn phi c lu tr" và
qun lý c(n thn nh*m m bo cho công vic c tin hành mt cách hiu qu nh$t
và ph c v cho công vic bo trì phn mm v sau.


Nh vy công vic qun lý không ch' d-ng li trong quá trình xây dng phn mm mà
trái li còn phi c tin hành liên t c trong sut quá trình sng ca nó.

Câu 2. Trình bày khái nim v yêu cu và mô t yêu cu? Các thông tin c xem xét
trong vic mô t yêu cu?
Kn yc
- Yêu cu (hay yêu cu phn mm) là công vic mun thc hin trên máy tính. Nh"ng
công vic này phi xu$t phát t- thc t ch# không thun túy tin hc

- Mô t yêu cu là mô t y  các thông tin liên quan n công vic tng #ng. Các

mô t này dùng làm c s  nghim thu và ánh giá phn mm khi c chuyn
giao.
Các thông tin c xem xét trong vic mô t yc.

Tên công vic #ng vi t-ng yêu cu


Ngi hoc b phn s) thc hin công vic


9


a im thc hin công vic


Thi gian thc hin công vic



Cách th#c tin hành công vic cùng vi các quy nh liên quan

Sau ây, t-ng loi thông tin s) ln lt c xem xét chi tit:

a. Tên công vic.

Cn xác nh c th, tránh dùng các tên chung chung, m h

Ví d : xét mt s tên công vic sau:

Qun lý c gi: chung chung, m h; c th nh vic ,ng ký mn sách, gia hn th4
c gi, tr sách

Qun lý sách: chung chung, m h; c th nh nhp sách vào kho, tra c#u sách, cho
mn sách, nhn tr sách, thanh lý sách.

b. Ngi thc hin.

Cn xác nh chính xác ngi hoc b phn s) thc hin công vic trên máy tính (còn
gi là ngi dùng phn mm hay ngi dùng).

Nh"ng ngi dùng có vai trò và công vic thc hin tng t nh nhau s) c
xp vào cùng mt loi ngi dùng (thông thng mt loi ngi dùng s) tng #ng vi
mt b phn trong th gii thc).

Cùng mt công vic có th có nhiu loi ngi dùng khác nhau thc hin và ngc li,
mt loi ngi dùng có th thc hin nhiu công vic khác nhau.

c. Thi gian, a im.


Cn xác nh chính xác a im, thi im tin hành công vic. Các thông tin này s)

có ý ngh2a nh$t nh trong mt s trng hp c thù.

d. Cách thc tin hành và các quy nh liên quan.

ây là phn chính yu khi tin hành mô t yêu cu. i vi loi thông tin này cn c
bit quan tâm n mt s yu t sau:
e. Các quy nh cn kim tra khi thc hin công vic ghi nhn thông tin

Câu 3 Trình bày s phân loi yêu cu?

10

Câu 4. Trình bày các bc xác nh yêu cu?
Quá trình thc hin xác nh yêu cu: gm 2 bc chính nh sau

Bc 1: Kho sát hin trng, kt qu nhn c là các báo cáo v hin trng.

Bc 2: Lp danh sách các yêu cu, kt qu nhn c là danh sách các yêu cu s)
c thc hin trên máy tính.

1/ Kho sát hin trng

Các chuyên viên tin hc s) tìm hiu hin trng v các công vic ca các nhà chuyên
môn.

a. Các hình thc thc hin ph bin:



Quan sát: theo dõi các hot ng ang di.n ra  th gii thc có liên quan, có
th tin hành ghi âm, ghi hình i vi nh"ng tình hung mang tính ph#c tp, quan
trng, cn s chính xác cao.

Ví d :

- Ghi hình quá trình giao dch ca mt nhân viên ngân hàng vi khách hàng ti mt
ngân hàng X.
- Quan sát thao tác cho mn sách ca mt th th ti mt th vin Y

11


Ph/ng v$n trc tip: t% ch#c ph/ng v$n bt u t- c$p lãnh o dn xung
các v trí công vic. Có th s! d ng các bng câu h/i có s5n các câu tr li cho
i tng c ph/ng v$n la chn, …


Thu thp thông tin, tài liu: các công th#c tính toán, quy nh; các bng biu,
m1u gi$y t có ít nhiu liên quan.

Ví d :


- M1u hóa n và các quy nh lp hóa n bán hàng ti mt c!a hàng Y.


- Phiu mn sách ti th vin ca trng i hc Z.

b.Quy trình thc hin:



Tìm hiu t%ng quan v th gii thc: bao gm

- Quy mô hot ng.

- Các hot ng mà n v có tham gia.


Tìm hiu hin trng t% ch#c (c c$u t% ch#c)

Ngi tin hành kho sát hin trng cn hiu rõ c c$u t% ch#c các b phn ca th
gii thc, c bit là 2 yu t: trách nhim và quyn hn. S hiu rõ c c$u t% ch#c
giúp xác nh b phn nào s) s! d ng phn mm  có th lên k hoch tip t c
kho sát chi tit hn b phn ó.

C c$u t% ch#c bao gm:

- i ni.

- i ngoi.

- Các ch#c danh (Ví d : nhân viên nhp liu, th th, nhân viên bán hàng,
…). S! d ng các  hình  v) li c c$u t% ch#c.

Tìm hiu hin trng nghip v

Thng di.n ra ti các v trí công vic. Vi b phn c chn kho sát chi tit,
ngi thc hin kho sát cn lp danh sách các công vic mà b phn này ph
trách, sau ó tìm hiu các thông tin chi tit cho t-ng công vic (thông tin mô t yêu

cu phn mm).

Vic tìm hiu da trên các ý sau:


12
- Thông tin u vào.

- Quá trình x! lý.

- Thông tin kt xu$t.

Sau ó tin hành xp loi các nghip v vào 4 loi sau nh*m tránh thiu xót khi tìm
hiu các thông tin:

- Nghip v lu tr".

- Nghip v tra c#u.

- Nghip v tính toán.

- Nghip v t%ng hp, thng kê

2/ Lp danh sách các yêu cu

 có c danh sách y  và chính xác các, quá trình lp danh sách các yêu cu
cu theo các bc sau:


Xác nh yêu cu ch#c n,ng nghip v



Xác nh yêu cu ch#c n,ng h thng


Xác nh yêu cu phi ch#c n,ng

a. Xác nh yêu cu chc nng nghip v.


Cách tin hành: Nhà chuyên môn  xu$t và chuyên viên tin hc s) xem xét li

Bc tin hành :

1. Xác nh b phn (ngi dùng) s) s! d ng phn mm

2. Xác nh các công vic mà ngi dùng s) thc hin trên phn mm theo t-ng loi
công vic sau:
- Lu tr"

- Tra c#u

- Tính toán

- Kt xu$t

Ln lt lp bng yêu cu ch#c n,ng nghip v , bng quy nh/Công th#c và các biu
m1u – c mô t chi tit
Chng 3.
Câu 1. Trình bày m c tiêu và kt qu ca thit k d" liu?

a. Mc tiêu

M c tiêu chính ca thit k d" liu là mô t cách th#c t% ch#c lu tr" các d" liu ca

13
phn mm. Có hai dng lu tr" chính mà ngi thit k cn phi cân nhc và la chn.

- Lu tr" di dng tp tin

- Lu tr" di dng c s d" liu


Cách tip cn dùng c s d" liu r$t thông d ng và giáo trình này s) gii hn trình
bày chi tit các phng pháp k6 thut liên quan n vic t% ch#c lu tr" d" liu dùng c s
d" liu quan h. Giáo trình này s) không nhc li các khái nim c bn v c s d" liu
và gi s! r*ng ngi xem ã bit qua các khái nim này. Tuy nhiên chúng ta c+ng nên xem
li các bc
 hình thành nên mô hình d" liu quan h trong quá trình thit k d" liu


b. Kt qu ca thit k

Cách th#c t% ch#c lu tr" d" liu ca phn mm c mô t thông qua 2 loi 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 phn lu tr"



Danh sách các bng d" liu: Vic lu tr" cn s! d ng bao nhiêu bng d" liu và ó là
các bng nào ?

Danh sách các liên kt: Các bng d" liu có quan h, có mi liên kt gi"a chúng ra
sao?



Thông tin chi tit:


Danh sách các thuc tính ca t-ng thành phn: Các thông tin cn lu tr" ca thành
phn ?

Danh sách các Min giá tr toàn v7n: Các qui nh v tính hp l ca các thông tin

c lu tr"

Có nhiu phng pháp, nhiu  ngh khác nhau v vic mô t các thông tin trên. Giáo
trình này chn s  logic  biu di.n các thông tin t%ng quát và bng thuc tính. Min giá
tr  mô t chi tit các thành phn trong s  logic.

S  logic là s  cho phép th hin h thng các bng d" liu cùng vi quan h mi
ni liên kt gi"a chúng. Các ký hiu c dùng trong s  r$t n gin nh sau:

Bng: hình ch nht

Liên kt: (xác nh duy nh$t mt): M+i tên



14
A B


M+i tên hình trên có ng" ngh2a: 1 phn t! A s) xác nh duy nh$t 1 phn t! B, ngc li 1

phn t! B có th tng #ng vi nhiu phn t! A.

Câu 2. Trình bày vai trò, nh"ng v$n  c bn và kt qu ca thit k giao din?
Thit k giao din là công on không kém phn quan trng trong quá trình làm
phn mm, ây c+ng có th xem là công on phác tho  hình hay prototype cho phn
mm và  sau ó nhn phn hi yêu cu ca khách hàng i vi chng trình và  ngi
thit k có th iu ch'nh theo yêu cu  ra. Tùy theo m c ích yêu cu, theo  ph#c tp
ca chng trình, ngi thit k giao din có th làm theo các nh"ng thit k sau và kt
qa thit k tng #ng. Thit k giao din phi nm bt các iu chính yu sau:

1. H s cá nhân ngi dùng: Bit h là ai, m c ích ca ngi dùng là gì, K6 n,ng và
kinh nghim ca ngi dùng, nhu cu ca h
2. Mn nh"ng #ng x! t- nh"ng h thng quen thuc i vi ngi dùng.

3. Cho ngi dùng th$y rõ các ch#c n,ng mt cách s5n sàng

4. #ng x! ca chng trình t- trong ra ngoài phi kt dính, gn kt

5. Thay %i trong #ng x! nên tng phn vi din mo ca chng trình

6. Shortcut: Cung c$p c cách th#c c th và tóm tt tác v c làm


7. Tính tp trung: Mt s giao din GUI c tp trung chú ý nhiu hn

8. Ng" pháp: thông qua giao din bit s lut thao tác

9. Tr giúp,  an toàn, giao din 7p,…

Câu 3. Trình bày c bn 3 k6 thut thit k phn mm?
• Thit k c t i n k6 thut ct lõi ca tin trình công ngh phn mm.

• Thit k c t xem xét nh"ng mô hình ca tin trình phn mm c s! d ng.

• Thit k phn mm là bc u tiên trong ba hot ng k6 thut: thit k, phát
sinh mã ngun, và th! nghim, ó là nh"ng yêu cu trong xây dng và phát
trin phn mm.

Mt trong nh"ng im m$u cht chính i vi  ph#c tp ca h thng phn mm là

s tr-u tng. Có hai phng pháp chính: thit k Top-down và thit k bottom-up

1/ Thit k trên xung (Top-down)

-Thit k bt u vi vic phân tích nh"ng nh ngh2a yêu cu và không nên xem xét
vic thc hin chi tit u tiên.

- Mt d án c trin khai thành nh"ng d án nh/, th t c này phi c lp li

15
cho n khi nh"ng nhim v con tr nên n gin sao cho mt thut toán c tính toán
và gii quyt.


2/ Thit k t di lên (Bottom–up)
Ý tng nn tng: Hiu c phn c#ng và tng trên ca nó nh mt c ch tr-u tng.
K6 thut: Thit k t- di lên bt u c cho bi máy c th và liên tip phát trin

mt máy tr-u tng sau khi nh"ng máy khác c thêm vào nh"ng thuc tính cn thit cho

n khi mt máy ã t c kt qu mà cung c$p nh"ng ch#c n,ng ngi dùng yêu cu.

3/ Thit k bn mu (prototype)

Thit k bn m1u ngh2a là a ra các màn hình giao din s b, hay các bn thit
k phác tho nháp cho ngi dùng tham kho trc khi i vào thit k chi tit, hay ch#c
n,ng c th. Các bn thit k này c son tho di dng su liu hoc mt s phn
mm có kh n,ng thit k nhanh giao din, các k6 s thit k có th s! dùng mt s
phn mm chuyên d ng  son tho nhanh nh MS Visual Basic, Visual C++, MS
Visual Studio … vi trang web thì có th dùng Front Page, MS Visual Interdev ch' vi
nh"ng on chng trình n gin c cài t. ây c+ng có th coi là bc m c bn
trc khi i vào cài t chi tit cho t-ng chng trình con hay môun con v.v.

Chng 4
Câu 1. Trình bày vai trò ca môi trng lp trình? Các yêu cu c bn ca ngôn ng" lp
trình?
Câu h/i cho vic chn la “úng” ngôn ng" lp trình luôn là ch  c a ra
trong qui trình lp trình.Vic chn la ngôn ng" lp trình trong công on thc thi ca
mt d án luôn óng vai trò quan trng.

Trong trng hp lý tng, thit k nên m trách mà không có b$t c# kin th#c
liên quan n ngôn ng" thc hin sau ó sao cho thit k có th thc hin c trên b$t
k8 ngôn ng" lp trình nào.


1/ Cht lng òi hi cho mt ngôn ng lp trình:

• Tính mô un hóa

• Giá tr ca tài liu

• C$u trúc d" liu

• Control flow (lung iu khin)

• Tính hiu qu

• Kh n,ng tích hp (Integrity)


16
• Tính kh chuyn (Portability)

• H& tr hp thoi

• Yu t ngôn ng" chuyên bit

2/ Kh nng Mô un hóa ca ngôn ng lp trình

Kh n,ng mô un hóa là m#c  h& tr nh"ng kh n,ng mô un hóa chng trình.
Phác tho mt chng trình ln thành nhiu mô un là iu kin tiên quyt  thc thi
trong d án phn mm.
Không có kh n,ng mô un hóa thì phân chia công vic trong giai on thc hin
tr nên không th c. Nh"ng chng trình n nh$t tr nên không th qun lý: chúng
khó có th bo trì và su liu và chúng thc hin vi thi gian biên dch dài.


Ngôn ng" nh Pascal chu(n (không h& tr mô un, nhng so sánh vi Turbo Pascal và

Moun 2)  ch#ng minh tính không thích hp cho nh"ng d án ln.

Nu mt ngôn ng" h& tr phát tho mt chng trình thành nh"ng phn nh/,
chúng phi m bo nh"ng thành phn phi hot ng vi nhau. Nu mt th t c c thc
thi  mô un khác, c+ng c kim tra th t c có thc s tn ti và nó có c s! d ng
chính xác hay không (ngh2a là s tham s và kiu d" liu là chính xác).

Nh"ng ngôn ng" vi vic biên dch c lp (ví d nh C) ni vic kim tra ca ngôn
ng" ch' thay th  quá trình run-time.

Ngôn ng" vi vic biên dch tách bit (ví d Ada và Modula-2) m&i mô un có mt mô

t giao din cung c$p nh"ng phng th#c c bn cho vic kim tra nh"ng thành phn ca mô

un dùng ti thi im chy chng trình (run time).

Câu 2. Trình bày khái nim và c im ca kim th! phn mm?
Sn ph(m phn mm c gi là úng nu nó thc hin c chính xác nh"ng
tiêu chu(n mà ngi thit k ã t ra.  có mt ánh giá chính xác v c$p  úng
ca phn mm, ta phi kim tra ch$t lng phn mm. Nh th, kim tra là quá trình
tìm l&i và nó là mt ánh giá cui cùng v các c t, thit k và mã hoá. M c ích ca
kim tra là m bo r*ng t$t c các thành phn ca #ng d ng ,n khp, vn hành nh
mong i và phù hp các tiêu chu(n thit k.
c im ca kim tra phn mm
Xác minh và th(m nh mt h phn mm là mt quá trình liên t c xuyên sut
mi giai on ca quá trình phn mm. Xác minh và th(m nh là t- chung cho các
quá trình kim tra  m bo r*ng phn mm th/a mãn các yêu cu ca chúng và các

yêu cu ó th/a mãn các nhu cu ca ngi sm phn mm.
Xác minh và th(m nh là mt quá trình kéo dài sut vòng i. Nó bt u khi
duyt xét yêu cu. Xác minh và th(m nh có hai m c tiêu:
i) Phát hin các khuyt tt trong h thng.

17
ii) ánh giá xem h thng liu 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 dng có là sn phm úng không? T#c là
kim tra xem chng trình có c nh mong i ca ngi dùng hay không.
ii) Xác minh: Xem xét cái c xây dng có úng là sn phm không? Nh
th, xác minh là kim tra chng trình có phù hp vi c t hay không.

Nh trên, kim tra là mt quá trình ca tìm kim l&i. Mt kim tra tt có kh
n,ng cao tìm kim các l&i cha c phát hin. Mt kim tra thành công là kim tra
tìm ra các l&i mi, mt kim tra ti là kim tra mà không tìm c l&i.
Có hai kiu l&i trong #ng d ng và các kim tra tt s) xác nh c hai loi ó. C
th:
• Không làm nh"ng iu cn phi làm: l&i b/ sót thng xu$t hin i vi
#ng d ng mi c phát trin.
• Làm nh"ng iu không cn làm: l&i ca lnh ã c trú trc trong các #ng
d ng bo trì.

Các kim tra có mt ti các m#c khác nhau và c tin hành bi các cá nhân
khác nhau trong quá trình phát trin #ng d ng. Các kim tra c tin hành bi i
ng+ d án và kim tra c tin hành bi các c quan bên ngoài  ch$p nhn #ng
d ng.
Các kim tra ca i d án c gi là kim tra phát trin (Development test).
Kim tra phát trin bao gm kim tra n v, kim tra h thng con, kim tra tích hp

và các kim tra h thng.
• Kim tra n v (Unit test) c tin hành cho m&i n v mã nh/ nh$t.
• Kim tra tích hp (Subsystem integration test) kim tra mt logic và x! lý
cho phù hp ca các khi, kim tra vic truyn tin gi"a chúng.
• Kim tra h thng (System test) ánh giá các c t ch#c n,ng có c áp
#ng, các thao tác giao din ngi có ging thit k không, và các công vic
ca #ng d ng trong môi trng thao tác mong mun, i vi các ràng buc.

Các kim tra bi các c quan bên ngoài c gi là m bo ch$t lng
(Quality assurance-QA) và kim tra ch$p nhn (Acceptance test). Ngi ngoài có th
là ngi s! d ng hoc i din ngi dùng, nó to mt 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 hn các thành viên nhóm.
Kim tra m bo ch$t lng tng t các kim tra h thng v mt m c ích
và tin hành, nhng nó khác là h n*m ngoài s iu khin ca d án trng. Các báo
cáo kim tra m bo ch$t lng c g!i thng xuyên ti nhóm phát trin và qun
lý d án. Các kim tra viên m bo ch$t lng lp k hoch cho chin lc ca mình
và tin hành kim tra  m bo các #ng d ng thc hin t$t c các ch#c n,ng cn
thit. Kim tra m bo ch$t lng là kim tra cui cùng c làm trc khi #ng d ng
c a sn xu$t i trà.


18
Quan h gi"a các m#c kim tra và các giai on trong vòng i ca chng
trình c trình bày nh sau:






















Câu 3. Trình bày khái nim và các hình thái bo trì phn mm?
1.1 Khái nim
Theo IEEE (1993), thì bo trì phn mm c nh ngh2a là vic s!a %i mt
phn mm sau khi ã bàn giao  ch'nh li các l&i phát sinh, ci thin hiu n,ng ca
phn mm hoc các thuc tính khác, hoc làm cho phn mm thích #ng trong mt môi
trng ã b thay %i.
N,m 1995, tiêu chu(n ISO/IEC 12207 nh ngh2a: Bo trì phn mm là s thay
%i mã ngun và các tài liu liên quan vì mt v$n  hoc vì s cn thit phi phát
trin. M c ích là bin %i phn mm hin có trong khi v1n gi" nguyên tính toàn v7n
ca nó.
1.2 Các hình thái bo trì
IEEE (1993) chia bo trì phn mm thành 4 loi:
1/ Bo trì  Tu chnh:
Là bo trì khc ph c nh"ng khim khuyt có trong phn mm. Mt s nguyên nhân
in hình:

- K6 s phn mm và khách hiu nhm nhau.
Các giai on phát trin ng dng
Phm vi và m c tiêu
Yêu cu ch#c n,ng/Thit k logic
Thit k vt lý

c t mô h
ình c
$u trúc ch
n
g trình

Mã hoá module/ch
ng tr
ình

Kim tra n v
Kim tra tích hp
Ki
m tra h thng

QA/Kim tra ch$p thun
Các kiu kim tra

19
- L&i tim (n ca phn mm do s ý ca lp trình hoc khi kim th! cha bao quát
ht.
- V$n  tính n,ng ca phn mm: không áp #ng c yêu cu v b nh, tp, . . .
Thit k sai, biên tp sai . . .
- Thiu chu(n hóa trong phát trin phn mm trc ó.

Qui trình: s! d ng k6 ngh ngc nh*m dò li thit k  tu s!a
2/ Bo trì  Thích hp:
Là tu ch'nh phn mm theo thay %i ca môi trng bên ngoài nh*m duy trì và
qun lý phn mm theo vòng i ca nó. Thay %i phn mm thích nghi vi môi
trng: công ngh phn c#ng, môi trng phn mm. Nh"ng nguyên nhân chính:
- Thay %i v phn c#ng (ngoi vi, máy ch,. . .)
- Thay %i v phn mm (môi trng): thí d nh H iu hành
- Thay %i c$u trúc tp hoc m rng c s d" liu .
3/ Bo trì  Ci tin:
Là vic tu ch'nh h phn mm theo các yêu cu ngày càng hoàn thin hn, y 
hn, hp lý hn. Nh"ng nguyên nhân chính:
- Do mun nâng cao hiu su$t nên thng hay ci tin phng th#c truy cp tp.
- M rng thêm ch#c n,ng mi cho h thng.
- Ci tin qun lý kéo theo ci tin t liu vn hành và trình t công vic.
- Thay %i ngi dùng hoc thay %i thao tác.
Qui trình: s! d ng k6 thut tái k6 ngh (re-engineering) vi m c ích: a ra mt
thit k cùng ch#c n,ng nhng có ch$t lng cao hn. Thng tin hành vi hai
mng: tái c$u trúc phn mm, tái xây dng c$u trúc d" liu cho phù hp
4/ Bo trì  Phòng nga:
Là công vic tu ch'nh chng trình có tính n tng lai ca phn mm ó s) m rng
và thay %i nh th nào. Thc ra trong khi thit k phn mm ã phi tính n tính m
rng ca nó, nên thc t ít khi ta gp bo trì phòng ng-a nu nh phn mm c thit
k tt.


Câu 4. Trình bày quy trình và trình t nghip v bo trì phn mm?
1. Qui trình:
- Hiu hot ng bên trong chng trình

20

- Thc hin nh"ng thay %i trên thit k không tng minh.
- Thit k / lp trình li.
- S! d ng công c CASE
2. Trình t nghip v bo trì
Bo trì là mt quá trình trong vòng i ca phn mm, c+ng tuân theo các pha
phân tích, thit k, phát trin và kim th! t- khi phát sinh v$n  cho n khi gii
quyt xong.
Theo tiêu chu(n quc t v bo trì phn mm ISO/IEC14764, bo trì phn mm
gm có hai nhóm chính là bo trì  Ch'nh s!a (Correction) và bo trì nâng cao
(Enhancement). Bo trì Ch'nh s!a bao gm bo trì Tu ch'nh và bo trì Phòng ng-a.
Bo trì Nâng cao gm bo trì Ci tin và bo trì Thích hp. Do vy, ta có th chia làm
2 nhóm:
- Loi 1: Tu ch'nh ci ã có
- Loi 2: Thêm cái mi
S  qui trình bo trì
1/ Hiu phn mm ã có
- Theo tài liu nm chc các ch#c n,ng
- Theo tài liu chi tit hãy nm v"ng c t chi tit, iu kin kim th!, . . .
- Dò c chng trình ngun, hiu trình t x! lý chi tit ca h thng
Ba vic trên u là công vic thc thi trên bàn.
2/ Tu sa phn mm ã có
- Bo trì chng trình ngun, to các môun mi và dch li.
- Thc hin kim th! unit và tu ch'nh nh"ng m c liên quan có trong t liu c
t.
- Chú ý theo sát tác ng ca môun c s!a n các thành phn khác trong
h thng.
3/ Phát trin phn mm mi
- Khi thêm ch#c n,ng mi phi phát trin chng trình cho phù hp vi yêu
cu
- Cn tin hành t- thit k, lp trình, g9 l&i và kim th! unit


21
- Phn nh vào giao din ca phn mm (thông báo, phiên bn, . . .)
4/ Kim chng tính nht quán
- a n v (unit) ã dc kim th! vào hot ng trong h thng
- iu ch'nh s tng tích gi"a các môun
- Dùng các d" liu trc ây khi kim th!  kim th! li tính nh$t quán
- Chú ý hiu #ng làn sóng trong ch'nh s!a
5/ Kim tra khi hoàn thành bo trì
Kim tra ni dung mô t có trong t liu c t xem cách ghi t liu có phù hp
vi mô t môi trng phn mm mi hay không ?, nh"ng im cn lu ý hay
thay %i ã c mô t cha,
6/ Lp biu qun lý bo trì
Thit lp bp biu qun lý tình trng bo trì bao gm các thông tin:
- Ngày tháng, gi
- Nguyên nhân
- Tóm tt cách khc ph c
- Chi tit khc ph c, hiu #ng làn sóng
- Ngi làm bo trì
- S công


×