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

Phân tích thiết kế hệ thống hướng đối tượng bằng UML - Chượng 5: Mô hình hóa nghiệp vụ doc

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 (747.42 KB, 31 trang )

Phân tích thit k h thng hng đi tng bng UML
43
Chng 5
MÔ HÌNH HOÁ NGHIP V (BUSINESS MODELING)
Mc tiêu
Hc xong phân này sinh viên có th hiu:
- Nh th nào là mô hình hoá nghip v, mc tiêu và quy trình ca mô hình hoá
nghip v
- Các hot đng trong phân tích, thit k qui trình nghip v
- Áp dng UML vào mô hình hoá nghip v. c bit, s dng s đ use case
biu din ni dung ca h thng nghip v trong giai đon phân tích. S dng
s đ đi tng trong vic thit k
 hin thc hoá nghip v.
- Chuyn dch các yêu cu t đng hoá t h thng nghip v sang h thng
phn mm t đng hoá
Gii thiu
Mô hình hóa nghip v là mt k thut đ tìm hiu quy trình nghip v ca mt t chc. Mô
hình nghip v xác đnh các quy trình nghip v nào đc h tr bi h thng. Tóm li, song
song vi quá trình kho sát tìm hiu v vn đ h thng thì cách tip cn nghip v là phng
pháp có h thng nht đ nm bt các yêu cu ca các ng dng nghip v.
Khi nhng h thng ngày càng phc tp, vic mô hình hóa trc quan và cách vn dng các k
thut mô hình hóa ngày càng tr nên quan trng hn. Có nhiu nhân t b sung cho s thành
công ca mt d án, nhng vic có mt tiêu chun ngôn ng mô hình hóa cht ch là nhân t
quan trng nht. Mt trong nhng mc đích đu tiên ca mô hình hoá nghip v là to ra các
“đi tng” (mô hình) nhm đ d hiu h
n và d có th thit k nhng chng trình máy
tính bng cách thông qua hin tng th gii thc nh: ngi, nguyên liu làm vic và cách
thc chúng thc hin nhng nhim v ca h. Nh vy, vic mô hình hóa nghip v là lp
mô hình nhng t chc th gii thc.
Phm vi nh hng ca vic mô hình hóa nghip v có th bin đi tu theo nhu cu và h


thng nghip v c th. Có th đn gin chúng ta ch nhm vào vic tng nng sut bng cách
ci tin nhng quy trình đã tn ti, hoc là đang to ra nhng s ci tin có nh hng ln
bng cách thay đi đáng k nhng qui trình nghip v da trên s phân tích k lng các
mc tiêu và các khách hàng ca t chc. Cho dù là bt k
trng hp nào, nhng h thng
thông tin h tr cho h thng nghip v đu b nh hng.
Ti sao phi mô hình hoá nghip v?
Trong quá trình phát trin h thng phn mm mt vn đ tn ti rt ln là đi ng phát trin
h thng thng him khi có mt kin thc hiu bit đy đ v nghip v ca t chc mà
chính h là ngi xây dng h thng phm mm thc hin trong môi trng nghip v đó.
Trong khi đó, ngi s d
ng phn mm chính là các đi tng x lý nghip v thng không
am hiu tng tn v các công ngh và các k thut ca phn mm nhm chn la và áp dng
nó mt cách phù hp và hiu qu vi nhu cu ca mình. Khong cách này là mt vn đ rt
ln dn đn nhiu s tht bi ca quá trình tin hc hoá h thng. Do đó, làm th nào đ các
đ
i tng này có th hiu và thng nht đc tt nht v cách gii quyt h thng trong quá
trình tin hc hoá. Nhng mô hình nghip v đa ra các cách thc din t nhng qui trình
nghip v di dng nhng đi tng và hành đng tng tác gia chúng. Nu không mô
hình hóa nghip v thì ta có th gp nhiu ri ro do nhng ngi phát trin không có thông
Phân tích thit k h thng hng đi tng bng UML
44
tin đy đ v cách thc mà nghip v đc thc hin. H ch làm nhng gì mà h hiu rõ,
nh là thit k và to ra phn mm, mà không quan tâm đn nhng qui trình nghip v. iu
này gây ra mt s lãng phí do trc đó đã xây dng các qui trình nghip v tn kém. Ri ro
do nhng h thng đc xây dng không h tr các nhu cu thc s ca t ch
c cng có th
xy ra rt cao.
Vic hiu rõ nhng qui trình nghip v là quan trng đ có th xây dng nhng h thng
đúng. Vic mô hình hóa nghip v có th có mc tiêu chính là s phát trin h thng, trong

đó công vic thc s là xác đnh đúng các yêu cu h thng.
C s đ xây dng h thng là s dng nhng vai trò và trách nhim ca con ngi cng nh

đnh ngha nhng gì đc x lý bi nghip v. iu này đc th hin trong mt mô hình đi
tng nghip v, mà qua đó có th thy rõ các vai trò đi tng s đc làm rõ.
Vi s xut hin ca e-business, mô hình hóa nghip v cng tr nên quan trng hn. Các
ng dng e-business đc xây dng đ t đng hóa nhng qui trình nghip v.
Mt khi xác đnh đ
c các mô hình nghip v, chúng ta cn phi thit lp nhng mi quan h
gia các use case h thng và nhng mô hình nghip v. iu này s cho phép các nhà phân
tích đc thông báo khi có nhng thay đi  trong h thng.
Tóm li, mc đích ca mô hình hóa nghip v là:
̇ Hiu đc cu trúc và các hot đng ca t chc đc trin khai h thng.
̇ Hiu đc các vn đ
hin ti trong t chc và xác đnh các vn đ cn ci tin.
̇ Bo đm rng các khách hàng, ngi dùng cui, và các nhà phát trin có s hiu bit
chung v t chc.
̇ Thit lp các yêu cu h thng nhm h tr t chc.
 đt đc nhng mc đích trên, lung công vic mô hình hóa nghip v mô t mt bc
tranh tng quát v t chc, t đó xác đnh các qui trình (process), các vai trò (role), và các
trách nhim ca t chc này trong mô hình use-case nghip v (business use-case model) và
mô hình đi tng nghip v (business object model).
Lung công vic trong mô hình hoá nghip v
H thng nghip v là mt loi h thng do đó quá trình tip cn mô hình hoá cng tuân theo
quy trình chung qua nhiu giai đon. Tài liu này s gii thiu hai giai đon mô hình hoá
nghip v s dng UML.
̇ Phân tích quy trình nghip v: đây là giai đon đu tiên ca mô hình hóa nghip v
giúp cho các nhà qun lý d án hiu rõ tình trng t chc hin ti và hot đng ca t
ch
c, nm bt yêu cu ca ngi dùng và khách hàng t đó phác tho và gii hn h

thng phát trin.
̇ Thit k quy trình nghip v: đây là giai đon đc t chi tit mt b phn ca t chc
bng cách mô t lung công vic ca mt hay nhiu nghip v, xác đnh các di tng
làm vic và các thc th nghip v trong biu di
n hin thc hóa nghip v và sp xp
các hành vi ca nghip v đng thi xác đnh các trách nhim, thao tác, thuc tính và
mi quan h gia các ngi làm vic và các thc th trong nghip v.

Phân tích thit k h thng hng đi tng bng UML
45

Phân tích quy trình nghip v
Các công vic ca quy trình phân tích nghip v bao gm:
̇ ánh giá và nm bt thông tin v t chc.
̇ Xác đnh các đi tng liên quan (stakeholder) và khách hàng ca h thng.
̇ nh ngha phm vi ca vic mô hình hóa nghip v.
̇ Tán thành nhng tim nng ci tin và các mc tiêu mi ca t chc.
̇ Mô t nhng mc tiêu chính ca t chc.
Nm bt thông tin v t
 chc
 thit k h thng phù hp vi nhu cu ca khách hàng thì vic hiu rõ thông tin v cu
trúc t chc s đc trin khai h thng là điu quan trng. Tt c các thành viên trong d án
đu cn phi nm bt rõ ràng các thông tin này. Chúng ta có th mô t ngn gn các b phn
cu thành t chc và mi quan h gia các b phn này thông qua các s đ t
chc và trình
bày ngn gn các thông tin liên quan.
Phân tích thit k h thng hng đi tng bng UML
46
Ví d:
S đ t chc ca siêu th Co-Op Mart Cng Qunh


T vn phòng: Gm 1 Giám c và 2 phó Giám c có nhim v điu phi toàn b hot
đng ca siêu th. T phi nm đc tình hình mua bán, doanh thu ca siêu th đ báo cáo
li cho ban giám đc hp tác xã Sài Gòn Co-Op. Vic báo cáo đc thc hin hàng tháng,
hàng quý hoc cng có khi báo cáo đt xut theo yêu cu.
T bo v: Kim tra, b
o v an ninh ca Siêu Th, ghi nhn Hàng Hóa đi li ca khách
hàng.
T thu ngân: Thc hin vic bán hàng và lp hóa đn cho khách hàng đng thi ghi nhn li
s hàng hoá bán đc ca mi loi đ báo cáo cho t qun lý sau mi ca làm vic.
T mt hàng: Nhim v ca t là kim tra cht lng hàng hoá và nm tình trng hàng hoá
ca siêu th, đm bo hàng hoá luôn  trong tình trng tt nht khi đn tay khách hàng. Khi
phát hin hàng h hng phi kp thi báo ngay cho t vn phòng đ có bin pháp gii quyt
và điu phi hàng. Ngoài ra, thng xuyên thng kê s lng hàng tn trên quy, báo cáo
v t vn phòng
T tin hc: Thc hin vic nhp liu, kt xut các báo cáo cn thit phc v cho t Vn
Phòng.
Xác đnh các đi tng có liên quan và khách hàng
Vic tin hc hóa công tác qun lý trong mt t chc to ra nhng bin đi, phn do vic t
đng hóa công vic hành chính, phn do cu trúc li t chc và s vn hành ca h thng.
Nhng thay đi quan trng phát sinh t vic thit k h thng thông tin, ch yu tp trung
vào vic tin hc hóa, nu không bit thc hin dn dn s
có nguy c ln chm đn con ngi
trong t chc dn đn tht bi ngay t đu. Bn thân công vic thit k h thng thông tin đã
đc thc hin di nhiu góc đ khác nhau, thm chí k c tâm lý, vi nhng đc thù riêng
bit và có đ phc tp cao. Chính vì th, cn phi tìm hiu nhng đi tng có liên quan và
khách hàng ca h thng là ai, đng thi n
m bt đc nhu cu ca h.
Nu đánh giá tình trng ca t chc, ta nên xác đnh nhng đi tng có liên quan trong
nghip v. Nhng khi xác đnh các mc tiêu ca h thng thì cn xác đnh nhng đi tng

liên quan trong phm vi d án và điu đó cng ph thuc vào phm vi mô hình hóa nghip
v, cng nh nhng phm vi nào cn xác đnh đi vi vic mô hình hóa.
T vn phòng

T bo v T mt hàng T tin hc T thu ngân
Phân tích thit k h thng hng đi tng bng UML
47
Ví d: th hin thông tin các đi tng liên quan và ngi dùng h thng qua bng sau trong
h thng siêu th nh sau:
Bng mô t tóm tt các đi tng liên quan:
Tên i din Vai trò
Ngi qun

Giám đc, ngi qun lý
siêu th
Theo dõi tin trình phát trin ca d án và
theo dõi tình hình hot đng ca siêu th.
Nhân viên
bán hàng
Ngi nhp các thông
tin trong h thng.
Chu trách nhim trong khâu bán hàng  siêu
th, duy trì hot đng ca siêu th.
Bng mô t tóm tt các ngi dùng:
Tên Mô t i tng liên quan
Ngi qun lý áp ng các nhu cu qun lý siêu th nh
hàng hóa, khách hàng, doanh s.
Ngi qun lý
Nhân viên bán
hàng

m bo rng h thng s đáp ng các nhu
cu ca công vic bán hàng.
Nhân viên bán hàng
Khách hàng áp ng nhu cu tra cu thông tin v hàng
hóa có trong siêu th.


Nm bt nhu cu ca các đi tng liên quan
Nhim v trao cho h là nhng công vic thc s nh là x lý thông tin, ch không ch đn
thun là thao tác vi máy tính và các thit b, vì vy ta không đc phép b qua các ý kin,
nhu cu ca h đi vi h thng tin hc tng lai. Hãy lit kê danh sách các nhu cu chính
bng cách đin đ thông tin vào bng sau:
Tên đi tng liên
quan/ khách hàng
 u
tiên
Nhu
cu
Gii pháp hin
hành
Gii pháp đ xut


Ví d:
Tên đi
tng liên
quan/ khách
hàng
 u
tiên

Nhu cu Gii pháp
hin hành
Gii pháp đ xut
Ngi qun lý Cao Xem các báo cáo
thng kê theo các
yêu cu khác nhau
Báo cáo
thng kê
doanh thu
Hin th báo cáo theo
nhiu tiêu chí khác
nhau, thông tin b trí
d nhìn và đn gin
nhng đy đ.


Phân tích thit k h thng hng đi tng bng UML
48
Gii hn h thng phát trin
Cn phi đt đc s tha thun v nhng thc th chính nm ngoài h thng vi các đi
tng liên quan và vi nhau. Trong trng hp mô hình hóa nghip v đ xác đnh các yêu
cu cho mt h thng c th, có th có nhng phn trong t chc s không b nh hng bi
h thng này, nhng phn đó có th đc xem nh các thc th nm bên ngoài.

Nhng ranh gii đt ra cho h thng có th khác rt nhiu so vi nhng gì có th đc xem là
ranh gii ca t chc.
Nu mc đích là xây dng mt h thng mi đ h tr bán hàng, ta không cn quan tâm đn
bt c vic gì trong kho hàng, nhng cn xem nó nh là mt tác nhân bi vì chúng ta cn
phi làm rõ ranh gi
i gia chúng. Trong ví d này, các thc th bên trong t chc đc xem

nh là bên ngoài h thng đang xét và đc mô hình hóa thành tác nhân nghip v.
Nu mc tiêu xây dng h thng là nhm nâng cao kh nng trao đi thông tin vi các đi tác
hay các nhà cung cp (ng dng business-to-business) nh qun lý đt hàng thì các đi tác
hay các nhà cung cp này ca t chc đc mô hình hóa cn phi đc quan tâm. Trong
trng hp này, các thc th bên ngoài t chc s n
m trong t chc. iu này ch xy ra khi
s cng tác gia các bên nh hng sâu sc đn phng thc hot đng ca nhau. Nhng nu
s nh hng này không quá ln hay nghiêm trng thì các đi tác đc xem nh là các thc
th bên ngoài và đc mô hình hóa thành tác nhân nghip v.
Nu mc đích là xây dng các ng dng chung, tùy bin (nh là ng dng k toán tài chính)
thì chúng ta cn trình bày cách thc khách hàng s s
dng sn phm cui nh th nào và nó
là mt thc th tru tng.
Xác đnh và trình bày các vn đ ca h thng
Trong quá trình kho sát h thng, có th thu thp rt nhiu nhu cu cn thay đi ca khách
hàng. ây đc xem là các vn đ ca khách hàng cn chúng ta gii quyt trong h thng
tng lai. Vì th ta cn phi hiu và trình bày rõ ràng các vn đ này đ mi thành viên trong
d
 án nm bt tt. Có th áp dng mu nh sau:
T chc
H thng nghip
v thuc phm vi
i tng môi
tr

n
g
t chc
i tng bên trong t chc nhng nm
n

g
oài h thn
g
n
g
hi
p
v đan
g

t
i tng thuc
h thng
Phân tích thit k h thng hng đi tng bng UML
49
Vn đ mô t vn đ
i tng chu tác đng các stakeholder b nh hng bi vn đ
nh hng ca vn đ tác đng nh hng ca vn đ
Mt gii pháp thành công lit kê mt vài li ích ca mt gii pháp thành công

Ví d:
Vn đ C s d liu ca các khách hàng thân thit đc lu tr  nhiu ni và
không có s đng b .
i tng chu
tác đng
Khách hàng, ngi qun lý
nh hng ca
vn đ
Dch v khách hàng thân thit ch thit lp đc  tng siêu th ca h
thng Co-Op. iu này là bt hp lý, làm rc ri trong vic nâng cao

dch v khách hàng, làm gim kh nng cnh tranh ca siêu th.
Mt gii pháp
thành công
Nhân viên có th s dng chung mt account cp cho mi khách hàng
đc dùng  tt c siêu th thuc h thng Co-Op. Nâng cao kh nng
chm sóc khách hàng ca siêu th tt hn t đó thu hút đc khách hàng
nhiu hn, tng doanh thu ca siêu th. Giúp ngi qun lý có th làm
tt công tác qun lý khách hàng, theo dõi tình hình phc v khách hàng
mt cách d dàng.

Xác đnh nhng lãnh vc cn u tiên
Cn phi tho lun và đt đc s nht trí v nhng lãnh vc cn đc u tiên trong mô hình
hóa nghip v. S tho lun này có th theo nhiu hng khác nhau, tùy vào phm vi ca mô
hình hóa nghip v.
Nu mc đích mô hình hóa nghip v là to mt mô hình hay đ thc hin s ci tin đn
gin, thì ch c
n mô t nghip v hin ti. Khi đó, nhng lnh vc nào cn ci tin phi xác
đnh rõ.
Nu mc đích là to mt nghip v mi hay thay đi hoàn toàn nghip v hin ti, thì phm
vi mô hình hóa s ln hn. Lúc này, công vic tái cu trúc các use case nghip v ca mt
nghip v đã tn ti hay thêm các use case nghip v mi - đ tái thit k nghi
p v (business
reengineering) hay thit k mi nghip v (business creation) là cn thit.
Ví d: Trong H thng qun lý nghip v bán hàng ti siêu th Co-Op Mart, vic mô hình hóa
nghip v nhm mc đích đ ci tin nghip v nên chúng ta ch cn xác đnh nhng nghip
v cn ci tin.
 ci tin nghip v, mt s câu hi đc đt ra nh sau:
̇
Cu trúc ca t chc có th đc ci tin không? ó là cách thc t chc nhân viên
làm vic trong các qui trình nghip v. Ta có th xây dng các nhóm nhân viên có

nhiu nng lc khác nhau đ thc hin nhng công vic chính, gim s lng ngi
gi vai trò mt công vic dn đn gim chi phí, gim các sai sót và đ cho các nhân
viên có nhiu trách nhim hn, khi đó h không phi ch ngi khác quyt đnh.
Phân tích thit k h thng hng đi tng bng UML
50
̇ Có công vic nào không cn thit không? Xác đnh nhng công vic không cn thit
trong t chc nh: vit báo cáo mà không có ai đc, lu tr nhng thông tin không
bao gi đc s dng
̇ Có công vic nào ging hoc tng t nhau đc thc hin  nhng ni khác nhau
không? Nh công vic đc làm li, do ngi ta không tin tng vào kt qu hoc
không bit trc đó đã làm gì hay các kt qu
đc kim tra và chp thun nhiu
ln.
̇ Có vn đ nào v thi gian và chi phí không? Thi gian thc hin có th là mt vn
đ thm chí nu mi th đu hot đng tt.  xác đnh công vic nào có thi gian
quá cp bách, hãy phân tích mi use case nghip v s dng thi gian. Xác đnh mi
quan h gia thi gian sn xut, thi gian ch, và thi gian truyn.
Kt qu chính ca hot đng này là mt bn mô t tm nhìn nghip v (Business Vision),
trong đó mô t tm nhìn (vision) ca h thng tng lai.
Business Vision xác đnh mt tp hp các mc tiêu ca công vic mô hình hóa nghip v,
cung cp đu vào cho qui trình kim chng d án, có liên quan mt thit vi trng hp
nghip v (Business Case), cng nh tài liu Vision ca công ngh phn mm. Nó đc s
dng bi các nhà qun lý, nhng ngi có thm quyn v ngân qu, nhng ngi làm vic
trong mô hình hóa nghip v, và các nhà phát trin nói chung.
Su liu này phi bo đm rng:
̇ Nó phi đc cp nht và đc phân phi.
̇ Nó phi gii quyt đc đu vào t tt c các đi tng có liên quan.
Xác đnh và mô t các thut ng nghip v
Mt trong nhng khó kh
n ca d án phn mm qun lý h thng thông tin là s bt đng

ngôn ng din đt vn đ gia khách hàng và qun tr d án hay gia các thành viên tham gia
trong d án. iu này gây ra các khó khn trong vic tìm hiu hay hiu lm các quy trình
nghip v trong t chc ca các thành viên trong d án. Nhm tránh nhng ri ro này, chúng
ta cn phi xác đnh và thng nht nhng thut ng trong các quy trình nghip v ca t
chc.
Su liu thut ng này ch thc s hu ích khi cn phân bit rõ nhng t chuyên môn ca
nghip v đc dùng trong vic mô hình hóa nghip v vi các t chuyên môn ca nghip v
đc dùng trong quá trình phát trin phn mm.
Thông thng, mi thut ng đc mô t nh mt danh t vi đnh ngha ca nó. Tt c các
bên tham gia phi thng nh
t vi nhau v đnh ngha ca các thut ng này.
Ví d: Bng thut ng ca h thng qun lý siêu th nh sau
Thut ng Din gii
Ngi qun lý Ngi qun lý siêu th và cng là ngi qun tr h thng.
Nguoiquanly đc gi chung cho nhng ngi đc cp quyn là
"Qun lý", có th bao gm giám đc, phó giám đc, k toán, nhân
viên tin hc, …
Nhân viên bán
hàng
Là nhân viên làm vic trong siêu th. Nhân viên bán hàng, đng  quy
thu tin và tính tin cho khách hàng. Thông qua các mã vch qun lý
trên tng mt hàng đc nhân viên bán hàng nhp vào h thng thông
qua mt đu đc mã vch.
Tên đng nhp Tên đng nhp ca ngi s dng h thng. Mi nhân viên khi vào làm
trong siêu th s đc đng ký mt tên đng nhp nhm đ qun lý. Khi
Phân tích thit k h thng hng đi tng bng UML
51
đng nhp vào h thng, nhân viên đó s s dng tên này đ đng nhp.
Ngi qun lý chu trách nhim qun lý tên đng nhp ca nhân viên.
Tn ti duy nht.

Mt khu Mt khu đng nhp ca ngi s dng h thng. Mi nhân viên khi s
dng tên đng nhp s đc đng ký kèm theo mt mt khu đng nhp.
Mi nhân viên ch đc bit duy nht mt mt khu ca mình. Mt khu
có th rng.
Quyn đng
nhp
Quyn đng nhp vào h thng. Tùy theo quyn và chc v trong công
ty, nhân viên có quyn đng nhp tng ng.
Khách hàng
thân thit
Khách hàng thân thit ca siêu th hay khách hàng đng ký tham gia
chng trình khách hàng thân thit ca siêu th.
im thng S đim ca khách hàng thân thit trong siêu th đc thng do mua
vt mc thanh toán ca siêu th.
Ngày cp th Ngày cp th khách hàng thân thit cho khách hàng khi h đng ký
chng trình khách hàng thân thit ca siêu th.
Hóa đn thanh
toán
Hóa đn tính tin ca siêu th khi khách hàng mua hàng ti siêu th
Chng loi
hàng
Chng loi hàng hóa trong siêu th, đc phân chia tg ng theo quy
hàng trng bày trong siêu th.
Loi hàng Loi hàng trong siêu th đc phân chia theo tiêu chí công ty sn xut,
đn v tính
Hàng hóa Hàng hóa đc bày bán trong siêu th.
Hàng tn S lng hàng hóa còn li trong siêu th cha bán đc cho khách hàng.
Mc gim T l phn trm gim đi vi khách hàng thân thit
Thng kê doanh
thu

Báo cáo thng kê tình hình kinh doanh ca siêu th theo tiêu chí nào đó
nh: hàng hóa, quý, khong thi gian
Thng kê hàng
hóa
Báo cáo thng kê s lng hàng hóa ca siêu th theo tiêu chí nào đó
nh: hàng hóa, quý, khong thi gian
Xác đnh actor và use case nghip v
Mc đích:
̇ Phác tho các qui trình trong nghip v.
̇ Xác đnh ranh gii ca nghip v cn đc mô hình hóa.
̇ Xác đnh nhng gì s tng tác vi nghip v.
̇ To ra các lc đ ca mô hình use-case nghip v.
Tác nhân (actor) trong môi trng nghip v
 hiu rõ đc mc tiêu ca nghip v, cn phi bit nghip v tng tác vi nhng ai;
ngh
a là ai đang yêu cu hay quan tâm đn đu ra ca nó. Nhng ai đó này đc biu din
nh là các business actor.
Thut ng actor (tác nhân) ám ch vai trò mà mt ngi hay mt th gì đó nm gi trong khi
tng tác vi nghip v. Nhng loi ngi dùng nghip v sau đây có kh nng đc xem là
Phân tích thit k h thng hng đi tng bng UML
52
nhng tác nhân nghip v: khách hàng, nhà cung cp, đi tác, đng nghip  nhng nghip
v không đc mô hình hóa
Nh vy, mt tác nhân thng tng ng vi mt ngi s dng. Tuy nhiên, có nhng tình
hung, chng hn nh mt h thng thông tin đóng vai trò ca mt tác nhân. Ví d, ngân
hàng có th qun lý hu ht các giao dch trc tuyn t mt máy tính thì các use case ca h
thng s tng tác vi ngân hàng, khi đó ngân hàng đc xem là mt tác nhân, điu đó có
ngha tác nhân lúc này là mt h thng thông tin.

Mt actor biu din mt loi ngi dùng c th hn là mt ngi dùng thc t. Nhiu ngi

dùng thc t ca mt nghip v có th ch gi mt vai trò ca tác nhân; ngha là, h đc
xem nh là các th hin ca cùng mt tác nhân. Hoc mt ngi dùng có th gi nhiu vai trò
tác nhân khác nhau; ngha là cùng mt ngi có th là th hin ca các tác nhân khác nhau.
Cách th
c đt tên các tác nhân nghip v: Tên ca mt tác nhân nghip v cn phn ánh vai
trò nghip v ca nó đng thi nó có th áp dng đc vi bt c ai - hay bt c h thng
thông tin nào - đóng vai trò y.
Tiêu chí đánh giá nhng tha tác viên chun:

Mi th tng tác trong môi trng nghip v - c con ngi và máy móc - đu đc mô
hình hóa bi các tác nhân. Không th chc chn tìm thy tt c tac nhân cho đn khi tt c use
case đc tìm ra và đc mô t đy đ.
Mi tác nhân "ngi" din t mt vai trò, ch không phi mt ngi c th. Chúng ta phi
ch rõ ít nht hai ngi có th có vai trò ca mi tác nhân. Nu không, ta có th đang mô hình
hóa mt ng
i, ch không phi mt vai trò. D nhiên là có nhng tình hung ch tìm thy mt
ngi có th đóng mt vai trò.
Mi tác nhân mô hình hóa mt th gì đó  bên ngoài nghip v.
Mi tác nhân có liên quan đn ít nht mt use case. Nu mt tác nhân không tng tác vi ít
nht mt use case, thì nên loi b nó đi
Mt tác nhân c th không tng tác vi nghip v theo nhiu cách khác nhau hoàn toàn.
Nu mt tác nhân tng tác theo nhiu cách khác nhau hoàn toàn, thì mt tác nhân có th

nhiu vai trò khác nhau. Trong trng hp đó, tác nhân đó đc chia thành nhiu actor, mi
cái biu din cho mt vai trò khác nhau.
Mi tác nhân có mt cái tên và mô t rõ ràng. Tên ca tác nhân cn trình bày vai trò nghip
v ca nó, tên này phi d hiu cho nhng ngi không nm trong nhóm mô hình hóa nghip
v.
Xác đnh use case nghip v
Các qui trình ca mt nghip v đc xác đnh thành mt s các use case nghip v khác

nhau, mi cái biu din mt lung công vic c
 th trong nghip v. Mt use case nghip v
Phân tích thit k h thng hng đi tng bng UML
53
xác đnh nhng gì xy ra trong nghip v khi nó đc thc hin; nó mô t s thc thi mt
chui các hành đng nhm to ra mt kt qu có giá tr cho mt tác nhân c th.
Tên ca use case cn din t nhng gì xy ra khi mt th hin use case đc thc hin. Do
đó, tên cn  dng ch đng, thông thng là mt đng t kt hp vi mt danh t
.
Tên có th mô t các hot đng trong use case t góc nhìn bên ngoài hoc bên trong, ví d:
đt hàng hay nhn đt hàng. Cho dù mt use case mô t nhng gì xy ra bên trong nghip v,
cách t nhiên nht vn là đt tên use case t góc nhìn ca tác nhân ch cht trong use case
đó. Mt khi đã quyt đnh theo phong cách nào, ta nên áp dng cùng mt quy tc cho tt c
use case trong mô hình nghip v.
Ví d:

Mt hành khách hoc có th đi du lch riêng l hoc cùng vi mt nhóm. Khi đi du lch
cùng vi mt nhóm, s có mt hng dn viên du lch cùng đi và vic check-in có th
đc thc hin cho mt đoàn bi hng dn viên hoc bi mt hành khách đi din

Phân loi use case nghip v
Khi nhìn vào các hot đng trong mt nghip v, ta có th xác đnh ti thiu ba loi công vic
tng ng vi ba loi use case sau:
- Các hot đng liên quan đn công vic ca t chc, thng đc gi là các qui trình
nghip v.
- Nhiu hot đng không liên quan đn công vic ca t chc, nhng phi đc thc
hin theo mt cách nào đó đ làm cho nghip v ho
t đng. Ví d nh qun tr h
thng, dn dp, an ninh. Các use case này mang đc đim h tr.
- Công vic qun lý. Các use case có đc đim qun lý cho thy nhng loi công vic

nh hng đn cách thc qun lý các use case khác và các mi quan h ca nghip
v vi nhng ch nhân ca nó.
Thông thng, mt use case qun lý mô t tng quan v các mi quan h gi
a nhà qun lý
vi nhng nhân viên làm vic trong các use case. Nó cng mô t cách thc phát trin và khi
to các use case.
Ví d: các loi use case nghip v ca mt t chc nhà hàng
Phân tích thit k h thng hng đi tng bng UML
54

Lu ý rng mt use case nghip v quan trng đôi khi có th là mt use case nghip v h tr
trong mt nghip v khác. Ví d: phát trin phn mm là mt use case nghip v quan trng
ca mt công ty phát trin phn mm, trong khi đó nó đc phân loi thành mt use case
nghip v h tr trong mt ngân hàng hay mt công ty bo him.
Qui mô ca mt use case nghip v

ôi khi khó quyt đnh đc mt dch v là mt, hay nhiu use case nghip v. Áp dng đnh
ngha ca mt use case nghip v cho qui trình đng ký chuyn bay. Mt hành khách đa vé
và hành lý cho nhân viên đng ký, nhân viên này s tìm mt ch ngi cho hành khách, in ra
th lên máy bay và bt đu x lý hành lý. Nu hành khách có mt hành lý thông thng, nhân
viên đng ký s in ra th đánh du hành lý và th kim soát hành khách, cui cùng kt thúc
use case nghip v bng cách gn th
đánh du cho hành lý, đa th kim soát cùng vi th
lên máy bay cho hành khách. Nu hành lý là mt dng đc bit hay cha nhng th đc bit
không th vn chuyn mt cách bình thng, hành khách phi mang nó đn mt quy hành lý
đc bit. Nu hành lý quá nng, hành khách phi tip tc đn vn phòng vé máy bay đ tr
tin, bi vì các nhân viên đng ký không x lý vic đóng tin.
Câu hi đt ra là có cn mt use case nghi
p v ti quy đng ký, mt use case nghip v
khác ti quy hành lý đc bit và cái th ba  vn phòng vé? Hay là ch cn mt use case

nghip v duy nht? Chc chn là s giao dch này có liên quan đn ba loi hành đng khác
nhau. Nhng câu hi  đây là có mt hành đng nào đó s có ý ngha đi vi hành khách
mang hành lý đc bit nu hành khách này không thc hin nhng hành đng còn li? Câu tr
l
i là không có, nó ch là mt th tc hoàn chnh - t lúc hành khách đn quy đng ký đn
khi ông ta tr thêm phí ph thu (ch có giá tr hay có ý ngha đi vi hành khách). Nh vy,
th tc hoàn chnh có liên quan đn ba quy khác nhau chính là mt trng hp s dng hoàn
chnh, tc là mt use case nghip v.
Ngoài tiêu chí này, điu quan trng là cn gi mô t ca các dch v có liên quan mt thit
này cùng vi nhau, đ sau này có th
 xem li chúng cùng mt lúc, điu chnh, kim tra và vit
hng dn cho chúng, và nói chung là qun lý chúng nh mt đn v.
Phân tích thit k h thng hng đi tng bng UML
55
Kt qu ca quá trình tip cn phân tích nghip v là (các) s đ use case nghip v và các
mô t ca use case.
Ví d: mô hình use case mô t nghip v ca siêu th Co-op Mart nh sau:

Bài tp
1.1 Cho mt h thng đc mô t nh sau:
Government Solutions Company (GSC) là công ty chuyên bán các trang thit b cho các c
quan chính ph liên ban. Khi mt c quan cn mua trang thit b t GSC, c quan này s phát
sinh mt đn đt hàng da trên mt hp đng chun trc đó đã đc tho thun vi vi
công ty. GSC qun lý các hp đng vi các c quan liên bang. Khi mt đn đt hàng gi ti
nhân viên qun lý hp đ
ng ca GSC, nhân viên này xem xét li các thông tin v các điu
khon và điu kin ca hp đng đã ký vi c quan bng cách s dng mã s hp đng đc
tham kho trong đn đt hàng đ tìm kim trong c s d liu ca GSC ri so vi thông tin
ca đn đt hàng đ xác đnh đn đt hàng có hp l hay không. n đt hàng lp l nu hp
đng cha ht hn, danh sách trang thit b phi thuc các thit b ca hp đng, và tng chi

phí phi không vt quá gii hn xác đnh trc. Nu đn đt hàng không hp l, nhân viên
qun lý hp đng s gi tr li đn đt hàng cho c quan kèm theo mt lá th din gii lý do
đn đt hàng không hp l và lu li mt bn sao ca lá th.
Nu đn đt hàng hp l, nhân viên qun lý hp đng lu vào c s d liu đn đt hàng đó
cùng vi trng thái là “cha gii quyt”. Sau đó, đn đt hàng s đc gi đn b phn đáp
ng đn hàng, b phn này s kim tra tn kho cho mi thit b da trên thông tin tn kho ly
t c s d liu. N
u có bt k mt thit b nào không đ s giao, b phn này s to ra mt
báo cáo lit kê tt c các mt hàng không đ giao cùng vi s lng thiu.
Tt c các đn đt hàng s đc chuyn ti kho đ thc hin vic giao hàng cho c quan. Sau
khi giao hàng, ti đây s lp mt hoá đn giao hàng ghi nhn các thit b đc giao gi cho
c quan, và đính kèm m
t bn sao hóa đn này vi đn đt hàng gi tr li cho nhân viên
qun lý hp đng. Nhân viên này s kim tra nu đn đt hàng đã đc giao ht thì cp nht
li trng thái đn đt hàng là “hoàn tt” và lu thông tin hoá đn giao hàng vào c s d liu.
Hàng tháng, nhân viên qun lý hp đng s lp các báo cáo các thit b đc đt hàng trong
tháng, các thit b đã đc giao, các đn đt hàng đang “cha gii quyt”, các hp đng đã
ht hn gi cho giám đc đ giúp cho giám đc nm đc tình hình hot đng ca công ty.
- Hãy xác đnh các tác nhân nghip v ca h thng
- Xác đnh tt c các use case nghip v
Phân tích thit k h thng hng đi tng bng UML
56
- Xây dng s đ use case nghip v

1.2 Mô t h thng “Qun lý cho thuê vn phòng cao c” nh sau:
Mt công ty đa c mun tin hc hóa hot đng cho thuê cao c ca mình cho các công ty
làm vn phòng hot đng kinh doanh. Công ty có nhiu cao c  trong thành ph, mi cao c
đc qun lý bi mt tên, có mt đa ch, mô t đc đim và tng din tích s dng. Mt cao

c s có nhiu tng, mi tng có nhiu phòng, mi phòng có các thông tin cn qun lý là: mã

phòng, din tích s dng, s ch làm vic (theo tính toán ca công ty), mô t v trí, giá cho
thuê.
Hot đng thuê phòng
Khách hàng mun thuê phòng thì phi đn ni qun lý tòa nhà đ tham kho v trí, din tích
phòng, và ti đây khách hàng đc nhân viên tip tân cung cp thông tin tình trng giá c ca
phòng. Giá c mi phòng đc n đnh tùy theo đ cao, din tích s dng,…
Khách hàng sau khi đ
ng ý thuê thì đn gi và trình bày yêu cu làm hp đng vi b phn
qun lý nhà, b phn này son tho hp đng da trên yêu cu thuê mn đc cung cp bi
khách hàng, ri tính toán giá thuê và lp hp đng. Hp đng sau khi đc ký nhn bi
khách hàng và trng b phn qun lý nhà s đc lu li mt bn, và mt bn s gi cho
khách hàng. Khách có th làm hp đng thuê cùng lúc nhiu phòng. N
i dung ca hp đng
bao gm: s hp đng, ngày hiu lc hp đng, ngày thanh toán đu tiên, khách hàng, thi
gian thuê và chi tit gm các phòng cn thuê, giá thuê. Thi gian ca đt thuê ít nht 6 tháng
và sau đó có th gia hn thêm. Khách phi tr trc tin thuê ca 6 tháng đu tiên, t tháng
th 7 nu có thì phi tr vào đu mi tháng. Giá thuê phòng không k chi phí đin trong đó,
do đó cui tháng khách cng phi thanh toán các chi phí đin.
u mi tun, phòng k toán kim tra li tt c hp đng đn hn phi thanh toán trong tun.
Sau đó lp thông báo gi ti các khách hàng đ chun b thanh toán. Mi ln thanh toán,
khách hàng phi đn phòng k toán ca công ty đ đ ngh thanh toán. Ti đây, phòng k toán
s tìm kim hp đng t h s lu, kim tra thông tin đt thanh toán ca khách hàng. Sau đó
lp hoá đn thanh toán và lu li m
t bn, mt bn gi cho khách hàng. Các thông tin trên
hoá đn s là: s phiu, ngày thanh toán, lý do thanh toán (tin phòng hay tin đin nc),
thanh toán cho hp đng nào và tng s tin thanh toán.
Gia hn hp đng
Khi gn ht hn hp đng, khách hàng mun gia hn thêm thi phi đn yêu cu b phn qun
lý xin gia hn hp đng. B phn này s kim tra xem thc s đã hn hn cha, đ
ã thanh toán

đy đ cha. Nu các điu kin trên đc đáp ng thì s lp mt bn hp đng gia hn. Ni
dung bn gia hn gm có: s hp đng cn gia hn, ngày ký gia hn, mô t và chi tit gia hn
gm các phòng gia hn (các phòng này phi đc thuê bi hp đng) và thi gian gia hn.
Vic thanh toán gia hn cng s đc lp theo tng tháng và mt hp đ
ng có th đc gia
hn nhiu ln.
Hot đng truy xut
Các báo cáo hng ngày đc b phn qun lý lp:
- Danh sách phòng đang đc thuê
- Danh sàch phòng đang trng
- Danh sách nhân viên đang làm vic
- Danh sách công ty ht hn thuê trong tháng
Yêu cu
Phân tích thit k h thng hng đi tng bng UML
57
- Hãy xác đnh các tác nhân nghip v ca h thng
- Xác đnh tt c các use case nghip v
- Xây dng s đ use case nghip v

Phân tích thit k h thng hng đi tng bng UML
58
Thit k qui trình nghip v
c t các use case nghip v:
Bc đu tiên trong giai đon thit k này chính là đc t các use case nghip v nhm làm rõ
ni dung ca các use case này. Chú ý rng chúng ta ch mô t các ni dung x lý th t lun
lý gia các x lý này, v kt qu, cách mô t này đc lp tng đi vi mt mt trng thc
t x lý nó có ngha rng chúng ta ch làm rõ phn ni dung ca use case mà cha mô t rõ
các vai trò thc hin và các đi tng b tác đng bi use case.
Hãy bt đu mô t lung công vic bình thng trong business use case, xác đnh s tng
tác gia các tác nhân và use case. Sau đó, khi lung công vic bình thng n đnh, ta bt đu

mô t các lung công vic thay th khác. Mt lung công vic use-case nghip v đc trình
bày theo các cách thc đã nht trí và tham kho bng chú gii chung khi vit nhng vn bn
mô t.
Mô t tt c nhng lung s kin bt thng và lung s kin tùy chn. Mô t mt lung s
kin con trong phn b sung ca lung công vic đi vi các trng hp:
̇ Nhng lung s kin con tham gia phn ln lung công vic chính.
̇ Nhng lung công vic bt thng giúp lung công vic chính rõ ràng hn.
̇ Nhng lung s kin con xy ra  nhng khong thi gian khác nhau trong cùng mt
lung công vic và chúng có th đc thc thi.
Ngoài ra, có th minh ha cu trúc lung công vic trong mt lc đ activity.
Ví d: s đ hoat đng ca use case nhp hàng

Ví d: s đ hot đng đc t use case Quan lý khách hàng thân thit
Phân tích thit k h thng hng đi tng bng UML
59


Xác đnh các tha tác viên nghip v (business worker) và các thc th chu tác đng
bi nghip v (business entity)
Xác đnh tha tác viên nghip v

Mt tha tác viên biu din s tru tng ca mt ngi hot đng trong nghip v. Mt đi
tng tha tác viên tng tác vi các đi tng tha tác viên khác đng thi thao tác vi các
đi tng thc th đ hin thc hóa mt th hin use-case.
Mt tha tác viên đc khi to khi lung công vic ca th hin use-case tng ng b
t đu
hay ngay vào lúc ngi có vai trò ca tha tác viên bt đu thc hin vai trò đó trong th hin
use-case. Mt đi tng tha tác viên thng "sng" khi use case thc thi.
UML phân chia tha tác viên thành hai loi: tha tác viên thc hin các công vic bên trong
h thng và tha tác viên tng tác trc tip vi các tác nhân bên ngoài h thng. Thc s

vic phân chia này ch mun chuyên bit hn na vai trò ca các tha tác viên trong vic giao
tip vi tác nhân bên ngoài.
Ký hi
u:

Trong các ký hiu trên cho thy, Nhân viên bán hàng đc mô hình hoá nh là mt tha tác
viên giao tip trc tip vi các tác nhân bên ngoài. Qun tr h thng đc mô hình hoá là
môt tha tác viên làm vic bên trong h thng. Th th là mt tha tác viên có th va làm
vic bên trong và va chu trách nhim giao tip vi tác nhân ben ngoài, tuy nhiên, nu đc
mô hình hoá theo nh trên thì chúng ta mun nhn mnh vài trò hot đng bên trong h thng
ca Th th hn là vai trò giao tip v
i tác nhân bên ngoài.
Xác đnh các thc th nghip v

Th th
N
hân viên bán hàng
Qun tr h thng
Phân tích thit k h thng hng đi tng bng UML
60
Các business entity biu din nhng th đc x lý hoc s dng bi các tha tác viên khi
chúng thc thi mt use case nghip v. Mt thc th thng biu din mt th gì đó có giá tr
cho mt s th hin use case hoc th hin use case, vì vy đi tng thc h sng lâu hn.
Nói chung, thc th không nên gi thông tin nào v cách thc nó đc s dng bi ai.
M
t thc th biu din mt tài liu hoc mt phn thit yu ca sn phm. ôi khi nó là mt
th gì đó m h, nh kin thc v mt th trng hay mt khách hàng. Ví d v các thc th
ti nhà hàng là Thc đn và Thc ung; ti phi trng, Vé và th lên máy bay (Boarding
Pass) là nhng thc th quan trng.
Mô hình hóa các hin tng thành nhng th

c th ch khi nhng lp khác trong mô hình đi
tng phi tham chiu đn các hin tng này. Nhng th khác có th đc mô hình hóa
thành các thuc tính ca các lp thích hp, hay ch cn đc mô t bng vn bn trong nhng
lp này.
Tt c mi th trong nghip v, nh sn phm, tài liu, hp đng, đu đc mô hình hóa
thành các thc th nghip v, và nó tham gia vào ti thi
u mt use case nghip v.
Ký hiu:

Các khái nim UML h tr thêm cho quá trình mô hình hoá nghip v
Ngoài ra, UML (phiên bn 1.5) còn b sung thêm mt s stereotype cho phép mô hình hoá
đy đ hn v h thng nghip v:
n v t chc (organization unit)
Mô t : tp hp các tha tác viên, thc th, use case nghip v, các s đ, và các đn v t
chc khác. Di tng này đc dùng đ phân chia mô hình nghip v thành nhiu phn khác
nhau.

Dn v công vic (WorkUnit)
Mô t : là mt loi h thng con có th cha mt hoc nhiu thc th. Nó là mt tp đi
tng hng nhim v nhm hình thành mt tng th có th nhn thc đc bi ngi dùng
cui và có th có mt giao din xác đnh cách nhìn các thc th công vic thích hp ti nhim
v đó.

Hin th
c hoá use case nghip v
Trong mt d án mô hình hóa nghip v hng use-case, hãy phát trin hai khung nhìn
nghip v.
Use case nghip v trình bày khung nhìn bên ngoài ca nghip v, qua đó xác đnh nhng gì
thit yu cn thc hin cho nghip v đ phân phi các kt qu mong mun cho tác nhân. Nó
Thc đn Thc ung Th lên máy bay

Nhp sách Mn sách
n v công
vic
<<subsystem>>
Phân tích thit k h thng hng đi tng bng UML
61
cng xác đnh trong nghip v cn có nhng tng tác nào vi tác nhân khi use case đc
thc thi. Khung nhìn này đc phát trin khi đang la chn và nht trí v nhng gì cn đc
thc hin trong mi use case. Mt tp hp các use case cung cp mt cái nhìn tng quan v
nghip v, nó rt hu ích đ thông báo cho các nhân viên v nhng thay đi, nhng đim
khác bit ca nghip v đang thc hin, và nh
ng kt qu nào đc mong mun.
Mt khác, mt hin thc hóa use-case cung cp mt khung nhìn bên trong v use case, qua đó
xác đnh cách thc công vic cn đc t chc và thc hin nh th nào nhm đt đc
nhng kt qu mong mun nh trên. Mt hin thc hóa bao gm các tha tác viên và thc th
có liên quan đn s thc thi mt use case và các mi quan h gia chúng. Nhng khung nhìn
nh vy cn thit cho công vic la chn và thng nht v cách thc t chc các công vic
trong mi use case nhm đt đc nhng kt qu mong mun.
C hai khung nhìn ca use case đu ch yu dành cho nhng nhân viên bên trong nghip v -
khung nhìn bên ngoài dành cho nhng ngi hot đng bên ngoài use case, khung nhìn bên
trong dành cho nhng ngi hot đng bên trong use case.

Mô hình hoá hin use case hin thc hoá qua vic lp cu trúc mô hình đi tng nghip v

(business object)

S đ đi tng nghip v là mt tp các s đ nhm trình bày s hin thc hóa ca các use
case nghip v. Nó mô t tru tng cách thc các tha tác viên và thc th liên kt và cng
tác vi nhau đ thc hin nghip v.
̇ Gii thích


S đ đi tng xác đnh các use case t góc nhìn bên trong ca các tha tác viên. Mô hình
đnh ngha cách thc các nhân viên nghip v vi nhng gì h x lý liên h vi nhau đ to
ra các kt qu mong mun. Nó nhn mnh vào các vai trò đc thc hin trong lnh vc
nghip v và các trách nhim ca nhân viên. Các đi tng ca các lp trong mô hình cn có
kh nng thc hin tt c use case nghip v.
Các thành phn chính ca mô hình đi tng nghip v là:
o Các tha tác viên (worker): cho thy các trách nhim ca mt nhân viên
o Các thc th (entity): biu din đu ra, tài nguyên, s kin đc s dng
o Các hin thc hóa use-case nghip v: cho thy các tha tác viên cng tác và
các thc th thc hin lung công vic nh th nào. Các hin thc hóa use-case
nghip v đc đc t vi:
Ü
Các lc đ lp: là các tha tác viên và thc th tham gia
Ü Các lc đ hot đng: trong đó các swimlane cho thy các trách nhim ca
các tha tác viên, các lung đi tng cho thy cách s dng các thc th
trong lung công vic.
Ü Các lc đ tun t: mô t chi tit s tng tác gia các tha tác viên, tác
nhân, và cách truy xut các thc th khi thc hin mt use case nghip v.
Use case Collaboration
Hi

n th

c hoá
Phân tích thit k h thng hng đi tng bng UML
62

̇ Mc đích ca mô hình đi tng nghip v


Nó là mt artifact trung gian đ làm rõ các ý kin v nghip v theo cách suy ngh ca các
nhà phát trin phn mm, mà vn gi đc ni dung nghip v. Nó là mt s thng nht v
nhng gì ta bit v lnh vc nghip v đc mô t di dng các đi tng, thuc tính, trách
nhim.
Nó kho sát bn cht ca lnh vc nghip v nhm chuyn ti
p li t duy v các vn đ
nghip v sang li t duy v các ng dng phn mm.
Nó làm rõ nhng yêu cu đc h tr bi h thng thông tin đang xây dng.
Nó thng nht các đnh ngha v đi tng nghip v, các mi quan h gia các đi tng,
tên các đi tng và quan h. Qua đó, cho phép trình bày chính xác các kin thc v lnh vc
nghi
p v sao cho các chuyên gia v lnh vc nghip v có th hiu đc.
̇ Lp cu trúc mô hình đi tng nghip v:

Phân tích chu k sng ca mi thc th. Mi thc th nên đc to ra và hy đi bi mt
ngi nào đó trong đi sng ca nghip v. Hãy bo đm rng mi thc th đc truy xut
và s dng bi mt tha tác viên hay mt thc th khác.
Cn gim bt s lng các tha tác viên. Khi phát trin các mô hình, có th ta s thy có quá
nhiu tha tác viên. Hãy bo đm rng mi tha tác viên tng ng vi mt tp hp các tác
v mà mt ngi thng thc hin.
Mi thc th nên có mt ngi chu trách nhim cho nó. iu này có th đc mô hình hóa
bng mt mi kt hp t tha tác viên đn các thc th mà tha tác viên đó chu trách nhim.
Mt s thc th có th do nhng ngi ngoài nghip v chu trách nhim. Mô t điu này
trong bn mô t vn tt ca thc th đó.
̇ Lc đ lp (class diagram)

Mt lc đ lp cho thy mt tp hp các thành phn (tnh) ca mô hình, nh lp, gói, ni
dung ca chúng và các mi quan h.
Collaboration
S đ lp S đ tun t

S đ hot đng
TTV
TTh
1
TTh

2
Phân tích thit k h thng hng đi tng bng UML
63
Các lc đ lp cho thy các mi kt hp, kt tp và tng quát hóa gia tha tác viên và thc
th. Nhng lc đ lp có th đc quan tâm:
o Các h thng phân cp k tha
o Các mi kt tp ca tha tác viên và thc th.
o Cách thc các tha tác viên và thc th liên quan đn nhau thông qua các mi
kt hp.
Các lc đ lp cho thy các cu trúc chung trong mô hình đi tng nghip v, nhng cng
có th là mt phn ca tài liu mô t mt hin thc hóa use case bng cách cho thy các tha
tác viên và thc th tham gia.
Ví d: s đ lp cho use case Qun lý khách hàng thân thit cho bit các tha tác viên, các
thc th và tác nhân liên kt vi nhau trong vic thc hin ca use case này.

Trong đó, Ngi qun lý là tha tác viên thc hin use case. Profile khách hàng và Hoá
đn là hai thc th đc s dng trong use case này bi tha tác viên.
Hoc s đ lp cho use case Qun lý nhp hàng

Trong đó, Ngi qun lý là tha tác viên thc hin use case. Phiu nhp và hàng hoá là các
thc th bi tha tác viên này trong vic thc hin hot đng ca use case.
c t lung công vic hin thc hoá use case nghip v

S dng s đ hot đng

u tiên đ lp tài liu cho hin thc hóa ca mt use case nghip là v mt lc đ hot
đng, trong đó các lung (swimlane) biu din các tha tác viên tham gia. i vi mi hin
thc hóa use-case, có th có mt hoc nhiu lc đ hot đng đ minh ha lung công vic.
Phân tích thit k h thng hng đi tng bng UML
64
Mt cách ph bin là s dng mt lc đ tng quan không có các swimlane đ mô t toàn
b lung công vic, trong đó trình bày các "hot đng v mô"  mc cao. Sau đó, đi vi mi
hot đng v mô s có mt lc đ hot đng chi tit, trình bày các lung (swimlane) và các
hot đng  cp đ tha tác viên. Mi lc đ nên đc gói gn trong mt trang giy.
L
c đ hot đng trong mô hình đi tng minh ha lung công vic ca mt hin thc hóa
use-case nghip v. Lc đ hot đng ca mt hin thc hóa use-case kho sát vic sp xp
các công vic theo mt th t nhm đt đc các mc tiêu ca nghip v, cng nh tha mãn
nhu cu gia các tác nhân bên ngoài và các tha tác viên bên trong. Mt hot đng có th là
mt công vic th công hoc t đng hóa đ hoàn thành mt đn v công vic.
Các lc đ hot đng giúp:
o Cung cp c s đ gii thiu các h thng thông tin đn doanh nghip mt cách d
hiu hn.
o Thit lp các mc tiêu cho các d án phát trin h thng nhm ci tin nghip v.
o iu chnh mc đ
đu t vào vic t đng hóa quy trình da trên các thông tin đo
lng qui trình nghip v đó.
So sánh vi lc đ tun t có cùng mc đích, lc đ hot đng thì tp trung mô t cách
thc phân chia trách nhim thành các lp, trong khi lc đ tun t mô t cách thc các đi
tng tng tác theo trình t. Các lc đ hot đng tp trung vào lung công vic, trong khi
các lc đ tun t t
p trung vào vic x lý các thc th. Chúng b sung cho nhau, nh lc
đ tun t cho thy nhng gì xy ra trong mt trng thái hot đng.
Ví d: s đ hot đng hin thc hoá use case Qun lý nhp hàng


S đ hot đng hin thc hoá use case Qun lý khách hàng thân thit
Mt đi tng
tha tác viên thc
hin các hot
đng nghip v
Các đi tng thc
th nghip v chu
tác đng bi hot
đng use case
Phân tích thit k h thng hng đi tng bng UML
65

S dng các swimlane (làn bi)
o Nu các swimlane đc s dng và đc nhóm thành các lp (ch yu là các
tha tác viên) trong mô hình đi tng, thì ta đang s dng lc đ hot đng đ
trình bày các hin thc hóa use-case nghip v, hn là các use case nghip v.
o Lc đ hot đng cung cp chi tit v nhng gì xy ra trong nghip v bng
cách kho sát nhng ngi có các vai trò c th (các tha tác viên) và các hot
đng mà h thc hin. i vi các d án phát trin ng dng, các lc đ này
giúp ta hiu mt cách chi tit v lnh vc nghip v s đc h tr hay chu tác
đng ca ng dng mi. Các lc đ hot đng giúp ta hình dung h thng mi
đc đ ngh rõ ràng hn đng thi xác đnh các use case ca h thng
đó.
S dng các lung đi tng
o Trong ng cnh này, các lung đi tng đc s dng đ cho thy cách thc các
thc th đc to ra và s dng trong mt lung công vic. Các lung đi tng
trình bày các đu vào và đu ra t các trng thái hot đng trong mt biu đ hot
đng. Có hai thành phn ký hiu sau:
Ü Trng thái lung đi tng (object flow state): bi
u din mt đi tng ca

mt lp tham gia vào lung công vic đc biu din trong biu đ hot đng.
i tng này có th là đu ra ca mt hot đng và là đu vào ca nhiu hot
đng khác.
Ü Lung đi tng (object flow) là mt kiu lung điu khin vi mt trng thái
lung đi tng làm đu vào/đu ra.
o
Ký hiu lung đi tng biu din s tn ti ca mt đi tng trong mt trng
thái c th, ch không là chính đi tng đó. Cùng mt đi tng này có th
đc thao tác bi mt s các hot đng k tip nhau làm thay đi trng thái ca
đi tng. Sau đó, nó có th đc hin th nhiu ln trong mt biu đ hot đ
ng,
mi ln xut hin s biu din mt trng thái khác nhau trong đi sng ca nó.
Phân tích thit k h thng hng đi tng bng UML
66
Trng thái ca đi tng ti mi thi đim có th đc đt trong ngoc và vit
thêm vào tên ca lp.
o Mt trng thái lung đi tng có th xut hin nh là trng thái kt thúc ca mt
lung đi tng (s chuyn tip) và là trng thái bt đu ca nhiu lung đi
tng (nhng s chuyn tip).
o Các lung đi tng có th đc so sánh vi các lung d liu bên trong lung
công vic ca mt use case. Không ging nh các lung d liu truyn thng, các
lung đi tng tn ti  mt thi đim xác đnh trong mt biu đ hot đng.
S dng các lc đ hp tác (collaboration) và tun t (sequence)

i vi mi hin thc hóa use-case, có th có mt hoc nhiu lc đ tng tác đ mô t các
tha tác viên và thc th tham gia, cùng vi nhng tng tác ca chúng. Có 2 loi lc đ
tng tác là: lc đ tun t và lc đ hp tác. Chúng din t nhng thông tin tng t
nhau, nhng trình bày nhng thông tin này theo nhng cách khác nhau:
o Các lc đ tun t mô t rõ ràng trình t các s ki
n. Vi các kch bn phc tp,

các lc đ tun t thích hp hn so vi các lc đ hot đng.
o Các lc đ hp tác trình bày các mi liên kt giao tip và nhng thông đip gia
các đi tng. Chúng phù hp hn trong vic giúp ta hiu đc tt c các hiu
qu trên mt đi tng cho trc.
o Nu ít có các lung thay th, nhng có nhi
u thc th liên quan, các lc đ
tng tác thng là mt s la chn tt hn so vi lc đ hot đng, nhm đ
trình bày hin thc hóa ca lung công vic.
Mt lc đ tun t mô t mt mu tng tác gia các đi tng, đc sp xp theo th t
thi gian; nó cho thy các đi tng tham gia vào s tng tác theo nh
ng "lifeline" và
nhng thông đip mà chúng gi cho nhau.
V mt đ ha, mt lc đ tun t mô t chi tit s tng tác gia các tha tác viên, tac
nhân, và cách thc các thc th đc truy xut khi mt use case đc thc thi. Mt lc đ
sequence mô t vn tt các tha tác viên tham gia làm nhng gì, và cách thc các thc th
đc thao tác thông qua nhng s kích hot, và cách thc chúng giao tip bng cách gi
thông đi
p cho nhau.
Phân tích thit k h thng hng đi tng bng UML
67






Nhng thông tin đc tìm thy trong mt lc đ tun t cng có th đc biu din trong
mt lc đ hp tác.
Mt lc đ hp tác mô t mt mu tng tác gia các đi tng; nó cho thy các đi tng
tham gia vào s tng tác thông qua nhng mi liên kt gia chúng và nhng thông đip mà

chúng gi cho nhau.

×