Bài giảng Kỹ nghệ phần mềm - Nguyễn Văn Vỵ - Bài 3: Tiến trình phần mềm

5 loại mô hình tiến trình phần mềm tiêu biểu:

Mô hình thác nước

Các mô hình phát triển tiến hóa

Các mô hình phát triển hình thức

Phát triển dự trên sử dụng lại

pdf59 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 1678 | Lượt tải: 1download
Tóm tắt nội dung Bài giảng Kỹ nghệ phần mềm - Nguyễn Văn Vỵ - Bài 3: Tiến trình phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
, nhiÒu ng−êi tham gia
„ XuÊt ph¸t tõ c¸c mèi quan t©m chung
„ NhiÒu vÊn ®Ò ®−îc gi¶i quyÕt
• Lý do, lîi Ých, ®éng lùc ch−a râ
„ VÝ dô: GNU, Linux
Bộ môn Công nghệ phần mềm – ĐHCN 35
NguyễnVănVỵ
Lùa chän m« h×nh
„ Phô thuéc vμo bμi to¸n, vμo m«i tr−êng cô thÓ
„ Yªu cÇu râ rμng: M« h×nh th¸c n−íc thÝch hîp
„ HÖ phøc t¹p, ®iÒu khiÓn: H−íng sö dông l¹i
„ Kh¸c:
 Yªu cÇu ch−a râ rμng, ®é phøc t¹p cao
 Yªu cÇu cã kh¶ n¨ng thay ®æi 
 Kh«ng ch¾c ch¾n vÒ tÝnh hiÖu qu¶, tÝnh kh¶ thi
Sö dông: Lμm b¶n mÉu, m« h×nh xo¾n èc
Bộ môn Công nghệ phần mềm – ĐHCN 36
NguyễnVănVỵ
„ Lμ qu¸ tr×nh thiÕt lËp c¸c chøc n¨ng, dÞch vô mμ
hÖ thèng cÇn cã vμ c¸c rμng buéc lªn sù ph¸t 
triÓn vμ vËn hμnh hÖ thèng
„ TiÕn tr×nh kü nghÖ yªu cÇu bao gåm:
 Nghiªn cøu kh¶ thi
 Ph©n tÝch vμ x¸c ®Þnh yªu cÇu
 §Æc t¶ yªu cÇu
 ThÈm ®Þnh yªu cÇu
C¸c giai ®o¹n cña tiÕn tr×nh
§Æc t¶ yªu cÇu phÇn mÒm
Bộ môn Công nghệ phần mềm – ĐHCN 37
NguyễnVănVỵ
TiÕn tr×nh kü nghÖ yªu cÇu
B¸o c¸o 
kh¶ thi
M« h×nh hÖ
thèng
Yªu cÇu ng−¬i 
dïng, hÖ thèng
Tμi liÖu yªu 
cÇu
Nghiªn cøu 
kh¶ thi
X¸c ®inh, ph©n 
tÝch yªu cÇu
®Æc t¶
yªu cÇu
ThÈm ®Þnh
yªu cÇu
Bộ môn Công nghệ phần mềm – ĐHCN 38
NguyễnVănVỵ
ThiÕt kÕ phÇn mÒm
„ ChuyÓn yªu cÇu thμnh ®Æc t¶ thμnh hÖ thèng nh−
nã tån t¹i trong thÕ giíi thùc víi c¸c gi¶i ph¸p c«ng 
nghÖ thÝch hîp ®Ó ng−êi lËp tr×nh cã thÓ chuyÓn 
thμnh ch−¬ng tr×nh vËn hμnh trªn m¸y 
„ ChiÕn l−îc thiÕt kÕ phï hîp víi ph©n tÝch
„ Lμ qu¸ tr×nh lÆp: cã thÓ quay l¹i hoμn thiÖn ph©n 
tÝchÆ råi l¹i thiÕt kÕ
„ Hai giai ®o¹n thiÕt kÕ: logicÆthiÕt kÕ vËt lý
Bộ môn Công nghệ phần mềm – ĐHCN 39
NguyễnVănVỵ
TiÕn tr×nh thiÕt kÕ phÇn mÒm
thiÕt kÕ 
kiÕn tróc 
§Æc t¶
Yªu cÇu 
®Æc t¶
Trõu t−îng 
thiÕt kÕ 
Giao diÖn 
thiÕt kÕ 
thµnh phÇn 
thiÕt kÕ 
d÷ liÖu 
thiÕt kÕ 
hñ tôc 
KiÕn tróc 
hÖ thèng
S¶n phÈm thiÕt kÕ
®Æc t¶
phÇn mÒm
®Æc t¶ giao 
diÖn
®Æc t¶
thµnh phÇn
®Æc t¶ cÊu 
tróc d÷ liÖu
®Æc t¶
thñ tôc
Ho¹t ®éng thiÕt kª
Bộ môn Công nghệ phần mềm – ĐHCN 40
NguyễnVănVỵ
C¸c ph−¬ng ph¸p thiÕt kÕ 
„ C¸ch tiÕp cËn mang tÝnh hÖ thèng, cã ph−¬ng ph¸p 
„ Tμi liÖu thiÕt kÕ ë d¹ng mét tËp c¸c m« h×nh ®å häa vμ
chó gi¶i ®i kÌm
„ C¸c m« h×nh th−êng gÆp:
 M« h×nh kiÕn tróc theo nhiÒu khung nh×n
 M« h×nh luång d÷ liÖu (xö lý)
 M« h×nh Thùc thÓ – mèi quan hª/ MH Quan hÖ (d÷ liÖu)
 M« h×nh cÊu tróc m« ®un (cÊu tróc)
 C¸c m« h×nh líp ®èi t−îng (kiÕn tróc, thùc thi)
Bộ môn Công nghệ phần mềm – ĐHCN 41
NguyễnVănVỵ
LËp tr×nh vμ gì rèi
„ Lμ chuyÓn thiÕt kÕ thμnh ch−¬ng tr×nh, b¾t lçi vμ söa lçi 
„ Lμ mét ho¹t ®éng c¸ nh©n kh«ng cã mét tiÕn tr×nh 
chung cho mäi ng−êi
„ Ng−êi lËp tr×nh ph¶i tiÕn hμnh kiÓm thö ®Ó gì lçi ch−¬ng 
tr×nh. Gì lçi lμ ho¹t ®éng cña lËp tr×nh
„ LËp tr×nh ®ßi hái chän ng«n ng÷ thÝch hîp vμ cã kinh 
nghiÖm  phong c¸ch lËp tr×nh tèt
„ §Ó ®¶m b¶o ®é tin c©y, cÇn biÕt lËp tr×nh tr¸nh lçi, thø
lçi vμ nÐm ngo¹i lÖ
Bộ môn Công nghệ phần mềm – ĐHCN 42
NguyễnVănVỵ
ThÈm ®Þnh phÇn mÒm
„ ThÈm ®Þnh vμ x¸c minh nh»m ®¶m b¶o hÖ thèng phï
hîp víi ®Æc t¶ vμ ®¸p øng yªu cÇu ng−êi dïng
„ Néi dung bao gåm viÖc thanh tra, xÐt duyÖt vμ kiÓm thö
hÖ thèng. KiÓm thö lμ quan träng nhÊt 
„ Cã nhiÒu møc: 
• X¸c minh: kiÓm thö ®în vÞ, tÝch hîp, hÖ thèng
• ThÈm ®Þnh: lμm mÉu yªu cÇu, kiÓm thö chÊp nhËn
„ Cã nhiÒu ph−¬ng ph¸p kiÓm thö. Mçi ph−¬ng ph¸p ¸p 
dông ë møc x¸c ®Þnh, vμ sö dông kü thuËt nhÊt ®Þnh
„ Môc tiªu kiÓm thö lμ t×m ra lçi víi chi phÝ Ýt nhÊt cã thÓ
Bộ môn Công nghệ phần mềm – ĐHCN 43
NguyễnVănVỵ
TiÕn tr×nh kiÓm thö
KiÓm thö
®¬n vÞ
KiÓm thö
m« ®un
KiÓm thö
HÖ con
KiÓm thö
hÖ thèng KiÓm thö
ChÊp nhËn
lËp tr×nh viªn
chuyªn viªn 
ng−êi dïng
Bộ môn Công nghệ phần mềm – ĐHCN 44
NguyễnVănVỵ
TiÕn ho¸ phÇn mÒm
„ PhÇn mÒm ph¶i mÒm dÎo v× nã cÇn ph¶i thay ®æi.
„ M«i tr−êng nghiÖp vô vμ kü thuËt lu«n thay ®æi: 
PhÇn mÒm cÇn thay ®æi ®Ó phï hîp víi chóng Æ
tiÕn hãa lμ tÊt yÕu
„ Ph©n ®Þnh ph¸t triÓn vμ tiÕn ho¸ lμ t−¬ng ®èi: gi÷a 
chóng cã quan hÖ chÆt chÏ víi nhau. Ph¸t triÓn lμ
lμm míi, tiÕn hãa trªn c¬ së hÖ ®· cã.
Bộ môn Công nghệ phần mềm – ĐHCN 45
NguyễnVănVỵ
TiÕn tr×nh tiÕn ho¸
HÖ thèng 
míi
X¸c ®Þnh yªu 
cÇu hÖ thèng
HÖ thèng 
hiÖn t¹i
®¸nh gi¸ hÖ
thèng hiÖn t¹i
®Ò xuÊt thay 
®æi hÖ thèng
C¶i biªn hÖ
thèng
Bộ môn Công nghệ phần mềm – ĐHCN 46
NguyễnVănVỵ
Trî gióp tù ®éng ho¸ ph¸t triÓn
„ Computer-aided software engineering:CASE lμ c¸c 
phÇn mÒm trî gióp ph¸t triÓn vμ tiÕn ho¸ hÖ thèng
„ C¸c c«ng cô th−êng gÆp:
 Bé so¹n th¶o ®å thÞ: ®Ó ph¸t triÓn m« h×nh hÖ thèng
 Tõ ®iÓn d÷ liÖu: ®Ó qu¶n lý c¸c thùc thÓ thiÕt kÕ
 Bé x©y dùng giao diÖn: ®Ó thiÕt kÕ giao diÖn 
 Bé gì rèi: trî gióp t×m lçi trong ch−¬ng tr×nh
 Bé chuyÓn ®æi tù ®éng: t¹o sinh c¸c phiªn b¶n míi tõ 
thiÕt kÕ / hay ch−¬ng tr×nh
Bộ môn Công nghệ phần mềm – ĐHCN 47
NguyễnVănVỵ
C«ng nghÖ CASE (CASE technology)
„ CASE gãp phÇn ®¸ng kÓ hoμn thiÖn tiÕn tr×nh phÇn 
mÒm c¶ vÒ tr×nh tù, tiÕn ®é vμ chÊt l−îng: tù ®éng 
hãa mét phÇn ho¹t ®éng m« h×nh hãa vμ qu¶n lý
„ Nh÷ng ho¹t ®éng kh«ng thÓ tù ®éng hãa:
 Sù suy nghÜ s¸ng t¹o trong SE 
 Lùa chän gi¶i ph¸p c«ng nghÖ
 Giao tiÕp khi lμm viÖc nhãm
 Thùc hiÖn viÖc qu¶n lý
Bộ môn Công nghệ phần mềm – ĐHCN 48
NguyễnVănVỵ
C«ng nghÖ CASSE
C¸c c«ng cô ®¬n 
bé söa 
lçi
M«i tr−êng 
tiÕn tr×nh
Bµn thî
LËp tr×nh gì
lçi
Ph©n tÝch vμ
thiÕt kÕ
Bé so¹n 
th¶o
M«i tr−êng
M«i tr−êng 
tÝch hîp
KiÓm thö c¸c 
lo¹i
Bμn thî ®¬n 
ph−¬ng ph¸p
Ch.tr×nh 
dÞch
Bμn thî ®a 
ph−¬ng ph¸p
Bμn thî ng«n 
ng÷ cô thÓ
C«ng nghÖ CASE 
Bμn thî môc 
tiªu chung
Bộ môn Công nghệ phần mềm – ĐHCN 49
NguyễnVănVỵ
Ph©n lo¹i CASE
„ Ph©n lo¹i CASE gióp hiÓu vμ sö dông chóng trong 
ph¸t triÓn
„ Cã thÓ ph©n lo¹i CASE theo:
 H−íng chøc n¨ng: C«ng cô cho c¸c chøc n¨ng cô 
thÓ: so¹n th¶o, lËp kÕ ho¹ch, lμm mÉu,..
 H−íng tiÕn tr×nh: C«ng cô cho ho¹t ®éng cña tiÕn 
tr×nh ®−îc trî gióp: m« h×nh nghiÖp vô, E-R
 H−íng tÝch hîp: C«ng cô trî gióp tæ chøc viÖc tÝch 
hîp c¸c ®¬n vÞ c¸c møc trong hÖ thèng
 Dùa trªn lo¹i ho¹t ®éng: §Æc t¶, thiÕt kÕ, triÓn khai, 
thÈm ®Þnh vμ x¸c minh
Bộ môn Công nghệ phần mềm – ĐHCN 50
NguyễnVănVỵ
CASE tÝch hîp
„ C¸c c«ng cô ®¬n (Tools) : trî gióp nh÷ng 
nhiÖm vô riªng rÏ cña tiÕn tr×nh: kiÕm tra sù
nhÊt qu¸n, so¹n th¶o, t¹o m« h×nh
„ Bµn thî (Workbenches): trî gióp 1 pha cña 
tiÕn tr×nh ph¸t triÓn, nh− ®Æc t¶, thiÕt kª,..
„ M«i tr−êng ph¸t triÓn (Environments): trî
gióp toμn bé hay mét phÇn cña toμn tiÕn tr×nh 
phÇn mÒm (cã thÓ bao gåm mét sè bμn thî)
Bộ môn Công nghệ phần mềm – ĐHCN 51
NguyễnVănVỵ
C¸c vÊn ®Ò liªn quan
„ X¸c ®Þnh yªu cÇu vμ thiÕt kÕ cã vai trß quyÕt ®Þnh ®Õn 
chÊt l−îng phÇn mÒm, chiÕm phÇn lín c«ng søc so 
víi ph¸t triÓn
„ Khi chuyÓn tiÕp gi÷a c¸c pha ph¸t triÓn ph¶i thÈm 
®Þnh tèt ®Ó ®¶m b¶o lçi kh«ng ¶nh h−ëng ®Õn pha sau
„ Tμi liÖu t¹o ra ë mçi pha kh«ng chØ dïng cho pha kÕ 
tiÕp mμ cßn dïng ®Ó ®¶m b¶o chÊt l−îng cña phÇn 
mÒm vμ b¶o tr×
„ CÇn chuÈn hãa mÉu biÓu, c¸ch thøc ghi chÐp, t¹o tμi 
liÖu nh»m ®¶m b¶o chÊt l−îng phÇn mÒm
Bộ môn Công nghệ phần mềm – ĐHCN 52
NguyễnVănVỵ
TÝnh kh¶ thi cña tiÕn tr×nh ph¸t triÓn 
PhÇn tö logic, khã kiÓm so¸t
 t¹o ra c¸c tμi liÖu
 xÐt duyÖt tμi liÖu mçi b−íc 
nghiªn cøu kh¶ thi; ®Æc t¶ yªu cÇu;
®Æc t¶ thiÕt kÕ
VÝ dô tμi liÖu:
So s¸nh:  vßng ®êi cæ ®iÓn kh¶ thi cao
 lμm b¶n mÉu kÐm
 4GT ??
Bộ môn Công nghệ phần mềm – ĐHCN 53
NguyễnVănVỵ
VÊn ®Ò:
„ T¹o ra chi phÝ phô cña ph¸t triÓn
(ng−êi lËp tr×nh kh«ng thÝch viÕt tμi liÖu)
„ Sö dông c¸c gi¶i ph¸p côc bé ®Ó tr¸nh söa 
®æi tμi liÖu
„ Sö dông c¸c mÉu cã s½n
„ Sö dông CASE trî gióp lμm tμi liÖu theo 
chuÈn
Lμm tμi liÖu phÇn mÒm
Bộ môn Công nghệ phần mềm – ĐHCN 54
NguyễnVănVỵ
S¶n phÈm (tμi liÖu) cña dù ¸n
M· m¸y, d÷ liÖu, tμi liÖu
M· nguån, chó thÝch
ThiÕt kÕ
Yªu cÇu
Phi h×nh thøc, trõu t−îng
H×nh thøc ho¸,
cô thÓ
Bộ môn Công nghệ phần mềm – ĐHCN 55
NguyễnVănVỵ
Gi¶m kÝch cì, chi phÝ phÇn mÒm
„ PhÇn mÒm ngμy cμng lín, phøc t¹p
„ Tæ chøc lμm viÖc theo nhãm, tiÕn hμnh song song 
„ CÇn ph©n r· chøc n¨ng; gi¶m kÝch cì (m· nguån), 
t¨ng n¨ng suÊt:
 t¸i sö dông: th− viÖn th−¬ng m¹i,...
 tù sinh m·: c«ng cô t¹o giao diÖn,...
 h−íng ®èi t−îng: kÕ thõa, b¶o tr×
 ng«n ng÷ bËc cao: n¨ng lùc biÓu diÔn cao
Bộ môn Công nghệ phần mềm – ĐHCN 56
NguyễnVănVỵ
Quan hÖ tiÕn tr×nh vμ s¶n phÈm
TiÕn tr×nh vμ s¶n phÈm lμ hai mÆt cña ph¸t triÓn:
„ TiÕn tr×nh tèt ®¶m b¶o rμng buéc vÒ s¶n phÈm 
„ S¶n phÈm tèt lμ sù tæng hoμ cña nhiÒu yÕu tè:
 TiÕn tr×nh thÝch hîp
 §éi ngò chuyªn m«n tèt
 C«ng cô trî gióp m¹nh
 N¨ng lùc qu¶n lý tiÕn trinh cña tæ chøc cao (CMM)
5 møc CMM (Capability Maturity Model):
1. Tïy biÕn 3. §−îc x¸c ®Þnh 
2. LÆp l¹i ®−îc 4. §−îc qu¶n lý 5. Tèi −u hãa
Bộ môn Công nghệ phần mềm – ĐHCN 57
NguyễnVănVỵ
C©u hái «n tËp
1. Cã mÊy lo¹i m« h×nh tiÕn tr×nh? Lμ lo¹i nμo?
2. Tr×nh bμy néi dung cña c¸c m« h×nh: th¸c n−íc, lμm mÉu, 
xo¸y èc, tiÕn ho¸, t¨ng tr−ëng, øng dông nhanh, h×nh thøc 
ho¸, ®èi t−îng, m« h×nh sö dông l¹i, m« h×nh m· nguån më, 
m« h×nh thÕ hÖ thø 4 theo c¸c néi dung sau:
ƒ Néi dung? ®Æc tr−ng?
ƒ −u, nh−îc ®iÓm? 
ƒ cÇn yªu cÇu g×? 
ƒ thÝch hîp khi nμo?
3. M« t¶ tiÕn tr×nh kü nghÖ yªu cÇu?
4. M« t¶ tݪn tr×nh thiÕt kÕ phÇn mÒm? Nªu c¸c m« h×nh thiÕt kÕ 
th−êng sö dông?
Bộ môn Công nghệ phần mềm – ĐHCN 58
NguyễnVănVỵ
C©u hái «n tËp (t)
5. §Þnh nghÜa thÈm ®Þnh phÇn mÒm? ThÈm ®Þnh vμ x¸c minh 
gåm nh÷ng ho¹t ®éng g×?
6. Cã nh÷ng lo¹i kiÓm thö nμo? M« t¶ tiÕn tr×nh kiÓm thö?
7. TiÕn ho¸ phÇn mÒm lμ g×? Lý do?
8. M« t¶ tiÕn tr×nh tiÕn ho¸ hÖ thèng?
9. CASE lμ g×? C¸c c¸ch ph©n lo¹i CASE?
10. CASE tÝch hîp gåm nh÷ng lo¹i nμo? vÏ s¬ ®å cÊu tróc c¸c 
lo¹i CASE?
11. Lμm thÕ nμo ®Ó ®¶m b¶o kh¶ thi cña m« h×nh ph¸t triÓn? So 
s¸nh sù kh¶ thi gi÷a c¸c m« h×nh, gi¶i thÝch v× sao?
12. Lμm thÕ nμo ®Ó cã thÓ gi¶m kÝch cì, chi phÝ cña m« h×nh? 
Nh÷ng m« h×nh nμo, ng«n ng÷ nμo cã −u thÕ vÒ mÆt nμy? 
Bộ môn Công nghệ phần mềm – ĐHCN 59
NguyễnVănVỵ
C©u hái và thảo luận

File đính kèm:

  • pdfBài giảng Kỹ nghệ phần mềm - Nguyễn Văn Vỵ - Bài 3 Tiến trình phần mềm.pdf