Tải bản đầy đủ (.pdf) (25 trang)

Chương 4 biểu đồ lớp

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (212.18 KB, 25 trang )

1
1
Chng 4: Bi  p
PHÂN TÍCH THIT K H
THNG HNG I
NG
2
Ni dung
  ích xây dng bi  p
 i tng và lp
 Xác nh lp và i tng
 Bi  p
 t s ví d minh ho
2
3
Bilp
Bi  p cho phép chúng ta din t các lp
trong UML
 Mô t u trúc tnh a h thng thông qua các
p và các mi quan h a chúng
4
M ích xây dng bilp
Dùng làm su liu các lp to thành h thng
 Dùng  mô t các kt hp, các mi quan h gia các
p
 Có th c dùng trên khp qui trình phát trin, t c
 các lp trong xác nh yêu c n mô hình cài t
cho h thng
 Dùng  biu din các th hin riêng l bên trong cu
trúc lp
3


5
Lpvài tng
6
i tng
 i tng (object) là 1 thc th có thuc tính,
hành vi (phng thc), và nh danh
 Thcthth(tangible) hay
 Thc th tru tng
 Khái nim
 ng 1 hay 2 chiu (ma trn), chui ký t,…
4
7
Biu dii tng
  i tng c biu din bi mt hình
ch nht vi tên c gch di
:Professor
Ch có tên lp
ProfessorClark
Ch có tên i tng
ProfessorClark:Professor
Tên lp và tên i tng
8
Lp
 p(class) là 1 tp hp các i tng có cùng
p thuc tính (attributes), hành vi (operations),
các mi quan h (relationships), và ng ngha
(semantics)
  i tng là mt th hin ca lp
 tlplàstrutngmàtrongó:
Nhn mnh các tính cht quan trng

  qua các tính cht khác
5
9
Víd
Thuc tính
Tên
 m
Thi gian
 tín ch
Hành vi
Thêm mt sinh viên
y mt SV
p danh sách ging viên
Class Khóa hc
10
Biu dinlp trong UML
 t l c biu din bng mt hình ch
nht có 3 ngn:
 Ngn th nht dành cho tên lp: tên lp phi
 u bng mt ch cái vit hoa
 Ngn th hai dành cho các thuc tính: tên thuc
tính phi b u bng mt ch cái vit thng
 Ngn th ba dành cho các thao tác: tên thao
tác phi b u bng mt ch cái vit thng
6
11
Biu dinlp trong UML (tt)
Athlete
Fruit
Apple

HockeyPlayer
Person
Kiwi
Tên lp
12
Các thuc tính calp
Athlete
teamName: String
Person
age: Duration
height: Length
Fruit
numSeeds: Integer
Apple
skinColour: Colour
diameter: Length
7
13
Cúphápca thuc tính
[Tm nhìn][/]tên[:Kiu][Bn s][=Giá tr u]
 m nhìn (Visibility)
 Public (+)
 Private (-)
 Protected (#)
 Package (~)
 Kiu (Type): kiu ca các giá tr thuc tính
 Kiu thông thng: Integer, Real, Boolean…
 Các kiu khác (là mt lp khác hoc do ngi dùng nh
ngha): Point, Area,…
14

Cúphápca thuc tính (tt)
 n s (Multiplicity): s các giá tr có th nhn, có dng
[m n]
 1 1 c rút gn là 1
 0 * c rút gn là *
 u không xác nh c bn s thì m nh là 1
 Ví d
 telephoneNumber[1 3]
 telephoneNumber[0 1]
 telephoneNumber[1 *]
8
15
Cúphápca thuc tính (tt)
 Giá tr u (Initial value): giá tr ng nh gán
cho thuc tính khi m i tng c to lp
 p
 /: Thuc tính dn xut (giá tr a nó c tính
 giá tr a nhng thuc tính khác ca lp)
 Ví d: /tui
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 calp
Person
+setBirthday()
+getHeight(): Length
Apple
+getSkinColour(): Colour
+bite(depth: Length)
18
Cúphápca thao tác
[Tm nhìn] tên [(danh sách tham s)][:Kiu tr ]
 Danh sách tham s: gm mt s tham s hình thc, cách nhau
ng du phy, có dng:
tên: Kiu [=giá tr ng nh]
10
19
Vídvlp
-lastname:String
-firstname:String
-middlename[0 2]:String
-dateOfName:Date
-/age:Integer
-dateRegistered:Date = today
CarSharer
+setJourney(newJourney:Journey)
+notYetMatched():Boolean
n s

Thuc tính dn xut
Giá tr khi to
20
Miquanhgiacáclp
(Relationship)
 t ni ng ngha gia các lp, gm các quan
:
 Khái quát hoá (Generalization)
 A ‘is a kind of’ B
 Liên kt (Association)
 A ‘is associated with’ B
 t nhp (Aggregation) và hp thành
(Composition)
 A ‘is a part of’ B
 Ph thuc (Dependency)
11
21
Víd
Window
open()
close()
ConsoleWindow DialogBox Control
Event
association
dependency
generalization
22
Quanhkhái quát hoá
 Khái quát hoá (Generalization)  ng mc tru tng,
p các thành phn chung

 Chuyên bit hoá (Specification)  c trng c th
Fruit
Apple Kiwi
Fruit
Apple Kiwi
12
23
Quanhliên kt (Association)
 Th hin mi quan h logic mà các i tng a các
 ang nm gi
 t mi quan h liên kt gm:
 Tên ca mi quan h
 n s   u ca mi quan h
 Vai trò ca l   u ca mi quan h (tùy chn)
24
Víd
Professor Course
teaches
tên liên kt
ng áp dng
teacher class
tên vai trò
n s a mi kt hp
1 *
*
13
25
Bnscamikthp (Multiplicity)
  ng các th hin ca lp có quan h i
t th hin ca lp khác

 1  t và ch t
 0 * hoc * 0 n nhiu
 1 *   n nhiu
 0 1  không hay mt
 m n   m n n (m, n  N)
  nh là 1
Course
Student
0 4 10 20
26
Vai trò (Role)
 t vai trò biu din cho mt tp h i
ng
chng
Trng Ngi
c ti

sinh viên
giáo viên

t
hôn
14
27
Liên kt Hoc
CôngtyBohim ngBohim
1
0 *
Ngi Côngty
1

0 *
0 *
1 *
{or}
28
Liên kt có th t
Kháchhàng
Hóan
1
0 *
{ordered}
15
29
Lpliênkt
Côngty Ngi
Công vic
môt
ngàytuyndng
ng
*
1 *
 quan
 ng
ngi
làm công
30
Liên kt nhiu bên
CôngtyBohim ngBohim
1
0 *

Ngi
1 *
0 *
Thohim
0 1
16
31
Quanhkt nhp (Aggregation)
 Biu din mi quan h “whole/part”
32
Quanhhp thành (Composition)
ng th và thành phn hu 
cùng th m
Liver
Body
Heart
Wheel
Car
Engine
p thành (Composition)
t nhp (Aggregation)
17
33
Quanhph thuc (Dependencies)
 Quan h 1 chiu: 1 lp ph thuc vào lp khác
(b  ng)
CourseSchedule
addCourse(c : Course)
removeCourse(c : Course
Course

Using relationship
34
Xácnhlpvài tng
18
35
Các phng pháp tìm kimli
ng
 Phân tích phm vi bài toán  tìm lp
 a vào danh sách phm trù khái nim
 a vào các use case
 a vào kinh nghim & kin thc ca ngi phân tích
 a vào h  tài liu nhng h thng có liên quan
 a vào ý kin tham kho các chuyên gia h thng
36
Phân tích phm vi bài toán  tìm lp
(d kin)
 a vào các vn bn mô t bài toán  tìm lp
 Xác nh các danh t trong phm vi bài toán
 Không phi danh t nào cng là i biu ca
p
 t s danh t, cm danh t  ng ngha, có
vai trò nh nhau trong h thng thì loi bt
19
37
Tìmcácnhómvt th
 Xác nh các nhóm vt th ng tác vi h thng (tác
nhân?)
 Khách hàng, nhà cung cp, ngi qun lý
 Các vt th u hình trong h thng
 Hoá n, phiu thanh toán, s tit kim, gi  ngh rút

tin,…
 Các s kin, vai trò
 Các tng tác
 Vic bán hàng là 1 chui tng tác gia khách hàng và
ngi bán hàng
 Các n v  chc: phòng ban,…
38
Xácnh các danh t trong
phm vi bài toán
 t công ty mun xây dng  thng phn mm
 phc v qun
lý các ho ng kinh doanh
, bán hàng. Công ty có nhiu m
bán hàng u cui (POST: Point Of Sale Terminal) là nhng a
hàng siêu th, do vy  thng n phi ghi nhn các ho ng
bán hàng và x lý các công vic thanh toán i khách hàng (mua
)
 Ngoài ra  thng
còn giúp giám c theo dõi các ho ng kinh
doanh, t ng kim kê các t hàng t ng trong kho, các t
hàng bán chy,…  tr ra quy nh các ho ng kinh
doanh a công ty. Trong mi m bán hàng u cui u có các
thit b phn cng
: máy tính, máy c mã vch và phn mm h
thng
20
39
Danh sách các lpdkin
 HBH: i din cho h thng phn mm hoc h thng
 CuaHang: m bán hàng u cui, siêu th

 PhieuBanHang: ho ng bán hàng, ho ng kinh
doanh
 ThanhToan: công vic thanh toán
 NguoiQL: ngi qun lý, gi c
 MatHang: mt hàng, sn phm,…
40
Xem xét kchbnca UC  xácnh
li tng
 Khách hàng
a hàng n quy thu tin
 Ngi bán hàng nhp chi tit tng t hàng  bàn phím
 Hin 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à hin th ng s tin
 Ngi bán hàng thông báo cho khách hàng ng s tin
phi tr
 Khách hàng chn phng thc thanh toán: tr tin mt.
u tr tin bng th tín dng  “Thu tin mt’; Ngân
phiu  “Thu ngân phiu”
 Tr tin tha
cho khách nu có
 p nht chi tit t hàng bán và  ng hàng trong
a hàng
 In Phiu thanh toán cho khách và giao hàng ã thanh toán
21
41
Davàomíchsdng UC  xác
nhli tng
 Xác nh các danh t trong lung s kin 
p. ng t  phng thc

 Khó khn: tu vào ni dung c t mà 1 thc
th có th c xác nh tng ng bi nhiu
tên khác nhau
 Ngi mua hàng  khách hàng. Nhân viên 
cán b, công chc
 Các danh t: tác nhân, lp, thuc tính lp
42
Xácnhmíchcami UC
 Là mc tiêu mà h thng cn thc hin
 Câu hi xác nh m ích:
 c tiêu ca UC là gì?
 UC cung cp nhng dch v nào?
 Nhng giá tr hay nhng áp ng nào mà UC
có th cung cp
 phn
tip nhn
Phòng ào
o
ng ký môn hc
Phi ng ký
môn hc mi
n sao phiu
ng ký môn hc
22
43
Davàomíchxácnh
thc th
 UC thc hin 1 công vic -> liên quan n nhiu thc
th (ngi , 1 cái gì ó)
 i thc th m thuc tính + hành vi

 Xác nh thc th:
 Nhng thc th nào là cn thit và quan trng  thc hin UC
 ng t i vi thuc tính & hành vi
44
Víd
Ngi bán
hàng
 phn k
toán
  t hàng
KhachHang
MaKH
TenKH
DonDatHang
MaDDH
NgayDH
NguoiBanHang
MaNguoiBH
TenNguoiBH
MatHang
MaMH
TenMH
23
45
Xácnhcácmi quan h gia các
lp
 Các i tng trong UC kt hp vi nhau 
cùng thc hin công vic chung
 Câu hi xác nh:
 Có i tng nào ph thuc hoc b tác ng

i thc th khác ko?
DonDatHang
MaDDH
NgayDH
NguoiBanHang
MaNguoiBH
TenNguoiBH
1 1 *
46
Xácnh các hàm thành phn th hin
s cng tác calp
Câu hi xác nh:
 UC cn làm gì vi m i tng bên trong nó?
 UC cn bit gì v  i tng liên quan vi
nó?
  i tng liên quan có th óng góp gì cho
UC nó thuc v
24
47
Loibcáclpkhôngcn thit
 Các Lp khác nhau li cùng mô t  1 thc
th  y mt
 Ngi mua hàng, khách hàng,…
 p không có chc nng c th
48
Mtscâuhi giúp nhndnglp
Nhng thông tin nào cn phân tích, lu tr
 Nhng h thng ngoài nào cn thit cho h thng và
ngc li
 Nhng th vin lp nào c c s ng trong h

thng
  thng qun lý các thit b ngoi vi nào
 Vai trò ca các tác nhân i vi h thng là gì?
25
49
Tìm kim thuc tính & các thuc tính
calp
Danh t trong lung s kin  p, i tng,
thuc tính,…?
 Phân bit thuc tính hay thc th ?
 n thit  không tha, thiu
50
Víd
Element
Character Image
ParagraphDocument
1
0 *
[ordered]
1
0 *
[ordered]

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×