Professional Documents
Culture Documents
n
g
q
u
t
h
a
C
h
u
y
n
b
i
t
h
a
22
Cc tnh cht ca HT
a tha k: mt lp con tha k t
nhiu lp cha khc nhau
Person
Personnel
Teacher
Student
Phd candidate
Reseacher
12
23
Cc tnh cht ca HT
a tha k
ng tn cc thuc tnh
a tha k khng c chp nhn bi mt
s ngn ng: Java
X
a
Y
a
Z
a ca X
a ca Y
24
Cc tnh cht ca HT
u im ca tha k
Phn loi cc lp: cc lp c phn
loi, sp xp theo mt th bc d
qun l
Xy dng cc lp: cc lp con c
xy dng t cc lp cha
Tit kim thi gian xy dng, trnh
lp li thng tin
13
25
Cc tnh cht ca HT
Tnh a hnh (polymorphism): ca phng thc, tc
l kh nng cc phng thc khc nhau c thc
hin tr li cng mt yu cu
Mi lp con tha k c t cc phng thc t lp
cha, v cc phng thc ny c th c sa i
trong lp con thc hin cc chc nng ring
trong lp
Mt phng thc (cng mt tn phng thc) c
nhiu dng (nh ngha) khc nhau trong cc lp
khc nhau
26
Cc tnh cht ca HT
V d tnh a hnh
aGic
dienTich()
HnhVung
dienTich()
HnhTamGic
dienTich()
14
27
Ni dung
Khi nim c bn hng i tng
Biu ca s dng
Thit k cu trc tnh
Thit k cu trc ng
Sinh m
28
Ca s dng (Use case)
Bc u tin ca phn tch yu cu
l xc nh cc ca s dng ca h
thng
Mt ca s dng l mt tng tc
gia h thng v mi trng
Tp hp cc ca s dng l m t ton
b h thng cn xy dng
15
29
Ca s dng
V d: pht trin mt phn mm tho
vn bn
Cc ca s dng c th:
Nhp vn bn mi
Sa vn bn tn ti
To mc lc
Chp on vn bn
30
Ca s dng
Mt ca s dng tng ng vi mt chc
nng ca h thng di gc nhn ca
ngi s dng
Mt ca s dng c th ln hoc nh
Mt ca s dng ch ra lm th no mt mc
tiu ca ngi s dng c tha mn
bi h thng
16
31
Ca s dng
Cn phn bit cc mc tiu ca ngi s dng v
cc tng tc ca h vi h thng
Mc tiu: ci m ngi s dng mong i
Tng tc: k thut cho php p ng mc tiu
V d
Mc tiu: c c mt vn bn trnh by p
Tng tc: chn nh dng trang, chn font ch, nh
ngha cc kiu tiu (heading),
Thc t, chng ta xc nh cc mc tiu trc, sau
chn tp hp cc tng tc p ng cc mc
tiu
32
Ca s dng
V d: cn xy dng mt h thng ATM cho php rt
tin
C th c vi tng tc chung trong mt kch bn sau:
a th vo
Nhp m PIN
Chn s tin rt
Khng nh s tin rt
Ly th ra
Ly tin
Ly phiu rt tin
Cc tng tc trn c l cc ca s dng khng ?
17
33
Ca s dng
Cu tr li: khng.
Ti sao ?
V chng hn Nhp m PIN khng p ng mt mc
tiu no ca ngi s dng.
Mc tiu ca ngi s dng l Rt tin, vy nn
l mt ca s dng.
34
Tc nhn (Actor)
Tc nhn ng vai tr mt ngi s dng hoc mt
thc th bn ngoi tng tc vi h thng
V d: Cn pht trin h thng tnh tin siu th
Cc tc nhn c th l: Khch hng, Ngi bn hng,
Ngi qun l, Kho hng
Cn phn bit: tc nhn (actor) v ngi s dng
(user)
Nhiu ngi s dng c th tng ng mt tc nhn:
nhiu ngi bn hng khc nhau ng cng vai tr
i vi h thng
Mt ngi s dng c th tng ng vi nhiu tc
nhn khc nhau: cng mt ngi c th ng thi
ng hai vai tr l ngi bn hng v ngi qun l
18
35
Tc nhn
Tc nhn khng nht thit lun lun l
con ngi
Tc nhn c th l mi trng, h
thng khc, thc th bn ngoi tng
tc vi h thng
V d
Kho hng l c th mt c s d liu
36
c t ca s dng
c t in hnh ca mt ca s dng:
Ca s dng: tn ca s dng thng bt u bi mt
ng t
Cc tc nhn: danh sch cc tc nhn lin quan
M t: tm tt cc x l cn thc hin
V d
Ca s dng: Mua hng
Cc tc nhn: Khch hng, Ngi bn hng
M t: Mt khch hng sau khi chn cc mt hng,
mang gi hng n quy thu tin. Ngi bn hng ghi nhn
cc mt hng, thng bo tng s tin, thu tin v tr tin
cn li cho khch hng. Khch hng mang hng i.
19
37
c t ca s dng
c t ca s dng c th thm:
Tham chiu (reference) n mc lin quan trong c t yu cu
iu kin trc v iu kin sau khi thc hin ca s dng
V d
Ca s dng: Mua hng
Cc tc nhn: Khch hng, Ngi bn hng
Tham chiu: R1.2, R2.3
iu kin trc: Ngi bn hng ng nhp thnh cng.
iu kin sau: Cc mt hng bn c ghi nhn v ghi
nhn thanh ton tin.
M t: Mt khch hng sau khi chn cc mt hng, mang gi
hng n quy thu tin. Ngi bn hng ghi nhn cc mt hng,
thng bo tng s tin, thu tin v tr tin cn li cho khch hng.
Khch hng mang hng i.
38
c t ca s dng
Ngoi ra, i vi mi ca s dng ta c th xy dng
mt kch bn (scenario) hnh ng m t cc s
kin xy ra
Kch bn: gm cc s kin chnh v cc s kin
ngoi l
Cc s kin chia lm hai lung
Lung tng ng vi cc tc nhn
Lung tng ng vi h thng
20
39
c t ca s dng
Cc s kin chnh
Hnh ng ca tc nhn Hnh ng ca h thng
1. Mt khch hng a
hng chn mua n quy
tnh tin.
2. Ngi bn hng ghi nhn
tng mt hng.
Nu mt mt hng c s
lng nhiu hn mt th
ngi bn hng c th nhp
vo mt s.
3. Xc nh mt hng, hin th
cc thng tin v gi mt hng.
S ny c hin th.
40
c t ca s dng
Cc s kin chnh (tip)
4. Sau khi ghi nhn tt
c cc mt hng, ngi bn
hng bo hiu kt thc vic
ghi nhn hng.
6. Ngi bn hng thng
bo tng s tin phi tr cho
khch hng.
7. Khch hng tr tin cho
ngi bn hng.
5. Tnh v hin th tng s
tin.
Hnh ng ca tc nhn Hnh ng ca h thng
21
41
c t ca s dng
Cc s kin chnh (tip)
8. Ngi bn hng nhp s
tin khch hng tr.
10. Ngi bn hng xc
nhn s tr tin, ly tin d
tr cho khch hng v a
cho khch hng phiu bn
hng.
12. Khch hng ri quy
thu tin vi ti hng
9. Hin th tin d v in phiu
bn hng
11. Ghi nhn phin bn hng.
Hnh ng ca tc nhn Hnh ng ca h thng
42
c t ca s dng
Cc s kin ph
7. Khch hng khng c
tin. Ngi bn hng hy
b vic bn.
3. S xc nhn mt hng
khng ng. Hin th li.
Hnh ng ca tc nhn Hnh ng ca h thng
Lu : nh dng c t cc ca s dng khng cn
thit phi cht ch.
22
43
Ca s dng giai on
Elaboration
Xc nh cng nhiu ca s dng mt cch c th
Khng i vo qu chi tit, nhm gim phc tp
Mt m t ngn gn v mi ca s dng l , c
th b qua phn kch bn, tham chiu n c t
yu cu, iu kin trc v iu kin sau.
Bo m rng cc ca s dng bao qut ht cc yu
cu ca h thng
44
Biu ca s dng
Biu ca s dng m t quan h gia cc
tc nhn v cc ca s dng ca mt h
thng.
K hiu
Tc nhn
Use case
Kt hp ch s
tham gia ca tc
nhn vo ca s dng
Gii hn ca
h thng
23
45
Biu ca s dng
V d
Ghi nhn
Mua hng
Tr hng
Khi ng
Ngi bn hng
Ngi qun l
Khch hng
46
Biu ca s dng
Cc tc nhn c th c quan h tha
k
V d
Khch hng
C nhn Cng ty
24
47
Quan h m rng
C th xy ra trng hp: mt ca s dng
tng t vi mt ca s dng khc, tuy
nhin n gm thm mt s hnh ng
V d
Ca s dng: Mua hng bng th tn dng
Cc tc nhn: Khch hng, Ngi bn hng
M t: Mt khch hng sau khi chn cc mt
hng, mang gi hng n quy thu tin. Ngi bn
hng ghi nhn cc mt hng, thng bo tng s tin.
Khch hng a th vo my v nhp m PIN. Khch
hng nhn phiu bn hng v mang hng i.
48
Quan h m rng
Ca s dng ny l mt bin th ca ca s
dng mua hng, tuy nhin thm vo cc
hnh ng lin quan n tr tin bng th
Ca s dng mua hng bng th tn dng
l mt s m rng ca ca s dng mua
hng
25
49
Quan h m rng
K hiu
Nu mt ca s dng kt hp vi mt tc
nhn, th tt c cc ca s dng m rng
u kt hp vi tc nhn
Mua hng Mua hng bng th
<< extends >>
Quan h m
rng
50
Quan h s dng
Trng hp nhiu ca s dng chia s cng mt dy
cc hnh ng. Nu phn chung l quan trng v
hng ti mt mc tiu r rng, nh th ta c th xy
dng mt ca s dng ring
V d: chng ta mun chp nhn mua hng tr tin
mt ln v mua hng tr gp
Hai ca s dng mua hng tr tin mt ln v mua
hng tr gp thc hin mt dy cc hnh ng m c
th c m t bi ca s dng ghi nhn cc mt
hng
26
51
Quan h s dng
c t ca ca s dng ghi nhn cc mt
hng
Ca s dng: ghi nhn cc mt hng
Cc tc nhn: ngi bn hng, khch hng
M t: Khch hng mang cc mt hng n
quy tnh tin. Ngi bn hng ghi nhn cc
mt hng v thng bo tng s tin phi tr.
52
Quan h s dng
K hiu
Mua hng tr
mt ln
Mua hng tr gp
<< use >>
Quan h s
dng
Ghi nhn
cc mt hng
<< use >>
Ngc vi quan h m rng, cc ca s dng trong quan h s dng khng
nht thit kt hp vi cng tc nhn.
27
53
Cch xc nh cc ca s
dng
Phng php phng vn
Kh khn, v hai ngi khc nhau c
phng vn c th a ra kin khc nhau
Phng php hi tho (workshop)
Tp hp tt c nhng ai lin quan n h
thng tho lun: cc nh tin hc v khch
hng (ngi s dng)
Mi ngi u a ra kin
54
Cch xc nh cc ca s
dng
Cch tin hnh hi tho
Lit k tt c cc tc nhn c th
Lit k tt c cc ca s dng c th
Phn tch, bin chng mi ca s dng
bng cch vit ra mt m t n gin
M hnh ha cc ca s dng v tc
nhn
28
55
Cch xc nh cc ca s
dng
Khuyn khch
Khng nn c gng tm mi ca s
dng,
Trong qu trnh pht trin cc ca s dng
s l din dn
Nu khng th bin chng cho mt ca
s dng
C th khng phi l ca s dng
56
Sp xp cc ca s dng
Khi tt c cc ca s dng c xc nh
Tin trnh pht trin gm nhiu bc lp
Mi bc lp thc hin thit k, m ha v
kim th ch mt vi ca s dng
Lm sao chia cc ca s dng vo cc bc
lp?
29
57
Sp xp cc ca s dng
Lp 1 Lp 2 Lp 3
A
B
C
D
Cc ca s dng
58
Sp xp cc ca s dng
Cc ca s dng nn c thc hin trc
Cc ca s dng cha cc ri ro/nguy c
Cc ca s dng kin trc chnh
Cc ca s dng i hi nghin cu mi,
cng ngh mi
Cc ca s dng m khch hng quan tm
hn
30
59
Bi tp 1
My rt tin ATM c cc chc nng chnh nh sau:
Cp pht tin cho nhng ai c th ngn hng (cho
php rt mt s lng tin bi h thng thng tin ca
ngn hng) v nhng ai c th VISA (cho php t xa
bi h thng VISA)
Cho xem kim tra s tin ti khon v b tin vo ti
khon bng tin mt hoc ngn phiu i vi nhng
ai c th ngn hng
Tt c cc giao tc u c kim tra an ton
Kim tra m PIN
M PIN nhp sai 3 ln th th s b nut
Cn phi thng xuyn np tin vo my, ly ngn phiu v
cc th b nut ra
Xc nh cc tc nhn, cc ca s dng v v biu ca s
dng
60
Bi tp 1
Cc tc nhn
Ngi c th ngn hng (bankcard)
Ngi c th VISA (VISAcard)
Ngi vn hnh my (operator)
H thng VISA (VISA)
H thng thng tin ngn hng (bank)
31
61
Bi tp 1
Cc ca s dng
Rt tin vi th ngn hng (withdraw by bankcard)
Rt tin vi th VISA (withdraw by VISAcard)
Kim tra m PIN (identify)
Xem s tin cn trong ti khon (balance)
B tin vo ti khon bng ngn phiu hoc tin mt
(deposit)
Np tin vo my (put money)
Ly th b nut trong my (get cards)
Ly ngn phiu trong my (get cheques)
62
Bi tp 1
VISAcard
withdraw with VISA card
VISA
bankcard
withdraw with bank card
balance
deposit
deposit by cheque deposit by cash
bank
identify
<<extend>>
<<include>>
32
63
Bi tp 1
operator
put cash
get cards
get cheques
64
Bi tp 2
Qun l o to nhn vin: Mt cng ty mun m t bng UML
vic o to nhn vin tin hc ha mt s cng vic. Vic o
to c bt u khi ngi qun l o to nhn c yu cu
o to ca mt nhn vin. Nhn vin ny c th xem danh mc
cc chuyn o to ca cc n v o to k kt vi cng ty.
Yu cu ca nhn vin c xem xt bi ngi qun l o to v
ngi qun l s tr li l chp nhn hay t chi ngh . Trong
trng hp chp nhn, ngi qun l s xc nh chuyn ph
hp trong danh mc cc chuyn , sau gi cho nhn vin ni
dung ca chuyn v danh sch cc kha o to. Nhn vin s
chn kha o to v ngi qun l s ng k kha hc vi n
v o to cho nhn vin. Trong trng hp mun hy b ng k
kha o to, nhn vin phi thng bo sm cho ngi qun l
bit ngi qun l thc hin hy b. Cui kha o to, nhn
vin chuyn phiu nh gi kt qu hc v cho cng ty. Ngi
qun l s kim tra ha n thanh ton tin ca n v o to.
Xy dng biu ca s dng.
33
65
Ni dung
Khi nim c bn hng i tng
Biu ca s dng
Thit k cu trc tnh
Thit k cu trc ng
Sinh m
66
Cu trc tnh
M hnh khi nim
Biu lp
Biu i tng
34
67
M hnh khi nim
Xc nh cc khi nim quan trng trong h thng
M hnh khi nim (conceptual model) m t cc khi
nim trong cc quan h ca chng
UML khng cung cp m hnh khi nim, tuy nhin
cung cp k hiu v c php biu din m hnh
chnh l biu lp
giai on ny, m hnh khi nim cn c gi biu
lp phn tch (analysis class diagram) lu , khc
vi biu lp thit k (design class diagram)
Ngoi ra, m hnh khi nim cng cn c gi l m
hnh lnh vc (domain model)
68
M hnh khi nim
M hnh khi nim gm:
Cc khi nim ca lnh vc nghin cu
Cc thuc tnh v cc thao tc ca cc
khi nim ny
Cc quan h ca cc khi nim ny
Mt khi nim l biu din mc cao (tru
tng) v mt s vt
Mt khi nim l mt phn t ca lnh vc
nghin cu, ch khng phi mt phn t
ca phn mm hay h thng
35
69
M hnh khi nim
Trong m hnh khi nim, chng ta s nm bt cc khi
nim nhn bit bi khch hng
V d cc khi nim ng: khi nim gn lin vi vn
Thang my trong h thng iu khin thang my
V my bay trong h thng t v my may
t hng trong h thng mua bn hng qua mng
V d ti v khi nim: khi nim gn lin vi gii php
DanhSachKhachHang bng cc khch hng
EventTrigger tin trnh thc hin duyt h thng 10 pht
mt ln
70
M hnh khi nim
Lm sao bit c mt khi nim l ng
hay khng?
Nguyn tc: Nu khch hng khng hiu
khi nim, rt c th khng phi l
khi nim
M hnh khi nim s c chuyn dn
sang biu lp thit k trong giai on
xy dng
36
71
Xc nh cc khi nim
xc nh cc khi nim, da vo
c t yu cu, m c th hn l da
vo cc ca s dng
V d: ca s dng mua hng
Cc khi nim c th: KhchHng,
NgiBnHng, TnhTin, MuaHng,
MtHng,
72
Xc nh cc khi nim
Mt s ng c vin ca khi nim t c t
hoc ca s dng:
Cc i tng vt l (xe t)
Cc v tr, a im (nh ga)
Cc giao tc (thanh ton)
Cc vai tr ca con ngi (ngi bn)
Cc h thng khc bn ngoi (c s d liu t xa)
Danh t tru tng (s kht, n ung)
Cc t chc (i hc)
Cc s kin (cp cu)
Nguyn tc/chnh sch
37
73
Xc nh cc khi nim
Cch khc xc nh cc khi nim
Cc danh t v cm danh t trong c t yu cu
hoc c t ca s dng c th l cc khi nim
Da vo hiu bit v kinh nghim loi b cc danh t
v cm danh t khng l cc khi nim
V d: da vo kch bn ca s dng mua hng
Gch chn cc danh t v cm danh t
74
Xc nh cc khi nim
V d
Hnh ng ca tc nhn Hnh ng ca h thng
1. Mt khch hng a
hng chn mua n quy
tnh tin.
2. Ngi bn hng ghi nhn
tng mt hng.
Nu mt mt hng c s
lng nhiu hn mt th
ngi bn hng c th nhp
vo mt s.
3. Xc nh mt hng, hin th
cc thng tin v gi mt hng.
S ny c hin th.
38
75
Xc nh cc khi nim
V d
4. Sau khi ghi nhn tt
c cc mt hng, ngi bn
hng bo hiu kt thc vic
ghi nhn hng.
6. Ngi bn hng thng
bo tng s tin phi tr cho
khch hng.
7. Khch hng tr tin cho
ngi bn hng.
5. Tnh v hin th tng s
tin.
Hnh ng ca tc nhn Hnh ng ca h thng
76
Xc nh cc khi nim
V d
8. Ngi bn hng nhp s
tin khch hng tr.
10. Ngi bn hng xc
nhn s tr tin, ly tin d
tr cho khch hng v a
cho khch hng phiu bn
hng.
12. Khch hng ri quy
thu tin vi ti hng
9. Hin th tin d v in phiu
bn hng
11. Ghi nhn phin bn hng.
Hnh ng ca tc nhn Hnh ng ca h thng
39
77
Xc nh cc khi nim
Phn bit gia khi nim (concept) v thuc tnh (attribut)
Nu mt phn t ca lnh vc nghin cu khng l mt con
s hoc mt chui k t th c th l mt khi nim
V d: Cn xy dng phn mm qun l cc chuyn bay.
ch ca mt chuyn bay l thuc tnh ca mt chuyn bay
hay l mt khi nim khc ?
Tr li: ch mt chuyn bay l mt sn bay, khng phi l
mt con s hay vn bn, l mt khi nim
78
Xc nh cc khi nim
Lp MT
Lp MT l lp cha thng tin m t cc
i tng khc
V d: Lp MtHng cha cc thng tin v Mt
Hng
MtHng
mMH
tnMH: text
gi
sXri
muSc
Phng n 1 (cha tt)
40
79
Xc nh cc khi nim
Lp MT
MtHng
sXri
muSc
Phng n 2 (tt hn)
MTMtHng
mMH
tnMH: text
gi
*
1
c m t
80
Xc nh cc khi nim
Lp MT
Khi no s dng lp MT
Khi cn gim bt s d tha, trng lp thng tin
Khi cn m t v i tng c lp vi cc i
tng c th
Khi cn cn duy tr thng tin v i tng cho d
cc i tng c th b xa
41
81
Xc nh cc khi nim
Lp MT
V d: trong lnh vc hng khng, cn m t
quan h gia cc chuyn bay v cc sn
bay
ChuynBay
ngy
gi
sHiu
SnBay
tn
*
1
Bay n
Phng n 1
82
Xc nh cc khi nim
Lp MT
MTChuynBay
sHiu
SnBay
tn
*
1
Bay n
Phng n 2
ChuynBay
ngy
gi
*
1
42
83
Biu din khi nim
S dng k hiu ca biu lp
MtMtHng
Khi nim
Cc thuc tnh
Cc thao tc
(cha xt n
giai on ny)
84
Thuc tnh
Cc thuc tnh (attribut) ca mt khi nim biu din
d liu cn thit cho cc th hin (instance) ca khi
nim
V d
MtMtHng
Khi nim
Cc thuc tnh
m
tn: text
Kiu (khng bt buc)
43
85
Thuc tnh
Mt thuc tnh ch i din cho cc d liu lin quan
n khi nim s hu thuc tnh
V d
NgiBnHng
tn
sQuy
NgiBnHng
tn
Quy
s
Sai
ng
86
Thuc tnh
Cch xc nh cc thuc tnh
Cc con s v chui k t l cc thuc tnh
Nu mt tnh cht ca mt khi nim khng
th lm c iu g th rt c th l
thuc tnh
Nu nghi ng mt thuc tnh l khi nim, th
n gin hy coi l khi nim
V d: lng l thuc tnh hay khi nim so vi
khi nim cng nhn ?
Nu nghi ng l khi nim th coi nh lng v
cng nhn l hai khi nim tch ri
44
87
Thao tc
Khi nim c th c cc thao tc (operation)
Thao tc ca khi nim chnh l kh nng
thc hin ca mt th hin ca khi nim
V d
MtHngBn
Khi nim
Cc thuc tnh
ngy
giBtu: Time
tngTin(): Integer
Thao tc
88
Thao tc
giai on elaboration, m hnh khi nim
c th khng nht thit phi m t cc
thao tc ca khi nim
Giai on construction s thc hin cng
vic ny mt cch chi tit v y
45
89
Kt hp
Kt hp (association) biu din quan h gia cc th
hin ca cc khi nim
V d: kt hp cha gia khi nim ca hng v khi
nim mt hng
K hiu
CaHng MtHng
Cha >
Kt hp
90
Kt hp
C th tn ti kt hp ca nhiu hn hai khi nim
V d
Person Company
function
Profession
work employ
46
91
Kt hp
Bi s (multiplicity) ca vai tr ch ra s th hin c
th ca quan h tham gia vo quan h
Cc bi s c th
1: ch ng mt
1..*: t mt n nhiu
*: t 0 n nhiu
m..n: t m n n
V d
MtHng CaHng
1 *
Cha >
92
Hn ch kt hp
(qualificator)
Gim s th hin tham gia vo mt kt hp
K hiu
Mi th hin A vi gi tr key xc nh mt tp con cc
th hin B tham gia vo kt hp
B A
key
qualificator
47
93
Hn ch kt hp
(qualificator)
V d
Phn bit cc sinh vin hc ti mt i hc da vo
m s sinh vin
Phn bit cc mt hng thuc vo mt danh mc mt
hng da vo m s mt hng
SinhVin iHc
N
o
sinh vin
MtHng DanhMcMtHng
ID
94
Chuyn bit ha
Mt khi nim c th v c bn ging vi mt khi
nim khc, ch c mt vi s khc nhau trn mt s
tnh cht (thuc tnh, thao tc, cc kt hp)
Khi nim th nht c gi l chuyn bit ha
(specialization) ca khi nim th hai
Khi nim th nht c gi l khi nim chuyn bit
ha (specialized concept), khi nim th hai c gi
l khi nim chung (general concept)
48
95
Chuyn bit ha
K hiu
general concept
specialized concept
specialized concept
96
Tha k
Khi nim chuyn bit ha tha k (inheritance) tt c
cc tnh cht ca ca khi nim chung. Cc tnh cht
ny bao gm:
Cc thuc tnh
Cc thao tc
Cc kt hp vi khi nim khc
49
97
Tha k
V d
Cc khi nim ThanhTonBngTinMt v
ThanhTonBngTh u c thuc tnh tng v kt
hp thanh ton vi khi nim PhinBnHng
ThanhTon
tng: Integer
ThanhTonBngTinMt ThanhTonBngTh
PhinBnHng
1 1 thanh ton >
98
Khi nim tru tng
Tng t nh lp, khi nim tru tng khng c cc
th hin
Lu , trong ti liu vit tay c th vit {abstract} di
tn khi nim tru tng
ThanhTon
tng: Integer
ThanhTonBngTinMt ThanhTonBngTh
PhinBnHng
1 1 thanh ton >
Khi nim tru tng
c vit in nghing
50
99
Quan h hp thnh v quan
h kt tp
Quan h hp thnh (composition) v quan h kt
tp (agregation) l hai kt hp c bit ch s s
hu
Quan h hp thnh: mt khi nim thnh phn ch
thuc vo mt khi nim ton phn
Quan h kt tp: mt khi nim thnh phn c th
thuc vo nhiu khi nim ton phn
TonPhn
MtPhn
TonPhn MtPhn
100
Quan h hp thnh v quan
h kt tp
V d
Mt th hin ca Point khng th ng thi thuc
vo mt th hin ca Triangle v mt th hin ca
Circle
Point
Triangle
Style
color
isFilled
Circle
radius
1 3
1 1
51
101
Quan h hp thnh v quan
h kt tp
Quan h hp thnh nhn mnh s s hu: nu khi
nim ton phn b hy b th khi nim thnh phn
cng b hy b theo
Trong trng hp, th t ca cc khi nim thnh
phn l quan trng, th thm vo kt hp iu kin
{ordered}
V d
Polygon
Point
3..*
{ordered}
102
Khi nim kt hp
C th m t cc tnh cht ca mt kt hp
gia hai khi nim bi mt khi nim kt
hp (association concept)
V d
employ
Person
work
Company
1..* *
Employment
begin, end: Date
Khi nim kt hp
52
103
Bi tp 1
Xy dng m hnh khi nim ca h
thng/phn mm bn hng ti siu th
Phn mm bn hng s dng ti siu th
nhm gip ghi nhn hot ng bn hng, x
l cc thanh ton vi khch hng. Phn
mm c s dng bi ngi bn hng v
c qun l bi ngi qun l siu th.
Phn mm nhm t ng ha cng vic ca
ngi bn hng ti quy thu tin.
104
Bi tp 1
ThanhToan
PhienBanHang
KhchHng
NgiBn
DongHang
DanhMucMatHang
CuaHang
NguoiQuanLy
1
1
1
1
1
1
1
1..*
*
1..* 1
1
1
1
NhnVin
MatHang
* 1
QuayTinhTien
1
*
HeThongBanHang
1
1..* 1
1..*
1
*
MoTaMatHang
*
1
1
*
53
105
Bi tp 2
Qun l o to trung tm tin hc: Mt cng ty mun m t
bng UML vic o to nhn vin tin hc ha mt s cng vic.
Vic o to c bt u khi ngi qun l o to nhn c
yu cu o to ca mt nhn vin. Nhn vin ny c th xem
danh mc cc chuyn o to ca cc n v o to k kt vi
cng ty. Yu cu ca nhn vin c xem xt bi ngi qun l
o to v ngi qun l s tr li l chp nhn hay t chi
ngh . Trong trng hp chp nhn, ngi qun l s xc nh
chuyn ph hp trong danh mc cc chuyn , sau gi cho
nhn vin ni dung ca chuyn v danh sch cc kha o to.
Nhn vin s chn kha o to v ngi qun l s ng k kha
hc vi n v o to cho nhn vin. Trong trng hp mun hy
b ng k kha o to, nhn vin phi thng bo sm cho ngi
qun l bit ngi qun l thc hin hy b. Cui kha o to,
nhn vin chuyn phiu nh gi kt qu hc v cho cng ty.
Ngi qun l s kim tra ha n thanh ton tin ca n v o
to.
Xy dng biu m hnh khi nim.
106
Biu lp
Biu lp nh ngha:
Cc lp (class)
Cc thuc tnh (attribut) ca lp: cc
bin v kiu ca chng
Cc thao tc (operation) ca lp: cc
phng thc (method), cc tham i v
c th gi tr tr v
Cc quan h gia cc lp
54
107
Biu lp
Biu lp c cng quy tc c php vi m hnh khi
nim
Thc ra, m hnh khi nim s dng cc c php ca
biu lp trong UML
Tt c cc k hiu v quy tc ( trnh by) i vi
m hnh khi nim u c s dng xy
dng biu lp
Biu lp c xy dng da trn m hnh khi
nim
Cc lp c th ch yu l cc khi nim hoc cc
thnh phn khc
Biu lp s l nn tng cho bc m ha
108
Biu lp
i vi biu lp, mi thuc tnh hay mi phng
thc c th c thm mc kh kin kh nng nhn
thy (visibility)
K hiu
mc ring (priviate), thuc tnh hay phng thc
ch c nhn thy bi i tng ca lp
# mc bo v (protected), thuc tnh hay phng
thc ch c nhn thy bi i tng ca lp v
i tng ca cc lp tha k lp
+ mc chung (public), thuc tnh hay phng thc
ch c nhn thy bi i tng ca tt c cc lp
55
109
Biu lp
V d
Shape
origin : Point
+ setOrigin(p : Point)
+ getOrigin() : Point)
+ move(p : Point)
+ resize(s : Scale)
+ display()
# pointInShape(p : Point) : Boolean
Tn lp
Thuc tnh
Phng thc
110
Biu lp
Thuc tnh dn xut (derived attribut) l cc thuc tnh
ca biu lp m c th suy ra t cc thuc tnh
khc.
K hiu: thuc tnh dn xut bt u bi /, mt rng
buc c th i km gii thch s dn xut
V d
Person
name
birthDate
/ age
Thuc tnh dn xut
{age = CurrentDate birthDate}
Rng buc
56
111
Biu lp
Cc quan h gia cc lp
Quan h kt hp (association)
Quan h chuyn bit ha/tng qut ha
(specialization/generalization)
Quan h hp thnh (composition)
Quan h kt tp (agregation)
Quan h ph thuc (dependence)
112
Biu lp
Quan h kt hp (association)
Quan h chuyn bit ha/tng qut ha
(specialization/generalization)
MtHng QuyHng
1 *
Cha >
Quan h kt hp
NgiQunL NgiBnHng
Quan h tng qut ha
NhnVin
57
113
Biu lp
Quan h kt tp (agregation)
Quan h hp thnh (composition)
DanhMcMtHng MtHng
*
1
Quan h
Company Person
*
0..*
Quan h
114
Biu lp
Quan h ph thuc (dependence): m t
mt lp ph thuc vo lp khc
V d
Point Circle
Quan h ph thc
center : Point
58
115
Biu lp
V d: chuyn i m hnh khi nim
thnh biu lp
Gi s m hnh khi nim
ThanhTon
ThanhTonBngTinMt ThanhTonBngTh
PhinBnHng
1 1 thanh ton >
116
Biu lp
Chi tit cc thuc tnh
ThanhTon
tng : Integer
ThanhTonBngTinMt ThanhTonBngTh
PhinBnHng
1 1 thanh ton >
59
117
Biu lp
Chi tit cc phng thc
ThanhTon
tng : Integer
ThanhTonBngTinMt
nhnTin()
ThanhTonBngTh
trVoTh()
PhinBnHng
tnhTng() : Integer
1 1 thanh ton >
118
Biu lp
Xc nh cc mc kh kin
ThanhTon
# tng : Integer
ThanhTonBngTinMt
+ nhnTin()
ThanhTonBngTh
+ trVoTh()
PhinBnHng
+ tnhTng() : Integer
1 1 thanh ton >
60
119
Ni dung
Khi nim c bn hng i tng
Biu ca s dng
Thit k cu trc tnh
Thit k cu trc ng
Sinh m
120
Cu trc ng
Biu tng tc
Biu tun t
Biu cng tc
61
121
Biu tng tc
Biu tng tc m t hnh vi ca h thng
Mi biu tng tc tng ng mt tc v c
thc hin bi mt s cc i tng
Biu tng tc xy dng da trn nn tng ca
biu hot ng v biu trng thi
Biu tng tc m t cc hnh ng ca cc i
tng thc hin mt tc v. Cc hnh ng ca
i tng bao gm:
gi cc thng ip (message) gia cc i tng
to (create) v hy (destroy) cc i tng
122
Biu tun t
Biu tun t (sequence diagram) biu
din s tng tc gia cc i tng bng
vic nhn mnh th t trao i thng ip
gia cc i tng
Biu tun t gm:
cc i tng
cc thng ip trao i gia cc i tng
62
123
Biu tun t
Mi i tng c mt ng sinh tn (lifeline) biu din
thi gian tn ti ca n.
K hiu
object object:Class :Class
i tng
ng sinh tn
124
Biu tun t
Thi gian hot ng (activation) l
thi gian m i tng ang thc
hin mt thao tc
K hiu
object
Thi gian hot ng
63
125
Biu tun t
Mt thng ip c t trao i gia
cc i tng
Cc loi thng ip
Gi (call)
Tr v (return)
Gi (send)
To (create)
Hy (destroy)
126
Biu tun t
Thng ip gi gi mt phng thc/thao tc trn i tng
i tng gi phi i thng ip c thc hin kt thc
mi c th thc hin cng vic khc (thng ip ng b)
Mt i tng c th gi thng ip cho chnh n
K hiu
object A object B
message()
object
Gi thng ip gi Gi cho chnh n
64
127
Biu tun t
Thng ip tr v tr v mt gi tr
cho i tng gi
K hiu
Object A Object B
message()
Thng ip tr v
value
128
Biu tun t
Thng ip gi gi mt tn hiu n mt i tng
Khc vi thng ip gi, khi i tng gi thng ip
gi n khng ch i, m tip tc thc hin cng vic
khc (thng ip khng ng b)
K hiu
object A object B
message()
Thng ip gi
65
129
Biu tun t
Thng ip to gi phng thc to mt i tng
Thng ip hy gi phng thc hy mt i tng
K hiu
object A
object B
<<create>>
Thng ip to
<<destroy>>
Thng ip hy
130
Biu tun t
V d
:A
:B
<<create>> msg1
msg2
msg3
public class A
{
private B objB;
public void msg1()
{
objB = new B();
objB.msg2();
objB.msg3();
}
}
public class B
{
if (x <> 0) then x := 1;
y := 1/x;
Ph tt c cc nh khng pht hin c pht hin li
26
51
Kim th da trn TLK
Ph tt c cc cung
Ph tt c cc cung t nht mt ln
ph tt cc gi tr ng sai ca mt biu thc l-gc
ph tt c cc cung ko theo ph tt c cc nh
if ((a < 2) and (b = a))
then
x := 2 -a
else
x := a -2
D liu th DT1 = {a=b=1} v DT2 = {a=b=3} tha mn ph
tt c cc cung, nhng khng ph tt c cc quyt nh,
chng hn DT3 = {a=3, b=2}
52
Kim th da trn TLK
Ph tt c cc quyt nh
Ph tt c cc quyt nh c tha mn khi:
tiu chun ph tt c cc cung c tha mn v
mi biu thc con ca biu thc iu kin c th
vi tt c cc gi tr c th
Nu (a AND b)
a = b = true
a = b = false
a = true, b = false
a = false, b = true
27
53
Kim th da trn TLK
Ph tt c cc quyt nh
D liu th
DT1 = {a = b = 1}
DT2 = {a = 1, b = 0}
DT3 = {a = 3, b = 2}
DT4 = {a = b = 3}
54
Kim th da trn TLK
Ph tt c cc quyt nh
Hn ch
Khng pht hin li trng hp khng thc thi
vng lp
read(inf, sup);
i := inf;
sum:= 0;
while(i <= sup) do
begin
sum:= sum+ a[i];
i := i + 1;
end;
writeln(1/sum);
D liu th DT1 = {a[1]=50, a[2]=60, a[3]=80, inf=1, sup=3} ph
tt c cc cung/quyt nh, nhng khng pht hin li
28
55
Kim th da trn TLK
Ph tt c cc l trnh
Mi l trnh phi c thc thi t nht mt
ln
Gp kh khn khi s ln lp v hn
Ch thc hin mt s ln lp nht nh
Hoc ch thc hin hai loi l trnh
cc l trnh vt qua vng lp nhng khng lp
cc l trnh ch lp n ln (chng hn n = 1)
56
Kim th da trn TLK
Ph tt c cc l trnh
D liu th
DT1 = {a[1]=50, a[2]=60, a[3]=80, inf=1, sup=3}
DT2 = {a[1]=50, a[2]=60, a[3]=80, inf=3, sup=2}
29
57
Kim th da trn TLK
Bi tp
Xy dng d liu th tha mn cc tiu chun
ph tt c cc nh
ph tt c cc cung
ph tt c cc l trnh
if n 0 then
n := 1-n
end;
if (n mod 2) = 0
then
n := n / 2
else
n := 3*n + 1
end ;
write(n);
58
Kim th da trn TLK
Bi tp
Xy dng d liu th tha mn cc tiu chun ph
tt c cc l trnh
function goodstring(var count : integer) : boolean;
var ch : char;
begin
goodstring := false;
count := 0;
read(ch);
if ch = a then
begin
read(ch)
while(ch = b) or (ch = c) do begin
count := count + 1;
read(ch);
end;
if ch = x then goodstring = true;
end;
end;
1
Qun tr d n phn
mm (10)
Nguyn Thanh Bnh
Khoa Cng ngh Thng tin
Trng i hc Bch khoa
i hc Nng
2
Ti sao qun tr d n ?
Qun tr d n l cn thit thc hin phn mm
ng tin
gim chi ph
t c mc tiu
Qun tr d n l rt quan trng v
d n phn mm phc tp
s thay i thng xuyn xut hin trong qu trnh
pht trin
cn m bo cc rng buc
thi gian
chi ph
ngn ti nguyn
2
3
Cc hot ng qun tr d
n
Lp k hoch
xc nh cc hot ng cn thc hin
Lp lch
lp lch cho cc hot ng, m bo ng tin
T chc
chn la, nh gi, phn cng cng vic cho cc
thnh vin
nh gi
c lng chi ph,
nhn lc,
ngun ti nguyn cn thit
4
Cc hot ng qun tr d
n
Lnh o
a ra cc quyt nh
m bo s hp tc ga cc thnh vin trong nhm
Gim st
kim tra tin
gim st chi ph/nhn lc
Hiu chnh
c cc bin php hiu chnh cn thit nu d n b
chm tr
Lp bo co
vit cc bo co, trnh by
3
5
Lp k hoch
Qun l hiu qu d n ph thuc vo k
hoch
c thc hin trong sut qu trnh thc
hin d n
Lp k hach bao gm xc nh:
cc mc tiu
cc rng buc
cc cng vic cn thc hin t mc tiu
cc mc quan trng (milestones)
cc sn phm to ra
6
Lp k hoch
Bt u
Xc nh cc mc tiu v rng buc
Thc hin nh gi ban u
Xc nh cc cng vic, mc quan
trng, cc sn phm
Lp lch cho cc cng vic
Thc hin theo lch
D n kt thc ?
Kt thc
Kim tra li cc
nh gi
Cp nht li lch
s
4
7
Lp k hoch
Xc nh cc mc tiu v rng buc
Xc nh mc tiu
mc tiu chung ca d n
cc chc nng c bn m phn mm phi p ng
yu cu v cht lng
Cc rng buc
ngy giao sn phm
nhn s
ngn sch cho php
thit b, phn cng
phng thc giao tip vi khch hng
...
8
Lp k hoch
nh gi ban u
nh gi ban u cc tham s ca d n
cu trc
kch thc
chi ph
phn tch cc chc nng ca phn mm
nhn cng
nhn lc yu cu
5
9
Lp k hoch
Xc nh cc cng vic, mc quan trng, cc
sn phm
Cc mc quan trng (milestones)
cc bc hon thnh quan trng ca d n
V d: thm nh c t yu cu, thm nh thit k
cc mc quan trng cho php gim st c tin
Xc nh cc sn phm (delivrables) trong cc bc
bn giao cho khch hng
c t yu cu
nguyn mu
thit k giao din ngi dng
...
10
Lp k hoch
Xc nh cc cng vic, mc quan trng, cc
sn phm
D n cn phi chia thnh cc cng vic
(task/activity)
Cc cng vic khng nn qu nh
mi cng vic nn ko di khong 2 tun
Mi cng vic tip tc c chia thnh cc
cng vic con d dng x l
Mt cng vic con d dng x l
c kt qu d dng nh gi
d thc hin
d nh gi thi gian thc hin
d nh gi nhn cng, ti nguyn cn thit
6
11
Lp k hoch
Xc nh cc cng vic, mc quan trng, cc
sn phm
Chia cng vic
Mt cch n gin xc nh v chia cng vic l to
WBS (Work Breakdown Structure)
tng t nh mt mc lc
V d
1. Khi ng d n
1.1 Lp k hoach d n
2. Phn tch yu cu
2.1 Thu thp yu cu
2.2 M hnh ha yu cu s dng UML
3. Thit k
3.1 Xy dng cc biu lp
3.2 Xy dng cc biu tun t
3.3 Xy dng cc biu gi
4. M ha
5. Kim th
12
Lp k hoch
Bo co k hoch d n
Cn cha cc mc (1)
Gii thiu
m t mc tiu
rng buc
T chc
cc thnh vin ca nhm
vai tr ca cc thnh vin
Phn tch ri ro
d bo cc ri ro c th
xut cc gii php hn ch ri ro
Ngun ti nguyn cn thit
phn cng
phn mm
7
13
Lp k hoch
Bo co k hoch d n
Cn cha cc mc (2)
Chia cng vic
chia d n thnh cc cng vic
xc nh cc mc quan trng
xc nh ni dung cc sn phm giao hng
Lch
m t rng buc cc cng vic v thi gian t c
cc mc quan trng
gn cng vic cho cc thnh vin
Gim st
m t cc bo co c to ra khi no v nh th no
m t c ch s dng thc hin thm nh cc cng
vic hon thnh
14
Lp lch
Lp lch bao gm cc cng vic
xc nh ngy quan trng
ngy bt u, ngy kt thc
xc nh cc giai on quan trng
lit k cc cng vic trong th t thc hin
ch ra quan h gia cc cng vic
nh gi ngun ti nguyn cn thit hon
thnh mi cng vic
nhn lc, thi gian, ngn sch
8
15
Lp lch
Lit k cc cng vic trong th t thc hin
ch ra s ph thuc gia cc cng vic
cc cng vic no c th tin hnh n thi
cc cng vic no ch thc hin khi cng vic
khc kt thc
gim ti thiu cc ph thuc
hn ch s chm tr
thi gian thc hin d n ph thuc con
ng di nht trong th cng vic
s PERT
16
Lp lch
S dng bng biu din lch ca
d n
Bng cc giai on quan trng
Bng cc cng vic
Bng phn cng
9
17
Lp lch
Bng cc giai on quan trng
cc giai on quan trng v ngy c th t c
Ngy Giai on quan trng
August 26 Project Kickoff (with client)
October 16 Analysis Review
October 26 System Design Review
November 7 Internal Object Design Review
November 20 Project Review (with client)
Nov 26 Internal project review
Dec 11 Acceptance test (with client)
18
Lp lch
Bng cc cng vic
cc cng vic v ngy bt u/ngy kt thc
Ngy Cng vic
Jul 17-Aug 23 Preplanning Phase
Aug 26 - Sep 24 Project Planning
Sep 11-Oct 8 Requirements Analysis
Oct 9 - Oct 26 System Design
Oct 28-Nov 7 Object Design
Nov 8 - Nov 20 Implementation & Unit Testing
Nov 22 - Dec 4 System Integration Testing
Dec 4 - Dec 10 System Testing
Dec 11- Dec 18 Post-Mortem Phase
10
19
Lp lch
Bng phn cng
ai lm g v thi gian bao lu
Cng vic Phn cng Thi gian Ph thuc
(ngi/ngy)
T1 Jane 8
T2 Anne (75%) 15
T3 Jane (80%) 15 T1 (M1)
T4 Fred 10
T5 Mary 10 T2, T4 (M2)
T6 Anne 5 T1, T2 (M3)
T7 Jim 20 T1 (M1)
T8 Fred 25 T4 (M5)
T9 Jane 15 T3, T6 (M4)
T10 Anne 15 T5, T7 (M7)
T11 Fred 7 T9 (M6)
T12 Fred (50%) 10 T11 (M8)
20
Lp lch
C th s dng cc s xy dng,
phn tch cc lch phc tp
S Gantt
biu din quan h thi gian gia con ngi v
cng vic
S PERT
biu din ph thuc gia cc cng vic
11
21
Lp ti liu
Ti liu l cn thit cho chng trnh
s dng chng trnh
cn m t y v chng trnh
mc ch, mi trng, thut ton, vo/ra, thi gian thc
thi...
tin tng chng trnh
bo co kt qu kim th
kim th cc chc nng thc hin tt
kim th cc tnh hung khng mong i
chnh sa chng trnh
m t y chng trnh
cu trc bn trong
m t vt chnh sa
22
Lp ti liu
12
23
Lp ti liu
Nhng ngi s dng khc nhau yu cu
cc loi ti liu khc nhau
ngi s dng
ti liu hng dn s dng
ngi pht trin
ti liu pht trin
ch thch
ngi thit k
m hnh thit k
ngi qun l
kt qu kim th
24
Lp ti liu
Cn duy tr s gn kt gia m ngun v ti
liu
13
25
Lp ti liu
Vn
cn duy tr s gn kt gia m ngun v ti liu trong
cc tp khc nhau
Gii php
xy dng ti liu t ng (auto-documentation)
Javadoc, CcDoc, CcpDoc, AutoDoc, DocClass...
sinh m t ng t m hnh thit k
sinh m hnh thit k t m ngun
Rational Rose, Jude, Poseidon, ArgoUML...
26
Qun l cu hnh
nh ngha
Cu hnh phn mm bao gm
cc thnh phn phn mm xc nh
tnh cht c bn ca phn mm
mt thnh phn c th
m ngun, tp d liu, c t yu cu, ti
liu thit k, cu hnh phn cng...
14
27
Qun l cu hnh
nh ngha
Qun l cu hnh l lnh vc ca qun tr d n nhm
nh ngha
xc nh
qun l
kim tra
cu hnh trong sut qu trnh pht trin phn mm
nh ngha IEEE (Standard 1042)
Software configuration management (SCM) is the
discipline of managing and controlling change in the
evolution of software systems
28
Qun l cu hnh
Ti sao ?
SCM h tr ngi qun l
gim st cc thay i trong qu trnh pht trin
gm cc hot ng
xy dng cc th cn thc hin khi c s thay i
ghi nhn cc thnh phn v yu cu thay di
o lng chi ph v cng sc thc hin thay i
...
SCM h tr ngi pht trin
cung cp chc nng v cng c h tr ngi pht trin
thc hin cc thay i
gm cc hot ng
qun l cc chc nng khc nhau ca phn mm
xy dng li cu hnh trc
ghi nhn vt thay i ca ca phn mm
...
15
29
Qun l cu hnh
Lp k hoch cu hnh
Gm cc hot ng (1)
nh ngha cc thnh phn ca cu hnh
cc loi ti liu cn qun l
c t yu cu, ti liu thit k, m ngun, bo co
kim th...
nh ngha chnh sch qun l thay i v
qun l phin bn
mc nh ca chnh sch thay i nhm m bo
mi phin bn p ng tiu chun t ra
v d
khng phn phi sn phm cho khch hng nu
cha thc hin bc kim th beta vi t nht
1000 ngi s dng bn ngoi
30
Qun l cu hnh
Lp k hoch cu hnh
Gm cc hot ng (2)
nh ngha vai tr v trch nhim ca cc
thnh vin trong cc hot ng SCM
ngi qun l, ngi pht trin...
nh ngha CSDL s dng ghi thng tin
v cu hnh
nh ngha cc cng c s dng h tr SCM
Chn la chun s dng
V d
IEEE 828-1990: Software Configuration
Management Plans
IEEE 1042: Guide to Software Configuration
Management
16
31
Qun l cu hnh
Qun l thay i
Phn mm thng xuyn thay i do yu
cu ca
ngi s dng
ngi pht trin
th trng
Qun l thay i l ghi nhn tt c cc s
thay i v bo bo rng chng c thc
hin vi chi ph thp nht
32
Qun l cu hnh
Qun l phin bn
Thut ng
promotion
mt phin bn c chuyn giao cho cc ngi pht
trin
release
mt phin bn c chuyn giao cho ngi s dng
(ngoi nhm pht trin)
t tn cc phin bn
r rng, khng nhp nhng
phng php n gin thng c s dng
nh s
17
33
Qun l cu hnh
Xy dng h thng
Bin dch v kt hp tt c cc thnh phn
ca mt cu hnh thnh mt h thng thc
thi c
Cc cch kt hp khc nhau cc thnh
phn c th to nn cc h thng khc
nhau
Nn s dng cc cng c h tr
V d: Makefile
34
Qun l cu hnh
Xy dng h thng
Cc vn cn lu khi xy dng h
thng:
Tt c cc thnh phn cn thit u c
s dng (lin kt) ?
Phin bn thch hp ca mi thnh phn
dc s dng ?
Tt c cc tp d liu sn sng ?
H thng c xy dng cho nn (platform)
ng n ?
h iu hnh, cu hnh phn cng
Phin bn ca trnh bin dch v cc cng c
s dng l ng n ?
18
35
Qun l cu hnh
Cng c
SCM c h tr bi cc cng c
C cc loi cng c
cc cng c c lp
cc cng c tch hp vo trong cc mi
trng pht trin
36
Qun l cu hnh
Cng c
Cng c qun l phin bn
Hot ng h tr
t tn cc phin bn
t t tn cc phin bn mi
Ghi li lch s (vt) thay i
Pht trin cng tc
nhiu ngi c th thay i ng thi mt phin
bn
Ghi nhn cc phin bn: 2 kh nng
Ghi nhn ton b phin bn
Ch ghi nhn s khc nhau gia cc phin bn
19
37
Qun l cu hnh
Cng c
Cng c qun l phin bn
RCS (Revision Control System)
m ngun m, c
CVS (Concurrent Version System)
min ph, h tr cc my tnh s dng h iu
hnh khc nhau, s dng t xa
Perforce
cng c thng mi
Subversion
m ngun m, y cc tnh nng ca CVS, tt
hn CVS
38
T chc d n
T chc d n l rt quan trng
yu t chnh quyt nh cho s thnh cng
Bao gm cc hot ng
Chn nhn s thch hp
Chn cu trc ca nhm
Chn kch thc ca nhm
Xc nh vai tr ca cc thnh vin trong
nhm
Qun l giao tip gia cc thnh vin trong
nhm
20
39
T chc d n
Chn nhn s thch hp
Cc yu t cn xem xt khi chn nhn s
Kinh nghim
hiu bit lnh vc ng dng
kinh nghim vi mi trng pht trin
hiu bit v ngn ng lp trnh
o to
Kh nng
kh nng giao tip
kh nng thch ng, kh nn hc
Thi
Tnh cch
40
T chc d n
Chn cu trc ca nhm
Nhm khng hnh thc (egoless team)
Nhm chief-programmer
Nhm phn cp
21
41
T chc d n
Chn cu trc ca nhm
Nhm phi hnh thc (egoless team)
cc thnh vin ca nhm c vai tr nh
nhau
nhm nh
cc thnh vin u c kinh nghim v nng
lc
d n kh
42
T chc d n
Chn cu trc ca nhm
Nhm chief-programmer
Gm c
Trng nhm (chief-programmer): thc hin phn
tch, thit k, m ha, kim th
Tr l: h tr trng nhm pht trin, kim th
Th k: qun l thng tin
Cc chuyn gia h tr
qun l, lp ti liu, lp trnh, kim th...
Ph thuc ch yu vo trng nhm
Trng nhm phi c nng lc
22
43
T chc d n
Chn cu trc ca nhm
Nhm phn cp
D n ln c chia thnh nhiu d n nh
Mi s n nh c hin bi mt nhm
Mi nhm c mt trng nhm
Mi thnh vin cp di phi bo co cng
vic vi ngi qun l trc tip
Mi thnh vin phi c o to k nng
thc hin vai tr ca mnh
44
T chc d n
Chn kch thc ca nhm
Kch thc nhm nn tng i nh: di 8 ngi
gim thi gian giao tip
d dng lm vic cng nhau
Khng nn qu nh
nhm bo m tip tc lm vic, nu c thnh vin ra
i
i vi mt d n, s ngi trong nhm c th thay
i
Khi mt d n chm tr, thm ngi vo d n khng
bao gi gii quyt c vn
Adding more programmers to a late project makes it
later (Brooks Law - The Mythical Man-Month)
23
45
T chc d n
Xc nh vai tr ca cc thnh vin
Trng d n
chu trch nhim mt d n
bo m nhm c y thng tin v ngun
ti nguyn cn thit
phn cng cng vic cho cc thnh vin
kim tra thi hn cc cng vic
giao tip vi khch hng
46
T chc d n
Qun l giao tip gia cc thnh vin
Giao tip tt cho php nhm hot ng tt
Thng tin cn trao i v
tin cng vic
cc thay i
cc kh khn
...
Giao tip gia cc thnh vin ph thuc vo cu
trc nhm
nhm phi hnh thc: giao tip trc tip gia cc thnh
vin
nhm phn cp: giao tip thng qua ngi qun l
24
47
T chc d n
Qun l giao tip gia cc thnh vin
Cc c im trong giao tip nhm (1)
cc thnh vin c v tr cao thng p t
cc cuc trao i
nhm va c nam v n thng giao tip tt
hn
giao tip phi qua mt ngi iu phi trung
tm thng khng hiu qu
tt c cc thnh vin nn c tham gia vo
cc quyt nh nh hng ton b nhm
48
T chc d n
Qun l giao tip gia cc thnh vin
Cc c im trong giao tip nhm (2)
tnh cch ca cc thnh vin
qu nhiu thnh vin c cng tnh cch cng c
th khng tt
hng cng vic: mi ngi u mun thc hin
cng vic ring
hng c nhn: mi ngi u mun lm ng ch
hng tng tc: nhiu hp hnh m t thc hin
c th
mt nhm nn cn bng gia cc tnh cch
25
49
Qun l ri ro
Ri ro (risk) l kh nng mt tnh hung xu xy ra
Qun l ri ro (risk management) lin quan n
xc nh cc ri ro nh hng n d n
lp k hoch hn ch s nh hng ca ri ro
Cc loi ri ro
ri ro ca d n (project risks) nh hng n tin
v gun ti nguyn
ri ro ca sn phm (product risks) nh hng n
cht lng phn mm
ri ro ca doanh nghip (enterprise risks) nh hng
n doanh nghip s s dng phn mm
50
Qun l ri ro
V d
A competitive product is marketed before
the system is completed
Enterprise Product competition
The underlying technology on which the system is
built is superseded by new technology
Enterprise Technology change
The size of the system has been underestimated Project &
Product
Size underestimate
Specifications of essential interfaces are not
available on schedule
Project &
Product
Specification delays
There will be a larger number of changes
to the requirements than anticipated
Project &
Product
Requirements change
Hardware which is essential for the
project will not be delivered on schedule.
Project Hardware unavailability
There will be a change of organisational
management with different priorities
Project Management change
Experienced staff will leave the project before it is
finished
Project Staff turnover
M t Loi ri ro Ri ro
26
51
Qun l ri ro
Cc hot ng qun l ri ro
Xc nh cc ri ro
Phn tch cc ri ro
Lp k hoch cc ri ro
Gim st cc ri ro
X l cc ri ro
52
Qun l ri ro
Xc nh cc ri ro
Phn loi
ri ro v thng mi
i th cnh tranh c chim lnh th trng trc ?
C cn cho ra i phin bn nh chim th trng ?
ri ro v ti chnh
C nng lc v ti chnh thc hin d n ng
tin ?
ri ro v k thut
Cng ngh hin ti c cho php ?
ri ro v con ngi
Nhm lm vic c kinh nghim v nng lc ?
27
53
Qun l ri ro
Phn tch cc ri ro
nh gi d n, cng ngh, ngun ti
nguyn hin c xc nh v hiu bn
cht v ngun gc ca ri ro
Xc nh xc sut ca mi ri ro
rt thp, thp, trung bnh, cao, rt cao
Xc nh tm quan trng ca mi ri ro
rt nghim trng, nghim trng, c th b
qua, khng quan trng
54
Qun l ri ro
Lp k hoch cc ri ro
K hoch gim ri ro cho mi ri ro gm
tm quan trng i vi khch hng
tm quan trng i vi ngi pht trin
chin lc qun l ri ro v nh hng v
kinh t
phng tin kim tra ri ro b xa hoc
gim
cc kch bn b nh hng bi ri ro
28
55
Qun l ri ro
Lp k hoch cc ri ro
Cc chin lc
Chin lc trnh ri ro
gim xc sut ri ro xy ra
Chin lc gim ri ro
gim nh hng ca ri ro i vi d n hoc sn
phm khi n xy ra
K hoch khn cp
x l ngay ri ro khi xy ra
56
Qun l ri ro
Lp k hoch cc ri ro
Derive traceability information to assess requirements change
impact, maximise information hiding in the design
Requirements change
Investigate buying in components, investigate use of a program
generator
Development time
underestimated
Replace potentially defective components with bought-in
components of known reliability.
Failed components
Reorganise team so that there is more overlap of work and
people therefore understand each others jobs.
Short for persionnel
Alert customer of potential difficulties and the possibility of
delays, investigate buying-in components.
Recruitment probelms
Prepare a briefing document for senior management showing
how the project is making a very important contribution to the
goals of the business.
Financial problems
Chin lc Ri ro
29
57
Qun l ri ro
Gim st cc ri ro
nh gi thng xuyn mi ri ro
xc nh xc sut xy ra ca n
nh gi cc hu qu ca n c thay i
Mi ri ro chnh cn phi c tho lun khi
c cc cuc hp v tin d n
X l cc ri ro
Phng n x l khi ri ro xy ra