You are on page 1of 71

TRNG I HC CN TH KHOA CNG NGH THNG TIN V TRUYN THNG B MN CNG NGH PHN MM

NHP MN CNG NGH PHN MM


TS. Trn Cao Nm 2010

Ni dung mn hc
Chng 1: Gii thiu v CNPM Phn 1: Qun l phn mm Chng 2: Gii thiu v qun l phn mm - Qun l d n phn mm Chng 3: Cc m hnh v tin trnh phn mm Chng 4: Qun l cu hnh (6) Chng 5: Qun l nhn s v t chc (6) Chng 6: Qun l cht lng (5) Chng 7: c lng gi thnh (1) Chng 8: Phn 2: Tin trnh phn mm Chng 9: c t yu cu (2) Chng 10: Kin trc phn mm (4) Chng 11: Thit k phn mm (4) Chng 12: Phn tch v thit k HT Chng 13: Kim th phn mm (3) T Tham kho: Chng 14: Bo tr phn mm Chng 19: Software Tools
CNG NGH PHN MM TS. TRN CAO 2010 Trang 2

Ti liu tham kho


Sch tham kho chnh: 1. Hans Van Vliet, Software Engineering principles and practice, John Wiley, 2000.
2. Pressman, Roger S., Software Engineering: A Practitioners Approach, McGraw-Hill, 5th edition, 2003.

Sch c thm
1. Ian Sommerville, Software Engineering, 6th edition 2000. 2. Nhp mn CNPM, Ng Trung Vit dch. 3. Jacobson I., Object-Oriented Software Engineering: A use case driven approach, Addison-wesley, 1995. 4. Pascal Roques, UML par la pratique, Eyrolles, Paris, 2000. 5. Michel Lai, UML La notation unifie de modlisation objet, de Java aux EJB, Dunod, Paris, 2000

Web http://www.sei.cmu.edu/
CNG NGH PHN MM TS. TRN CAO 2010 Trang 3

Cch nh gi (SV CNPM)


Project: 40%
Nhm 9 SV Pht trin mt phn mm theo cc yu cu ca KTPM
T lp nhm, t t ra ti vit c t (bng li). Lu t ti nh thi! T tham kho UML, vit c t UML, thit k, test cases c lng effort, time Pht trin phn mm, help, ti liu, test ng gi, bn giao, bo co

Yu cu NN: dng mi trng pht trin chuyn nghip


C++: Visual C++ hoc tng ng .NET: VB.NET, C# Java: Jbuilder, Eclipse

Thi cui k: 60%


Trc nghim 40-50 cu (40-60 pht) Sau kt thc mn 1 tun
CNG NGH PHN MM TS. TRN CAO 2010 Trang 4

nh gi (CH K15) Tho lun: 10% n: 30% Thi trc nghim: 60%

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 5

Lin h
TS. Trn Cao B mn Cng Ngh Phn Mm Khoa CNTT & TT tcde@cit.ctu.edu.vn
**Cc email s c tr li trong thi gian 3 ngy

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 6

Phn 1 TNG QUAN V CNPM


TS. TRN CAO NM 2009

Chng 1: Gii thiu v CNPM

PHN MM

Phn mm l g?
-

L h thng gm c chng trnh my tnh, ti liu, d liu v qui trnh vn hnh cc chng trnh vn hnh h thng my tnh Phn mm khng ch l cc chng trnh my tnh m cn bao gm c cc ti liu cn thit cho vic pht trin v bo tr cc chng trnh . Ngy nay cc phn mm l phn khng th thiu trong h thng tc nghip ti cc c quan, x nghip Phn mm c mt khp ni: in thoi di ng, my lnh, my git, chi,

Cht lng phn mm nh th no? Phn mm km cht lng c tc hi g?

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 9

Li phn mm

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 10

Li phn mm (tt)

Hnh nh tn la Ariane 5 n tung ngy 4/6/1996 sau vi giy c phng ln, thit hi 500.000.000$US. Image source: European Space Agency

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 11

Li phn mm (tt)
My x tr triu $, ch to bi Canada + Php. 1985-1987: KTV thao tc li, my ho phng cho qu liu bnh thng t nht vi 6 bnh nhn. Kt qu:
Cht 3 S cn li ngoc ngoi!

Therac 25
CNG NGH PHN MM TS. TRN CAO 2010 Trang 12

Li phn mm (tt)

Sn bay Denver (USA), 1994 Bugs trong h thng qun l hnh l (Baggage Handling System) lm cho h thng chm tin 16 thng, thit hi mi ngy 1.000.000 $US. Tng s thit hi > s tin u t cho d n (234M) Nu tnh tng s tin phi chi thao tc bng tay, thit hi ln n hn 3G $US
CNG NGH PHN MM TS. TRN CAO 2010 Trang 13

Li phn mm (tt)

VN:
-

Cha nghe ni c phn mm no km cht lng SV c th thm vd vo y

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 14

1. Cng ngh phn mm l g?


Thut ng Software Engineering
S lc lch s
Khng hong phn mm Cc vn trong pht trin phn mm S pht trin vt bc ca phn cng Vn bo tr phn mm

CNPM l: (1) p dng cch tip cn c h thng, khoa hc v nh lng vo pht trin, vn hnh v bo tr phn mm; (2) nghin cu cc cch tip cn nu trn [IEEE93]. CNPM l vic thit lp v dng cc nguyn tc cng ngh ng n thu c phn mm mt cch kinh t nht v chy hiu qu trn cc my tht [NATO68].
CNG NGH PHN MM TS. TRN CAO 2010 Trang 15

Cng ngh phn mm


Mt mn khoa hc tp trung vo vic thc hin cc h thng PM ln, phc tp v c pht trin bi mt i k s phn mm. L thuyt, phng php v cng c PTPM chuyn nghip CNPM quan tm ti vic xy dng h thng ln
Kim ch/kim sot phc tp S tin trin ca phn mm Hiu qu pht trin phn mm: gi thnh, thi gian, tnh d bo tr Hp tc gia cc thnh vin, nhm p ng hiu qu yu cu ngi dng: d dng, chc nng ph hp vi yu cu. Tnh a ngn ng, a vn ha
CNG NGH PHN MM TS. TRN CAO 2010 Trang 16

Khng hong PM nhng nm 70

2% 3% 30% 20%

chy lc bn giao Chy sau khi c m s t thay i nh Chy sau khi sa i ln khng bao gi dng tr tin nhng khng c giao hng

45%

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 17

u th k 21 Standish Group, CHAOS Report, 2002


28% of software projects succeed 72% of software projects failed

Why so bad?

Lack of user input Unclear objectives Incomplete requirements and specifications Changing requirements and specifications Lack of planning

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 18

2. Phm vi ca CNPM
CNPM l mn hc lin quan ti mi kha cnh trong sx PM Mc tiu ca CNPM l lm sao to ra phn mm:
C cht lng cao
ng, tha yu cu khch hng D khai thc, vn hnh D bo tr

Phm vi ca CNPM [PRES00]


iu hnh v theo di d n phn mm Qui trnh phn mm Xem xt cc k thut hnh thc m bo cht lng phn mm Cng tc ti liu S dng li o lng phn mm Qun l ri ro d n phn mm

ng k hoch thi gian Trong phm vi ngn sch d kin Gi thnh ngy cng h
CNG NGH PHN MM

TS. TRN CAO

2010

Trang 19

3. Cc giai on trong pht trin PM c t Thit k Ci t / pht trin Kim th (Trin khai) Bo tr

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 20

10

Tm hiu yu cu: thu thp m t y ca bi ton


Chc nng/tnh nng ca software Kh nng m rng Cc loi ti liu i hi Thi gian p ng hoc cc yu cu v cht lng ca h thng Nghin cu kh thi

Ci t: tp trung vo tng module ring l:


Gii thut Ti liu Coding

Kim th: th v xc nhn tnh ng n ca


Ti liu c t Thit k Module Chuyn tip gia cc giai on

Thit k: m hnh ha h thng, module ha h thng


Kin trc h thng

Bo tr
Sa li p ng thay i yu cu

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 21

4. Cng sc ca tng giai on 40-20-40


xc nh yu cu, 10% c t, 10% kim th, 45% thit k, 15%

ci t, 20%

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 22

11

5. Cng tc bo tr
Only thing we maintain is user satisfaction
Sa li cn st trong chng trnh Thch ng vi cc thay i (hardware, OS) Hon thin: thch ng vi cc yu cu mi, tng hiu qu, ci tin giao din Phng nga (preventive): lm cho d bo tr hn trong tng lai
sa li phng nga e), (prev entiv 4% (correctiv e), 21%

hon thin (perfectiv e), 50%

thich ng (adaptiv 25% e),

Phn phi cc hot ng bo tr

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 23

Cc thut ng
Phn mm (software)
M lnh (code) Cc dng ti liu c t, thit k, k hoch kim th, tch hp Cc dng ti liu hng dn s dng, bo tr.

Chng trnh (program):


l mt on m lnh c th thc thi c trn my tnh

H thng (system): tp hp cc chng trnh lin quan vi nhau Sn phm (product) phn mm
Mt mu bnh thng ca phn mm Kt qu t c sau mt tin trnh (process) pht trin phn mm

Sn xut phn mm (software production)


Pht trin phn mm (software development) Bo tr (maintenance)
CNG NGH PHN MM TS. TRN CAO 2010 Trang 24

12

Phn loi phn mm


H thng
- Compiler - HH

H thng nhng
- iu khin my mc - T ng, robot.

Thi gian thc


- PM iu khin CN. - PM iu in.

Khoa hc KT
- Simulation - Tnh ton khoa hc

Tc nghip
- CSDL - H tr nghip v

PM my tnh c nhn
-Vn phng -Tr chi

Tr tu nhn to
- H CG - Mng neuron

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 25

Phn loi phn mm (cch khc)


PM thi gian thc PM c th: cho H thng iu khin & khch hng ring l bo v PM tng qut (chung): Hnh ng p ng 1 s kin vi 1 lng bn ra TT thi gian hn ch Nhng PM x l d liu
Tch hp vo phn cng Kh sa i Dng trong qun l v tc nghip Kt qu tin cy An ninh trong truy cp

1 PM c th c c 2 c tnh trn

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 26

13

Cc c tnh ca phn mm
Phn mm c pht trin ch khng ch to. Phn mm c tnh c th hn l sx theo kiu lp rp hng lot Khng rch nhng li thi phc tp ca phn mm
Tc ng ln tin trnh nh hng n qun l nh hng n cht lng

Cc lut trong PTPM (Lehman v Belady)


Thay i lin tc: h thng PM lun thay i thm ch l thay mi hon ton phc tp ngy cng tng Tin trin ca chng trnh
tng trng ca h thng ton cc xut pht t cc bt n cc b

Tnh v hnh Phn mm mang li c hi kinh doanh, tng kh nng cnh tranh
CNG NGH PHN MM

Nhp /cng lm vic l bt bin Gii hn tng trng: Khi tng trng qu mc s dn n vn cht lng v s dng.

TS. TRN CAO

2010

Trang 27

Tm tt chng
CNPM tp trung vo l thuyt, PP v cng c pht trin qun l v trin khai sn phm PM. SP PM bao gm chng trnh d liu v ti liu Cht lng SP PM c nh gi qua tnh hiu qu, tin cy, kh nng bo tr c Qui trnh PM l tp hp cc hat ng pht trin PM. Bi tp 1 8 trang 29
CNG NGH PHN MM TS. TRN CAO 2010 Trang 28

14

Chng 2: Gii thiu v qun l phn mm v qun l d n phn mm

1. Vn Qun l phn mm
Pht trin phn mm:
Nhiu ngi Thi gian di

Cc l do thng gp
Lp trnh vin khng ni s tht v trng thi ca code. Nh qun l c lng thiu thi gian Nh qun l khng thi gian lp k hoch cn thn Nng sut thp hn d kin Khch hng khng bit h cn g Phn tn ngun lc cho nhiu d n cng mt lc

Qun l
Thit lp ct mc cc s kin chnh Ti liu

Kinh nghim cho thy:


Giao hng chm Vt ngn sch Khch hng khng hi lng

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 30

15

Qun l d n phn mm
Cc hot ng nhm m bo thnh cng ca d n
Giao hng ng thi hn Tha mn yu cu ngi dng Trong phm vi ngn sch d kin

Cc hot ng
Vit cng K hoch v lch biu cho PM. c lng gi. Kim tra v kim sot d n. S dng ngi v nh gi. Vit bo co v trnh by.
TS. TRN CAO 2010 Trang 31

CNG NGH PHN MM

Cc ni dung chnh trong QL d n


Cc chun, hng dn, qui trnh: Hot ng qun l
Lm sao t mc tiu d n Hi hp, bo co Xc nh u tin trong cn bng gia: i hi, ngn sch v thi gian

PP v KT dng trong tin trnh PM: c t, phn tch, thit k, code, test m bo cht lng:
Ai? Lm g? Cc bc tin hnh?

Phn gi cng vic


Chia nh d n

nh gi ri ro: nhn din cc tc ng xu n d n K hoch nhn lc


D n cn s ngi khc nhau v k nng khc nhau ti nhng thi im khc nhau
CNG NGH PHN MM

Ngun lc phn cng Ngn sch v k hach thi gian Thay i Bn giao

TS. TRN CAO

2010

Trang 32

16

Pht trin phn mm l pht trin HT


Pht trin phn mm l pht trin mt h thng
Software Hardware Document Qui trnh dng h thng Ngi dng h thng

Mt h thng bao gm nhiu thnh phn Kt qu ca vic pht trin phn mm l mt tp hp cc chng trnh cung cp cc chc nng mong mun

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 33

Pht trin phn mm l pht trin h thng

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 34

17

2. Quan im h thng v kim sot d n


Kim sot d n c m t:
H thng c kim sot Cc thc th kim sot (ngi qun l, t chc v quyt nh) Thng tin dng ra quyt nh
Bn trong Bn ngoi

Theo l thuyt v h thng, cc iu kin kim sot hiu qu h thng:


thc th kim sot phi bit mc tiu ca h thng thc th kim sot phi c cc bin php kim sot khc nhau thc th kim sot phi c thng tin v trng thi, u vo, u ra ca h thng thc th kim sot phi c m hnh quan nim cho kim sot (bit phm vi v tc ng qua li gia cc yu t khc nhau)
2010 Trang 35

3 trc chnh trong mc tiu kim sot:


Thi gian Hiu qu cht lng
CNG NGH PHN MM

TS. TRN CAO

3. Kim sot d n phn mm


Ni dung kim sot
Thi gian Thng tin T chc Cht lng $$$
Brooks law: adding people to a late project only make it later.

Thng tin
Ti liu Trng thi hin ti ca d n Cc thay i Cc quyt nh

Tin trnh d n (thi gian):


rt kh o
90% code hon thnh!

T chc
Vai tr ca tng thnh vin Giao tip Hp tc

o bng s nhn lc i hi
Nhn lc i hi = size h thng
CNG NGH PHN MM

TS. TRN CAO

2010

Trang 36

18

Kim sot d n phn mm (tt)


Cht lng
nh gi cht lng xuyn sut qu trnh pht trin Cht lng = tha mn khch hng (user satisfaction)

Nguyn tc kim sot: nh lng


Thu thp d liu Phng php phn tch, nh gi

$$$
i ng kinh nghim r hn i ng mi Dng cng c ci tin nng sut
CNG NGH PHN MM TS. TRN CAO 2010 Trang 37

4. Qui tc v o c ngh nghip


Software engineering involves wider responsibilities than simply the application of technical skills. Software engineers must behave in an honest and ethically responsible way if they are to be respected as professionals. Ethical behaviour is more than simply upholding the law. Confidentiality
Engineers should normally respect the confidentiality of their employers or clients irrespective of whether or not a formal confidentiality agreement has been signed.

Competence
Engineers should not misrepresent their level of competence. They should not knowingly accept work which is outwith their competence.

Intellectual property rights


Engineers should be aware of local laws governing the use of intellectual property such as patents, copyright, etc. They should be careful to ensure that the intellectual property of employers and clients is protected.

Computer misuse
Software engineers should not use their technical skills to misuse other peoples computers. Computer misuse ranges from relatively trivial (game playing on an employers machine, say) to extremely serious (dissemination of viruses).

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 38

19

Lp k hoch v kim sot d n

1. Lp k hoch cho d n phn mm


Trc khi trin khai mt d n, phi c k hoch cn thn: nh gi tt c cc yu t lin quan n qui trnh pht trin PM c im:
Khng thng tin Lp k hoch khng phi l mt vic lm 1 ln K hoch mang tnh ng

Cc ni dung chnh trong d n


M u:
Lch s d n Tn ngi chu trch nhim Tm tt d n

M hnh tin trnh


Cc bc/ct mc chnh

T chc d n
Mi lin h gia d n v cc thc th khc trong v ngoi t chc Ngi dng Phn cng trong d n
2010 Trang 40

CNG NGH PHN MM

TS. TRN CAO

20

K hoch cho mi hot ng trong d n


Plan Quality plan Validation plan Configuration management plan Maintenance plan Staff plan. Description Describes the quality procedures and standards that will be used in a project. Describes the approach, resources and schedule used for system validation. Describes the configuration management procedures and structures to be used. Predicts the maintenance requirements of the system, maintenance costs and effort required.

development Describes how the skills and experience of the project team members will be developed.

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 41

Qui trnh lp k hoch


Establish the project constraints Make initial assessments of the project parameters Define project milestones and deliverables while project has not been completed or cancelled loop Draw up project schedule Initiate activities according to schedule Wait ( for a while ) Review project progress Revise estimates of project parameters Update the project schedule Re-negotiate project constraints and deliverables if ( problems arise ) then Initiate technical review and possible revision end if end loop

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 42

21

Cc kha cnh phi c trong k hoch Ngun lc dnh cho d n Chia nh cng vic Lch biu cho d n

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 43

2. Phn loi cc d n PTPM


3 lp c trng ca d n:
c trng ca sn phm c trng ca qui trnh c trng ca ngun lc

Resource certainty: mc ca ngun lc hin c: i ng c cht lng, tim lc ti chnh...

Cc c trng c mc xc nh v chn chn khc nhau 3 chiu trong d n pht trin phn mm
Product certainty: mc xc nh trong m t sn phm, v d: c t r rng, hon chnh Process certainty: mc xc nh ca qui trnh, tc l kh nng nh hng li hoc thit lp li qui trnh pht trin, s hiu bit v cc hot ng kim sot.

4 trng thi in hnh:


Realization: kh thi; cc chiu u chc chn; ch cn r sot c hiu qu cao Allocation: cn b tr li ngun lc Design: cn phi design project & b tr nhn lc Exploration: trng thi kh khn; phi my m; hiu qu khng on c.
TS. TRN CAO 2010 Trang 44

CNG NGH PHN MM

22

3. Qun l ri ro
Ri ro l mt s kin c th xy ra trong tng lai v khi n xy ra s c nh hng tiu cc ti s thnh cng ca mt cng vic. Qun l ri ro
khng phi l gii quyt s c ch l nhn din ri ro v tm cch ngn nga ri ro 10 ri ro hng u trong PTPM
thiu ht nhn s (Personal shortfall). Thi gian v ngn sch khng thc t; c th do c lng sai) Pht trin sai chc nng Sai giao din M vng (Gold plating): pht trin cc c trng khng c yu cu. S khng n nh ca c t Cc thnh phn bn ngoi hng (vd dng ngun m) Cc cng vic bn ngoi b nh tr (cc hp ng con vi bn ngoi hng) Khng p ng cc yu cu thi gian thc (real-time shortfalls) thiu kh nng (Capability shortfalls)

Cc bc qun l ri ro
nhn din yu t ri ro vi mi yu t, tnh xc sut xy p v mc nh hng E. Xc nh cch gim nh ri ro Xc nh cch khng ch cc yu t ri ro
CNG NGH PHN MM

TS. TRN CAO

2010

Trang 45

4. K thut lp k hoch v kim sot


Nguyn tc chung
Chia nh d n thnh cc cng vic (n th) kim sot c Mi n th c mt ct mc thi gian v ngun lc c th kim sot c tin . Cc n th thng c thc hin theo mt trt t no V vy c th lp bng cng vic & cc biu nh PERT, GANTT

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 46

23

Cng vic, thi gian v ph thuc


Activity T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 Duration (days) 8 15 15 10 10 5 20 25 15 15 7 10 Dependencies

T1 (M1) T2, T4 (M2) T1, T2 (M3) T1 (M1) T4 (M5) T3, T6 (M4) T5, T7 (M7) T9 (M6) T11 (M8)

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 47

S tin trnh

PERT chart GANTT chart


CNG NGH PHN MM TS. TRN CAO 2010 Trang 48

24

Tin trnh

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 49

Phn b nhn lc

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 50

25

Tng kt chng
Lp d n l cn thit, trc khi pht trin PM. Kt qu: ti liu, k hoch d n. Bc tranh tng th, r rng v d n Kim sot d n
Thi gian Thng tin T chc Cht lng $$$

Qun l d n theo quan im kim sot h thng Qun l ri ro K thut lp k hoch v kim sot Bi tp 1-9 trang 198
CNG NGH PHN MM TS. TRN CAO 2010 Trang 51

6. Tng kt chng
Lp d n l cn thit, trc khi pht trin PM. Kt qu: ti liu, k hoch d n. Bc tranh tng th, r rng v d n K hoch cho d n Kim sot d n
Thi gian Thng tin T chc Cht lng $$$

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 52

26

Chng 3: Cc m hnh v tin trnh phn mm

1. Tin trnh phn mm


A software process model is an abstract representation of a process. It presents a description of a process from some particular perspective. Tin trnh phn mm l cch thc to ra phn mm, mi cng ty c tin trnh phn mm ring
Khch hng (client): c nhn hay cng ty t hng sn phm Nh pht trin (developer): cc thnh vin ca cng ty c trch nhim pht trin phn mm c t hng
c th qun xuyn ton b cc cng vic ca sn phm c trch nhim mt phn nh thit k, ci t,...

Ngi s dng (user): mt hay nhiu c nhn thay mt khch hng s dng sn phm

Pht trin phn mm (software development): bao gm tt c cc cng vic to ra sn phm trc khi n c chuyn sang giai on bo tr
CNG NGH PHN MM TS. TRN CAO 2010 Trang 54

27

2. S cn thit ca kim sot tin trnh v tin


D n pht trin phn mm l rt ln
Nhiu ngi Thi gian di Dng cc ngun lc khc nhau C s cnh tranh gia cc mc tiu

Qui trnh/M hnh pht trin phn mm


Qui trnh: nh ngha cc bc trong tin trnh PM. Ti liu ha qui trnh

Cc m hnh PTPM
M hnh xy dng v hiu chnh M hnh thc nc M hnh nh khung nhanh M hnh xon c Cc m hnh hng i tng
2010 Trang 55

Cn thit phi:
Kim sot tin trnh Kim sot ngun lc Kim sot tin

CNG NGH PHN MM

TS. TRN CAO

3. Cc m hnh v tin trnh PM M hnh xy dng v hiu chnh M hnh thc nc M hnh bn mu M hnh tng trng Pht trin ng dng nhanh M hnh xon c M hnh hng i tng

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 56

28

3.1. M hnh xy dng v hiu chnh


(Build-and-fix model )

Ad-hoc Khng c c t hay thit k Xy dng 1 phin bn, chnh sa theo yu cu ca khch hnh cho n khi no p ng c yu cu ca khch hng S dng trong cc h thng rt nh (100200 dng lnh)

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 57

3.2. M hnh thc nuc (waterfall model)


Royce, 1970 V & V: - Verification (kim tra): h thng tha mn c t (Build the system right) -Validation (KT-xc nhn): h thng tha mn yu cu ngi dng (Build the right system) - c im: -Hng ti liu -Phn tch k trc khi xy dng h thng - kim tra tng buc -Kim tra chuyn tip gia cc bc

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 58

29

M hnh thc nc (tt.)


c tnh:
Cc li mt s giai on trc c phn hi bi cc giai on sau Mi giai on ch c xem l hon thnh sau khi c y ti liu cho giai on v c nhm SQA chp thun

Cc bc tin hnh chnh:


Cc yu cu c xc nh v kim chng bi khch hng v nhm SQA Cc c t c kim chng bi nhm SQA v gi cho khch hng Giai on thit k bt u sau khi khch hng ng v gi thnh v thi gian thc hin; thc hin ci t v tch hp Khch hng cho hot ng th Chp nhn sn phm Chuyn sang giai on bo tr

u im: K lut cao; quy nh tt v ti liu cho mi giai on; kim chng cn thn bi nhm SQA; c ng dng rng ri Khuyt im:
Qu nhiu kim th, kim tra-xc nhn v ti liu Hng ti liu: kh hnh dung v kh hiu i vi khch hng
CNG NGH PHN MM TS. TRN CAO 2010 Trang 59

3.3. Bn mu (prototyping)
Kh khn c 1 nhn thc y v h thng lm bn mu. Mt m hnh v mt phn ca h thng Nhn mnh vo mt vi kha cnh no To ra mt bn mu # lm bn tht Lm nhanh R Th hin c tng trc khi u t ln Dng ngn ng cp cao Pht trin mt HT vi t chc nng
CNG NGH PHN MM TS. TRN CAO 2010 Trang 60

30

Khuyn co cho vic dng bn mu


Yu cu ca ngi dng khng r rng Cn minh ha cao v giao din ngi dng Bn mu l cng c c t yu cu Ngui dng phi thc v s thay i yu cu l rt kh khn. Bn mu khng lm nng cao cht lng h thng. Vic lm bn mu phi c k hoch v c kim sot tin

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 61

3.4. M hnh tng trng

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 62

31

M hnh tng trng


Chc nng ca h thng c xy dng v chuyn giao dn dn cho ngi dng. Bt u t trng thi hin ti dn n trng thi mong mun: tng bc nh. M hnh tng trng
Trnh b big bang: mt thi gian di chng c g, ng mt ci, c mt h thng mi. Ngi dng tham gia tch cc vo vic lp k hoch cho bc tip theo

Trnh d tha chc nng (overfunctionality)


Yu cu qu nhiu Qu d tha chc nng s lm h thng phc tp v kh s dng

Ngi phn tch d dng c lng thi gian, cng sc xy dng mt chc nng, c tnh no ca PM. Cch tip cn tng trng gip tp trung vo cc im ct li v cc chc nng cn thit p ng yu cu thc tin.
2010 Trang 63

CNG NGH PHN MM

TS. TRN CAO

3.5. Pht trin ng dng nhanh


p dng m hnh tng trng cho nhiu nhm RAD pht trin trong mt thi gian ngn C s tham gia ca ngi dng trong qu trnh pht trin

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 64

32

Lp tng trng trong pht trin nhanh

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 65

3.6. M hnh xon c (spiral model)


Cumulative cost Progress through steps Determine objectives, alternatives, constraints Risk analysis Evaluate alternatives, identify, resolve risks Risk analysis

Risk analysis Risk analysis Commitment Review partition Requirements plan Life-cycle plan Development plan Integration and test plan Plan next phase

Prototype 3 Prototype 1 Prototype 2

Operational prototype

Concetp of operation Requirements validation

Simulations, models, benchmarmks Software requirements

Detailed design

Design validation and verification Implementation Acceptance test

Code Unit Intetest gration test Develop, verify next-level product

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 66

33

M hnh xon c (tt.)


Hng ri ro (risk-driven); gim thiu ri ro
Cc cng vic lun phin v chu cc rng buc h tr cho vic ti s dng phn mm hin c nh gi mc ri ro Mc tiu quan trng lun l cht lng phn mm Gim nh kim th v nhanh chng sa cha nhng li xy ra Bo tr n gin ch l mt vng trn trong xon c, nh vy khng c s phn bit gia pht trin v bo tr

Dnh ring cho cc phn mm ni b c kch thc ln C th chm dt do cc nh gi v ri ro, do s rt khng hay khi k kt cc hp ng, rc ri v mt lut php Kch thc sn phm nh hng n gi thnh vic phn tch ri ro
CNG NGH PHN MM TS. TRN CAO 2010 Trang 67

3.7. M hnh hng i tng


Bo tr Pht trin thm a vo hot ng Tch hp Ci t Thit k HT Phn tch hng i tng
Xc nh yu cu M hnh vi phun nc
CNG NGH PHN MM TS. TRN CAO 2010 Trang 68

34

M hnh hng i tng (tt.) c tnh quan trng nht l lp:


gia cc giai on mt phn trong giai on

M hnh vi phun nc th hin cc giai on gi ln nhau Gim bt nhn lc cho cng tc bo tr

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 69

RUP

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 70

35

4. So snh cc m hnh
M hnh M hnh xy dng v hiu chnh M hnh thc nc im mnh Tt i vi cc chng trnh ngn khng yu cu v bo tr Tip cn c k lut Hng ti liu m bo sn phm c chuyn giao c c nhng g khch hng cn Kt hp nhiu c im ca tt c cc m hnh pha trn im yu Khng p ng c cc chng trnh tng i ln tr i Sn phm chuyn giao c th khng theo nhng g khch hng cn Xem nh ti liu, kh bo tr Ch c th s dng cho cc sn phm c kch thc ln hay cho cc t chc Cc nh pht trin phi c kh nng phn tch ri ro v gii quyt ri ro C th suy thoi thnh CABTAB (thut ng v s thiu k lut trong cng vic: trnh t thc hin cc cng vic lung tung, ba bi)

M hnh pht trin nhanh M hnh xon c

Cc m hnh hng i tng

H tr vic lp li bn trong cc giai on, song song ha gia cc giai on

So snh gia cc m hnh tin trnh phn mm CNG NGH PHN MM TS. TRN CAO 2010 Trang 71

CASE
Computer aided software engineering (CASE) is software to support software development and evolution processes. Activity automation
Graphical editors for system model development; Data dictionary to manage design entities; Graphical UI builder for user interface construction; Debuggers to support program fault finding; Automated translators to generate new versions of a program.

CASE weaknesses
Software engineering requires creative thought - this is not readily automated; Software engineering is a team activity and, for large projects, much time is spent in team interactions. CASE technology does not really support these.
CNG NGH PHN MM TS. TRN CAO 2010 Trang 72

36

Tng kt chng
Gii thiu v tin trnh/qui trnh phn mm Cc m hnh v tin trnh phn mm So snh cc m hnh Bi tp 1 9 trang 70

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 73

Chng 4: Qun l cu hnh

37

Qun l cu hnh
Ti sao phi qun l cu hnh:
Qun l lng ln cc phn t: ti liu, code, yu cu thay i
Nhiu ti liu Thng xuyn thay i Nhiu version

Qun l cu hnh nhm m bo cho cc ti liu thng nht nhau.


Cc phn t trong baseline c th c thm vo theo thi gian Mt phn thay i s sinh ra khng thng nht gia cc ti liu.

Qun l cu hnh l thit lp v p dng cc chun qun l mi s thay i ca sn phm phn mm.
CNG NGH PHN MM TS. TRN CAO 2010 Trang 75

Khi nim baseline Ti mt thi im, tt c cc vn bn chnh thc ca d n gi l baseline. Baseline is a specification or product that has been formally reviewed and agreed upon, that thereafter serves as the basis for further development and that can be changed only through formal change control procedure [IEEE90] Baseline = {approved items} Mi phn t (item) c gi l mt phn t cu hnh
CNG NGH PHN MM TS. TRN CAO 2010 Trang 76

38

Ni dung qun l
Cc phn t cu hnh c th l:
Cc module chng trnh ngun Cc module m i tng Cc c t yu cu Ti liu thit k K hoch test Cc test cases Cc kt qu test Ti liu ngi dng

Cn phi qun l mi thay i ca cc phn t cu hnh


Thay i yu cu Xem xt Chun y thay i Thng bo T chi cho ch u t Hon Xin kin ca ch u t Cp nht cu hnh
Trang 77

Chun b v lp lch cho gi cng vic Xp t th t u tin Ci t thay i

CNG NGH PHN MM

TS. TRN CAO

2010

V d v mt yu cu thay i

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 78

39

CCB
D n ln
Ban QL cu hnh (CCB) Cc thay i phi a qua CCB. CCB nh gi cc thay i CCB m bo rng cc phn t trong cu hnh l thng nht Cc phn t cha c duyt cha c a vo baseline
CNG NGH PHN MM

S chuyn trng thi ca cc hot ng pht trin

TS. TRN CAO

2010

Trang 79

K hoch qun l cu hnh


Xc nh cc loi ti liu cn c qun l v mt cu trc lu tr (t tn) Xc nh ngi chu trch nhim v qui trnh qun l cu hnh v to ra baseline Xc nh chnh sch qun l thay i v qun l version Xc nh cc s liu v qun l cu hnh v trch nhim cp nht s liu. Xc nh cng c h tr qun l cu hnh v hn ch ca cc cng c Xc nh qui trnh dng cng c Xc nh CSDL qun l cu hnh dng lu tr thng tin Xc nh cc thng tin h tr nh cu hnh ca phn mm bn ngoi, xc nhn qui trnh.
CNG NGH PHN MM TS. TRN CAO 2010 Trang 80

40

K hoch qun l cu hnh


Theo chun IEEE Qun l: m t t chc d n Cch thc qun l thay i cch thc xc nh kt thc mi cng on Cch thc qun l cht lng Hot ng: m t cch thc qun l cu hnh Qui trnh CCB
CNG NGH PHN MM

1.

Introduction
a. b. c. d. Purpose Scope Definition and acronyms Reference Organization SCM responsibility Applicable policy, directive and procedures Configuration identification Configuration control Configuration status accounting Configuration audits and reviews Interface control Subcontract/ vendor control

2.

SCM
a. b. c.

3.

SCM activities
a. b. c. d. e. f.

4. 5. 6.

SCM schedules SCM Resources SCM plan maintenance


2010 Trang 81

TS. TRN CAO

Tm tt chng
Qun l cu hnh nhm m bo s thng nht cc phn t trong d n pht trin phn mm
Cc phn t cu hnh phi c nhn din v nh ngha Cc bn bn giao v thay i phi c kim sot Trng thi ca cc phn t cu hnh phi c ghi chp v bo co

CCB Bi tp: 1 6 trang 82

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 82

41

Chng 5 Qun l nhn s v t chc

1. People are the organizations most important asset


Nhiu ngi cng lm vic t chc i (team)
S ngi Trnh , kinh nghim Loi d n C tnh

Sau khi xc nh mc tiu d n, hiu sut ca cc thnh vin phi c kim sot v nh gi. Lm th no kim sot nh gi v o tin ?
Chc nng bn giao/n v thi gian Line of code/n v thi gian !!! Nguy him: ngi ta vit nhiu code km cht lng Verification & validation nh gi cht lng code v ti liu

Cch thc giao tip


Ngi trong nhm Cc nhm trong t chc

Qun l nhn s
Nhm ={c nhn} C nhn c mc tiu ring Mc tiu chung ca d n
Phi xc nh mc tiu ca d n Mi ngi phi hiu ci g c trng i h
CNG NGH PHN MM

TS. TRN CAO

2010

Trang 84

42

Cc yu t trong QLNS
Consistency
Team members should all be treated in a comparable way without favourites or discrimination.

Respect
Different team members have different skills and these differences should be respected.

Inclusion
Involve all team members and make sure that peoples views are considered.

Honesty
You should always be honest about what is going well and what is going badly in a project.
CNG NGH PHN MM TS. TRN CAO 2010 Trang 85

La chn nhn s
A pplic at ion dom ai n expe rienc eF or a project to deve lop a su cce ssf ul sys te m , th e deve lopers m ust underst an d the applic ation dom ai n. It is ess ential that som e m em bers of a devel opm ent tea m hav e some dom ai n expe rie nc e . Pla tfor m ex perie nce P rogramm ing langua ge e xperien ce T his m ay be significa nt if lo w- le vel program m ing is involved . O th erw ise, n ot usu al ly a critica l at tribute . T his is norm ally onl y si gnifica nt fo r short dura tion project s w he re the re is not enough tim e to lear n a ne w lan guage. W hile lea rning a language itse lf is not difficu lt, it ta kes several mo nths to bec om e prof ici ent in usi ng the ass oc iate d librarie s an d com pone nts. T his is ve ry imp orta nt for softw are enginee rs w ho const an tly ha ve to sol ve tec hnical proble ms . H owe ve r, it is alm os t im poss ible to judge w ithout know ing the w ork of the poten tia l team m em ber.

P roblem so lvin g ability

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 86

43

E d uca tiona l b ack gr ou nd

T h is m ay pro vide a n ind ic ato r of the b asic fu nd am enta ls th at the ca n dida te sh ould know an d of the ir ab ili ty to lea rn . T his fac tor b eco m es in cr easingly irreleva n t as en gine ers g ai n ex perien ce ac ros s a ran ge of pro jec ts . T h is is imp orta nt beca us e of th e nee d for projec t sta ff to com m unica te ora lly and in w ritin g w ith o ther engi nee rs , ma na g ers an d custom ers . A da p ta b ility m ay be ju dg ed by lookin g at the different typ es of ex pe rienc e th at can d idat es ha v e had. T his is a n imp orta n t attri bu te as it ind ic ate s a n abi lity to lea rn. Pro ject st aff sh ou ld h ave a p osi ti v e attitu de to th eir w ork and sho uld be will ing to lea rn n ew skill s. Th is is an im por ta n t attribute b ut ofte n v er y d ifficu lt to ass ess . T h is is an im por ta n t attribute b ut difficult to assess . C and id ate s m ust be rea son ably co mp at ible w ith oth er te am m em be rs . N o p ar tic u la r type of pe rs onal ity is m or e o r less su it ed to softw are en ginee ri ng .

C omm un ica tio n ability A da pta b ility

A ttitu de

Pers on al ity

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 87

2. Cc kiu phi hp
Giao tip gia cc thnh vin
Hi hp Thanh tra Ban qun l cu hnh

Hnh chnh chuyn nghip:


phi hp theo k nng ngi lm

Adhocracy
Vi d n ln, cng vic chia theo chuyn ngnh Khng c mc tiu Khng c phng php tin hnh Phi hp theo kiu thc y ln nhau

C ch phi hp: 5 kiu (theo Mintzberg)


Cu trc n gin: mt lnh o nhm B my hnh chnh: phi hp c chun ha theo trnh t x l cng vic Dng t ch
Phn thnh cc nhm t ch Phi hp chun ha theo u ra cng vic Khi mc kt qu cui cng c th c t r
CNG NGH PHN MM

Lu : trong mi t chc c th c nhiu m hnh khc nhau

TS. TRN CAO

2010

Trang 88

44

3. Cc kiu qun l
Hai chiu trong qun l [Reddin]
Hng quan h: tp trung vo cc c nhn v quan h vi c nhn khc Hng cng vic: tp trung vo kt qu c th t c v cch thc t c kt qu .

Hai chiu trn c th : Thp / Cao


T hp thnh 4 kh nng

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 89

Kiu phn tch


Da trn th tc, qui trnh Phi hp kiu phn cp Quyt nh trn xung C ch xin-cho Ging b my hnh chnh ca Mintzberg

Kiu ng thun: quyt nh a ra t tm nhn chung ca nhm


Ging c ch hnh chnh chuyn nghip

Kiu tch hp
Thch hp trong hon cnh l kt qu khng chc chn Cng vic bng n t hp v cc cng vic ph thuc ln nhau Quyt nh t di ln Ging c ch adhocracy

Kiu quan h
Dng vi i ng c ng c, c tinh thn phi hp v c o to tt Cng vic hng ti cc c nhn Quyt nh l ca nhm da trn thng tho v xy dng quan im chung Ging c ch adhocracy
CNG NGH PHN MM

TS. TRN CAO

2010

Trang 90

45

4. T chc nhm (team organization)


Trong mt nhm
Nhiu vai tr: ngi qun l, kim th vin, lp trnh vin. Mt ngi c th gi nhiu vai tr Trch nhim v cng vic xc nh trong k hoch d n

T chc phn cp:


phn nhm chc nng T chc phn cp Ging m hnh tng th ca d n Nhc im l khong cch giao tip xa, thng tin nhiu

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 91

T chc ma trn

Cc nhm b phn c chuyn mn su tham gia bn thi gian vo cc d n khc nhau Ngi qun l d n chu trch nhim cho s thnh cng ton b d n V nng cao kin thc chuyn mn ca nhm.

i lp trnh vin chnh (chief programmer team theo Harlan Mills)


Ht nhn ca mi i gm 3 ngi:
Trng nhm: thit k v ci t phn chnh ca h thng Tr l: gip vic cho trng nhm Ngi qun l ti liu

Cn c mt trng nhm gii k thut v nng lc qun l tt Lu : cng vic khng c cu trc, khng c ngi phn tch, ngi thit k, lp trnh vin
CNG NGH PHN MM TS. TRN CAO 2010 Trang 92

46

i SWAT(Skilled With Advanced Tools)


Nhm nh: 4-5 ngi Thng p dng trong tin trnh theo m hnh tng trng Dng ngn ng cp cao, cc gi dng li, cc phn mm sinh m. Nhm trng l ngi gii

C mt trng nhm k thut (ging nh trong m hnh i lp trnh vin chnh) gii quyt mi xung t gia cc thnh vin. Tp trung vo
nng lc chuyn mn c nhn Cc hot ng phi hp hon thnh mt cch c hiu qu mc tiu ca d n.

i c cu trc m
Pht trin PM l 1 cng vic phc tp, Hng quan h l thch hp M hnh i c cu trc m: tch hp hng quan h vi mt cu trc r rng
CNG NGH PHN MM

TS. TRN CAO

2010

Trang 93

Cc nguyn tc c bn trong t chc nhm


Dng t ngi nhng m tinh (user fewer and better people) ng ngi ng vic (fit tasks to the capability and motivation of the people available-Peter principle) T chc ln mnh nu n gip mi ngi u c gng vut ln chnh mnh
Mt lp trnh vin gii ch c th l chuyn gia trong 1 s lnh vc nu h khng c c hi c xt trong lnh vc khc
CNG NGH PHN MM TS. TRN CAO 2010 Trang 94

Qui tc ca Paul (Paul principle): mt ngi trng thnh trong mt t chc, ti mt v tr s tr thnh c h trong 5 nm!

La chn ngi sao cho cn bng v ng thun (tp th hi ha, on kt) Ai khng thch hp trong i phi b loi

47

P-CMM model

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 95

Tm tt chng
Phn mm c con ngi vit ra. Hiu sut ca h ph thuc vo mt s yu t: ngn ng lp trnh, HH, phn cng, cng c. Mi trng t chc cng l mt yu t quan trng Hai kiu qun l
C nhn ch ngha C cu trc phn cp

Nm cch t chc nhm lm vic Nm nguyn tc c bn trong qun l nhn s. Bi tp: 1 6 trang 99
CNG NGH PHN MM TS. TRN CAO 2010 Trang 96

48

Chng 6 Qun l cht lng

1. Kim sot cht lng phn mm


Phn mm
Phc tp Thng thay i Cn phi theo di v nh gi cht lng c sp tha mn yu cu Thn trng trong qu trnh pht trin phn mm

Cht lng l g?
Nhng ngi khc nhau c quan im khc nhau
Mt ngi kim th h thng: ng theo c t yu cu Ngi dng: ph hp nht s dng Quality is the pursuit of excellent in everything

Tin : Cht lng ca sp da trn cht lng ca tin trnh lm ra sn phm. Quan im qun l cht lng
Sn phm qui trnh Tun th chun ci tin 4 cch tip cn cho vn cht lng
CNG NGH PHN MM

Chun cht lng


ISO CMM

Qun tr nh lng
2010 Trang 98

TS. TRN CAO

49

2. o lng (measures)
Php o (measurement): l mt nh x t th gii thc (th gii kinh nghim) vo mt th gii hnh thc.
o trc tip o gin tip ch :
Thuc tnh ca mt thc th Hm gn gi tr cho mt thuc tnh n v m gi tr c biu din Kiu thang o

S o: l mt con s gn cho mt thuc tnh ca mt thc th qua nh x .


C mt n v. C kiu thang o (scale type)

Thang o
Gi tn (nominal) Th t (ordinal): C Khong (interval): F T l (ratio): K Tuyt i: m s

Thuc tnh
Trong ngoi

o (metric)
Trong ton hc c ngha l khong cch gia 2 im Trong CNPM n c dng vi ngha lng lo

Mi thang o s cho php mt php ton no , mt s php ton l khng c ngha. V d ly trung bnh ca cc s o theo thang th t l khng c ngha.

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 99

3. Vn trong o lng phn mm


Th gii thc dng kim chng php o/ o.
Vd A cao hn B. php o S, xc nh S(A)>S(B) vy S l hp l.
A cao hn B l th gii thc hay cn gi l iu kin biu din.

Cc thuc tnh phn mm thng khng th o trc tip.


o gin tip thng qua cc o khc

Vn t hp cc o khc kiu thang o


Khi t hp nhiu o vo mt o mi, thang o ca o mi l thang yu nht trong cc thang o t hp. Vd: f(x,y), x c thang th t, y c thang tuyt i th f c thang th t

i vi phn mm, th gii thc khng r rng


Vd: phc tp PM? o bng s IF: Hai on code c s IF bng nhau l cng phc tp on code c nhiu IF hn l phc tp hn. ??? Php o hp l ???
CNG NGH PHN MM

TS. TRN CAO

2010

Trang 100

50

4. Phn loi cc thuc tnh cht lng


Cht lng l g?
IEEE: quality is defined as the degree to which a system, a component, or process meets customer or user needs or expectations. p dng vo PM: CLPM l mc tha mn ca ngi dng v: tnh chnh xc, tin cy, tnh dng c, d bo tr, d kim th, tnh kh chuyn
Product revision

Cc yu t cht lng PM theo McCall


Chnh xc (correctness) Product Tin cy (reliability) operation Hiu qu (efficiency) Ton vn (integrity) D dng (usability) D bo tr (maintainability) D kim th (testability) Mm do (flexibility) Kh chuyn (portability) D dng li (reusability) Tnh tng tc (interoperability)
2010 Trang 101

Product transition

CNG NGH PHN MM

TS. TRN CAO

McCalls Quality Factors

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 102

51

5. Cc tiu ch cht lng theo McCall


Minh bch: d kim chng (access audit) PM v d liu tun th chun Kim sot c (Access control) : c cc c ch kim sot v bo v PM, d liu Chnh xc (Accuracy) trong tnh ton v kt xut Tnh thng dng trong giao tip (Communication commonality) : protocole, interface D giao tip (communicativeness) vi cc h thng khc
CNG NGH PHN MM

C ng (consiseness) trong code Nht qun (consistency) trong thit k v k thut ci t; cc k hiu Tnh thng dng ca d liu (data commonality) Kh nng chu ng li (Error tolerance) Thc hin hiu qu (Execution efficiency) v thi gian D m rng (expandability)

TS. TRN CAO

2010

Trang 103

Cc tiu ch cht lng theo McCall (tt)


Tnh tng qut (generality): tnh bao trm cc ng dng v thnh phn tim tng c lp phn cng (Hardware independence) (c cng c) o lng (instrumentation): s ngi dng, nhn din li. M un ha (modularity) D thao tc (operability) Ti liu ha trc tip code, component (selfdocument)
CNG NGH PHN MM

n gin (simplicity): d hiu, trnh lm phc tp. c lp PM h thng: Hh, th vin Hiu qu lu tr (storage efficiency) Ln vt (traceability) D o to (training)

TS. TRN CAO

2010

Trang 104

52

McCalls Quality Criteria

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 105

6. Quan h gia cc tiu ch v yu t cht lng


Quality criteria
Traceability Completeness Consistency Accuracy Error tolerance Execution efficiency Efficiency Storage efficiency Access control Integrity Access audit Operability Training Communicativeness Simplicity Conciseness Instrumentation Selfdescriptiveness Expandability Flexibility Generality Portability Modularity Software system independence Machine independence Interoperability Communications commonality Data commonality Reusability Testability Maintainability Usability Reliability Correctness

Quality factors

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 106

53

7. o cht lng?
Ch quan:
c lng v nh gi ch quan cc tiu ch: cho im theo mt thang no vd 0..10 Ngi khc nhau cho im khc nhau

Vn o phc tp phn mm
McCall b qua phc tp (complexity) phc tp phn mm l kh hiu v kim chng thit k, ci t ca h thng hoc thnh phn (IEEE). McCall din gii phc tp qua: tnh d hiu, n gin, Mt s php o phc tp thng thng da trn source code v cu trc ca module.
2010 Trang 107

Khch quan
Chia nh cc tiu ch cht lng ra thnh cc tnh cht c th o c. Dng cc o khch quan o tng tiu ch thnh phn Thit lp cng thc tnh im cht lng
CNG NGH PHN MM

TS. TRN CAO

8. c im trong qun l cht lng


Cc tiu ch cht lng khng c lp m c tc ng ln nhau: c + v

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 108

54

9. ISO 9126
ISO c gng nh ngha cht lng theo lc phn cp: mi c tnh cht lng quan h vi 1 thuc tnh cht lng ISO ch trng vo sn phm phn mm v l cht lng ca qui trnh PM. Cc c tnh cht lng l nhn thy bi ngi dng ISO gii thiu mt s o nh lng cho cc c tnh cht lng Cc c tnh cht lng nh ngha trong ISO 9126:
Chc nng (functionality) Ph hp (suitability) Chnh xc (accuracy) Tng tc Bo mt tin cy (reliability) chn (maturity) Kh nng chu li (fault tolerance) Kh nng phc hi (recoverable) Tnh d dng (Usability) D hiu, hc D thao tc, hp dn Hiu qu (efficiency) Thi gian, ti nguyn Kh nng bo tr (maintainability) n nh (stability) Phn tch c (analyzability) Thay i c (changeability) Test c (testability) Kh chuyn (portability) Thch ng (adaptability) Ci t c (installability) Cng tn ti (co-existence) Thay th c (replaceability)
2010 Trang 109

CNG NGH PHN MM

TS. TRN CAO

The ISO 9126 Quality Characteristics

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 110

55

standard feature refinement


Quality characteristic Quality subcharacteristic
Suitability Accuracy Functionality Interoperability Security Maturity Reliability Fault tolerance Recoverability Understandability Usability Learnability Operability Time behavior Efficiency Resource behavior Analyzability Changeability Maintainability Stability Testability Adaptability Installability Portability Conformance Replaceability

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 111

Cc hot ng qun l cht lng


Quality assurance
Establish organisational procedures and standards for quality.

Quality planning
Select applicable procedures and standards for a particular project and modify these as required.

Quality control
Ensure that procedures and standards are followed by the software development team.

Quality management should be separate from project management to ensure independence.


CNG NGH PHN MM TS. TRN CAO 2010 Trang 112

56

10. Kim sot cht lng ?


Mi t chc c cch kim sot cht lng ring, mt h thng cht lng v kim sot cht lng ring
nh ngha cc c tnh cht lng Xc nh v m t cc thuc tnh ca mi c tnh cht lng Ch ra cc o (ch quan/khch quan) cc thuc tnh cch tng hp cc o ny thnh ch s cht lng.
CNG NGH PHN MM

Quality requirements that can not be quantified can not be controlled Tham kho trang 118-119 v tho lun ti lp
ngha ca mi c tnh v thuc tnh Cc thc o Cch tng hp cc o

TS. TRN CAO

2010

Trang 113

11. Qun l cht lng trong tin trnh PM

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 114

57

12. H thng cht lng


ISO 9000: chui cc chun cho cc h thng qun l cht lng
ISO 9000-1: hng dn cch chn v dng cc chun cho h thng qun l cht lng ISO 9001-9003: 3 m hnh cho h thng cht lng
ISO 9001: chun ph hp cho pht trin phn mm (c th dng trong k hp ng) ISO 9002: chun cho sx, ci t v phc v ISO 9003: chun cho kim tra, kim th (test).

20 Thnh phn trong ISO 9001:


1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Trch nhim qun l H thng CL Xt duyt HD Kim sot thit k Kim sot ti liu v d liu Mua bn Kim sot sp bn th 3 Nhn din v ln vt sp Kim sot tin trnh Thanh tra v test Kim sot thanh tra; dng c o v test Trng thi thanh tra v test
2010 Trang 115

CNG NGH PHN MM

TS. TRN CAO

Kim sot sp khng tun th chun Hot ng sa li v ngn nga Bun bn, lu tr, ng gi, bo qun, v giao hng Kim sot ghi chp v cht lng Kim tra /kim ton cht lng ni b o to Phc v K thut thng k
CNG NGH PHN MM

Chng ch ISO
Cn chun b t nht 1 nm C mt bn th 3 kim tra v cng nhn Thanh tra 6 thng/ln Phi lm li sau 3 nm Phi tn thi gian v tin ca.

TS. TRN CAO

2010

Trang 116

58

13. m bo cht lng PM (SQA)


Software quality assurance
m bo mi th theo ng

Mc tiu ca SQA
Ci tin cht long bng cch kim sot PM v qui trnh sx m bo tun th cc chun ra v th tc/qui trnh pht trin m bo mi th khng thch hp trong sp, qui trnh c qun l, kim sot v sa cha

C s mu thun trong mc tiu ca SQA v i pht trin SQA c hiu qu:


SQA phi c lp Sp SQA nghim tc i ng SQA gii v sng sut; c tinh thn hp tc. Hot ng kim sot v xc nhn cht lng phi da trn k hoch pht trin PM.

Ni dung qun l cht lng


Chun IEEE 730 IEEE 983: hng dn b sung IEEE 730.
2010 Trang 117

Ngi trong i SQA co trch nhim xem xt v xc nhn trng thi v cht lng
CNG NGH PHN MM

TS. TRN CAO

Cc ni dung chnh trong ti liu SQA theo IEEE 730


1. 2. 3. 4. 5. 6. 7. 8. 9. Mc tiu Ti liu tham kho Qun l Ti liu Cc chun, qui tc thc hnh, qui c, v o Xem xt v xc nhn cht lng Test Bo co s c v hat ng ngn nga Cng c, k thut v phng php lun 10. Kim sot code 11. Kim sot vic truyn thng 12. Kim sot nh cung cp 13. Tp hp s liu, sn lc v lu tr 14. o to, hun luyn 15. Qun l ri ro

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 118

59

14. M hnh CMM


Kim sot CL da trn SP: chm, b ng tng: Kim sot tin trnh thay v kim sot SP. 5 mc trng thnh cho qui trnh PM; mi mc
Key process areas Common features Key practices

Kinh nghim ch ra
T mc 1 2: 2 nm; 500$ 2000$/ngi 1$ ci tin qui trnh tit kim 5$. Mt s m hnh khc
PSP: dng cho cty nh, d n nh BOOTSTRAP SPICE
CNG NGH PHN MM TS. TRN CAO 2010 Trang 119

Tng kt chng
Khi nim CLPM S cn thit phi qun l cht lng Yu t cht lng ca McCall Cc tiu ch cht lng ca McCall Cc chun cht lng
ISO IEEE
CNG NGH PHN MM TS. TRN CAO 2010 Trang 120

M hnh mc trng thnh ca mt t chc, mt qui trnh PM:


CMM CMM-like

Bi tp: 1 140

16 trang

60

Chng 7: c lng gi thnh

1. Khi nim gi thnh


Cng sc (effort): tnh bng ngi-thng (hoc ngi-ngy) Gi thit: gi thnh t l vi cng sc pht trin phn mm. Gi thnh tnh da theo cng sc cho tt c cc giai on pht trin phn mm: khi u, phn tch, thit k, ci t, kim th. Giai on bo tr cha c tnh vo gi thnh PM.
CNG NGH PHN MM

Thng thng ngi ta tnh effort theo s dng lnh (LOC) Cng thc:
E = 2.7 KLOC1.05 KLOC = 1000 LOC

T E tnh gi thnh bng cch nhn vi mt hng s C = kE Vn c lng C tr thnh vn c lng E hoc LOC.

TS. TRN CAO

2010

Trang 122

61

2. Vn c lng gi thnh
c lng gi thnh khng n thun da trn k thut
lut Parkinson: work fills the time available u gi (Price to win) Cn bng cc rng buc khc v thi gian; v d deadline c lng gi thnh ch c gi tr tham kho thc t: d n cn 1 nm; nhng 10 thng l chp nhn c vy thc hin trong 10 thng

M hnh c lng gi thnh thng l m hnh thc nghim. Kt lun rt ra t d liu trong qu kh
Cch thc tin hnh thu thp d liu Tnh trung thc ca d liu Mi trng t chc khc nhau Thiu d liu phn tch

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 123

Estimation techniques
Algorithmic cost modelling Expert judgement A model based on historical cost information that relates some software metric (usually its size) to the project cost is used. An estimate is made of that metric and the model predicts the effort required. Several experts on the proposed software development techniques and the application domain are consulted. They each estimate the project cost. These estimates are compared and discussed. The estimation process iterates until an agreed estimate is reached. This technique is applicable when other projects in the same application domain have been completed. The cost of a new project is estimated by analogy with these completed projects. Myers (Myers 1989) gives a very clear description of this approach. ParkinsonsLaw states that work expands to fill the time available. The cost is determined by available resources rather than by objective assessment. If the software has to be delivered in 12 months and 5 people are available, the effort required is estimated to be 60 personmonths. The software cost is estimated to be whatever the customer has available to spend on the project. The estimated effort depends on the customers b udget and not on the software functionality.

Estimation by analogy

Parkinsons Law

Pricing to win

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 124

62

3. Cc m hnh c lng trc kia


M hnh tuyn tnh (Nelson 66) E = a0+a1x1+...+anxn ai l hng; xc nh bi d liu trong qu kh xi l cc yu t nh hng gi thnh. Theo m hnh Nelson th c 14 yu t:
Tnh khng n nh ca c t (0-2) Khng n nh ca thit k (03) t l cc tnh ton ton hc (%) t l cc ch th I/O (5) s chng trnh con (s) Dng NN cp cao (Y=0 / N=1) ng dng tc nghip (Y=0 / N=1) ...
CNG NGH PHN MM

M hnh Nelson cho thy mt hnh nh sm v cng sc.

Ma trn gi
Dng bng gi theo kh nh gi ch quan kh tng module ( kin chuyn gia) Tnh cost ca module C = Sk x Cij Sk l kch thc (c th l LOC) Cij l gi theo bng gi

TS. TRN CAO

2010

Trang 125

4. Cc m hnh mi
Dng tng qut:
E = (a+bKLOCc )f(x1,..xn) Trong : a,b,c l hng f(x1,..xn) l hm n bin ch n yu t nh hng n cost. Trung gian : E= 3 x KLOC1.12 p dng cho d n kh ln, c mt t kinh nghim Dng nhng: E= 3.6xKLOC1.20 p dng cho d n ln, mi trng mi

Dng c bn:
E = a+bKLOCc

Walson-Felix
E= 5.2 x KLOC0.91 Da trn 60 d n ca IBM C 29 yu t nh hng ti E

COCOMO (Boehm, 81): 3 dng c bn


Organic: E= 2.4 x KLOC1.05 p dng cho nhm nh, mi trng quen thuc
CNG NGH PHN MM

Halstead: E= 0.7 x KLOC1.5 KLOC tnh theo cng thc ca Halstead n1: s ton t phn bit n2: s ton hng phn bit N1: tng s ton t N2: tng s ton hng LOC tnh bng N= N1+N2 c lng bi: N= n1log2n1 + n2log2n2

TS. TRN CAO

2010

Trang 126

63

Cc m hnh mi (tt)
DeMarco
Tng t nh COCOMO c lng ln ca PM (software size) t cc chc nng c bn (Functional Primitive-FP). Cc chc nng c bn xc nh t DFD mc chi tit. Gi thit ca DeMarco:
Mi chc nng c phn tch nh 1 DFD Mi DFD din t mt chui cc php bin i Input thnh Output. Nh vy c mt s phn t (d liu) lin quan.

10 chc nng c bn theo DeMarco:


Nhp tch d liu (0.6) cp nht d liu (0.5) Phn tch d liu bng mt chui cc hnh ng (1.0) nh gi input trn giao din (0.8) kim tra tnh nht qun (1.0) Thao tc chui(1.0) ng b ha trong tng tc vi user (1.5) Sinh ra output (1.0) Tnh ton n gin (0.7) Tnh ton phc tp (2.0)

c lng cho mt php bin i: Size(FP) = k x TCFPx log2(TCFP) TCFP: s phn t lin quan trong php bin i k l mt hng

Tnh FP = iTCilog2TCi c lng E=aFPb


2010 Trang 127

CNG NGH PHN MM

TS. TRN CAO

Cc m hnh mi (tt)
Phn tch im chc nng (FPA-Albrecht)
Tng t nh DeMArco Thch hp cho cc PM tc nghip (HTTT QL) Tnh im chc nng (FP) cho mi chc nng cung cp cho ngi dng im chc nng tnh theo cu trc d liu bng cch tnh s kiu phn t c bn. C 5 kiu phn t c bn c m:
Input type (I): input t ngi dng x l hoc thay i format. Cc input iu khin CT khng c tnh Output type (O):Cc cu trc d liu c kt xut cho ngi dng
CNG NGH PHN MM TS. TRN CAO 2010 Trang 128

Inquiry type (E): cc truy vn yu cu h thng thc hin mt tc v s logical internal file (L): cc file kt xut ca HT trong qu trnh x l s interfaces (F): cc output i vo h thng khc

Tnh FP th da theo bng vd: UFP = 4I+5O+4E+10L+7F

64

FPA (TT)
Tnh phc tp (complexity level): da trn s file v phc tp (s fields) ca file:

Danh sch 14 yu t k thut:


Data communication Distributed function Performance Heavily used configuration Transaction rate Online data entry End-user efficiency Online update Complex processing Reusability Installation ease Operation ease Multiple site Facilitate change

Sau khi tnh UFP, tnh h s nh hng ca cc yu t k thut (14 technical factors). Mi yu t cho im t 0 (khng nh hng) ... 5 (nh hng ln nht). DI = TFi (i=1..14) TFi c gi tr t 0..5
CNG NGH PHN MM

Tnh im chc nng FP = UFPx(0.65+0.01DI)


2010 Trang 129

TS. TRN CAO

V d tnh FPA
c t: h thng qun l kho hng v thng tin khch hng Chc nng:
Cho php nhp m khch hng v cc chi tit khch hng ( tn ti hoc to mi). S khch hng ti a 100. Kim tra hng tn dng (credit rating) ca khch hng v t chi giao dch nu khch hng c hng tn dng thp. Cho php nhp cc mt hng c t hng. Kim tra lng hng trong kho xem c p ng yu cu
(Nu khng th to ra n hng cho nh cung cp, vic t hng ny l ngoi h thng). n t hng ca khch hng s c p ng khi khi c hng.

Cp nht lng hng trong kho v chi tit khch hng Lnh chuyn hng v ha n Cp nht lng hng trong kho theo cc lnh giao hng Cp nht k ton chi tit khch hng theo cc ln chi tr ca khch hng.
TS. TRN CAO 2010 Trang 130

CNG NGH PHN MM

65

Unadjusted Function Point Counting 5 transaction types


External Inputs External Outputs External Inquiries External Files:0 Internal Files

Function Point Complexity Weighting


Tt c u mc simple

Tinh UFP DI = 0 Tinh FP =0.65*UFP (tra LOC) E = 2.4 (KLOC) 1.05 Tinh T = 2.5*E0.38
TS. TRN CAO 2010 Trang 131

CNG NGH PHN MM

14 technical factors
1 2 3 4 5 6 7 8 9 10 11 12 13 14 Total
CNG NGH PHN MM TS. TRN CAO 2010 Trang 132

Does the system require reliable back up and recovery? Are data communication required Are there distributed processing functions? Is performance critical Will the system run in an existing, heavily utilized operating system Does the system require on-line entry? Does the on-line data entry require the input transaction to be built over multiple screen or operations? Are the master files updated on-line? Are the inputs, outputs, files, or inquiries complex? Is the internal processing complex? Is the code designed to be reusable Are the conversion and installation included in the design? Is the system designed for multiple installations in different organizations? Is the application designed to facilitate change and ease by the user?

66

5. COCOMO II
COCOMO II pht trin t COCOMO 81 C 3 m hnh
Application composition: p dng rt sm da trn s mn hnh, reports v 3GL (cc thnh phn th vin) c lng s b cost Early Design: ging FPA dng c lng da trn thit k Reuse Model: da trn LOC, tnh E tch hp code Post-Architecture: phin bn y nht, da trn LOC, tnh E.
CNG NGH PHN MM TS. TRN CAO 2010 Trang 133

Cc m hnh c lng COCOMO II

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 134

67

Application composition
1. c lng s pt c bn: screens, reports v 3GL components Xc nh phc tp ca tng pt c bn 3. 4. 5. Tnh im cho tng pt c bn (Object point) Tnh tng im ca ton b d n (Total Object Point TOP) Tnh Total object Point cho phn mi (b phn reuse) NOP = TOP x (100%reuse)/100 Xc nh hiu sut PROD (c n v l NOP/man-month). Hiu sut ny ph thuc vo kinh nghim, kh nng ca i pht trin v cng c Tnh effort E = NOP/PROD

2.

6.

7.

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 135

Early design
Dng im chc nng (UFP) nh l o c bn Qui i FPA sang KSLOC (dng bng): 1UFP = 91 SLOC pascal = 128 SLOC C = 29 SLOC C++ = 320 SLOC assembly - Dng 7 yu t tc ng gi thnh (cost drivers) E = a* KSLOCb (cost driveri)

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 136

68

Post architecture
Dng KSLOC nh o c bn Dng 15 yu t tc ng gi thnh (cost drivers) E = a* KSLOCb (cost driveri)

a, b l hng s thc nghim (B c tnh da trn 5 yu t theo cng thc

b= 1.01 + 0.01 Wi, trong Wi l trng s bin i t very low (5) ti extra high (0)

Precedentedness (PREC); Development flexibility (FLEX); Architecture/risk resolution (RESL); Team cohesion (TEAM); Process maturity(PMAT) CNG NGH PHN MM TS. TRN CAO 2010 Trang 137

15 cost drivers

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 138

69

nh hng ca cost drivers

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 139

6. Phn phi nhn lc theo thi gian


Mt d n c c lng l 20 man-months ngha l g? cn 20 ngi lm vic 1 thng cn 4 ngi lm 5 thng cn 1 ngi lm 20 thng Khng thc t, nhn lc khng phn phi u sut d n Da theo phn phi Rayleigh, Putnam a ra m hnh

c lng thi gian ca d n


Walston-Felix T= 2.5 E0.35 COCOMO organic T= 2.5 E0.38 COCOMO II (nominal schedule) T= 3.0 E0.33+ 0.2(b-1.01) Putnam T= 2.4 E1/3

0
0

p(t)dt = Effort td= 1/2a


CNG NGH PHN MM

Hiu sut trung bnh (theo Conte) L = 777P-0.5 (LOC) trong P l team size Gii hn ca thi gian pht trin: 75% thi gian c lng
2010 Trang 140

TS. TRN CAO

70

Putnam ManPower distribution Model

p(t) = 2.a.Effort.t . e-at


Initial Slope = 2.a.Effort a = speed-up factor

a = 1/2*td2

p(t)dt = Effort

0
CNG NGH PHN MM

td= 1/2a
TS. TRN CAO 2010 Trang 141

Tng kt chng
Cc m hnh c lng cost, effort v thi gian d n Cc m hnh da trn thc nghim trong cc mi trng khc nhau v vy s chnh lch l rt ln. Cc c lng mang gi tr tham kho tr gip quyt nh

Bi tp 7,8,10,12

CNG NGH PHN MM

TS. TRN CAO

2010

Trang 142

71

You might also like