Tải bản đầy đủ (.ppt) (62 trang)

Giáo trình UML - Chương 8: Hiện thực hóa Use Case docx

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 (647 KB, 62 trang )

CHƯƠNG 8:
CHƯƠNG 8:
Hiên th c ho a Use Case ̣́ ự
Hiên th c ho a Use Case ̣́ ự
(Realization Use Case)
(Realization Use Case)
PTTKHT bang UML - BM HTTT 1
Nôi dung ̣
Nôi dung ̣
PTTKHT bang UML - BM HTTT 2

Hiên th c ho a use casẹ́ ự

Mô hi nh domain va hiên th c ho a UC̀ ̀ ̣́ ự

L p y niêm va l p thiê t kế ́ ̀ ́ ́ ́ơ ̣ ơ

Nhiêm vu va methoḍ̀ ̣

Nhiêm vu va l c đô t ng ta c̀ ̀ ̣́ ̣ ượ ươ

Case study 1: Hê thô ng POṢ́
◦ Thiê t kê đô i t ng makeNewSalé ́ ́ ượ
◦ Thiê t kê đô i t ng enterIteḿ ́ ́ ượ
◦ Thiê t kê đô i t ng endSalé ́ ́ ượ
◦ Thiê t kê đô i t ng makePayment́ ́ ́ ượ
◦ Thiê t kê đô i t ng StartUṕ ́ ́ ượ
Hiên th c ho a UĆ̣ ự
Hiên th c ho a UĆ̣ ự
UC realization
UC realization



Hiên th c ho a UC co nghi a la mô ta ́ ́ ̃ ̣̀ ự ̉
la m thê na o đê 1 use case đ c hiên ̀ ́ ̀ ̉ ượ ̣
th c ho a trong mô hi nh thiê t kê theo ́ ̀ ́ ́ự
nghi a la ca c đô i t ng công ta c nhau. ̃ ̀ ́ ́ ́ượ ̣

Chi nh xa c h n, ng i thiê t kê co thê ́ ́ ̀ ́ ́ ́ơ ươ ̉
mô ta viêc thiê t kê cua môt hay nhiê u ́ ́ ̀̉ ̣ ̉ ̣
scenario cua use case, mô i thiê t kê na y ̃ ́ ́ ̀̉
đ c goi la hiên th c ho a use case. ̀ ́ượ ̣ ̣ ự
PTTKHT bang UML - BM HTTT 3
Hiên th c ho a UĆ̣ ự
Hiên th c ho a UĆ̣ ự

Viêc hiên th c ho a use case đ c du ng ́ ̣̀ ̣ ự ượ
đê kê t nô i gi a ca c yêu câ u đ c ́ ́ ̃ ́ ̀̉ ư ượ
biêu diê n b i use case v i viêc thiê t kê ̃ ́ ́ ́̉ ở ơ ̣
ca c đô i t ng thoa ma n ca c yêu câ u ́ ́ ̃ ́ ̀ượ ̉
đo . ́

L c đô t ng ta c nh môt ngôn ng ̀ ́ ̃ượ ươ ư ̣ ư
thông dung đê minh hoa viêc hiên th c ̣ ̉ ̣ ̣ ̣ ự
hoa use casé
PTTKHT bang UML - BM HTTT 4
Mô hi nh Domain va hiên th c ho a ̀ ̀ ̣́ ự
Mô hi nh Domain va hiên th c ho a ̀ ̀ ̣́ ự
UC
UC

Môt sô đô i t ng phâ n mê m ́ ́ ̀ ̣̀ ượ

(software objects ) t ng ta c v i nhau ́ ́ươ ơ
thông qua ca c thông điêp trong l c đô ́ ̣̀ ượ
t ng ta c đ c ru t ra t mô hi nh ́ ́ ̀ ̀ươ ượ ư
domain, chăng han nh l p y niêm Sale ́ ́̉ ̣ ư ơ ̣
đ c lâ y theo l p thiê t kê Sale. ́ ́ ́ ́ượ ơ

Viêc chon đê đăt nhiêm vu thi ch h p ̣́ ̣ ̉ ̣ ̣ ̣ ợ
va o ca c l p môt phâ n d a theo thông ̀ ́ ́ ̀ơ ̣ ự
tin trong mô hi nh domain.̀
PTTKHT bang UML - BM HTTT 5
Mô hi nh Domain va hiên th c ho a ̀ ̀ ̣́ ự
Mô hi nh Domain va hiên th c ho a ̀ ̀ ̣́ ự
UC
UC

Co thê mô hi nh domain hiên tai ch a ́ ̀̉ ̣ ̣ ư
đâ y đu, vâ n co n lô i va sai so t. ̀ ̃ ̀ ̃ ̀ ́̉

Ca c l p y niêm m i se đ c kha m ́ ́ ́ ́ ̃ ́ơ ̣ ơ ượ
pha trong lu c hiên th c ho a use case. ́ ́ ̣́ ự
PTTKHT bang UML - BM HTTT 6
L p y niêm va l p thiê t kế ́ ̀ ́ ́ ́ơ ̣ ơ
L p y niêm va l p thiê t kế ́ ̀ ́ ́ ́ơ ̣ ơ
(Conceptual class and design class)
(Conceptual class and design class)

Mô hi nh Domain không mô ta l p thiê t kê ̀ ́ ́ ́̉ ơ
nh ng đ c du ng la m c s đê suy ra ca c l p ̀ ̀ ́ ́ư ượ ơ ở ̉ ơ
thiê t kê . ́ ́


Trong lu c ve l c đô t ng ta c, nha pha t ́ ̃ ̀ ́ ̀ ́ượ ươ
triên co thê d a va o mô hi nh domain đê đăt ́ ̀ ̀̉ ̉ ự ̉ ̣
tên l p thiê t kê , nh đo thu hep khoang ca ch ́ ́ ́ ̀ ́ ́ơ ơ ̣ ̉
gi a phâ n mê m va ca c kha i niêm thê gi i ̃ ̀ ̀ ̀ ́ ́ ́ ́ư ̣ ơ
th c. ự

Ca c l p thiê t kê trong mô hi nh thiê t kê ́ ́ ́ ́ ̀ ́ ́ơ
không nhâ t thiê t buôc phai tru ng tên hoa n ́ ́ ̀ ̣̀ ̉
toa n v i ca c l p trong mô hi nh domain. ̀ ́ ́ ́ ̀ơ ơ
PTTKHT bang UML - BM HTTT 7
L p y niêm va l p thiê t kế ́ ̀ ́ ́ ́ơ ̣ ơ
L p y niêm va l p thiê t kế ́ ̀ ́ ́ ́ơ ̣ ơ
PTTKHT bang UML - BM HTTT 8
Thiê t kê đô i t nǵ ́ ́ ượ
Thiê t kê đô i t nǵ ́ ́ ượ

Hai ki n th c c b n c n ph i có đ ế ứ ơ ả ầ ả ể
thi t k đ i t ng là:ế ế ố ượ

Các nguyên t c gán trách nhi m cho đ i ắ ệ ố
t ng (GRASP)ượ

Các m u thi t k (design pattern)ẫ ế ế

Thiê t kê đô i t ng co nghi a la phai ́ ́ ́ ́ ̃ ̀ượ ̉
quyê t đinh xem method na y nên thuôc ́ ̣̀ ̣
l p na o, đô i t ng kia nên t ng ta c ́ ̀ ́ ́ơ ượ ươ
ra sao.
PTTKHT bang UML - BM HTTT 9
Nhiêm vu va methoḍ̀ ̣

Nhiêm vu va methoḍ̀ ̣

UML đinh nghi a nhiêm vu (responsibility) ̣̃ ̣ ̣
la “ a contract or obligation of a ̀
classifier”.

Nhiêm vu co liên quan đê n nh ng bôn ́ ́ ̣̃ ̣ ư ̉
phân cua 1 đô i t ng na o đo thông qua ́ ̀ ̣́ ̉ ượ
ha nh vi cua no . Nhiêm vu cua môt đô i ̀ ́ ́̉ ̣ ̣ ̉ ̣
t ng bao gô m hai loai:̀ượ ̣

Doing (la m)̀

Knowing(biê t)́
PTTKHT bang UML - BM HTTT 10
Nhiêm vu va methoḍ̀ ̣
Nhiêm vu va methoḍ̀ ̣

Doing (la m)̀

La m 1 ca i gi đo cho chi nh đô i t ng nh ̀ ́ ̀ ́ ́ ́ ượ ư
tao 1 đô i t ng kha c hay th c hiên ti nh ́ ́ ̣́ ượ ự ̣
toa ń

Kh i đâ u 1 ha nh đông cua 1 đô i t ng ̀ ̀ ́ở ̣ ̉ ượ
kha ć

Kiêm soa t va điê u phô i hoat đông ca c đô i ́ ̀ ̀ ́ ́ ́̉ ̣ ̣
t ng kha ćượ


Knowing(biê t):́

Biê t d liêu na o đo ng go i riênǵ ̃ ̀ ́ ́ư ̣

Biê t đô i t ng na o co liên quan đê ń ́ ̀ ́ ́ượ

Biê t nh ng gi co thê suy diê n hay ti nh ́ ̃ ̀ ́ ̃ ́ư ̉
toa n đ ć ượ
PTTKHT bang UML - BM HTTT 11
Nhiêm vu va methoḍ̀ ̣
Nhiêm vu va methoḍ̀ ̣

Tra ch nhiêm se đ c ga n cho ca c l p ́ ̃ ́ ́ ̣́ ượ ơ
cua đô i t ng trong lu c thiê t kê đô i ́ ́ ́ ́ ́̉ ượ
t ng.ượ

Vi du đô i t ng Sale co nhiêm vu tao ́ ́ ̣́ ượ ̣ ̣ ̣
ra đô i t ng SalesLineItems (nhiêm vu ́ ượ ̣ ̣
doing) hay đô i t ng Sale co nhiêm vu ́ ́ượ ̣ ̣
cho biê t tông tri gia ba n (nhiêm vu ́ ́ ́̉ ̣ ̣ ̣
knowing).
PTTKHT bang UML - BM HTTT 12
Câ p đô cua nhiêm vú ̣ ̉ ̣ ̣
Câ p đô cua nhiêm vú ̣ ̉ ̣ ̣

Viêc chuyên giao nhiêm vu va o ca c l p ̀ ́ ̣́ ̉ ̣ ̣ ơ
phu thuôc va o câ p đô cua nhiêm vu ̀ ̣́ ̣ ̣ ̉ ̣ ̣
(granularity of the responsibility).

Vi du: nhiêm vu “provide access to ́ ̣ ̣ ̣

relational DB” co thê liên quan đê n ́ ́̉
ha ng ta ca c l p va ha ng trăm method ̀ ́ ́ ́ ̀ ̀ơ
trong 1 hê thô ng con. Trong khi đo ́ ̣́
nhiêm vu “create a Sale” co thê chi liên ̣́ ̣ ̉ ̉
quan đê n 1 va i method ma thôi.́ ̀ ̀
PTTKHT bang UML - BM HTTT 13
Th c thi nhiêm vuự ̣ ̣
Th c thi nhiêm vuự ̣ ̣

Nhiêm vu đ c th c thi thông qua hoăc ̣ ̣ ượ ự ̣
chi bă ng 1 method riêng le hoăc do ̀̉ ̉ ̣
nhiê u method va đô i t ng cu ng công ̀ ̀ ́ ̀ượ ̣
ta c.́

Vi du, l p Sale co môt method tên ́ ́ ̣́ ơ ̣
getTotal cho biê t tông tri gia ; đê hoa n ́ ́ ̀̉ ̣ ̉
tha nh nhiêm vu na y, Sale câ n công ta c ̀ ̀ ̀ ̣́ ̣ ̣
v i 1 sô đô i t ng kha c chăng han no ́ ́ ́ ́ ́ơ ượ ̉ ̣
se g i thông ba o agetSubtotal đê n mô i ̃ ́ ́ ̃ử
đô i t ng SalesLineItem đê nhân đ c ́ ượ ̉ ̣ ượ
tông con cua mô i măt ha ng ba n đ c.̃ ̀ ́̉ ̉ ̣ ượ
PTTKHT bang UML - BM HTTT 14
Nhiêm vu va l c đô t ng ta c̀ ̀ ̣́ ̣ ượ ươ
Nhiêm vu va l c đô t ng ta c̀ ̀ ̣́ ̣ ượ ươ
(Responsibilities and interaction diagrams)
(Responsibilities and interaction diagrams)

Viêc ga n nhiêm vu th ng đ c th c ́ ̣̀ ̣ ̣ ươ ượ ự
hiên ̣ trong lu c tao l c đô t ng ta c ́ ̀ ̣́ ượ ươ
thông qua viêc chon thông ba o gi g i ́ ̣̀ ̣ ử

cho đô i t nǵ ượ
PTTKHT bang UML - BM HTTT 15
Nhiêm vu va l c đô t ng ta c̀ ̀ ̣́ ̣ ượ ươ
Nhiêm vu va l c đô t ng ta c̀ ̀ ̣́ ̣ ượ ươ
(Responsibilities and interaction diagrams)
(Responsibilities and interaction diagrams)

Đô i t ng Sale đu c ga n nhiêm vu tao ́ ́ượ ợ ̣ ̣ ̣
đô i t ng Payment khi co thông ba o ́ ́ ́ượ
makePayment va method th c thi t ng ̀ ự ươ
ng la makePayment.́ ̀ư
PTTKHT bang UML - BM HTTT 16
Case study 1
Case study 1

T l c đô tuâ n t cua kich ban chi nh ̀ ̀ ̀ ́ư ượ ự ̉ ̣ ̉
UC “Process Sale” tao ca c l p class ́ ̣́ ơ
thiê t kế ́
PTTKHT bang UML - BM HTTT 17
Thiê t kê đô i t ng ́ ́ ́ ượ
Thiê t kê đô i t ng ́ ́ ́ ượ
“makeNewSale”
“makeNewSale”

Thao ta c hê thô ng “makeNewSale” xay ́ ̣́ ̉
ra khi thâu ngân bă t đâ u môt lâ n ba n ́ ̀ ̀ ̣́
ha ng m i (new sale) khi kha ch ha ng ̀ ́ ́ ̀ơ
mang đê n ca c đô vât đa chon mua.́ ́ ̀ ̣̃ ̣

Không co điê u kiên tiên quyê t ́ ̀ ̣́


Kê t qua cua thao ta c :́ ́̉ ̉

Môt điên hi nh Sale s đu c tao rạ̀ ̉ ợ ̣

s đ c kê t h p v i Registeŕ ́ượ ợ ơ

Ca c thuôc ti nh cua s đu c kh i đâ u ́ ́ ̣̀ ̉ ợ ở
PTTKHT bang UML - BM HTTT 18
Thiê t kê đô i t ng ́ ́ ́ ượ
Thiê t kê đô i t ng ́ ́ ́ ượ
“makeNewSale”
“makeNewSale”

Thiê t kê đâ u tiên la câ n chon l p ́ ́ ̀ ̀ ̀ ̣́ ơ Controller
cho thông ba o hê thô ng “makeNewSale” ́ ̣́

Theo mâ u Controller thi co 2 ng viên:̃ ̀ ́ ́ư
Nên chon l p Register vi hê thô ng không co ́ ̀ ́ ̣́ ơ ̣
qua nhiê u thao ta ć ̀ ́
PTTKHT bang UML - BM HTTT 19
Để biểu diễn cả hệ thống, thiêt bị,
hay 1 hệ thống con
Register, POSSystem
Để biểu diễn đối tượng nhận
(receiver) hay quản lý (handler)
toàn bộ sự kiện hệ thống của kịch
bản use case
ProcessSaleHandler,
ProcessSaleSession

Thiê t kê đô i t ng ́ ́ ́ ượ
Thiê t kê đô i t ng ́ ́ ́ ượ
“makeNewSale”
“makeNewSale”

Nh vây co nghi a la trong l c đô ́ ̃ ̀ ̀ư ̣ ượ
t ng ta c se co môt thông điêp ́ ̃ ́ươ ̣ ̣
makeNewSale đ c g i đê n đô i t ng ́ ́ượ ử ươ
phâ n mê m Register̀ ̀
PTTKHT bang UML - BM HTTT 20
Thiê t kê đô i t ng ́ ́ ́ ượ
Thiê t kê đô i t ng ́ ́ ́ ượ
“makeNewSale
“makeNewSale

Đô i t ng Sale câ n phai đ c tao, va ́ ̀ ̀ươ ̉ ượ ̣
theo Creator nên ga n tra ch nhiêm tao ́ ́ ̣ ̣
l p Sale na y cho l p na o ma co kha ́ ̀ ́ ̀ ̀ ́ơ ơ ̉
năng tâp h p, ch a va l u tr lai ca c ́ ̀ ̃ ̣́ ợ ư ư ư ̣
đô i t ng đ c tao ra. ́ ượ ượ ̣

Theo mô hi nh nghiêp vu thi thâ y ră ng ̀ ̀ ́ ̣̀ ̣
Register co thê l u tr đu c Sale, vi vây ́ ̃ ̀̉ ư ư ợ ̣
Register la môt ng viên (candidate) ̀ ̣́ ư
thi ch h p đê tao Sale. ́ ợ ̉ ̣
PTTKHT bang UML - BM HTTT 21
Thiê t kê đô i t ng ́ ́ ́ ượ
Thiê t kê đô i t ng ́ ́ ́ ượ
“makeNewSale
“makeNewSale


Khi Sale đ c tao ra, thi phai tao 1 tâp ̀ượ ̣ ̉ ̣ ̣
h p rô ng đê ch a tâ t ca ca c điên hi nh ̃ ́ ́ ́ ̀ợ ̉ ư ̉ ̉
cua SaleLineItem se lâ n l t đ c thêm ̃ ̀̉ ượ ượ
va o. Tâp h p na y phai đ c ch a va duy ̀ ̀ ́ ̣̀ ợ ̉ ượ ư
tri b i điên hi nh Sale, điê u na y cu ng co ̀ ̀ ̀ ̀ ̃ ́ở ̉
nghi a la Sale la ng viên tô t nhâ t đê ̃ ̀ ̀ ́ ́ ́ư ̉
tao tâp h p na y. ̣̀ ̣ ợ

Register se tao Sale va Sale se tao 1 tâp ̃ ̀ ̣̃ ̣ ̣
h p rô ng dang biêu t ng đa đô i t ng̃ ́ợ ̣ ̉ ượ ượ
PTTKHT bang UML - BM HTTT 22
PTTKHT bang UML - BM HTTT 23
Thiê t kê đô i t ng enterIteḿ ́ ́ ượ
Thiê t kê đô i t ng enterIteḿ ́ ́ ượ

Thao ta c hê thô ng ́ ̣́
enterItem xay ra khi ̉
thâu ngân đ a va o ma ha ng va sô ̀ ̃ ̀ ̀ ́ư
l ngượ

Không co điê u kiên tiên quyê t́ ̀ ̣́

Kê t qua cua thao ta c (postcondition):́ ́̉ ̉

Điên hi nh SalesLineltem co tên ̀ ́̉ sli đ c tao ượ ̣

sli đa kê t h p v i Sale hiên ha nh ̃ ́ ́ ̀ợ ơ ̣

sli.quantity đa ch a sô l ng̃ ́ ́ư ượ


Sli đa kê t h p v i ProductSpecification, d a ̃ ́ ́ợ ơ ự
va o so tru ng ma ha ng itemID̀ ̀ ̃ ̀
PTTKHT bang UML - BM HTTT 24
Thiê t kê đô i t ng enterIteḿ ́ ́ ượ
Thiê t kê đô i t ng enterIteḿ ́ ́ ượ

Chon l p Controlleṛ́ ơ : giô ng nh s kiên ́ ư ự ̣
makeNewSale, l p Register vâ n tiê p tuc ́ ̃ ́ơ ̣
đ c chon.ượ ̣

Đê hiên thi mô ta va gia ca ha ng ho a?̀ ́ ̀ ́̉ ̉ ̣ ̉ ̉

Theo nguyên tă c phân chia Model- View, đô i ́ ́
t ng non-GUI không co nhiêm vu gi liên ́ ̀ượ ̣ ̣
quan đê n output. Do đo tuy UC co đê câp ́ ́ ́ ̀ ̣
đê n mô ta va gia nh ng se bi bo qua không ́ ̀ ́ ̃̉ ư ̣ ̉
xe t đê n tai th i điêm na y.́ ́ ̀ ̣̀ ơ ̉
PTTKHT bang UML - BM HTTT 25

×