Kỹnghệphần mềm Software Engeneering
NguyÔn V¨n Vþ
Bém«n C«ng nghÖphÇn mÒm-Khoa CNTT-§HCN Email: vynv@coltech.vnu.vn
Bài 2: Kỹ nghệ phần mềm
NguyễnVănVỵ
Nội dung
(cid:132) §Þnh nghÜa vμ kh¸i niÖm
(cid:132) LÞch sö ph¸t triÓn
(cid:132) C¸c m« h×nh tiÕn tr×nh
Bộ môn Công nghệ phần mềm – ĐHCN 2
TÀI LiỆU THAM KHẢO
NguyễnVănVỵ
1. Nguyễn Văn Vỵ, Nguyễn Việt Hà. Giáo trình kỹ nghệ phần
mềm. Nhà xuất bản Đại học Quốc gia Hà nội, 2008
2. Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified
Modeling language User Guid. Addison-Wesley, 1998.
3. M. Ould. Managing Software Quality and Business Risk, John
Wiley and Sons, 1999.
4. Roger S.Pressman, Software Engineering, a Practitioner’s
5.
Approach. Fifth Edition, McGraw Hill, 2001. Ian Sommerville, Software Engineering. Sixth Edition, Addison- Wasley, 2001.
6. Nguyễn Văn Vỵ. Phân tích thiết kế hệ thống thông tin hiện đại. Hướng cấu trúc và hướng đối tượng, NXB Thống kê, 2002, Hà Nội.
Bộ môn Công nghệ phần mềm – ĐHCN 3
C¸c ®Þnh nghÜa kü nghÖ phÇn mÒm
NguyễnVănVỵ
Kü nghÖ phÇn mÒm – Software Engineering:SE
(cid:132) SE lμ thiÕt lËp vµ sö dông c¸c nguyªn lý c«ng nghÖ ®óng ®¾n ®Ó ®−îc phÇn mÒm 1 c¸ch kinh tÕ, võa tin cËy võa lμm viÖc hiÖu qu¶ trªn c¸c m¸y thùc (Bauer [1969])
(cid:132) SE lμ nguyªn lý kü nghÖ liªn quan ®Õn tÊt c¶ c¸c mÆt lý thuyÕt, ph−¬ng ph¸p vµ c«ng cô cña phÇn mÒm (Sommerville [1995])
Bộ môn Công nghệ phần mềm – ĐHCN 4
§Þnh nghÜa SE
NguyễnVănVỵ
(cid:132) SE lμ bé m«n tÝch hîp c¶ qui tr×nh, c¸c ph−¬ng ph¸p, c¸c c«ng cô ®Ó ph¸t triÓn phÇn mÒm m¸y tÝnh (Pressman [1995])
(cid:132) Ba mặt c¬ b¶n của kü nghÖ phÇn mÒm lμ:
1
1
2
?
4
1. Quy tr×nh/thñ tôc 2. Ph−¬ng ph¸p 3. C«ng cô
3
2
3
Bộ môn Công nghệ phần mềm – ĐHCN 5
LÞch sö cña kü nghÖ phÇn mÒm
NguyễnVănVỵ
(cid:132) §Ò x−íng, h×nh thμnh (70s)
C¸c ph−¬ng ph¸p lËp tr×nh vμ cÊu tróc d÷ liÖu
(cid:144) Kh¸i niÖm vÒ tÝnh m«®un (cid:144) Kh¸i niÖm s¬ ®å khèi, lËp tr×nh top-down (cid:144) LËp tr×nh cã cÊu tróc (Dijkstra) (cid:144) ph−¬ng ph¸p chia m«dun mét ch−¬ng tr×nh (cid:144) Trõu t−îng hãa d÷ liÖu (Liskov)
Bộ môn Công nghệ phần mềm – ĐHCN 6
LÞch sö cña kü nghÖ phÇn mÒm
NguyễnVănVỵ
(cid:132) T¨ng tr−ëng (nöa ®Çu 80s)
(cid:190) XuÊt hiÖn c¸c ph−¬ng ph¸p ph¸t triÓn hÖ thèng
(cid:131) c«ng nghÖ CSDL (m« h×nh quan hÖ) (cid:131) ph©n tÝch, thiÕt kÕ h−íng cÊu tróc (biÓu ®å luång,..)
(cid:190) C¸c bé c«ng cô ph¸t triÓn
(cid:131) c«ng cô trî gióp ph©n tÝch, thiÕt kÕ (cid:131) bé khëi t¹o ch−¬ng tr×nh, kiÓm thö (cid:131) c¸c ng«n ng÷ bËc cao
(cid:190) B¾t ®Çu quan t©m ®Õn qu¶n lý
(cid:131) C¸c ®é do phÇn mÒm (cid:131) Qu¶n lý theo thèng kª
Bộ môn Công nghệ phần mềm – ĐHCN 7
LÞch sö cña kü nghÖ phÇn mÒm
NguyễnVănVỵ
(cid:132) Ph¸t triÓn (tõ gi÷a 80s)
(cid:190)Hoμn thiÖn c«ng nghÖ cÊu tróc, ra ®êi c«ng nghÖ
®èi t−ợng
(cid:131) NhiÒu m« h×nh h−íng cÊu tróc triÓn khai, chuÈn hãa (cid:131) CASE hoμn thiÖn, ®¹t møc tù ®éng hãa cao (cid:131) Ng«n ng÷ thÕ hÖ 4 ra ®êi (LIPS, PROLOG,..) (cid:131) C«ng nghÖ h−íng ®èi t−îng b¾t ®Çu ph¸t triÓn:
(cid:31) Quy tr×nh RUP, UML, C¸c c«ng cô ®Çy ®ñ (ROSE,
JIBULDER,..)
(cid:131) Sö dông l¹i chiÕm vÞ trÝ quan träng trong ph¸t triÓn
Bộ môn Công nghệ phần mềm – ĐHCN 8
LÞch sö cña kü nghÖ phÇn mÒm
NguyễnVănVỵ
(cid:132) Ph¸t triÓn (tõ gi÷a 80s)
(cid:190)Ph¸t triÓn c«ng nghÖ ®èi t−îng
(cid:144) Kho d÷ liÖu, CSDL ®èi t−îng, ®a ph−¬ng tiÖn (cid:144) §Þnh h−íng sö dông l¹i: thμnh phÇn, mÉu, Framework (cid:144) C«ng nghÖ Web: web services
(cid:190)Ph¸t triÓn c¸c m« h×nh qu¶n lý
(cid:144) ChuÈn qu¶n lý ®−îc c«ng nhËn (CMM, IS9000-03)
(cid:144) NhiÒu m« h×nh tæ chøc lμm phÇn mÒm ®−îc ®Ò xuÊt (cid:144) NhiÒu c«ng cô trî gióp qu¶n lý dù ¸n hoμn thiÖn
Bộ môn Công nghệ phần mềm – ĐHCN 9
C¸c yÕu tè c¬ b¶n cña - SE
NguyễnVănVỵ
(cid:132) Tæng hîp: Kü nghÖ phÇn mÒm
(cid:141) Lμ mét qu¸ tr×nh kü nghÖ tÝch hîp:
(cid:121) Thñ tôc (procedures) (cid:121) Ph−¬ng ph¸p (methods) (cid:121) C«ng cô (tools)
(cid:141) Nh»m t¹o ra phÇn mÒm hiÖu qu¶, víi c¸c giíi h¹n
cho tr−íc
Bộ môn Công nghệ phần mềm – ĐHCN 10
C¸c thñ tôc - Procedures
NguyễnVănVỵ
(cid:132) Qui tr×nh ph¸t triÓn vμ qu¶n lý:
(cid:131) X¸c ®Þnh tr×nh tù thùc hiÖn c¸c c«ng viÖc (cid:131) X¸c ®Þnh c¸c tμi liÖu, s¶n phÈm cÇn bμn giao,
vμ c¸ch thøc thùc hiÖn
(cid:131) §Þnh c¸c mèc thêi gian (millestones) vμ s¶n
phÈn ®−a ra (theo c¸c chuÈn)
(cid:190) Cã thÓ ë møc chung cho nhiÒu dù ¸n (cid:190) Hay cô thÓ ho¸ cho 1 dù ¸n cô thÓ
Bộ môn Công nghệ phần mềm – ĐHCN 11
C¸c ph−¬ng ph¸p - methods
NguyễnVănVỵ
(cid:132) C¸ch lμm cô thÓ ®Ó x©y dùng phÇn mÒm
(cid:132) Mçi c«ng ®o¹n cã ph−¬ng ph¸p riªng:
• Ph©n tÝch (x¸c ®Þnh, ®Æc t¶ yªu cÇu)
• ThiÕt kÕ (®Æc t¶ kiÕn tróc, giao diÖn, d÷ liªu, thñ tôc)
• LËp tr×nh (cÊu tróc, h−íng ®èi t−îng)
• KiÓm thö (hép ®en, hép tr¾ng, ¸p lùc, håi quy, luån sîi)
• Qu¶n lý dù ¸n (PERT, GANTT, COCOMO)
Bộ môn Công nghệ phần mềm – ĐHCN 12
C¸c ph−¬ng ph¸p - methods
NguyễnVănVỵ
(cid:132) Néi dung ph−¬ng ph¸p th−êng bao gåm: (cid:121) C¸c ph©n tö m« h×nh: m« t¶ kh¸i niÖm (cid:121) C¸c ký ph¸p: ®Æc t¶ phần tö (cid:121) C¸c quy t¾c: liªn kÕt c¸c ph©n tö m« h×nh (cid:121) Quy tr×nh x©y dùng: tr×nh tù t¹o 1 m« h×nh (cid:121) Lêi khuyªn, c¸ch dïng: cho m« h×nh tèt vμ dïng nã
Bộ môn Công nghệ phần mềm – ĐHCN 13
C¸c ph−¬ng ph¸p (cid:31) methods
NguyễnVănVỵ
M« h×nh (p.ph¸p) luång d÷ liÖu
Kh¸i niÖm
Ký ph¸p
Quy t¾c
Quy tr×nh
t¸c nh©n
(cid:131) VÏ luång d÷ liÖu tên tác nhân
- Tiến tr×nh l lµ duy nhất - C¸c luồng vµo 1 tiến
møc 0 tõ m« h×nh nghiÖp vô
i
tr×nh phải # c¸c luồng ra
tiÕn tr×nh
- C¸c luồng vµo 1 tiến
tên tiến trình
tr×nh đủ để tạo ra c¸c luồng ra (cid:131) VÏ biÓu ®å møc i: tõ mçi tiÕn tr×nh møc i-1 ch−a lµ c¬ së - Kh«ng cã c¸c luồng
kho d÷ liÖu
tên kho dữ liệu sau:
luång d÷ liÖu
(cid:31)Kho (cid:198) kho (cid:31)Kho (cid:198) t¸c nh©n • …
tên luồng
Bộ môn Công nghệ phần mềm – ĐHCN 14
VÝ dô: BiÓu ®å luång d÷ liÖu møc 0 bμi to¸n tr«ng göi xe
NguyễnVănVỵ
t.t. xe
Kh¸ch
vÐ xe "hÕt chç" 0 HÖ thèng
b
1.0 nhËn xe
2.0 tr¶ xe
kh¸ch
vÐ xe
0
a b¶ng gi¸
phiÕu t.to¸n
2
1
3
vÐ xe "vÐ z¶" c sæ xevµo d sæ xe ra
e
kh¸ch
phiÕu t.to¸n
tt sù cè phiÕu chi g
DS thùc thÓ a. xxxx b. xxxx c. xxxx d. xxxx e. xxxx f. xxxx
"kh«ng g.q."
biªn b¶n biªn b¶n f phiÕu chi
a
b
c
d
e
f
3.0 gi¶i quyÕt sù cè
R
C
U
R
1
R
R
U
C
2
R
R
C
3
nÐt ®á lμ phÇn thay thÕ hay thªm vμo
M« h×nh nghiÖp vô
Bộ môn Công nghệ phần mềm – ĐHCN 15
C¸c c«ng cô - tools
NguyễnVănVỵ
(cid:132) Trî gióp tù ®éng/b¸n tù ®éng ph−¬ng ph¸p (cid:132) Computer Aided Software Engineering (cid:31) CASE c¸c c«ng cô trî gióp c¸c c«ng ®o¹n kh¸c nhau tiÕn tr×nh ph¸t triÓn phÇn mÒm
(cid:132) C¸c ng«n ng÷ lËp tr×nh
VÝ dô:
(cid:144)c«ng cô sinh giao diÖn (C Builder, ...) (cid:144)hç trî ph©n tÝch, thiÕt kÕ (Rwin, Modeler (Oracle Designer, Rational Rose,...) (cid:144)trî gióp lËp tr×nh: compiler, debugger (cid:144)trî gióp qu¶n lý: project management
Bộ môn Công nghệ phần mềm – ĐHCN 16
C¸c c«ng cô - tools
NguyễnVănVỵ
Biểu đồ m« h×nh
Bộ môn Công nghệ phần mềm – ĐHCN 17
Vßng ®êi ph¸t triÓn hÖ thèng phÇn mÒm (systems development life cycle - SDCL)
NguyễnVănVỵ
(cid:132) Lμ c¸c ho¹t ®éng tõ khi ®−îc ®Æt hµng,
ph¸t triÓn, sö dông ®Õn khi bÞ lo¹i bá nã
(cid:132) Vßng ®êi chia thμnh c¸c giai ®o¹n chÝnh :
(cid:190) x¸c ®Þnh yªu cÇu, (cid:190) triÓn khai, (cid:190) kiÓm thö, (cid:190) VËn hµnh, b¶o tr× vµ lÆp l¹i
Ph¹m vi, thø tù, néi dung kh¸c nhau tïy theo tõng s¶n phÈm vμ dù ¸n
Bộ môn Công nghệ phần mềm – ĐHCN 18
Vßng ®êi ph¸t triÓn phÇn mÒm
NguyễnVănVỵ
(cid:132) Tïy m« h×nh ¸p dông, ph©n chia c¸c pha, c¸c
b−íc cã thÓ kh¸c nhau : tõ 3 ®Õn 20 b−íc
X¸c ®Þnh yªu cÇu
TriÒn khai
KiÓm thö
VËn hµnh - B¶o tr×
C¸c pha chÝnh cña vßng ®êi
Bộ môn Công nghệ phần mềm – ĐHCN 19
C¸c b−íc chung nhÊt ph¸t triÓn
NguyễnVănVỵ
(cid:160) Ph¸t triÓn (cid:121) ThiÕt kÕ (cid:121) M· ho¸ (cid:121) KiÓm thö (cid:121) Lμm tμI liÖu
(cid:160) X¸c ®Þnh yªu cÇu (cid:121) ph©n tÝch hÖ thèng (cid:121) lËp kÕ ho¹ch (cid:121) ph©n tÝch yªu cÇu (cid:121) ®Æc t¶ yªu cÇu
(cid:160) TiÕn hãa
(cid:121) söa lçi (cid:121) thÝch nghi (cid:121) n©ng cao (cid:121) bæ sung
Bộ môn Công nghệ phần mềm – ĐHCN 20
X¸c ®Þnh yªu cÇu
NguyễnVănVỵ
X¸c ®Þnh: HÖ thèng lμm gi?
Những rμng buéc g× nã cÇn tu©n thñ?
(cid:160) Ph©n tÝch hÖ thèng
(cid:144) vai trß phÇn mÒm trong hÖ thèng (cid:144) ph¸c ho¹ & chän ph−¬ng ¸n kh¶ thi
(cid:160) LËp kÕ ho¹ch
−íc l−îng, lËp lÞch, tæ chøc, b−íc ®i, s¶n phÈm
(cid:160) Ph©n tÝch yªu cÇu
(cid:131) c¸c yªu cÇu cô thÓ (chøc n¨ng, rμng buéc) (cid:131) ®Æc t¶ yªu cÇu (kiÕn tróc, giao diÖn, xö lý, d÷ liÖu)
Bộ môn Công nghệ phần mềm – ĐHCN 21
Ph¸t triÓn
NguyễnVănVỵ
T¹o ra phÇn mÒm nh− thÕ nµo?
(cid:160) ThiÕt kÕ (design)
dÞch yªu cÇu thμnh b¶n thiÕt kÕ HT nh− nã tån t¹i (m«i tr−êng, kiÕn tróc, d÷ liÖu, xö lý, giao diÖn)
(cid:160) M∙ hãa (coding)
ChuyÓn thiÕt kÕ thμnh ch−¬ng tr×nh (cña1 ng«n ng÷)
(cid:160) KiÓm thö (testing)
söa lçi, hoμn thiÖn ch−¬ng tr×nh (kiÓm thö ®¬n vÞ, tÝch hîp, hÖ thèng, chÊp nhËn), lμm tμi liÖu
Bộ môn Công nghệ phần mềm – ĐHCN 22
VËn hμnh, b¶o tr×
NguyễnVănVỵ
Hßan thiÖn hÖ thèng sau khi ®−a vµo ho¹t ®éng?
(cid:160) Söa lçi: ®Ó vËn hμnh th«ng suèt (cid:160) ThÝch nghi: víi m«i tr−êng (kü thuËt, nghiÖp vô)
®· thay ®æi ®Ó ho¹t ®éng hiÖu qu¶
(cid:160) N©ng cao: Hoμn thiÖn chøc n¨ng, ph¸t triÓn dù
phßng
(cid:160) Thªm míi: thªm c¸c chøc n¨ng míi
Bộ môn Công nghệ phần mềm – ĐHCN 23
TiÕn tr×nh phÇn mÒm
NguyễnVănVỵ
(cid:132) TiÕn tr×nh phÇn mÒm (software process) lμ mét tËp c¸c ho¹t ®éng cã cÊu tróc nh»m ph¸t triÓn vμ tiÕn hãa 1 phÇn mÒm
(cid:132) Mét tiÕn tr×nh cô thÓ ph¶i tr¶ lêi ®−îc c¸c c©u hái: lμm g×? khi nμo? ai lμm? nh− thÕ nμo? b»ng g×? ë ®©u? kÕt qu¶? tiªu chÝ ®¸nh gi¸?
§Æc tr−ng
(cid:144) G¾n víi mçi dù ¸n (cid:144) Cã cÊu tróc x¸c ®Þnh (c«ng viÖc, tr×nh tù, c«ng cô,
ph−¬ng ph¸p )
(cid:144) S¶n phÈm cuèi cïng lμ phÇn mÒm bμn giao
Bộ môn Công nghệ phần mềm – ĐHCN 24
TiÕn tr×nh phÇn mÒm
NguyễnVănVỵ
C¸c ho¹t ®éng chÝnh cña mäi tiÕn tr×nh
(cid:131) X¸c ®Þnh yªu cÇu: ®Þnh râ yªu cÇu sản phẩm (cid:131) Ph¸t triÓn: t¹o ra sản phẩm (cid:131) ThÈm ®Þnh: phÇn mÒm ®¸p øng ®−îc yªu cÇu kh«ng? (cid:131) TiÕn hãa phÇn mÒm: thay ®æi nh»m ®¸p øng yªu cÇu
thay ®æi (người dïng, m«i trường)
file.exe
X¸c ®Þnh yªu cÇu
Ph¸t triÓn
ThÈm ®Þnh
TiÕn hãa
vÊn ®Ò, mong ®îi
PhÇn mÒm
Bộ môn Công nghệ phần mềm – ĐHCN 25
TiÕn tr×nh phÇn mÒm
NguyễnVănVỵ
1. X¸c định yªu cầu (Requirements)
Khã kh¨n hệ thèng thùc, mong ®îi vÒ hÖ phần mềm
§Æc t¶ yªu cÇu phÇn mÒm
®éi ph¸t triÓn
KHÁCH HÀNG
Bộ môn Công nghệ phần mềm – ĐHCN 26
TiÕn tr×nh phÇn mÒm
NguyễnVănVỵ
2. Ph¸t triển phần mềm (Development)
file.com
ĐÆc t¶ yªu cÇu
file.exe
(cid:131) Chức n¨ng hệ
thống
(cid:131) Rµng buộc hệ thống
HÖ thèng phÇn mÒm vËn hµnh ®óng
®éi ph¸t triÓn
X¸c định yªu cầu
Bộ môn Công nghệ phần mềm – ĐHCN 27
TiÕn tr×nh phÇn mÒm
NguyễnVănVỵ
3. ThÈm ®Þnh phần mềm (Validation)
file.com
file.com
file.exe
file.exe
HÖ thèng phÇn mÒm vËn hµnh ®óng
HÖ thèng phÇn mÒm ®¸p øng yªu cÇu
Ng−êi dïng
Ph¸t triÓn
Bộ môn Công nghệ phần mềm – ĐHCN 28
TiÕn tr×nh phÇn mÒm
NguyễnVănVỵ
4. TiÕn hãa phần mềm (Evolution)
m«i tr−êng thay ®æi
file.com
file.com
file.com
file.exe
file.exe
HÖ thèng phÇn mÒm ®−îc tiÕn hãa
®éi ph¸t triÓn
HÖ thèng phÇn mÒm ®¸p øng yªu cÇu
ThÈm ®Þnh
Bộ môn Công nghệ phần mềm – ĐHCN 29
M« h×nh tiÕn tr×nh phÇn mÒm
NguyễnVănVỵ
(cid:132) M« h×nh tiÕn tr×nh (software process model) lμ
c¸ch biÓu diÔn trõu t−îng tiÕn tr×nh phÇn mÒm theo c¸ch nh×n cô thÓ.
TIẾN TRÌNH CỤ THỂ
C«ng việc 1.1
Công việc 1.1.1
C«ng việc 1
Công việc 1.2
Công việc 2.1.1
C«ng việc 2
Công việc 2.1
Giai đoạn 2
Giai đoạn 3
Giai đoạn 1
MÔ HÌNH TIẾN TRÌNH
Bộ môn Công nghệ phần mềm – ĐHCN 30
Chi phÝ cña kü nghÖ phÇn mÒm
NguyễnVănVỵ
(cid:190) Chi phÝ kü nghÖ phÇn mÒm: lμ c¸c
kho¶n chi liªn quan ®Õn toμn bé sù ph¸t triÓn
(cid:190) Chi phÝ phô thuéc:
(cid:131) Lo¹i hÖ thèng (®¬n gi¶n, phøc t¹p) (cid:131) Yªu cÇu ®Æt ra (nhiÒu, Ýt, cao, thÊp) (cid:131) Møc ®é hoμn thiÖn (hiÖu n¨ng, ®é tin c©y, an toμn,..) (cid:131) N¨ng lùc cña tæ chøc (nh©n lùc, c«ng nghÖ, c«ng
cô, kü n¨ng cã ®−îc) (cid:131) Lo¹i tiÕn tr×nh sö dông
Bộ môn Công nghệ phần mềm – ĐHCN 31
Chi phÝ cña kü nghÖ phÇn mÒm
NguyễnVănVỵ
75
100
25
50
0
13
26
23
38
thiết kế
phát triển
kiểm thử tích hợp
đặc tả
Phân bố chi phí phát triển (nãi chung)
30
60
10 đặc tả
phát triển tiến hóa
kiểm thử hệ thống
Chi phí phát triển tiến hóa
25 50 75 100 0
Bộ môn Công nghệ phần mềm – ĐHCN 32
Chi phÝ cña kü nghÖ phÇn mÒm
NguyễnVănVỵ
25
50
75
100
0
25
phát triển hệ thống
75 tiến hóa hệ thống
Chi phÝ hÖ cã vßng ®êi dμi
25
50
75
100
0
8 đặc tả
35 phát triển
57 kiểm thử hệ thống
chi phí phát triển sản phẩm trùc tuyÕn
Bộ môn Công nghệ phần mềm – ĐHCN 33
Quy m« phÇn mÒm
NguyễnVănVỵ
(cid:132) KÝch cì phÇn mÒm ¶nh h−ëng lín ®Õn chi phÝ
(cid:132) KÝch cì th−êng ®o b»ng sè dßng lÖnh
(cid:132) KÝch cì phÇn mÒm phô thuéc:
• Bμi to¸n • ThiÕt kÕ • Ng«n ng÷ lËp tr×nh (& tr×nh ®é ng−êi lËp)
(cid:190) Víi cïng thiÕt kÕ, dïng ng«n ng÷ kh¸c nhau
cho kÝch cì kh¸c nhau
Bộ môn Công nghệ phần mềm – ĐHCN 34
Sè ®o ng«n ng÷
NguyễnVănVỵ
Ng«n ng÷
Dßng lÖnh/chøc n¨ng
(cid:132) Mçi ng«n ng÷ cã 1 n¨ng lùc thÓ hiÖn
(cid:132) Chän ng«n ng÷ tèt sÏ gi¶m kÝch cì
Assembly C FORTRAN 77 COBOL 85 Ada 83 C++ Ada 95 Java Visual Basic SQL
320 128 105 91 71 56 55 55 35 ?
Bộ môn Công nghệ phần mềm – ĐHCN 35
PhÇn mÒm kü nghÖ tèt
NguyễnVănVỵ
(cid:132) PhÇn mÒm kü nghÖ tèt ®−îc xÐt theo quan
®iÓm nhμ ph¸t triÓn
(cid:132) Thuéc tÝnh phÇn mÒm cÇn cã: møc −u tiªn
• TÝnh b¶o tr× ®−îc • TÝnh ®¸ng tin cËy • TÝnh hiÖu qu¶ • TÝnh tiÖn dông • Gi¸ c¶ ph¶i ch¨ng • Mét sè tiªu chÝ kh¸c
Bộ môn Công nghệ phần mềm – ĐHCN 36
TÝnh b¶o tr× ®−îc
NguyễnVănVỵ
"PhÇn mÒm lu«n cã yªu cÇu söa ®æi“
§Ó söa ®æi (b¶o tr×) ®−îc phÇn mÒm cÇn:
(cid:144) KiÕn tróc tèt: kÕt dÝnh chÆt, ghÐp nèi láng (dÔ ®äc, dÔ
söa, dÔ ph¸t triÓn, ¶nh h−ëng côc bé)
(cid:144) cμi ®Æt b»ng ng«n ng÷ bËc cao (dÔ ®äc, viÕt nhanh) (cid:144) tμi liÖu ®Çy ®ñ, tèt (dÔ theo dâi, dÔ hiÓu, cã c¬ së söa,..)
(cid:141) Cã tuæi thä cao, phô vô nhiÒu (cid:141) Chi phÝ b¶o tr× thÊp (cid:198) cho hiÖu qu¶
Bộ môn Công nghệ phần mềm – ĐHCN 37
§¸ng tin cËy
NguyễnVănVỵ
(cid:132) PhÇn mÒm cã Ýt khiÕm khuyÕt vÒ:
(cid:144) lçi lËp tr×nh (cid:144) lçi ph©n tÝch, thiÕt kÕ: sai, thiÕu chøc n¨ng, (cid:144) ho¹t ®éng kh«ng hiÖu qu¶
(cid:132) §¸p øng ®−îc nhu cÇu ng−êi sö dông
(cid:144) §¶m b¶o c¸c chøc n¨ng cÇn (cid:144) ¤n ®Þnh, thêi gian lμm viÖc kh«ng lçi lín (cid:144) Cho kÕt qu¶ x¸c ®¸ng
Bộ môn Công nghệ phần mềm – ĐHCN 38
TÝnh hiÖu qu¶
NguyễnVănVỵ
(cid:132) Kh«ng sö dông l·ng phÝ tμi nguyªn phÇn cøng
Cần tối ưu hợp lý
(cid:144) §ßi hái bé nhí lín (cid:144) §ßi hái tèc ®é cao (cid:144) ChiÕm kh«ng gian ®Üa lín,...
§Ó tèi −u hãa cÇn:
(cid:144) dïng ng«n ng÷ bËc thÊp (cid:144) truy cËp trùc tiÕp ®Õn thiÕt bÞ (cid:144) sö dông thuËt to¸n viÕt gän
dÔ dÉn tíi khã b¶o tr×, gi¸ thµnh cao.
Bộ môn Công nghệ phần mềm – ĐHCN 39
TiÖn dông, tinh vi
NguyễnVănVỵ
(cid:132) Giao diÖn phï hîp víi tr×nh ®é cña ng−êi dïng
(cid:132) Häc nhanh, nhí l©u, dÔ thao t¸c
(cid:132) Cã ®ñ tμi liÖu & nhiÒu tiÖn Ých, trî gióp th«ng minh
Giao diện quyÕt ®Þnh thμnh c«ng cña s¶n phÈm
Bộ môn Công nghệ phần mềm – ĐHCN 40
Gi¸ c¶ hîp lý
NguyễnVănVỵ
CÇn c©n ®èi, tháa hiÖp gi÷a c¸c yªu cÇu • Khã tèi −u ®ång thêi c¸c thuéc tÝnh
gi¸ c¶, hiÖu qu¶ >>> <<< dÔ b¶o tr×, sö dông, sù tinh vi
(cid:31) Chi phÝ cho tèi −u kh«ng tuyÕn tÝnh (lμ hμm mò)
Chi phÝ bá ra
i
h n μ h t ¸ g
hiÖu n¨ng
HiÖu suÊt ®¹t
Bộ môn Công nghệ phần mềm – ĐHCN 41
Kü nghÖ hÖ thèng (System Engineering)
NguyễnVănVỵ
(cid:132) Kü nghÖ hÖ thèng lμ toμn bé c«ng viÖc ph¸t triÓn hÖ thèng dùa trªn m¸y tÝnh (computer based system):
• phÇn cøng • phÇn mÒm • tæ chøc, qu¶n lý
kü nghÖ phÇn mÒm
kü nghÖ hÖ thèng
(cid:132) Kü nghÖ hÖ thèng bao gåm:
• ®Æc t¶ • thiÕt kÕ • triÓn khai
• tÝch hîp • thÈm ®Þnh • b¶o tr×
Bộ môn Công nghệ phần mềm – ĐHCN 42
Kü nghÖ hÖ thèng
NguyễnVănVỵ
(cid:132) §Æc tÝnh næi tréi cña hÖ thèng dùa trªn m¸y tÝnh • Thuéc tÝnh chøc n¨ng: ®iÒu khiÓn 1 hÖ • Thuéc tÝnh phi chøc n¨ng: ®é tin cËy, an toμn
Mμ:
(cid:141) tõng bé pbËn kh«ng thÓ cã ®−îc (cid:141) quyÕt ®Þnh ®Õn toμn hÖ thèng
(cid:132) Kü nghÖ hÖ thèng liªn quan ®Õn:
• ¸p dông c¸c nguyªn lý tÝch hîp • gi¶m chi phÝ lμm l¹i toμn hÖ thèng
Bộ môn Công nghệ phần mềm – ĐHCN 43
Kü nghÖ hÖ thèng
NguyễnVănVỵ
(cid:132) TiÕn tr×nh ký nghÖ hÖ thèng (system engineering
process)
xác định xác định yêu cầu yêu cầu
loại bỏ loại bỏ hệ thống hệ thống
các hệ cứng
thiết kế thiết kế hệ thống hệ thống
tiến hóa tiến hóa hệ thống hệ thống
phát triển phát triển hệ con hệ con
Cài đặt Cài đặt hệ thống hệ thống
tích hợp tích hợp hệ thống hệ thống
các hệ mềm
Bộ môn Công nghệ phần mềm – ĐHCN 44
Kh¸i niệm liªn quan - Khoa häc m¸y tÝnh (Computer Sience)
NguyễnVănVỵ
(cid:190) Khoa häc m¸y tÝnh liªn quan ®Õn nh÷ng vÊn ®Ò lý thuyÕt vμ nÒn t¶ng cho m¸y tÝnh vμ phÇn mÒm
(cid:190) Kü nghÖ phÇn mÒm liªn quan ®Õn thùc tiÔn cña viÖc ph¸t triÓn vμ xuÊt ra c¸c phÇn mÒm hiÖu qu¶
(cid:153) Lý thuyÕt khoa häc m¸y tÝnh cßn ch−a ®ñ cho c¸c
ho¹t ®éng cña kü nghÖ phÇn mÒm
kü nghÖ phÇn mÒm
khoa häc m¸y tÝnh
Bộ môn Công nghệ phần mềm – ĐHCN 45
C¸c lÜnh vùc tÝnh to¸n (computing curricula 11/2004 -ACM, AIS, IEEE)
NguyễnVănVỵ
IS
t« chøc vμ c¸c HTTT
C¸c c«ng nghÖ øng dông
IT
SE
CS
c«ng nghÖ vμ ph. ph¸p phÇn mÒm
H¹ tÇng c¸c hÖ thèng
KiÕn tróc vμ phÇn cøng m¸y tÝnh
Lý thuyÕt, ®æi míi
øng dung triÓn khai
Bộ môn Công nghệ phần mềm – ĐHCN 46
Ph©n biÖt c¸c lÜnh vùc tÝnh to¸n
NguyễnVănVỵ
(cid:132) Mçi lÜnh vùc tÝnnh to¸n ®−îc giíi h¹n b»ng mét
vïng víi biªn cã mµu sau:
(cid:144) CS (cid:31) Khoa häc m¸y tÝnh: (cid:144) IS (cid:31) HÖ thèng th«ng tin (cid:144) IT (cid:31) C«ng nghÖ th«ng tin (cid:144) SE (cid:31) Kü nghÖ phÇn mÒm
(cid:132) Kü nghÖ phÇn mÒm chiÕm phÇn lín ë trung t©m - §ã lµ lý do nã lµ ngµnh phøc t¹p vµ quan träng
Bộ môn Công nghệ phần mềm – ĐHCN 47
C©u hái «n tËp
NguyễnVănVỵ
1) §Þnh nghÜa kü nghÖ phÇn mÒm -SE? 2) C¸c giai ®o¹n lÞch sö ph¸t triÓn SE? ®Æc tr−ng cña mçi giai ®o¹n (s¶n phÈm, ph−¬ng ph¸p, c«ng cô, qu¶n lý vμ tæ chøc lμm viÖc)?
3) Gi¶i thÝch néi dung c¸c yÕu tè c¬ b¶n trong SE? LÊy vÝ
dô minh ho¹ vÒ ph−¬ng ph¸p, c«ng cô?
4) TiÕn tr×nh phÇn mÒm lμ c¸i g×? C¸c b−íc chung nhÊt
cña tiÕn tr×nh lμ g×?
5) M« h×nh tiÕn trinh lμ g×? C¸c m« h×nh cã thÓ nhËn ®−îc
tõ nh÷ng c¸ch nh×n nhËn nμo?
Bộ môn Công nghệ phần mềm – ĐHCN 48
C©u hái «n tËp
NguyễnVănVỵ
6) Tr×nh bμy mét sè m« h×nh tiÕn tr×nh c¬ b¶n (néi dung,
−u, nh−îc, thÝch hîp khi nμo)?
7) Chi phÝ cña SE gåm nh÷ng thμnh phÇn nμo? nã phô
thuéc vμo nh÷ng c¸i g×?
8) Kü nghÖ hÖ thèng lμ g×? Quan hÖ víi kü nghÖ phÇn
mÒm ra sao?
9) C¸c thuéc tÝnh cña phÇn mÒm ®−îc kü nghÖ tèt? 10)Khoa häc m¸y tÝnh lμ g×? Quan hÖ gi÷a nã vμ kü nghÖ
phÇn mÒm nh− thÕ nμo?
Bộ môn Công nghệ phần mềm – ĐHCN 49
C©u hái và thảo luận
NguyễnVănVỵ
Bộ môn Công nghệ phần mềm – ĐHCN 50

