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