1
1
Chng 4: Bi p
PHÂN TÍCH THIT K H
THNG HNG I
NG
2
Ni dung
ích xây dng bi p
i tng và lp
Xác nh lp và i tng
Bi p
t s ví d minh ho
2
3
Bilp
Bi p cho phép chúng ta din t các lp
trong UML
Mô t u trúc tnh a h thng thông qua các
p và các mi quan h a chúng
4
M ích xây dng bilp
Dùng làm su liu các lp to thành h thng
Dùng mô t các kt hp, các mi quan h gia các
p
Có th c dùng trên khp qui trình phát trin, t c
các lp trong xác nh yêu c n mô hình cài t
cho h thng
Dùng biu din các th hin riêng l bên trong cu
trúc lp
3
5
Lpvài tng
6
i tng
i tng (object) là 1 thc th có thuc tính,
hành vi (phng thc), và nh danh
Thcthth(tangible) hay
Thc th tru tng
Khái nim
ng 1 hay 2 chiu (ma trn), chui ký t,…
4
7
Biu dii tng
i tng c biu din bi mt hình
ch nht vi tên c gch di
:Professor
Ch có tên lp
ProfessorClark
Ch có tên i tng
ProfessorClark:Professor
Tên lp và tên i tng
8
Lp
p(class) là 1 tp hp các i tng có cùng
p thuc tính (attributes), hành vi (operations),
các mi quan h (relationships), và ng ngha
(semantics)
i tng là mt th hin ca lp
tlplàstrutngmàtrongó:
Nhn mnh các tính cht quan trng
qua các tính cht khác
5
9
Víd
Thuc tính
Tên
m
Thi gian
tín ch
Hành vi
Thêm mt sinh viên
y mt SV
p danh sách ging viên
Class Khóa hc
10
Biu dinlp trong UML
t l c biu din bng mt hình ch
nht có 3 ngn:
Ngn th nht dành cho tên lp: tên lp phi
u bng mt ch cái vit hoa
Ngn th hai dành cho các thuc tính: tên thuc
tính phi b u bng mt ch cái vit thng
Ngn th ba dành cho các thao tác: tên thao
tác phi b u bng mt ch cái vit thng
6
11
Biu dinlp trong UML (tt)
Athlete
Fruit
Apple
HockeyPlayer
Person
Kiwi
Tên lp
12
Các thuc tính calp
Athlete
teamName: String
Person
age: Duration
height: Length
Fruit
numSeeds: Integer
Apple
skinColour: Colour
diameter: Length
7
13
Cúphápca thuc tính
[Tm nhìn][/]tên[:Kiu][Bn s][=Giá tr u]
m nhìn (Visibility)
Public (+)
Private (-)
Protected (#)
Package (~)
Kiu (Type): kiu ca các giá tr thuc tính
Kiu thông thng: Integer, Real, Boolean…
Các kiu khác (là mt lp khác hoc do ngi dùng nh
ngha): Point, Area,…
14
Cúphápca thuc tính (tt)
n s (Multiplicity): s các giá tr có th nhn, có dng
[m n]
1 1 c rút gn là 1
0 * c rút gn là *
u không xác nh c bn s thì m nh là 1
Ví d
telephoneNumber[1 3]
telephoneNumber[0 1]
telephoneNumber[1 *]
8
15
Cúphápca thuc tính (tt)
Giá tr u (Initial value): giá tr ng nh gán
cho thuc tính khi m i tng c to lp
p
/: Thuc tính dn xut (giá tr a nó c tính
giá tr a nhng thuc tính khác ca lp)
Ví d: /tui
16
Víd
Athlete
+teamName: String
Person
/age: Duration
height: Length
Fruit
-numSeeds: Integer
Apple
-skinColour: Colour
#diameter: Length
~carboRatio: Real
9
17
Các thao tác calp
Person
+setBirthday()
+getHeight(): Length
Apple
+getSkinColour(): Colour
+bite(depth: Length)
18
Cúphápca thao tác
[Tm nhìn] tên [(danh sách tham s)][:Kiu tr ]
Danh sách tham s: gm mt s tham s hình thc, cách nhau
ng du phy, có dng:
tên: Kiu [=giá tr ng nh]
10
19
Vídvlp
-lastname:String
-firstname:String
-middlename[0 2]:String
-dateOfName:Date
-/age:Integer
-dateRegistered:Date = today
CarSharer
+setJourney(newJourney:Journey)
+notYetMatched():Boolean
n s
Thuc tính dn xut
Giá tr khi to
20
Miquanhgiacáclp
(Relationship)
t ni ng ngha gia các lp, gm các quan
:
Khái quát hoá (Generalization)
A ‘is a kind of’ B
Liên kt (Association)
A ‘is associated with’ B
t nhp (Aggregation) và hp thành
(Composition)
A ‘is a part of’ B
Ph thuc (Dependency)
11
21
Víd
Window
open()
close()
ConsoleWindow DialogBox Control
Event
association
dependency
generalization
22
Quanhkhái quát hoá
Khái quát hoá (Generalization) ng mc tru tng,
p các thành phn chung
Chuyên bit hoá (Specification) c trng c th
Fruit
Apple Kiwi
Fruit
Apple Kiwi
12
23
Quanhliên kt (Association)
Th hin mi quan h logic mà các i tng a các
ang nm gi
t mi quan h liên kt gm:
Tên ca mi quan h
n s u ca mi quan h
Vai trò ca l u ca mi quan h (tùy chn)
24
Víd
Professor Course
teaches
tên liên kt
ng áp dng
teacher class
tên vai trò
n s a mi kt hp
1 *
*
13
25
Bnscamikthp (Multiplicity)
ng các th hin ca lp có quan h i
t th hin ca lp khác
1 t và ch t
0 * hoc * 0 n nhiu
1 * n nhiu
0 1 không hay mt
m n m n n (m, n N)
nh là 1
Course
Student
0 4 10 20
26
Vai trò (Role)
t vai trò biu din cho mt tp h i
ng
chng
Trng Ngi
c ti
sinh viên
giáo viên
t
hôn
14
27
Liên kt Hoc
CôngtyBohim ngBohim
1
0 *
Ngi Côngty
1
0 *
0 *
1 *
{or}
28
Liên kt có th t
Kháchhàng
Hóan
1
0 *
{ordered}
15
29
Lpliênkt
Côngty Ngi
Công vic
môt
ngàytuyndng
ng
*
1 *
quan
ng
ngi
làm công
30
Liên kt nhiu bên
CôngtyBohim ngBohim
1
0 *
Ngi
1 *
0 *
Thohim
0 1
16
31
Quanhkt nhp (Aggregation)
Biu din mi quan h “whole/part”
32
Quanhhp thành (Composition)
ng th và thành phn hu
cùng th m
Liver
Body
Heart
Wheel
Car
Engine
p thành (Composition)
t nhp (Aggregation)
17
33
Quanhph thuc (Dependencies)
Quan h 1 chiu: 1 lp ph thuc vào lp khác
(b ng)
CourseSchedule
addCourse(c : Course)
removeCourse(c : Course
Course
Using relationship
34
Xácnhlpvài tng
18
35
Các phng pháp tìm kimli
ng
Phân tích phm vi bài toán tìm lp
a vào danh sách phm trù khái nim
a vào các use case
a vào kinh nghim & kin thc ca ngi phân tích
a vào h tài liu nhng h thng có liên quan
a vào ý kin tham kho các chuyên gia h thng
36
Phân tích phm vi bài toán tìm lp
(d kin)
a vào các vn bn mô t bài toán tìm lp
Xác nh các danh t trong phm vi bài toán
Không phi danh t nào cng là i biu ca
p
t s danh t, cm danh t ng ngha, có
vai trò nh nhau trong h thng thì loi bt
19
37
Tìmcácnhómvt th
Xác nh các nhóm vt th ng tác vi h thng (tác
nhân?)
Khách hàng, nhà cung cp, ngi qun lý
Các vt th u hình trong h thng
Hoá n, phiu thanh toán, s tit kim, gi ngh rút
tin,…
Các s kin, vai trò
Các tng tác
Vic bán hàng là 1 chui tng tác gia khách hàng và
ngi bán hàng
Các n v chc: phòng ban,…
38
Xácnh các danh t trong
phm vi bài toán
t công ty mun xây dng thng phn mm
phc v qun
lý các ho ng kinh doanh
, bán hàng. Công ty có nhiu m
bán hàng u cui (POST: Point Of Sale Terminal) là nhng a
hàng siêu th, do vy thng n phi ghi nhn các ho ng
bán hàng và x lý các công vic thanh toán i khách hàng (mua
)
Ngoài ra thng
còn giúp giám c theo dõi các ho ng kinh
doanh, t ng kim kê các t hàng t ng trong kho, các t
hàng bán chy,… tr ra quy nh các ho ng kinh
doanh a công ty. Trong mi m bán hàng u cui u có các
thit b phn cng
: máy tính, máy c mã vch và phn mm h
thng
20
39
Danh sách các lpdkin
HBH: i din cho h thng phn mm hoc h thng
CuaHang: m bán hàng u cui, siêu th
PhieuBanHang: ho ng bán hàng, ho ng kinh
doanh
ThanhToan: công vic thanh toán
NguoiQL: ngi qun lý, gi c
MatHang: mt hàng, sn phm,…
40
Xem xét kchbnca UC xácnh
li tng
Khách hàng
a hàng n quy thu tin
Ngi bán hàng nhp chi tit tng t hàng bàn phím
Hin th giá và các thông tin mô t t hàng
t thúc phiên bán hàng
Tính và hin th ng s tin
Ngi bán hàng thông báo cho khách hàng ng s tin
phi tr
Khách hàng chn phng thc thanh toán: tr tin mt.
u tr tin bng th tín dng “Thu tin mt’; Ngân
phiu “Thu ngân phiu”
Tr tin tha
cho khách nu có
p nht chi tit t hàng bán và ng hàng trong
a hàng
In Phiu thanh toán cho khách và giao hàng ã thanh toán
21
41
Davàomíchsdng UC xác
nhli tng
Xác nh các danh t trong lung s kin
p. ng t phng thc
Khó khn: tu vào ni dung c t mà 1 thc
th có th c xác nh tng ng bi nhiu
tên khác nhau
Ngi mua hàng khách hàng. Nhân viên
cán b, công chc
Các danh t: tác nhân, lp, thuc tính lp
42
Xácnhmíchcami UC
Là mc tiêu mà h thng cn thc hin
Câu hi xác nh m ích:
c tiêu ca UC là gì?
UC cung cp nhng dch v nào?
Nhng giá tr hay nhng áp ng nào mà UC
có th cung cp
phn
tip nhn
Phòng ào
o
ng ký môn hc
Phi ng ký
môn hc mi
n sao phiu
ng ký môn hc
22
43
Davàomíchxácnh
thc th
UC thc hin 1 công vic -> liên quan n nhiu thc
th (ngi , 1 cái gì ó)
i thc th m thuc tính + hành vi
Xác nh thc th:
Nhng thc th nào là cn thit và quan trng thc hin UC
ng t i vi thuc tính & hành vi
44
Víd
Ngi bán
hàng
phn k
toán
t hàng
KhachHang
MaKH
TenKH
DonDatHang
MaDDH
NgayDH
NguoiBanHang
MaNguoiBH
TenNguoiBH
MatHang
MaMH
TenMH
23
45
Xácnhcácmi quan h gia các
lp
Các i tng trong UC kt hp vi nhau
cùng thc hin công vic chung
Câu hi xác nh:
Có i tng nào ph thuc hoc b tác ng
i thc th khác ko?
DonDatHang
MaDDH
NgayDH
NguoiBanHang
MaNguoiBH
TenNguoiBH
1 1 *
46
Xácnh các hàm thành phn th hin
s cng tác calp
Câu hi xác nh:
UC cn làm gì vi m i tng bên trong nó?
UC cn bit gì v i tng liên quan vi
nó?
i tng liên quan có th óng góp gì cho
UC nó thuc v
24
47
Loibcáclpkhôngcn thit
Các Lp khác nhau li cùng mô t 1 thc
th y mt
Ngi mua hàng, khách hàng,…
p không có chc nng c th
48
Mtscâuhi giúp nhndnglp
Nhng thông tin nào cn phân tích, lu tr
Nhng h thng ngoài nào cn thit cho h thng và
ngc li
Nhng th vin lp nào c c s ng trong h
thng
thng qun lý các thit b ngoi vi nào
Vai trò ca các tác nhân i vi h thng là gì?
25
49
Tìm kim thuc tính & các thuc tính
calp
Danh t trong lung s kin p, i tng,
thuc tính,…?
Phân bit thuc tính hay thc th ?
n thit không tha, thiu
50
Víd
Element
Character Image
ParagraphDocument
1
0 *
[ordered]
1
0 *
[ordered]