Professional Documents
Culture Documents
Giao Trinh Phan Tich Huong Doi Tuong
Giao Trinh Phan Tich Huong Doi Tuong
H NI - 2007
MC LC
MC LC.................................................................................................... ii
LI NI U .............................................................................................. 1
CHNG 1 M U ................................................................................. 3
1.2 KHI QUT VNG I PHT TRIN H THNG THNG TIN...............4
1.3 CC CCH TIP CN PHN TCH THIT K H THNG.......................7
1.3.1 Phng php hng cu trc..............................................................8
1.3.2 Phng php hng i tng ...........................................................9
1.5 CC KHI NIM C BN CA HNG I TNG...........................10
1.6 CC BC PHN TCH THIT K HNG I TNG ....................11
TNG KT CHNG 1 .................................................................................13
CU HI V BI TP.....................................................................................13
ii
GI TR LI CC BI TP .............................................................. 129
TI LIU THAM KHO .......................................................................... 133
iii
LI NI U
LI NI U
Phng php lun pht trin cc h thng thng tin lun l mt trong nhng ch
quan trng nht ca cng ngh thng tin. Tri qua mt giai on tin ho lu
di, pht trin theo cch tip cn hng i tng dn dn chim u th v
ngy cng tr nn ph bin v c chun ho trong cng nghip phn mm.
Cng vi s ra i ca ngn ng m hnh ho thng nht UML v nhiu
cng c h tr nh Rational Rose, AgroUMLphng php lun pht trin phn
mm hng i tng c p dng rng ri trong cng nghip phn mm trn
khp th gii. Ngn ng UML hin thi vn ang c pht trin p ng cho
nhiu yu cu v nhiu dng h thng khc nhau nh h phn tn, h nhng
Ti liu ny nhm gii thiu cho sinh vin cc khi nim c bn ca hng
i tng v UML, sau trnh by cc bc phn tch thit k h thng thng tin
da trn UML v cng c Rational Rose. Ni dung ca ti liu gm 4 chng v
phn Ph lc:
Chng 1: M u. Gii thiu cc dng h thng thng tin v cc khi nim c
bn ca cch tip cn hng i tng; vng i pht trin h thng
v so snh cc cch tip cn pht trin h thng.
Chng 2: UML v Cng c pht trin h thng. Trnh by cc khi nim c
bn ca UML, cc biu , cc k hiu UML v cc bc pht trin
h thng s dng cc biu . Chng ny cng gii thiu cng c
Rational Rose cho phn tch thit k h thng thng tin.
Chng 3: Pha phn tch hng i tng. Trnh by cc bc phn tch h
thng theo cc biu UML bao gm: xy dng m hnh use case,
xy dng m hnh lp v biu trng thi. Ti liu cng a ra
nhng gi cho tng bc v hng dn s dng cng c Rational
Rose cho cc bc .
Chng 4: Pha thit k hng i tng. Trnh by cc bc thit k h thng
bao gm: xy dng cc biu tng tc, biu lp chi tit, thit k
chi tit v xy dng biu trin khai h thng. Ti liu cng c
nhng gi cho tng bc ca pha thit k.
LI NI U
Phn Ph lc. Trnh by ton b qu trnh phn tch thit k h thng qun l th
vin v pht sinh m cho h thng ny.
Mi chng u c phn cu hi, bi tp gip sinh vin hiu r hn kin thc
c hc v kim tra kh nng p dng kin thc ca sinh vin vo cc bi ton
thc t.
Ti liu ny c xy dng nhm p ng nhu cu hc tp ca sinh vin t
xa ca Hc vin Cng ngh Bu chnh Vin thng. Do thi gian c hn nn phin
bn u tin ny chc chn cn nhiu hn ch v thiu st. Cc tc gi rt mong
nhn c nhng ng gp kin ca cc ng nghip v cc bn sinh vin.
CHNG 1: M U
CHNG 1
M U
Chng ny tp trung trnh by cc ni dung sau y:
-
CHNG 1: M U
cc h website thc thi cc chc nng trn mi trng mng phn tn i hi cch
pht trin ring...Do vy, khng c mt phng php lun chung cho tt c cc
dng h thng thng tin.
Phm vi ca ti liu ny nhm gii thiu mt s khi nim c bn ca UML
cho pht phin cc h thng v d dng minh ho chng ta s xem xt vn
pht trin dng h thng thng tin ph bin nht l h thng thng tin qun l.
CHNG 1: M U
Thng thng hai qu trnh khng th thiu c trong vng i pht trin phn
mm l vit ti liu v kim th. Cc qu trnh ny khng tr thnh mt pha ring
bit m c tin hnh song song vi tt c cc pha khc trong tin trnh phn
mm ngha l tt c cc pha u phi vit ti liu v kim th vi cc mc khc
nhau.
C rt nhiu m hnh vng i phn mm nhng hai m hnh n gin v
c s dng rng ri nht l m hnh thc nc v m hnh lm bn mu nhanh.
1.2.1 M hnh thc nc
Theo m hnh thc nc, sau khi yu cu ca h thng c xc nh v kim
tra bi nhm SQA, pha phn tch s c tin hnh xy dng ti liu. Sau khi
ti liu phn tch c khch hng chp nhn, nhm pht trin s tin hnh lp k
hoch v lch biu cho cc qu trnh pht trin tip theo. Sau , cc pha thit k,
ci t v tch hp s ln lt c tin hnh ; mi pha ny u c phn kim tra
khi cn c th quay li sa i ti liu ca pha trc . Khi phn mm c
trin khai v chuyn sang pha bo tr; nu c li hoc thay i xy ra, nhm thit
k s phi quay tr li sa i ti liu cho mt trong cc pha trc v nu cn
c th quay tr li thay i mt s yu cu ban u ca h thng.
V cc pha c ni tip nhau mt cch lin tc nh mt thc nc nn m hnh
ny c gi l m hnh thc nc. Tin trnh phn mm theo m hnh thc nc
c biu din nh trong Hnh 1.1. M hnh thc nc c mt s u im nh sau:
-
CHNG 1: M U
Pha yu cu
Thay i yu cu
Kim tra
Kim tra
Pha c t
Kim tra
Pha thit k
Kim tra
Pha ci t
Kim tra
Pha tch hp
Pht
trin
Bo tr
Kim tra
Pha bo tr
Pha loi b
CHNG 1: M U
Thay i yu cu
Kim tra
Kim tra
Pha c t
Kim tra
Pha thit k
Kim tra
Pha ci t
Kim tra
Pha tch hp
Pht
trin
Bo tr
Kim tra
Pha bo tr
Pha loi b
CHNG 1: M U
Cch thc thc hin ca phng php hng cu trc l phng php thit k t
trn xung (top-down). Phng php ny tin hnh phn r bi ton thnh cc bi
ton nh hn, ri tip tc phn r cc bi ton con cho n khi nhn c cc bi
ton c th ci t c ngay s dng cc hm ca ngn ng lp trnh hng cu
trc.
Phng php hng cu trc c u im l t duy phn tch thit k r rng,
chng trnh sng sa d hiu. Tuy nhin, phng php ny c mt s nhc im
sau:
-
CHNG 1: M U
CHNG 1: M U
CHNG 1: M U
11
CHNG 1: M U
Pha
phn
tch
Biu cng tc
Biu hot ng
Biu thnh phn
Pha
thit
k
12
CHNG 1: M U
TNG KT CHNG 1
Chng ny trnh by cc ni dung m u cho phn tch thit k h thng
hng i tng. Cc ni dung c bn cn nh gm :
C nhiu loi h thng thng tin khc nhau nh : h thng thng tin qun l,
cc Website, cc h thng thng mi, cc h thng iu khin ... Mi loi h
thng thng tin s tng ng vi mt phng php pht trin ring.
Vic pht trin cc h thng thng tin ni chung c xem nh mt vng i
vi cc pha : Xc nh yu cu, c t, thit k, ci t tch hp, bo tr v loi
b. C hai m hnh vng i n gin v hay dng nht l m hnh thc nc
v m hnh lm bn mu nhanh.
Phng php pht trin phn mm hng i tng t ra c nhiu u im hn
so vi phng php hng cu trc. Cc pha c trng trong vng i pht
trin phn mm hng i tng l phn tch hng i tng, thit k hng
i tng v lp trnh hng i tng.
Cc bc pht trin phn mm hng i tng c xy dng da trn cc
biu trong ngn ng m hnh ho thng nht UML. Chng 2 s trnh by
chi tit v UML v tp k hiu cho cc bc pht trin h thng.
CU HI V BI TP
1.
2.
3.
13
CHNG 1: M U
4.
14
CHNG 2
UML V CNG C PHT TRIN H THNG
Chng ny nhm gii thiu v ngn ng m hnh ho thng nht UML v cng
c pht trin phn mm hng i tng. Ni dung c th bao gm:
-
16
Lm ch c cc h thng phc tp
Hng nhn
Cc biu
Kha cnh Hng nhn my trng Biu trng Trng thi, s kin, chuyn
thi (state machine view) thi
tip, hnh ng
ng
Hng nhn hot ng Biu ng
(activity view)
18
Kha cnh Tt c
kh nng
m rng
Tt c
Cc
rng
stereotype,
buc,
19
Dependency
Generalization
Association
Aggregation
Da trn tnh cht ca cc biu , UML chia cc biu thnh hai lp m hnh1:
Biu m hnh cu trc (Structural Modeling Diagrams): biu din
cc cu trc tnh ca h thng phn mm c m hnh ho. Cc biu
trong m hnh tnh tp trung biu din kha cnh tnh ca h thng, lin
quan n cu trc c bn cng nh cc phn t chnh trong min quan tm
ca bi ton. Cc biu trong m hnh tnh bao gm:
-
Biu gi
Biu i tng v lp
Biu ng
21
Extend: use case ny m rng t use case kia bng cch thm vo mt chc
nng c th.
Tc nhn
ngha
Usecase name
Biu din bi mt
lp kiu actor
(hnh ngi tng
trng)
<<extend>>
<<include>
23
Cap nhat
Thu thu
<<include>>
<<include>>
Dang nhap
Tim kiem
Ban doc
Hnh 2.4: Biu use case tng qut trong h thng qun l th vin
2.2.2 Biu lp
a) ngha
Trong phng php hng i tng, mt nhm i tng c chung mt s thuc
tnh v phng thc to thnh mt lp. Mi tng tc gia cc i tng trong h
thng s c biu din thng qua mi quan h gia cc lp.
Cc lp (bao gm c cc thuc tnh v phng thc) cng vi cc mi
quan h s to thnh biu lp. Biu lp l mt biu dng m hnh tnh
nhm m t hng nhn tnh v mt h thng bng cc khi nim lp, cc thuc
tnh, phng thc ca lp v mi quan h gia chng vi nhau.
b) Tp k hiu UML cho biu lp
Trong phn ny, ti liu s xem xt cc vn lin quan n biu din s lp
trong UML. Cui phn ny s l mt bng tng kt cc k hiu UML s dng
trong s lp.
K hiu lp: trong UML, mi lp c biu din bi hnh ch nht gm 3 phn:
tn lp, cc thuc tnh v cc phng thc.
Thuc tnh: cc thuc tnh trong biu lp c biu din theo cu trc
chung nh sau:
phm_vi tn : kiu s_i_tng = mc_nh (Gi_ tr_gii_hn )
Trong :
phm_vi cho bit phm vi truy nhp ca thuc tnh. C ba kiu xc nh
thuc tnh ph bin l:
+: thuc tnh kiu public
#: thuc tnh kiu protected
24
25
STT
Kiu lp
Lp thc th
Lp iu khin
K hiu UML
26
Bn cho
Mua
Sn
phm
a ch
Khch hng
khng thng
xuyn
Khch hng
thng xuyn
27
Ho n
Thuc v
Khch
hng
a ch
Khch
hng
C
Hnh 2.9: Quan h gp
Ho n
Hnh 2.10: Quan h ph thuc
28
Ho n
Hnh 2.11: Quan h thc thi
Bng 2.4 tng kt cc phn t m hnh UML c s dng trong m hnh lp,
ngha v k hiu tng ng trong cc biu .
Phn t m
hnh
Lp (class)
ngha
Tn lp
Cc thuc tnh
Cc phng thc
Mt ng k lin
nt (c tn xc
nh) ni gia hai
lp.
Tn
c) V d biu lp
29
Nguoi
ten : String
diachi : String
ngaysinh : Date
Bandoc
getTen()
setTen()
getDiachi()
setDiachi()
getNgaysinh()
setNgaysinh()
maBandoc : string
lop : string
khoa : string
Thuthu
maThuthu : String
password : String
vaitro : String
getVaitro()
setVaitro()
Biu trng thi cho mt use case: m t cc trng thi v chuyn tip
trng thi ca mt i tng thuc mt lp no trong hot ng ca mt
use case c th.
30
Trng thi con (substate): l mt trng thi cha bn trong mt trng thi
khc. Trng thi c nhiu trng thi con gi l trng thi t hp. Xem xt
mt v d c trng thi con trong Hnh 2.13.
Thc hin tnh ton
Cha tnh ton
Tinh()
tnh ton
xong
Return()
Tnh tng
Trng thi khi u (initial state): trng thi u tin khi kch hot i
tng.
S kin thi gian (time event): Biu din qu trnh chuyn tip theo thi
gian, thng km theo t m t thi gian c th.
Cc phn t m hnh UML v k hiu tng ng cho biu trng thi c tng
kt nh trong Bng 2.5.
31
Phn t
m hnh
Trng thi
ngha
Biu din
Hnh ch nht
vng gc, gm
3 phn: tn, cc
bin, v cc hot
ng.
Trng thi Khi u vng i Hnh trn c
ca i tng.
khi u
Trng thi Kt thc vng i Hai hnh trn
ca i tng.
lng nhau
kt thc
Chuyn tip Chuyn t trng Mi tn lin nt
(transition) thi ny sang trng vi tn gi l
thi khc
biu din ca
chuyn tip .
Biu din mt trng
thi ca i tng
trong vng i ca
i tng .
Tn_chuyn_tip
32
STT
Loi message
M t
Biu din
Method()
Gi (call)
M t mt li gi t i
tng ny n i tng kia.
Tr v (return)
Tr v gi tr ng vi li gi
33
Gi tr tr v
Gi (send)
Gi mt tn hiu ti mt i
tng
To (create)
To mt i tng
Hu (destroy)
Hu mt i tng
Send()
<<create>>
<<destroy>>
34
: Thu thu
: DK_ThemSach
: FormThemSach
Yeu cau Them sach
: Sach
35
biu cng tc, cc i tng tham gia tng tc lun xut hin ti mt v
tr xc nh.
-
c) V d biu cng tc
Di y l mt biu cng tc m t chc nng Thm sch trong h thng
Qun l th vin.
3: Nhap thong tin sach moi
: FormThemSach
: Thu thu
9: Thong bao nhap thanh cong
: DK_ThemSach
: Sach
36
ngha
K hiu trong biu
M t mt hot ng gm tn
hot ng v c t ca n.
NewActivity
37
M t thanh ng b nm
ngang
Thanh ng b ho dc
Chuyn tip
Quyt nh
M t mt la chn iu kin.
Cc lung (swimlane)
c) V d biu hot ng
Di y l v d biu hot ng ca hm thc hin chc nng mn sch
trong lp Th mn (H thng qun l th vin). Chi tit v biu ny s c
trnh by trong chng 4.
38
Giao tip
ngha
Component
NewPackage
40
Phn t m hnh
ngha
Device
Processor
41
Use Case View: xem xt kha cnh chc nng ca h thng nhn t pha
cc tc nhn bn ngoi
Deployment View: xem xt kha cnh trin khai h thng theo cc kin
trc vt l.
42
Giao din chnh ca Rational Rose trong cc biu u c chia thnh cc phn
nh trong Hnh 2.21. ngha chnh ca cc thnh phn ny nh sau:
-
Phn Browser Window cho php ngi s dng chuyn tip nhanh gia cc
biu trong cc View.
43
Menu/ToolBar
Diagram Window
Browser Window
ToolBox
Specification
Window
Doccumentation
Window
TNG KT CHNG 2
Chng 2 gii thiu ngn ng m hnh ho thng nht UML v cng c
Rational Rose cho pht trin phn mm hng i tng. Cc ni dung chnh cn
ghi nh:
UML ra i t s kt hp cc phng php lun pht trin phn mm
hng i tng khc nhau c trc . UML hin nay c coi l
ngn ng m hnh ho chun cho pht trin cc phn mm hng i tng.
44
CU HI BI TP
1. UML ra i t cc ngn ng v phng php m hnh ha no?
2. Hng nhn l g? UML bao gm cc hng nhn no?
3. Lit k cc biu ca UML v tp k hiu UML cho tng biu .
4. Lit k cc bc pht trin phn mm hng i tng s dng UML
5. Phn bit m hnh tnh v m hnh ng trong UML?
6. Phn bit cc dng quan h trong biu lp nh: quan h khi qut ha,
quan h kt hp, quan h cng hp, quan h gp.
7. Phn bit biu tun t v biu cng tc. Cc ch khi biu din hai
biu ny.
45
CHNG 3
PHN TCH HNG I TNG
Chng ny trnh by cc bc phn tch hng i tng, cc khi nim v quy
tc lin quan n qu trnh phn tch h thng. Ni dung c th gm:
-
Bc xy dng m hnh lp
46
47
Biu use case s lm cho khch hng v ngi dng tim nng tham gia
cng nhm pht trin trong bc khi u ca qu trnh phn tch thit k
h thng. iu ny s gip cho nhm pht trin v khch hng c c s
thng nht chung v cc chc nng thc s cn thit ca h thng.
48
Biu use case l c s cho nhng bc tip theo ca qu trnh phn tch
thit k h thng phn mm. Da trn biu use case v cc scenario,
ngi pht trin h thng s ch ra cc lp cn thit cng nh cc thuc tnh
ca cc lp .
49
50
Quan h generalization: biu th use case ny l tng qut cn use case kia
l c th ha ca use case .
Da trn cc mi quan h trn, biu use case c biu din li thnh dng
phn cp gi l phn r biu use case. Nguyn tc phn r biu use case nh
sau:
-
51
trong s use case mc tng qut l quan h kt hp, quan h tng qut
ha v quan h include.
V d trong bi ton qun l th vin, xt trn quan im ca cc tc nhn
bn c, th th, nu tm thi cha xt n cc chc nng mn v tr
sch th cc chc nng tng qut ca h thng l: ng nhp, cp nht v
tm kim. Trong cc use case ny, use case cp nht include chc nng
ca use case tm kim (Hnh 3.1).
Thu thu
DangNhap
Cap nhat
<<include>>
Timkiem
Ban doc
Hnh 3.1: Biu use case mc tng qut trong bi ton qun l th vin
Phn r cc use case mc cao: ngi pht trin tin hnh phn r cc use
case tng qut thnh cc use case c th hn s dng quan h extend. Cc
use case con (mc thp) c la chn bng cch thm vo use case cha
mt chc nng c th no v thng c m rng da trn c s s
chuyn tip v phn r cc chc nng ca h thng.
V d, trong bi ton qun l th vin, use case cp nht c th c phn
r thnh cp nht bn c v cp nht ti liu (Hnh 3.2)
52
53
Hon thin biu use case: ngi pht trin tin hnh xem xt li xem tt
c cc use case c biu din trong biu use case ( tt c cc mc)
hay cha. Nu cn c use case cha c trong biu no, ngi pht trin
phi xem xt xem chc nng m use case i din c thc hin bi
cc use case khc cha b sung thm hoc loi b use case ra khi
biu .
54
Tn use case
Tc nhn chnh:
Mc:
Tin iu kin:
m bo ti thiu:
m bo thnh cng:
Kch hot:
1.
2.
3.
Ngoi l:
1.a Ngoi l xy ra bc 1
1.a.1
1.a.2
3.a Ngoi l xy ra bc 3
3.a.1
3.a.2
.
55
Bng 3.2 biu din scenario cho use case Thm sch trong bi ton qun l th
vin.
Tn use case
Thm sch
Tc nhn chnh
Th th
Mc
Ngi
nhim
chu
Tin iu kin
Th th ng nhp vo h thng.
m bo ti thiu
56
57
Package
Use case
Actor
Association
Dependency
Generation
58
60
61
Rational Rose cng cho php gn km cc file vo trong biu use case. Chng
ta c th li dng chc nng ny gn cc file biu din scenario vo trong use
case tng ng (Hnh 3.11).
62
3.3 M HNH LP
3.3.1 Vn xc nh lp
Khi nim c bn nht trong phng php hng i tng l khi nim i
tng. Mt i tng c hiu l mt thc th c thc hoc l mt thc th khi
nim. Mi i tng c m t bi cc trng thi v hnh vi cho bit i tng
s hnh ng nh th no khi nhn c thng ip t cc i tng khc.
Hot ng ca h thng c th hin qua trng thi ca cc i tng v s
tng tc gia cc i tng .
Mt nhm i tng c chung thuc tnh v phng thc to thnh mt lp.
Vn xc nh lp tr thnh mt trong nhng nhim v c bn ca phn tch,
thit k h thng hng i tng.
63
Phng php trch danh t: theo phng php ny, u tin ngi pht
trin h thng cn nh ngha sn phm phn mm bng mt cu, sau kt
hp cc rng buc pht trin thnh mt on. Da trn on vn m t
ny, ngi pht trin s ly ra cc danh t, chia thnh cc nhm v c ra
cc lp cng nh thuc tnh v phng thc ca cc lp
64
Xc nh cc lp
65
Nhng thng tin no l thng tin ring ca lp (cc thuc tnh private),
nhng thng tin no c th chia s trong mi quan h vi lp khc (cc
thuc tnh protected hoc public).
66
Nguoi
ten : String
diachi : String
ngaysinh : Date
Thuthu
maThuthu : String
password : String
vaitro : String
getTen()
setTen()
getDiachi()
setDiachi()
getNgaysinh()
setNgaysinh()
Bandoc
maBandoc : string
lop : string
khoa : string
getVaitro()
setVaitro()
Sach
1
1...
Themuon
maThemuon : string
maBandoc : String
ngayMuon : Date
ngayTra_dukien : Date
dsMasach
1
ngaytra_Thucte : Date
tinhtrangHienthoi : String
1..n
getThemuon()
getBandoc()
maSach : string
tenSach : string
tacGia : string
nhaXB : string
phienban : string
danhmuc : string
namXB : int
soTrang : int
mota : memotext
soluong : int
ngayTao : Date
ngayCapnhat : Date
getTensach()
getMaSach()
67
Class
Interface
Association
Package
Dependency
Generation
Realize
Public
Protected
Private
Implementation
Bc 1: Biu din cc lp
biu din tng lp trong biu lp, ta thc hin cc bc sau:
B1. Chn cng c class trong hp cng c
B2. a vo mn hnh Class Diagram v a vo v tr thch hp
B3. t tn cho lp.
B4. Click vo vng th hai trong 3 vng ca biu din lp v thm vo tn
cc thuc tnh.
B5. Click vo cng th 3 thm vo cc tn cc phng thc cho lp.
Bc 2: Biu din cc thuc tnh v phng thc
B1. Nhn chut vo tng thuc tnh v phng thc cn c t
B2. Chn phm vi truy nhp ca thuc tnh (v phng thc) (xem hnh
3.20)
B3. c t kiu cho thuc tnh
68
Public
Protected
Private
Implementation
Bc 3: c t chi tit mt lp
Ca s c t mt lp c biu din nh trong Hnh 3.15 vi rt nhiu Tab khc
nhau. Tab General cung cp cc thng tin chung v lp (tn, kiu ). Cc Tab
Operations v Attributes cho bit cc phng thc v thuc tnh tng ng ca
lp. Tab Relations biu din cc mi quan h ca lp vi cc lp khc. Tab
Components biu din cc thnh phn (nu c) ca lp. Tab Files cho bit cc file
nh km vi lp .
69
Hnh 3.15: Ca s c t ca mt lp
70
Cc hnh ng tng qut biu din cc tin trnh kinh doanh hoc tng tc
vi ngi dng. Tng tc ny c biu din qua biu ng.
Cc chuyn i trng thi theo thi gian, c biu din qua biu trng
thi.
Mc ch: biu din tng tc gia nhng ngi dng v nhng i tng bn
trong h thng. Biu ny cho bit cc thng ip c truyn tun t nh th
no theo thi gian. Th t cc s kin trong biu tun t hon ton tng t
nh trong scenario m t use case tng ng.
Biu din: Biu tun t c biu din bi cc i tng v message truyn i
gia cc i tng .
Biu cng tc
Mc ch: tng t nh biu tun t, biu cng tc biu din tng tc gia
nhng ngi dng v cc i tng bn trong h thng v gia nhng i tng
ny vi nhau. Biu cng tc nhn mnh vo mi quan h v mt khng gian
gia cc i tng.
Biu din: Cc message trong biu cng tc c nh s theo th t thi gian
nhng khc vi biu tun t, biu cng tc nhn mnh mi quan h v mt
khng gian gia cc i tng trong h thng.
Biu hot ng
72
Biu trng thi cho mt use case: m t cc trng thi v chuyn tip
trng thi ca mt i tng thuc mt lp no trong hot ng ca mt
use case c th.
73
74
75
76
77
TNG KT CHNG 3
Chng 3 trnh by cc bc trong pha Phn tch hng i tng. Mt s ni
dung sau cn ghi nh:
Pha phn tch hng i tng gm 3 bc chnh c gn vi ba dng m
hnh UML l: m hnh use case, m hnh lp v m hnh ng
Bc xy dng m hnh use case gm 2 vic chnh l: xy dng v phn ra
biu use case v biu din cc use case theo dng kch bn.
Bc xy dng m hnh lp tin hnh xy dng biu lp. Biu lp
trong pha phn tch ch yu l pht hin cc lp (dng lp thc th), xc
nh cc thuc tnh v cc mi quan h n gin gia cc lp .
Bc xy dng m hnh ng trong pha phn tch tp trung vo xy dng
biu trng thi m t cc trng thi v chuyn tip trng thi ca cc i
78
CU HI BI TP
A. CU HI
1. Biu use case l g? Vai tr ca biu use case trong xc nh yu cu
khch hng?
2. Phn bit cc quan h <<include>> v <<extend>> trong biu use case.
3. Khi nim k tha trong lp trnh hng i tng c tng ng vi
quan h khi qut ho (generalization) gia cc lp trong UML khng. Ti
sao
4. Mi quan h kt hp 2 chiu l g? Biu din quan h ny nh th no?
5. Phn bit mi quan h cng hp v quan h gp
6. Khi no c th s dng mi quan h thc thi (realization) trong biu lp.
7. Biu trng thi dng lm g
8. Phn bit s khc nhau gia biu trng thi cho mt use case v biu
trng thi h thng
B. BI TP
1. Xem hnh v sau:
79
1
Fullfill Ticket Purchase
TicketAgent
Deliver Ticket
2
Call - Pick up
Direct Mailling
Xem xt biu lp phn tch trong h thng thng tin nhn s. Trong h
thng ny , xt 2 lp:
-
4.
80
5.
Available
Put on hold
On Hold
Release
Sell
Sold
Cancel
A. Put on hold
B. Release
C. Sell
D. Cancel
6.
81
C. #
D. ~
7.
82
CHNG 4
PHA THIT K HNG I TNG
Chng ny trnh by cc bc v qu trnh thc hin cc bc thit k hng i
tng. Ni dung c th gm:
-
83
84
chc nng thm sch, cc i tng tham gia gm: Th th, Form Thm sch, i
tng iu khin Thm sch v i tng Sch. Th t thc hin message trong
biu l theo chiu t trn xung di. Nhn vo mt biu tun t nh vy ta
c th thy c ngay th t thc hin cc hnh ng ca mt i tng trong
chc nng (use case) ang xem xt. Biu tun t ny m t li kch bn
(scenario) ca use case Thm sch nhng da trn cc i tng ca cc lp
xc nh trong pha phn tch. Vi mi chc nng, thng thng chng ta s thm
mt lp giao din (lp Form) v mt lp iu khin cho chc nng .
: Thu thu
: DK_ThemSach
: FormThemSach
Yeu cau Them sach
: Sach
85
S dng cc message to v hu
Thng thng, cc message trong biu tun t c gi v nhn t cc i
tng tn ti. Tuy nhin, trong trng hp cc i tng tham gia tng tc
thuc v cc lp c quan h ph thuc th ta phi s dng cc message to v hu.
Cc message to v hu c biu din trong v d Hnh 4.3.
86
Object1
<<create>>
Object2
<<destroy>
>
Hnh 4.3: S dng message to v hu
Object1
Object2
[j=0] message 1
[j=1] message 2
87
: FormThemSach
: Thu thu
9: Thong bao nhap thanh cong
: DK_ThemSach
88
: Sach
89
90
92
Multiplicities
ngha
0..1
0..* hoc *
C chnh xc 1 th hin
1..n
C t nht mt th hin
Bng 4.2: Cc kiu biu din s lng trong biu lp
93
Hnh 4.10 m t mt biu lp chi tit cho h thng qun l th vin. Trong biu
ny cha xt n cc lp giao din (lp bin) v cha th hin cc c t y
ca cc phng thc v thuc tnh. So vi s lp phn tch, s lp thit
k cng b sung thm nhiu thuc tnh mi chi tit ho cc i tng.
94
Nguoi
Thuthu
ten : String
diachi : String
ngaysinh : Date
getTen()
setTen()
getDiachi()
setDiachi()
getNgaysinh()
setNgaysinh()
Bandoc
maBandoc : string
lop : string
khoa : string
xacthucBandoc()
themBandoc()
capnhatBandoc()
xoaBandoc()
getMaBandoc() 1
thaydoiPassword()
maThuthu : String
password : String
vaitro : String
getVaitro()
setVaitro()
xacthucThuthu()
thaydoiPassword()
Sach
The muon
1..n
maThemuon : string
maBandoc : String
ngayMuon : Date
ngayTra_dukien : Date
dsMasach
ngaytra_Thucte : Date
tinhtrangHienthoi : String
getThemuon()
getBandoc()
1
capnhatThemuon()
xoaThemuon()
getSachmuontheothang()
getSachmuontheoten()
getSachmuontheongay()
themThemuon()
muonSach()
traSach()
1...
maSach : string
tenSach : string
tacGia : string
nhaXB : string
phienban : string
danhmuc : string
namXB : int
soTrang : int
mota : memotext
soluong : int
ngayTao : Date
ngayCapnhat : Date
getTensach()
getMaSach()
timkiem()
themSach()
capnhatSach()
xoaSach()
getSachtheomuc()
getSachtheongay()
Bng thit k chi tit ca cc lp ngoi vic biu din cc thng tin v tn
lp, cc thuc tnh v cc phng thc, cc tham s, kiu v gi tr tr v,
cn cn ch r ngi chu trch nhim ci t lp (hay modul) v cc
thng tin v thi gian yu cu.
Hai nhim v ny s c trnh by chi tit trong hai phn tip theo ca ti liu.
4.3.1 Xy dng biu hot ng cho cc phng thc
Biu hot ng c th c s dng cho nhiu mc ch khc nhau, v d nh:
xc nh cc hnh ng phi thc hin trong phm vi mt phng thc.
y l vai tr thng gp nht v quan trng nht ca biu hot ng.
xc nh cng vic c th ca mt i tng.
ch ra mt nhm hnh ng lin quan c thc hin nh th no v
chng s nh hng n nhng i tng nm xung quanh.
C th xem biu hot ng l mt loi s khi (Flow chart) miu t thut
ton. im khc bit l cc s khi bnh thng ch c p dng i vi cc
qu trnh tun t, cn biu hot ng c th x l c cc cc qu trnh song
song.
Cc phn t m hnh UML cho biu hot ng bao gm:
Hot ng (Activity): l mt quy trnh c nh ngha r rng, c th c
thc hin bi mt hm hoc mt nhm i tng. Hot ng c th hin
bng hnh ch nht bo trn cnh.
Thanh ng b ha (Synchronisation bar): chng cho php ta m ra hoc l
ng li cc nhnh chy song song ni b trong tin trnh.
96
97
M t
Kiu
Phm vi
M t
Gi tr tr
v
Phm vi
Thuoc_tinh_1
Thuoc_tinh_2
Tn phng thc
Phuong_thuc_1
Phuong_thuc_2
on khung m cho lp
Bng 4.3: Mu bng thit k chi tit lp
98
99
Quan ly
sach
Giao dien
thu thu
CSDL
Quan ly
ban doc
Giao dien
ban doc
100
Server
TCP/IP
SNA: cng l ng dng da trn Web nhng s dng b giao thc SNA.
Giao thc khng dy: lin kt s dng cc dng giao thc khng dy khc.
Trong v d Hnh 4.13, cc lin kt u c thc hin trn nn giao thc TCP/IP
thng qua kt ni mng Internet hoc kt ni mng LAN ni b.
Ngoi cc lin kt truyn thng thng thng, gia cc node cn c th c
mi quan h dng ph thuc. Mi quan h ph thuc s c biu din bi cc
mi tn t nt vi kiu chnh l dng ph thuc gia hai node (hoc hai thnh
phn). Kt qu ca biu trin khai kt hp vi biu thnh phn l mt m
hnh trin khai h thng y vi cc node, lin kt gia cc node v cc thnh
phn bn trong cc node . M hnh ny c gi chung l m hnh vt l
(physical model) ca h thng v s l c s ci t, tch hp h thng cng
nh trin khai h thng ti ngi s dng.
101
4.4.3 Biu din biu thnh phn v biu trin khai trong Rational Rose
Biu thnh phn c xy dng trong Component View biu din cc thnh
phn trong h thng.
Cc bc xy dng biu thnh phn trong Rational Rose:
B1. Thm cc thnh phn: la chn cng c thnh phn trong hp cng c
v ko vo biu .
B2. c t cc thnh phn (thng thng ch m t tn)
B3. Biu din cc quan h gia cc thnh phn (nu c).
B4. B sung cc thnh phn con (nu c)
Mt biu thnh phn v d v ca s c t thnh phn c biu din nh
trong Hnh 4.14.
102
103
TNG KT CHNG 4
Chng 4 trnh by cc bc trong pha thit k hng i tng. Cc ni dung
cn nm vng gm:
Pha thit k hng i tng gm 4 bc: xy dng biu tng tc, xy
dng biu lp chi tit, thit k chi tit v xy dng biu thnh phn
v biu trin khai.
Trong bc xy dng biu tng tc, ngi thit k biu din li cc use
case ng vi cc i tng ca cc lp xc nh trong pha phn tch. C
hai dng biu tng tc l: biu tun t (nhn mnh n th t thi
gian cc message) v biu cng tc (nhn mnh n vai tr ca cc i
tng trong tng tc).
Bc xy dng biu lp chi tit thc hin b sung cc lp thit k (l
bin, lp trung gian, lp iu khin ); xc nh v m t chi tit cc
phng thc; v biu din cc quan h gia cc lp. Kt qu ca bc ny
l mt biu lp thit k hon chnh.
Bc thit k chi tit tin hnh xy dng biu hot ng biu din
cc phng thc phc tp hoc cc hot ng phi hp nhiu i tng
thuc nhiu lp khc nhau. Tip theo, bc thit k chi tit cng xy dng
bng thit k chi tit phn cng trch nhim cho cc thnh vin trong
nhm pht trin.
Bc xy dng biu trin khai h thng tin hnh xc nh cc thnh
phn, cc giao thc mng; quan tm n ngn ng lp trnh v mi trng
ng dng xc nh m hnh kin trc trin khai h thng.
Ti liu cng a ra nhng gi , hng dn v cc ch cho tng bc
trong thit k hng i tng.
CU HI BI TP
A. CU HI
1. Phn bit s khc nhau gia biu trng thi cho mt use case v biu
trng thi h thng
2. Biu tng tc dng lm g.
104
3. Phn bit hai kiu biu tng tc: biu tun t v biu cng tc
4. Mt lin kt trong biu cng tc biu din ci g
5. Biu hot ng dng lm g
6. Mt hot ng trong biu hot ng m t ci g
7. Mt chuyn tip trong biu hot ng biu din ci g.
8. Phn bit cc kiu lp: lp thc th, lp bin, lp iu khin, lp tru
tng.
B. BI TP
1. Cc biu tng tc c xy dng ch yu da trn ngun no sau y:
A. Biu trng thi
B. Cc biu use case
C. Biu lp
D. Biu hot ng
2. xem xt hot ng ca h thng c s phi hp ca cc i tng hoc
trong vng i ca mt i tng, ta c th dng cc biu no sau y (Chn 2)
A. Biu lp
B. Biu use case
C. Biu trng thi
D. Biu hot ng
3. m t cc thnh phn (hoc cc i tng) ca h thng c t u
trong mi trng vt l, chng ta dng biu no sau y:
A. Biu hot ng
B. Biu trng thi
C. Biu thnh phn
D. Biu trin khai
4. Biu tun t (sequence diagram) no sau y l khng ph hp nu n nm
trong cng m hnh vi biu hat ng cho. Gii thch.
105
106
A.
B.
C.
D.
animals::fish::Shark
fish::Shark
animals::Shark
Khng tham chiu c n lp Shark
6.
a) S dng ngn ng C++ biu din lp Ngi c cc thng tin sau: tn,
tui, gii, chiu cao, cn nng. Ci t phng thc to cho lp Ngi v
hai hm gn Tn v gn Tui.
b) Ci t tip lp Nhn vin c quan h k tha t lp Ngi, thm thuc
tnh lng. Hm khi to ca lp Nhn vin s dng li hm khi to ca
lp Ngi v gn lng mc nh bng 0.
7. Gi s c lp Ngi nh trong Bi 6. Hy ci t lin kt 1-1 gia ngi vi
Ngi l quan h V-Chng s dng ngn ng C++ (b sung hai hm
getVoChong() v setVoChong).
8. M rng lp Ngi trong Bi 6 ci t lin kt 1-1 v 1-nhiu gia Ngi
vi Ngi xc nh Cha, M hay Con ca ngi (mt ngi c mt Cha, mt
M nhng c th c nhiu con) s dng ngn ng C++.
9. B sung thm h thng trong Bi 6 hai lp Tay v Chn. Hy s dng ngn ng
C++ ci t quan h gp (composition) gia lp Ngi v hai lp Tay, Chn.
107
PH LC
PHN TCH THIT K H THNG TH VIN IN
T
H thng qun l th vin c gii thiu v s dng lm cc v d trong
chng 3 v 4 ca ti liu. Trong phn ph lc ny, ti liu s trnh by chi tit cc
vn lin quan n h thng, xc nh y yu cu h thng v cc biu
UML trong qu trnh phn tch thit k h thng.
Trong pha thit k, sau pha xy dng biu lp thit k , h thng s c
thit k theo tng chc nng (cc use case) trong mi chc nng c thit k
gm cc thnh phn: giao din ca chc nng , lp iu khin v lp thc th. .
Thuc n v:
Ngy mn:
Ngy hn tr:
S hiu sch
Tn sch:
Ngy tr:
Tnh trng:
108
Sau khi kim tra y thng tin trn phiu mn, th th kim tra iu
kin mn ca sinh vin v xc nhn cho php mn sch. Mt s thng
tin trong phiu mn c lu li qun l, phiu mn s c gi vao
ch sch c ly i, sch c giao cho sinh vin.
Khi sinh vin tr sch: T th sinh vin, xc inh phiu mn, vic tr sch
c ghi nhn vo dng ngy tr v tnh trng. Phiu mn c lu li
qun l v theo di.
1.2 Yu cu h thng
H thng qun l th vin c xy dng nhm mc ch gii quyt cc yu cu
sau:
1. Gip sinh vin tra cu sch theo chuyn ngnh, theo ch , theo tn sch,
theo tn tc gi, trn cc my tnh trm.
2. Cung cp cho th th cc thng tin v cc u sch mt sinh vin ang
mn v hn phi tr; v cc cun sch cn ang c mn.
3. Thng k hng thng s sch cho mn theo cc ch , tc gi Thng
k cc u sch khng c ngi mn trn 1 nm, 2 nm, 3 nm.
4. H tr th th cp nht thng tin sch, xc nhn cho mn sch v nhn li
sch khi sinh vin tr sch.
5. H tr qun l cc thng tin v sinh vin da trn th th vin, thng tin th
mn.
6. H tr chc nng qun tr chung h thng (admin) trong ngi qun tr
chung c th thay i thng tin hoc thm bt cc th th.
Cc yu cu phi chc nng:
1. H thng trin khai theo dng Website trn h thng mng ni b ca trng
2. Sinh vin c th tra cu thng tin sch trn mi trng mng. Tuy nhin
vic mn v tr sch phi thc hin trc tip trn Th vin. Th th s
dng h thng cp nht v qun l qu trinh mn tr sch.
3. Thng tin thng k phi m bo tnh chnh xc, khch quan. Cc hnh thc
pht vi cc sinh vin qu hn s c lu li v thng bo cho sinh vin
bit.
109
Thu thu
DangNhap
Cap nhat
<<include>>
<<include>>
Timkiem
Ban doc
<<include>>
Thong ke
110
111
Quan ly muon
<<extend>>
<<extend>>
Quan ly tra
Thng k thng tin sch mn: cho bit danh mc cc cun sch ang c
mn, cc cun sch lu ngy khng c ai mn
<<extend>>
Thong ke
<<extend>>
112
Thuthu
maThuthu : String
password : String
vaitro : String
getTen()
setTen()
getDiachi()
setDiachi()
getNgaysinh()
setNgaysinh()
Bandoc
maBandoc : string
lop : string
khoa : string
getVaitro()
setVaitro()
Sach
1
1...
Themuon
maThemuon : string
maBandoc : String
ngayMuon : Date
ngayTra_dukien : Date
dsMasach
1
ngaytra_Thucte : Date
tinhtrangHienthoi : String
1..n
getThemuon()
getBandoc()
maSach : string
tenSach : string
tacGia : string
nhaXB : string
phienban : string
danhmuc : string
namXB : int
soTrang : int
mota : memotext
soluong : int
ngayTao : Date
ngayCapnhat : Date
getTensach()
getMaSach()
113
3. PHA THIT K
Trong phn ny, ti liu s trnh by cc biu UML c xy dng trong pha
thit k h thng Qun l th vin. Sau khi xy dng cc biu tng tc (dng
tun t), pha thit k s a ra biu lp thit k. Tuy nhin trong biu lp
ny cha b sung cc lp giao din v iu khin. Phn 3.3 s trnh by thit k
114
chi tit theo tng chc nng trong mi chc nng c mt (hoc nhiu) lp giao
din v mt (hoc nhiu) lp iu khin cng vi cc lp thc th tng ng.
3.1 Cc biu tun t
Trong h thng qun l th vin, chng ta la chn biu tng tc dng tun t
biu din cc tng tc gia cc i tng. xc nh r cc thnh phn cn
b sung trong biu lp, trong mi biu tun t ca h thng qun l th vin
s thc hin:
-
115
: Thu thu
: DK_Dangnhap
: Form DangNhap
: Thuthu
116
: Ban doc
: Form TimKiem
: DK_Tim kiem
: Sach
117
: Ban doc
: Thu thu
: FormMuonSach
: DK_MuonSach
: Bandoc
: Sach
118
: TheMuon
: DK_MuonSach
: FormTraSach
: Bandoc
: TheMuon
119
: Thu thu
: FormThongkeSach
: DK_ThongkeSach
: FormKQThongkeSach
: TheMuon
Hnh P.11: Biu tun t cho chc nng Thng k thng tin sch
120
: Sach
: DK_ThongkeBandoc
: Form ThongkeBandoc
: TheMuon
Hnh P.12: Biu tun t cho chc nng Thng k thng tin bn c
121
Nguoi
Thuthu
ten : String
diachi : String
ngaysinh : Date
getTen()
setTen()
getDiachi()
setDiachi()
getNgaysinh()
setNgaysinh()
Bandoc
maBandoc : string
lop : string
khoa : string
xacthucBandoc()
themBandoc()
capnhatBandoc()
xoaBandoc()
getMaBandoc() 1
thaydoiPassword()
maThuthu : String
password : String
vaitro : String
getVaitro()
setVaitro()
xacthucThuthu()
thaydoiPassword()
Sach
The muon
1..n
maThemuon : string
maBandoc : String
ngayMuon : Date
ngayTra_dukien : Date
dsMasach
ngaytra_Thucte : Date
tinhtrangHienthoi : String
getThemuon()
getBandoc()
1
capnhatThemuon()
xoaThemuon()
getSachmuontheothang()
getSachmuontheoten()
getSachmuontheongay()
themThemuon()
muonSach()
traSach()
1...
Lp iu khin
Lp thc th
122
maSach : string
tenSach : string
tacGia : string
nhaXB : string
phienban : string
danhmuc : string
namXB : int
soTrang : int
mota : memotext
soluong : int
ngayTao : Date
ngayCapnhat : Date
getTensach()
getMaSach()
timkiem()
themSach()
capnhatSach()
xoaSach()
getSachtheomuc()
getSachtheongay()
DK_Dangnhap
(f rom Dieu khien)
maLoi : int
xacthuThuthu()
getMessageLoi()
getMaLoi()
thaydoiPassword()
FormDangnhap
(f rom Giao dien)
Thuthu
(f rom Thuc the)
maThuthu : String
password : String
vaitro : Integer
xacthucThuthu()
thaydoiPassword()
getVaitro()
dangnhap()
thaydoiPassword()
dsTieuchiTK
dsThuoctinhTK
dsThaotac
dsKQTimkiem
FormTimkiemSach
dinhdangSQL()
xulyTukhoa()
getKQTimkiem()
timSach()
setTieuchiTK()
timkiem()
hienthiKQTimkiem()
<<forward>>
Sach
(f rom Thuc the)
maSach : Long
tenSach : String
tacGia : String
nhaXB : String
phienban : String
danhmuc : String
namXB : Date
soTrang : Integer
mota : Text
ngayTao : Date
ngayCapnhat : Date
soluong : Integer
getMaSach()
getTensach()
timkiem()
themSach()
getSach()
getSachtheomuc()
getSachtheongay()
capnhatSach()
xoaSach()
FormKQTimkiem
(f rom Giao dien)
hienthiSach()
henthiKQChitiet()
sapxep()
123
Sach
(from Thuc the)
maSach : Long
tenSach : String
tacGia : String
nhaXB : String
phienban : String
danhmuc : String
namXB : Date
soTrang : Integer
mota : Text
ngay Tao : Date
ngay Capnhat : Date
soluong : Integer
DK_Timkiem
(from Dieu khien)
dsTieuchiTK
dsThuoctinhTK
dsThaotac
dsKQTimkiem
dinhdangSQL()
xuly Tukhoa()
getKQTimkiem()
timSach()
setTieuchiTK()
getMaSach()
getTensach()
timkiem()
themSach()
getSach()
getSachtheomuc()
getSachtheongay ()
capnhatSach()
xoaSach()
FormMuonsach
(from Giao dien)
muonSach()
xemThemuon()
inThemuon()
Themuon
(from Thuc the)
Bandoc
DK_MuonSach
maBandoc : String
lop : String
khoa : String
dsSachmuon
maBandoc
taoThemuon()
xacthucBandoc()
xacthucSach()
getThemuon()
do_Muonsach()
setDS_Sachmuon()
setMaBandoc()
xacthucBandoc()
themBandoc()
xoaBandoc()
capnhatBandoc()
getMaBandoc()
thay doiPassword()
maThemuon : Long
maBandoc : String
ngay Muon : Date
ngay tra_Dukien : Date
dsMasach_muon
ngay tra_Thucte : Date
tinhtrangHienthoi : String
capnhatThemuon()
xoaThemuon()
getThemuon()
getBandoc()
getSachmuontheothang()
getSachmuontheoten()
getSachmuontheongay ()
themThemuon()
124
Themuon
(f rom Thuc the)
DK_MuonSach
(f rom Dieu khien)
dsSachmuon
maBandoc
taoThemuon()
xacthucBandoc()
xacthucSach()
getThemuon()
do_Muonsach()
setDS_Sachmuon()
setMaBandoc()
FormTrasach
(f rom Giao dien)
traSach()
huyThemuon()
maThemuon : Long
maBandoc : String
ngayMuon : Date
ngaytra_Dukien : Date
dsMasach_muon
ngaytra_Thucte : Date
tinhtrangHienthoi : String
capnhatThemuon()
xoaThemuon()
getThemuon()
getBandoc()
getSachmuontheothang()
getSachmuontheoten()
getSachmuontheongay()
themThemuon()
Bandoc
(f rom Thuc the)
maBandoc : String
lop : String
khoa : String
xacthucBandoc()
themBandoc()
xoaBandoc()
capnhatBandoc()
getMaBandoc()
thaydoiPassword()
125
DK_ThongkeSach
(f rom Dieu khien)
FormThongkeSach
<<forward>>
getSachmuontheoThang()
getSachmuontheoChude()
getSachmuontheoTG()
getSachmuontheongay()
getDSSachmuon()
Sach
(f rom Thuc the)
FormKQThongkeSach
(f rom Giao dien)
maSach : Long
tenSach : String
tacGia : String
nhaXB : String
phienban : String
danhmuc : String
namXB : Date
soTrang : Integer
mota : Text
ngayTao : Date
ngayCapnhat : Date
soluong : Integer
getMaSach()
getTensach()
timkiem()
themSach()
getSach()
getSachtheomuc()
getSachtheongay()
capnhatSach()
xoaSach()
Themuon
(f rom Thuc the)
maThemuon : Long
maBandoc : String
ngayMuon : Date
ngaytra_Dukien : Date
dsMasach_muon
ngaytra_Thucte : Date
tinhtrangHienthoi : String
capnhatThemuon()
xoaThemuon()
getThemuon()
getBandoc()
getSachmuontheothang()
getSachmuontheoten()
getSachmuontheongay()
themThemuon()
Hnh P.18: Thit k lp cho chc nng Thng k thng tin sch
126
127
Server
TCP/IP
128
GI TR LI CC BI TP
GI TR LI CC BI TP
CHNG 3
Bi 1. B
Bi 2. Quan h cng hp (Composition) v Address l mt thnh phn ca lp
Employee.
Bi 3. Quan h ph thuc.
Bi 4. b
a->e->b
a->d
Bi 5. D
Bi 6. C
Bi 7. A
CHNG 4
Bi 1. B
Bi 2. C, D
Bi 3. D
Bi 4. B (V hm print() khng phi l phng thc ca i tng b)
Bi 5. A
Bi 6.
class Nguoi{
private:
char ten[40];
char gioi;
int tuoi, chieucao, cannang;
void setTen(char *s) {strcpy(ten,s);}
void setTuoi(int a){tuoi=a;}
void setGioi(char s){gioi=s;}
129
GI TR LI CC BI TP
public:
Nguoi(char *ten, char s, int a ){
setTen(ten); setTuoi(a); setGioi(s);
}
~Nguoi(){}
};
class Nhanvien: public Nguoi{
private: int luong;
public:
Nhanvien(char *n, char s, int a, int l=0):Nguoi(n.s,a){
luong =l;
}
}
Bi 7.
class Nguoi{
private:
char ten[40];
char gioi;
int tuoi, chieucao, cannang;
Nguoi* vochong;
void setTen(char *s) {strcpy(ten,s);}
void setTuoi(int a){tuoi=a;}
void setGioi(char s){gioi=s;}
public:
Nguoi(char *ten, char s, int a ){
setTen(ten); setTuoi(a); setGioi(s);
}
~Nguoi(){};
130
GI TR LI CC BI TP
GI TR LI CC BI TP
..
};
class Chan{
}
class Nguoi{
private:
char ten[40];
char gioi;
int tuoi, chieucao, cannang;
Tay taytrai;
Tay tayphai;
Chan chantrai;
Chan chanphai;
void setTen(char *s) {strcpy(ten,s);}
void setTuoi(int a){tuoi=a;}
void setGioi(char s){gioi=s;}
public:
Nguoi(char *ten, char s, int a ){
setTen(ten); setTuoi(a); setGioi(s);
}
~Nguoi(){}
};
132
133