bai giang pttkht linh new_1
TRANSCRIPT
Tµi liÖu tham kh¶o: 1. Ph©n tÝch thiÕt kÕ H§T b»ng UML
(§Æng V¨n §øc, NXB Gi¸o dôc)2. NhËp m«n UML
(Huúnh V¨n §øc chñ biªn, NXB Lao ®éng X· héi)3. Ph©n tÝch thiÕt kÕ h íng cÊu tróc vµ h íng ®èi t îng (NguyÔn V¨n Vþ, NXB KHKT)
Ch ¬ng 1: c¸c kh¸I niÖm c¬ b¶nNéi dung: Kh¸i niÖm hÖ thèng C¸c ph ¬ng ph¸p tiÕp cËn HTTT 4 nguyªn t¾c m« h×nh hãa TiÕn tr×nh ph¸t triÓn phÇn mÒm
§Þnh nghÜa: lµ mét tËp hîp c¸c phÇn tö (element), c¸c mèi liªn hÖ (relationship) gi÷a c¸c phÇn tö ®ã vµ khi vËn hµnh cho mét chøc n¨ng hoÆc mét môc tiªu. Liªn kÕt gi÷a c¸c phÇn tö cã tÇm quan träng sèng cßn vµ t¹o cho HT c¸c ®Æc tr ng vµ c¸c ®iÒu kiÖn vËn hµnh. VD: hÖ tuÇn hoµn, hÖ thèng m¹ng m¸y tÝnh,…
C¸c tÝnh chÊt: tÝnh cã thø bËc, tån t¹i trong m«i tr êng cô thÓ, tÝnh nhÊt thÓ, tÝnh cÊu tróc.
C¸c tÝnh chÊt- Tính thứ bậc: trong hệ thống có hệ thống con, trong hệ thống
con lại có hệ thống con nữa.- Hệ thống luôn phải hoạt động trong môi trường của nó- Tính nhất thể: hệ thống là một thể thống nhất, nó tạo ra đặc
tính chung để đạt mục tiêu xác định mà không bộ phận nào của nó có thể có được
- Tính cấu trúc: số lượng và chất lượng các phần tử, trật tự sắp xếp chúng và các quan hệ giữa chúng xác định đặc trưng và cơ chế vận hành của hệ thống đồng thời quyết định mục tiêu mà hệ thống cần đạt.
HÖ thèng th«ng tin (HTTT): lµ HT dùa trªn m¸y tÝnh mµ cung cÊp kh¶ n¨ng xö lý d÷ liÖu vµ th«ng tin mµ con ng êi cÇn. Lµ HT cã c¸c chøc n¨ng: thu thËp, l u tr÷, truyÒn, xö lý, biÓu diÔn th«ng tin phôc vô ho¹t ®éng cña mét tæ chøc (môc tiªu cña HT)
Ph©n lo¹i HTTT (theo chøc n¨ng): HT tù ®éng v¨n phßng, HTTT qu¶n lý, HTTT giao dÞch, HÖ trî gióp quyÕt ®Þnh, HÖ chuyªn gia,...
Phân loại hệ thống thông tin: Hệ thống xử lý giao dịch (Transaction processing system – TPS) là
một hệ thống thông tin có chức năng thu thập và xử lý dữ liệu về các giao dịch nghiệp vụ.
Hệ thống thông tin quản lý (Management information system - MIS) là một hệ thống thông tin cung cấp thông tin cho việc báo cáo hướng quản lý dựa trên việc xử lý giao dịch và các hoạt động của tổ chức.
Hệ thống hỗ trợ quyết định (Decision support system – DSS) là một hệ thống thông tin vừa có thể trợ giúp xác định các thời cơ ra quyết định, vừa có thể cung cấp thông tin để trợ giúp việc ra quyết định.
Phân loại hệ thống thông tin Hệ thống thông tin điều hành (Excutive information system –
EIS) là một hệ thống thông tin hỗ trợ nhu cầu lập kế hoạch và đánh giá của các nhà quản lý điều hành.
Hệ thống chuyên gia (Expert System) là hệ thống thông tin thu thập tri thức chuyên môn của các chuyên gia rồi mô phỏng tri thức đó nhằm đem lại lợi ích cho người sử dụng bình thường.
Hệ thống truyền thông và cộng tác (Communication and collaboration system) là một hệ thống thông tin làm tăng hiệu quả giao tiếp giữa các nhân viên, đối tác, khách hàng và nhà cung cấp để củng cố khả năng cộng tác giữa họ.
Hệ thống tự động văn phòng (Office automation system) là một hệ thống thông tin hỗ trợ các hoạt động nghiệp vụ văn phòng nhằm cải thiện luồng công việc giữa các nhân viên.
TiÕp cËn h íng tiÕn tr×nh (thêi kú MT ch¹y chËm, bé nhí nhá)◦ §Æc ®iÓm: HTTT ® îc x©y dùng theo ®óng tiÕn
tr×nh cÇn thùc hiÖn, cÇn DL g× sö dông DL ®ã, DL ® îc tæ chøc trong cïng file víi CT.
◦ Môc tiªu: thùc hiÖn nhanh nhÊt vµ sö dông bé nhí tèt nhÊt.
◦ Nh îc ®iÓm: khi xö lý thay ®æi th× DL ph¶i thay ®æi theo, DL dïng riªng cã gi¸ thµnh cao vµ chi phÝ cho DL lín
TiÕp cËn h íng d÷ liÖu◦ §Æc ®iÓm: tËp trung vµo tæ chøc DL tèt nhÊt.
Ý t ëng: t¸ch DL khái qu¸ tr×nh xö lý vµ t¸ch biÖt CSDL víi øng dông
◦ Môc tiªu: sö dông l u tr÷ Ýt nhÊt vµ khai th¸c tèt nhÊt. KÕt qu¶: ra ®êi c¸c hÖ QTCSDL
◦ ¦u ®iÓm: tiÕt kiªm bé nhí, t¨ng hiÖu suÊt HT, chi phÝ cho DL gi¶m
◦ Nh îc ®iÓm: DL dïng chung ¶nh h ëng ®Õn qu¸ tr×nh xö lý vµ toµn bé HT, nÕu CT kh«ng cÊu tróc tèt dÔ sai vµ khã b¶o tr×.
TiÕp cËn h íng cÊu tróc◦ §Æc ®iÓm: ph¸t triÓn trªn c¬ së PPHDL, tËp trung
vµo c¶i tiÕn CT b»ng c¸ch module hãa CT
◦ ¦u ®iÓm: lËp tr×nh ®¬n gi¶n h¬n, cã thÓ t¹o module dïng chung, dÔ b¶o tr×, gi¶m tÝnh ngÉu høng
◦ Nh îc ®iÓm: DL dïng chung ¶nh h ëng ®Õn toµn bé HT, víi HT lín (®é phøc t¹p cao) th× b¶o tr× khã, ch a ®¸p øng ® îc ®ßi hái cña ng êi dïng (cÇn nhiÒu phÇn mÒm ®é phøc t¹p cao nh ng xö lý nhanh vµ gi¸ rÎ,...)
TiÕp cËn h íng ®èi t îng◦ §Æc ®iÓm: HT ® îc cÊu thµnh tõ c¸c ®èi t îng vµ sù
t ¬ng t¸c gi÷a chóng, mçi ®èi t îng bao gãi bªn trong nã DL vµ xö lý, c¸c ®èi t îng ® îc ghÐp nèi víi nhau b»ng c¸ch th«ng b¸o. Quan ®iÓm chñ ®¹o: kÕ thõa vµ bao gãi th«ng tin.
◦ ¦u ®iÓm: bá ® îc tÝnh côc bé trªn toµn HT, HT ® îc l¾p ghÐp vµ th¸o dì ®¬n gi¶n nªn dÔ b¶o tr×, dÔ sö dông l¹i, dÔ t¨ng qui m«.
T¹i sao ph¶i m« h×nh hãa? VD: vai trß cña m« h×nh khi x©y nhµ
M« h×nh gióp ta biÕt kÕ ho¹ch chi tiÕt cña HT, lËp kÕ ho¹ch tr íc khi x©y dùng HT, gióp ta ®¹t c¸c môc tiªu:
◦ HiÓn thÞ HT nh chÝnh nã hay nh c¸ch ta muèn nã hiÓn thÞ
◦ §Æc t¶ cÊu tróc hay hµnh vi cña HT
◦ Cã b¶n mÉu ®Ó h íng dÉn khi x©y dùng HT
◦ Lµm tµi liÖu cho c¸c quyÕt ®Þnh khi PTTKHT
4 nguyªn t¾c m« h×nh hãa:◦ Chän m« h×nh nµo ®Ó t¹o lËp cã ¶nh h ëng ®Õn
c¸ch gi¶i quyÕt vÊn ®Ò vµ c¸ch h×nh thµnh c¸c gi¶i ph¸p.
◦ Mçi m« h×nh biÓu diễn HT víi møc ®é chÝnh x¸c kh¸c nhau (mçi ng êi tham gia vµo HT cÇn c¸c lo¹i m« h×nh kh¸c nhau: mang l¹i c¸i g× vµ mang l¹i nh thÕ nµo).
◦ M« h×nh tèt nhÊt ph¶i lµ m« h×nh phï hîp víi thÕ giíi thùc.
◦ Kh«ng m« h×nh nµo lµ ®Çy ®ñ.
M« h×nh th¸c n íc (Waterfall)
Requirements
Specification
Design
Implementation
Maintenance
UpdateRequirements
§ êng ph¸t triÓn
§ êng b¶o tr×
M« h×nh th¸c n íc (Waterfall)
◦ Requirement: x¸c ®Þnh toµn bé yªu cÇu cña kh¸ch hµng
(HT cÇn cung cÊp nh÷ng g× cho NSD), nghiªn cøu tÝnh
kh¶ thi cña HT (vÒ kü thuËt, vÒ kinh tÕ, vÒ thêi gian, vÒ
tÝnh ph¸p lý, vÒ ho¹t ®éng)
◦ Specification (®Æc t¶ yªu cÇu): nghiªn cøu nhu cÇu vµ
c¸c mèi liªn hÖ bªn trong tõ ®ã ph¸c th¶o ra mét sè thiÕt
kÕ ban ®Çu vÒ HT, so s¸nh chän ra ph ¬ng ¸n tèt nhÊt
®¸p øng yªu cÇu
◦Design (thiÕt kÕ):
ThiÕt kÕ logic: tËp trung vµo c¸c khÝa c¹nh
nghiÖp vô cña HT; m« t¶ c¸c ®èi t îng vµ quan hÖ
th«ng qua c¸c kh¸i niÖm, biÓu t îng
ThiÕt kÕ vËt lý: chuyển m« h×nh logic trõu t îng
thµnh c¸c b¶n thiÕt kÕ vËt lý (®Æc t¶ kü thuËt).
Thiết kế vật lý:
Cô thÓ: g¾n c¸c phÇn cña HT ®· thiÕt kÕ víi c¸c thiÕt bÞ vËt lý vµ vµo c¸c thao t¸c thùc hiÖn cÇn thiÕt ®Ó tiÖn lîi cho viÖc thu thËp, xö lý, truyÒn, ® a ra th«ng tin cÇn thiÕt; lùa chän hÖ ®iÒu hµnh, ng«n ng÷ lËp tr×nh, hÖ QTCSDL, cÊu tróc file, phÇn cøng, m«i tr êng m¹ng. S¶n phÈm cuèi: ®Æc t¶ HT vËt lý cã thÓ dÔ dµng chuyÓn thµnh ch ¬ng tr×nh vµ cÊu tróc HT cÇn thiÕt lËp.
M« h×nh th¸c n íc (Waterfall)◦ Implementation (thùc thi): lËp tr×nh vµ
ch¹y thö, l¾p ®Æt thiÕt bÞ, cµi ®Æt ch ¬ng tr×nh vµ chuyÓn ®æi HT
◦ Maintenance (b¶o tr×): ph¸t hiÖn lçi, söa ®æi, bæ sung ®Ó hoµn thiÖn HT. Thêi gian b¶o tr× vµ c«ng søc bá ra tïy thuéc vµo sù hoµn thiÖn cña c¸c phase th íc ®ã. NÕu chi phÝ b¶o tr× qu¸ lín th× nªn ph¸t triÓn HT míi.
Luý:◦ Requirement + Specification = Analyse
◦ Mçi b íc gäi lµ mét pha (phase)
◦ M« h×nh cæ ®iÓn: kh«ng cã mòi tªn ng îc chiÒu (hÕt pha nµy råi míi ®Õn pha kh¸c)
Qui tr×nh RUP (Rational Unified Process):◦ Khëi ®Çu - Inception (kh¶o s¸t kh¶ thi): kh¶o s¸t thÞ tr
êng, ®Æc t¶ s¶n phÈm cuèi, x¸c ®Þnh ph¹m vi dù ¸n. § a ra Bøc tranh s¶n phÈm = C¸i g×? + Cho ai? + Gi¸ bao
nhiªu? Th êng ph¶i x©y dùng B¶n mÉu kh¸i niÖm (b¶n makÐt HT)
®Ó ®¸nh gi¸ tÝnh rñi ro, søc m¹nh vµ ®é phøc t¹p cña HT, c«ng nghÖ míi sÏ ¸p dông.
Víi c¸c dù ¸n nhá: danh s¸ch yªu cÇu phÇn mÒm. Víi c¸c dù ¸n trung b×nh: thêi gian thùc hiÖn 1 th¸ng c¶ lµm ma kÐt. Víi c¸c dù ¸n lín: x©y dùng makÐt cã thÓ lµ mét dù ¸n con
Qui tr×nh RUP (Rational Unified Process):◦ Chi tiÕt - Elaboration: ph©n tÝch yªu cÇu, m« h×nh
hãa lÜnh vùc. NhiÖm vô: lùa chän kiÕn tróc, lµm gi¶m ®é rñi ro cña dù ¸n, x¸c ®Þnh kÕ ho¹ch ®Çy ®ñ cho c¸c nhiÖm vô ph¸t triÓn HT. S¶n phÈm: M« t¶ hµnh vi HT d íi h×nh thøc UC, ng÷ c¶nh HT, c¸c actor,
c¸c kÞch b¶n øng dông vµ m« h×nh c¸c líp øng dông. KiÕn tróc, tµi liÖu m« t¶ kiÕn tróc, m« t¶ rñi ro. KÕ ho¹ch ®Çy ®ñ cho ph¸t triÓn dù ¸n. KÕ ho¹ch chi tiÕt cho c¸c vßng lÆp, tiªu chÝ ®¸nh gi¸, danh
s¸ch yªu cÇu cho mçi vßng lÆp vµ kÕt qu¶ kiÓm tra chÊt l îng
Cã thÓ bao gåm c¶ b¶n th¶o cña tµi liÖu h íng dÉn sö dông
Qui tr×nh RUP (Rational Unified Process):
◦X©y dùng - Construction: t ¬ng øng víi triÓn khai c¸c vßng lÆp. Mçi vßng lÆp cho phiªn b¶n ®Çu tiªn cña phÇn mÒm. KÕt thóc khi hoµn thiÖn phÇn mÒm vµ ® îc kiÓm nghiÖm.
◦ChuyÓn giao - Transition: b¾t ®Çu khi s¶n phÈm phÇn mÒm hoµn thiÖn ® îc chuyÓn ®Õn NSD. Bao gåm: s¶n xuÊt hµng lo¹t, vËn chuyÓn, cµi ®Æt, huÊn luyÖn, hç trî kü thuËt vµ b¶o tr×.
§Æc tr ng cña tiÕn tr×nh ph¸t triÓn phÇn mÒm H§T: ◦ UC ®iÒu khiÓn qu¸ tr×nh ph¸t triÓn: ph¶n ¸nh yªu cÇu cña HT
cÇn thùc hiÖn. Dùa vµo m« h×nh UC, ng êi ph¸t triÓn t¹o ra c¸c m« h×nh ph©n tÝch, thiÕt kÕ, cµi ®Æt nh»m vµo viÖc thùc hiÖn c¸c UC ë nh÷ng møc kh¸c nhau (kh¸i niÖm logic vËt lý) vµ xem xÐt ®Ó c¸c m« h×nh nµy phï hîp víi viÖc thùc hiÖn m« h×nh UC x©y dùng ® îc; tester kiÓm tra c¸c cµi ®Æt ®Ó ®¶m b¶o c¸c thµnh phÇn ® îc cµi ®Æt thùc hiÖn ®óng c¸c UC.
◦ Qu¸ tr×nh lÊy kiÕn tróc lµm trung t©m: kiÕn tróc phÇn mÒm lµ khung dùa trªn ®ã phÇn mÒm ® îc x©y dùng vµ ph¸t triÓn. KiÕn tróc cung c¸p chç dùa cho viÖc thùc hiÖn c¸c UC.
◦ TiÕn tr×nh ph¸t triÓn phÇn mÒm lµ qu¸ tr×nh lÆp vµ t¨ng dÇn.
TiÕn tr×nh thùc hiÖn mét b íc lÆp: ◦LËp m« h×nh nghiÖp vô: ®Ó hiÓu ®óng vµ ®Çy ®ñ vÒ
HT cÇn x©y dùng thuÇn tóy vÒ mÆt nghiÖp vô. Néi dung: x©y dùng m« h×nh lÜnh vùc vµ m« h×nh nghiÖp vô.
◦X¸c ®Þnh yªu cÇu HT: x¸c ®Þnh m« h×nh UC, s¾p thø tù u tiªn c¸c UC, chi tiÕt hãa UC, cÊu tróc m« t¶ UC, h×nh thøc hãa m« t¶ UC, t¹o b¶n mÉu UC, cÊu tróc m« h×nh UC
◦Ph©n tÝch: lµm mÞn dÇn c¸c yªu cÇu ®· nhËn ® îc vµ t¹o cÊu tróc cho chóng. Cô thÓ: t×m ra c¸c líp, c¸c t ¬ng t¸c, ph©n tÝch líp
◦ThiÕt kÕ: t¹o ra m« h×nh thiÕt kÕ vµ m« h×nh triÓn khai
Néi dung:◦ Tæng quan vÒ UML
◦ M« h×nh kh¸i niÖm cña UML
◦ KiÕn tróc hÖ thèng KiÕn tróc hÖ thèng lµ g×? M« t¶ kiÕn tróc hÖ thèng th«ng qua c¸c
Views
Lµ ng«n ng÷ chuÈn ®Ó viÕt ra c¸c b¶n thiÕt kÕ phÇn mÒm
Lµ ng«n ng÷ sö dông ®Ó lµm trùc quan, ®Ó ®Æc t¶, ®Ó cÊu tróc vµ ®Ó lµm tµi liÖu◦ Lµ ng«n ng÷: UML = ký ph¸p + tËp c¸c luËt tËp
trung vµo biÓu diÕn kh¸i niÖm vµ biÓu diÔn vËt lý cña HT. Cho biÕt c¸ch t¹o, c¸ch ®äc m« h×nh (kh«ng cho biÕt m« h×nh nµo cÇn t¹o vµ khi nµo t¹o)
◦ Lµ ng«n ng÷ lµm trùc quan: lµ ng«n ng÷ ®å häa (sau mçi biÓu t îng lµ ng÷ nghÜa) nªn dÔ hiÓu
◦ Lµ ng«n ng÷ ®Æc t¶: ®Æc t¶ m« h×nh chÝnh x¸c. H íng tíi ®Æc t¶ cña nh÷ng PT, TK, c¸c quyÕt ®Þnh triÓn khai cÇn lµm khi ph¸t triÓn vµ triÓn khai mét HT phÇn mÒm chuyªn s©u
◦ Lµ ng«n ng÷ cÊu tróc: kh«ng ph¶i lµ NNLT, nh ng cho ¸nh x¹ m« h×nh trong UML tíi c¸c NNLT kh¸c nhau vµ ng îc l¹i
◦ Lµ ng«n ng÷ lµm tµi liÖu: cã kh¶ n¨ng biÓu diÕn yªu cÇu, thö nghiÖm, m« h×nh hãa c¸c ho¹t ®éng lËp kÕ ho¹ch vµ qu¶n lý s¶n phÈm
3 vÊn ®Ò chÝnh PhÇn tö c¬ b¶n ®Ó x©y dùng m« h×nh Qui t¾c liªn kÕt c¸c phÇn tö m« h×nh C¬ chÕ chung sö dông cho ng«n ng÷
®äc ® îc m« h×nh vµ t¹o mét sè m« h×nh c¬ b¶n
Bao gồm ba phần chính: các phần tử cơ bản để xây
dựng mô hình, các quy tắc liên kết các phần tử mô
hình, cơ chế chung áp dụng cho UML. Các phần tử mô hình:
a. Các phần tử trong UML
- Có 4 loại phần tử trong UML, đó là phần tử cấu trúc,
phần tử hành vi, phần tử nhóm và phần tử giải thích.
Phần tử cấu trúc: là bộ phận tĩnh của mô hình, chúng là các danh từ biểu diễn phần tử vật lý khái niệm trong mô hình, gồm:
+ Lớp: tập hợp các đối tượng có chung thuộc tính, chung tác vụ, chung quan hệ và ngữ nghĩa.
+ Giao diện: tập hợp các tác vụ đặc tả một dịch vụ của một lớp hoặc một thành phần
+ Sự cộng tác: mô tả ngữ cảnh của sự tương tác+ Use-case: mô tả dãy các hành động mà hệ thống thực hiện
mà đem lại kết quả cho một tác nhân nào đó.+ Lớp hoạt động: lớp mà các đối tượng của nó sở hữu một
hay một số tiến trình hoặc các chuỗi.
Phần tử hành vi là bộ phận động trong các mô hình của
UML, chúng là những động từ mô tả hành vi theo thời
gian và không gian.
Tương tác: hành vi gồm một tập hợp các thông báo trao đổi giữa các đối
tượng trong một khung cảnh cụ thể để thực hiện một mục tiêu xác định.
Có nhiều loại hình mức độ khác nhau: tương tác 1:1 hay 1:m, đồng
bộ/không đồng bộ
- Ký pháp đồ họa của phần tử hành vi tương tác:
Open
Máy trạng thái: hành vi xác định một dãy các
trạng thái mà một đối tượng hay một tương tác
trải qua để đáp ứng các sự kiện.
Waiting
Ký pháp đồ họa của phần tử hành vi máy trạng thái:
Phần tử hành vi:
Phần tử nhóm: là bộ phận tổ chức của mô hình UML, có một phần tử nhóm
gọi là gói. Gói là cơ chế có mục đích tổng quát để tổ chức các phần tử thành
một nhóm.
Phần tử giải thích: là phần giải thích mô hình UML, nó được
gọi là ghi chú. Đó là một biểu tượng ghi lại lời giải thích gắn
với một phần tử hay nhóm phần tử trong mô hình.
b. Các quan hệ trong UML
Quan hệ phụ thuộc: Quan hệ ngữ nghĩa giữa hai phần tử mà trong đó sự thay đổi của một phần
tử (phần tử độc lập) có thể tác động đến ngữ nghĩa của phần tử khác (phần tử phụ thuộc).
Quan hệ kết hợp: quan hệ cấu trúc mô tả một tập các mối liên kết (một liên kết là sự kết nối
giữa các đối tượng). Khi đối tượng này gửi nhận thông báo đến từ đối tượng khác thì ta nói
chúng có quan hệ kết hợp.
Quan hệ tổng quát hóa: quan hệ mà trong đó đối tượng cụ thể sẽ kế thừa các thuộc tính và
phương thức của đối tượng tổng quát.
Quan hệ hiện thực hóa: quan hệ ngữ nghĩa giữa giao diện và lớp hoặc thể hiện thực của lớp,
các use-case và các sự cộng tác để thực hiện use-case.
c. Các biểu đồ trong UML
- Biểu đồ use-case: biểu đồ này chỉ một tập các use-case, các tác nhân (actor) và
mối quan hệ giữa chúng.
Các biểu đồ này đặc biệt quan trọng trong việc tổ chức và mô hình hóa hành vi
của hệ thống.
- Biểu đồ tương tác: Biểu đồ tương tác bao gồm một tập các đối tượng và các
mối quan hệ giữa chúng, trong đó những mối quan hệ này được thể hiện bằng
các thông điệp được truyền đi giữa các đối tượng. Có hai loại biểu đồ tương tác:
+ Biểu đồ tuần tự(nhấn mạnh trình tự thời gian của các thông điệp)
+ Biểu đồ cộng tác: nhấn mạnh tổ chức cấu trúc của các đối tượng gửi và nhận
thông điệp.
Trong đó:
- Hệ thống được thể hiện qua hình chữ nhật với tên hệ thống ở bên trên
- Tác nhân được thể hiện qua kí hiệu hình nhân
- Use Case được thể hiện qua hình ellipse
Các biểu đồ trong UML
- Biểu đồ lớp: Biểu đồ lớp chỉ một tập các lớp, các giao diện, các sự cộng tác và các mối quan
hệ. Biểu đồ lớp là biểu đồ chung nhất trong mô hình hóa các hệ thống hướng đối tượng.
- Ví dụ:
- Biểu đồ hoạt động: biểu đồ hoạt động chỉ ra luồng công việc từ hoạt động này
đến hoạt động khác trong hệ thống. Biểu đồ này được dùng để mô hình hóa các
chức năng của hệ thống và nhấn mạnh luồng điều khiển trong các đối tượng.
Biểu đồ trạng thái: biểu đồ này bao gồm các trạng thái, các chuyển tiếp giữa
các trạng thái, các sự kiện và các hành động. Biểu đồ này được dùng trong
việc mô hình hóa hành vi của một giao diện, một lớp hoặc một cộng tác.
c. Các biểu đồ trong UML- Biểu đồ thành phần và biểu đồ bố trí: Biểu đồ thành
phần chỉ ra cách tổ chức và các phụ thuộc trong các
thành phần. Biểu đồ này liên hệ với các biểu đồ lớp mà
trong đó, một thành phần được ánh xạ vào nhiều lớp,
giao diện hoặc cộng tác.- Biểu đồ bố trí chỉ ra cấu hình của các nút và các thành
phần hoạt động trên nó.
Các quy tắc của UML
- Tên gọi: các mà ta gọi các phần tử, các mối quan hệ và các
biểu đồ
- Phạm vi: là khuôn khổ ý nghĩa cụ thể của tên gọi
- Tính trực quan: các tên gọi này có thể được nhìn thấy và được
những phần tử khác sử dụng như thế nào.
- Tính tích hợp: Các phần tử có quan hệ đặc biệt và chắc chắn
với các phần tử khác thế nào.
- Tính thực hiện được: nó có ý nghĩa gì để vận hành và mô
phỏng một mô hình động.
Các cơ chung áp dụng cho UML-Các đặc tả: các ký hiệu đồ họa trong UML đều có một đặc tả cung cấp
một mệnh đề văn bản theo cú pháp và ngữ nghĩa xác định.-Các bài trí: các phần tử trong UML có ký hiệu đồ họa duy nhất thể hiện
một cách trực quan về phần tử đó và có thể thêm một số các bài trí khác
với mục đích cụ thể hóa phần tử.-Sự phân hoạch chung: UML cho phép mô hình hóa lớp và đối tượng, giao
diện và sự triển khai-Các cơ chế mở rộng: UML có khả năng mở rộng theo cách có thể kiểm
soát được cho phép phát triển UML theo yêu cầu của người sử dụng ngôn
ngữ.
Mét HT ph¶i ® îc xem xÐt tõ mét sè khÝa c¹nh KiÕn tróc hÖ thèng lµ mét tËp c¸c quyÕt ®Þnh quan träng vÒ:
◦ Tæ chøc cña HT phÇn mÒm
◦ Lùa chän c¸c phÇn tö cÊu tróc vµ giao diÖn ®Ó t¹o nªn phÇn mÒm
◦ C¸c hµnh vi ® îc ®Æc t¶ trong c¸c céng t¸c gi÷a c¸c phÇn tö
◦ KÕt hîp c¸c phÇn tö cÊu tróc vµ hµnh vi vµo c¸c hÖ con lín h¬n KiÕn tróc hÖ thèng kh«ng nh÷ng liªn quan ®Õn cÊu tróc vµ hµnh vi mµ cßn
liªn quan ®Õn chøc n¨ng, sù hoµn thiÖn, tÝnh dïng l¹i, sù æn ®Þnh, c¸c rµng buéc vÌ kinh tÕ vµ c«ng nghÖ,...
KiÕn tróc hÖ thèng ® îc m« t¶ tèt nhÊt th«ng qua 5 views (khung nh×n) t ¬ng t¸c víi nhau
Design View Implement View
Process View Deployment View
Use Case View
Use case View: ◦ Chøa ®ùng c¸c UC m« t¶ hµnh vi cña HT khi ® îc
nh×n nhËn bëi kh¸ch hµng, nhµ ph©n tÝch, tester
◦ Kh«ng thËt sù ®Æc t¶ tæ chøc cña HT phÇn mÒm, tËp trung vµo møc cao c¸i mµ HT sÏ lµm vµ kh«ng quan t©m ®Õn HT lµm nh thÕ nµo.
◦ H×nh thµnh tõ giai ®o¹n ph©n tÝch yªu cÇu vµ sö dông ®Ó diÒu khiÓn vµ thóc ®Èy thiÕt kÕ
◦ MÆt tÜnh: actor, UC, biÓu ®å UC. MÆt ®éng: biÓu ®å t ¬ng t¸c, biÓu ®å tr¹ng th¸i, biÓu ®å ho¹t ®éng
Design View:◦ Gåm c¸c líp, c¸c giao diÖn, c¸c céng t¸c, c¸c g¶i
ph¸p chñ yÕu hç trî viÖc x¸c ®Þnh yêu cÇu chøc n¨ng HT
◦ MÆt tÜnh: biÓu ®å líp, biÓu ®å ®èi t îng. MÆt ®éng: biÓu ®å t ¬ng t¸c, biÓu ®å tr¹ng th¸i, biÓu ®å ho¹t ®éng
Process View: ◦ Chøa ®ùng c¸c chuçi vµ c¸c tiÕn tr×nh t¹o nªn
c¬ chÕ t ¬ng tranh vµ ®ång bé cña HT
◦ Chñ yÕu diÔn ®¹t sù hoµn thiÖn, tÝnh t¨ng qui m«, sè l îng vµo cña HT
◦ MÆt tÜnh vµ mÆt ®éng t ¬ng tù Design View nh ng chó träng vµo biÓu ®å líp ho¹t ®éng
Implement View:◦ Gåm c¸cthµnh phÇn vµ c¸c file ® îc dïng ®Ó s¸t
nhËp vµ ® a ra c¸c HT vËt lý
◦ H íng ®Õn qu¶n lý cÊu h×nh HT ® îc t¹o tõ c¸c thµnh phÇn ®éc lËp vµ c¸c file cã thÓ s¸t nhËp theo nhiÒu c¸ch kh¸c nhau HT vËn hµnh
◦ MÆt tÜnh: biÓu ®å thµnh phÇn. MÆt ®éng: biÓu ®å t ¬ng t¸c, biÓu ®å tr¹ng th¸i, biÓu ®å ho¹t ®éng
Deployment View:◦ Gåm c¸c nót HT t¹o nªn kÕt cÊu phÇn cøng. Chñ
yÕu h íng ®Õn sù ph©n t¸n vµ bè trÝ cña HT◦ MÆt tÜnh: biÓu ®å bè trÝ (biÓu ®å triÓn khai).
MÆt ®éng: biÓu ®å t ¬ng t¸c, biÓu ®å tr¹ng th¸i, biÓu ®å ho¹t ®éng
Néi dung: Ph©n tÝch UC
◦ UC lµ g×? Actor lµ g×?◦ T×m UC vµ Actor nh thÕ nµo?◦ Luång sù kiÖn trong UC
LËp biÓu ®å UC◦ C¸c lo¹i quan hÖ trong biÓu ®å UC◦ C¸ch lËp biÓu ®å UC
C¸c bµi to¸n øng dông (case study):1. HT So¹n th¶o v¨n b¶n MS WORD (lµm
vÝ dô)2. Giao dÞch tÝn dông (chñ yÕu Rót tiÒn)
(lµm vÝ dô)3. HT tra cøu s¸ch cña th viÖn (bµi tËp)4. HT qu¶n lý th«ng tin sinh viªn vµ
®iÓm RL (bµi tËp)5. HT b¸n hµng (siªu thÞ, qua m¹ng) (bµi
tËp)
UC lµ g×? ◦ UC m« t¶ ai ®ã sö dông HT nh thÕ nµo, m« t¶ t ¬ng t¸c
gi÷a NSD víi HT phÇn mÒm ®Ó thùc hiÖn gi¶i quyÕt mét c«ng viÖc cô thÓ.
◦ UC lµ mét phÇn cña vÊn ®Ì cÇn gi¶i quyÕt, lµ nÒn t¶ng cña ph©n tÝch HT
◦ Mçi UC cã nhiÒu biÕn thÓ, chóng ® îc gäi lµ c¸c kÞch b¶n (Scenario), ph¶i x¸c ®Þnh chi tiÕt c¸c kÞch b¶n ®Ó HT xö lý chÝnh x¸c
◦ VD: UC “Rót tiÒn” cã c¸c biÕn thÓ Rót thµnh c«ng, Kh«ng rót ® îc v× sai PIN, Kh«ng rót ® îc v× yªu cÇu rót qu¸ sè tiÒn theo qui ®Þnh,...
◦ Mçi UC ®Òu thÓ hiÖn sù t ¬ng t¸c gi÷a t¸c nh©n (actor) vµ HT
◦ C¸c ho¹t ®éng ph©n tÝch, thiÕt kÕ, cµi ®Æt, kiÓm thö ®Òu liªn quan ®Õn UC
T×m actor vµ UC◦ Actor: thùc thÓ bªn ngoµi t ¬ng t¸c ®Õn HT
cÇn x©y dùng. Cã thÓ lµ con ng êi (®iÓn h×nh cña mçi HT), HT kh¸c hay thiÕt bÞ phÇn cøng
◦ Ký hiÖu vµ c¸ch ®Æt tªn actor◦ C¸c c©u hái gióp t×m actor:1.Ai sö dông chøc n¨ng chÝnh cña HT?2.Ai gióp HT lµm viÖc hµng ngµy?3.Ai qu¶n trÞ, b¶o d ìng HT?4.C¸c HT nµo t ¬ng t¸c víi HT nµy?
T×m UC: ◦ B¾t buéc ph¶i cã vai trß cña kh¸ch hµng. PP chÝnh: pháng
vÊn NSD vµ nghiªn cøu tµi liÖu cña hä.◦ §Ó t×m UC cÇn t×m c¸c hµnh ®éng cña HT
C¸c c©u hái gióp t×m UC1. Actor yªu cÇu HT thùc hiÖn chøc n¨ng nµo?2. Actor cÇn ®äc, t¹o lËp, xãa, l u tr÷, söa ®æi c¸c th«ng tin
nµo trong HT?3. Cã cÇn th«ng b¸o cho actor vÒ sù kiÖn xµy ra trong HT?
Cã cÇn actor th«ng b¸o g× cho HT?4. HT cÇn vµo/ra nµo? Nh÷ng vµo/ra ®i ®Õn ®©u hay tõ
®©u? Ký hiÖu vµ c¸ch ®Æt tªn UC
Luång sù kiÖn trong UC◦ Tµi liÖu m« t¶ chi tiÕt NSD lµm g× vµ HT lµm g×◦ Mçi kÞch b¶n chØ ra 1 luång sù kiÖn trong 1 thÓ hiÖn biÕn
thÓ cña UC◦ C¸c kÞch b¶n ®i xuyªn suèt UC theo nh¸nh chÝnh, nh¸nh
phô hoÆc nh¸nh ®Æc biÖt◦ C¸ch t¹o lËp tµi liÖu luång sù kiÖn: th«ng qua c¸c b íc sau1. M« t¶ v¾n t¾t UC2. TiÒn ®iÒu kiÖn (liÖt kª c¸c ®iÒu kiÖn cÇn tháa m·n tr íc
khi UC khëi ®éng)3. Luång sù kiÖn chÝnh4. Luång sù kiÖn rÏ nh¸nh5. HËu ®iÒu kiÖn (liÖt kª c¸c ®iÒu kiÖn cÇn tháa m·n sau
khi UC kÕt thóc)
Luång sù kiÖn trong UC gåm:1.UC khëi ®éng nh thÕ nµo?2.C¸c ® êng ®i xuyªn qua UC3.Luång chÝnh, luång rÏ nh¸nh4.Luång lçi5.UC kÕt thóc nh thÕ nµo?
Nh îc ®iÓm cña tµi liÖu luång sù kiÖn: víi nh÷ng UC phøc t¹p kh«ng ®¶m b¶o ® îc tÝnh nhÊt qu¸n, lµm cho ng êi ph¸t triÓn khã h×nh dung
Gi¶i ph¸p: kÕt hîp m« t¶ b»ng v¨n b¶n víi sö dông c¸c biÓu ®å tr¹ng th¸i, ho¹t ®éng, t ¬ng t¸c.
M« h×nh UC ® îc m« t¶ b»ng 1 hay nhiÒu biÓu ®å UC BiÓu ®å UC chØ ra mèi quan hÖ UC-UC, actor-UC Quan hÖ giao tiÕp actor-UC: actor (ng êi) kÝch ho¹t UC
hoÆc UC t¸c ®éng actor (HT ngoµi, thiÕt bÞ) Ký hiÖu Quan hÖ bao gåm (include) hay cßn gäi lµ sö dông (uses)
gi÷a c¸c UC. Th êng dïng ®Ó m« h×nh hãa nh÷ng chøc n¨ng sö dông l¹i
Ký hiÖu Quan hÖ më réng (extends) gi÷a c¸c UC Ký hiÖu Quan hÖ tæng qu¸t hãa gi÷a c¸c actor vµ c¸c UC Ký hiÖu
L u ý khi t¹o biÓu ®å UC:◦ Kh«ng m« h×nh hãa giao tiÕp actor-actor◦ Kh«ng nªn h×nh thµnh quan hÖ trùc tiÕp UC-UC (trõ
quan hÖ include vµ extends)◦ UC ph¶i ® îc actor khëi ®éng (trõ c¸c UC cã quan hÖ
include vµ extends)◦ Kh«ng h×nh thµnh luång th«ng tin g÷a c¸c UC (tr êng
hîp cã CSDL th× dïng 2 UC kh¸c nhau ®Ó nhËp DL vµ x©m nhËp DL)
Kh¸i niÖm UC trõu t îng (kh«ng ® îc actor khëi ®éng) vµ actor trõu t îng (actoe kh«ng cã hiÖn thùc)
XÐt VD: Rót tiÒn, So¹n th¶o VB (x¸c ®Þnh actor, c¸c UC, mèi quan hÖ actor-UC vµ UC-UC ®Ó vÏ biÓu ®å)
Néi dung: §èi t îng lµ g× vµ c¸ch x¸c ®Þnh ®èi t îng M« h×nh hãa t ¬ng t¸c ®èi t îng th«ng qua
c¸c biÓu ®å t ¬ng t¸c (biÓu ®å tuÇn tù vµ biÓu ®å céng t¸c)
C¸ch x©y dùng c¸c biÓu ®å t ¬ng t¸c
§Þnh nghÜa: lµ c¸i ®Ó gãi th«ng tin vµ hµnh vi Mçi ®èi t îng bao gãi trong nã mét vµi th«ng tin vµ mét vµi
hµnh vi VD: ®èi t îng file abc.doc gåm c¸c th«ng tin vµ hµnh vi nµo? Th«ng tin – thuéc tÝnh cña ®èi t îng, Hµnh vi – thao t¸c cña
®èi t îng T×m ®èi t îng: kh¶o s¸t c¸c danhtõ trong tµi liÖu luång sù
kiÖn L u ý:
◦ Ph©n biÖt danh tõ chØ ®èi t îng vµ danh tõ chØ thuéc tÝnh◦ Kh«ng ph¶i mäi ®èi t îng ®Òu cã mÆt trong tµi liÖu luång
sù kiÖn (®èi t îng ®iÒu khiÓn tr×nh tù luång trong UC)
Ký hiÖu: Tªn ®èi t îng cã c¸c d¹ng:
O - ®èi t îng tªn O O:C - ®èi t îng tªn O thuéc líp C :C - ®èi t îng v« danh thuéc líp C
Object Name
T¸c dông: dïng ®Ó m« h×nh hãa khÝa c¹nh ®éng cña HT (HT ®ang ch¹y)
ChØ ra c¸c t ¬ng t¸c, c¸c ®èi t îng, quan hÖ vµ c¸c th«ng ®iÖp trao ®æi gi÷a chóng
Tõ biÓu ®å t ¬ng t¸c, ng êi thiÕt kÕ vµ ng êi ph¸t triÓn x¸c ®Þnh c¸c líp sÏ x©y dùng, quan hÖ g÷a c¸c líp, thao t¸c vµ tr¸ch nhiÖm cña mçi líp
Thµnh phÇn cña biÓu ®å:◦ §èi t îng◦ Liªn kÕt◦ Th«ng ®iÖp◦ Chó thÝch vµ rµng buéc
§inh nghÜa: lµ biÓu ®å t ¬ng t¸c theo trËt tù thêi gian cña c¸c giao tiÕp b»ng th«ng ®iÖp gi÷a c¸c ®èi t îng
VÝ dô: biÓu ®å tuÇn tù Gäi ®iÖn tho¹i
C¸ch lËp biÓu ®å tuÇn tù◦ X¸c ®Þnh c¸c ®èi t îng trong biÓu ®å, actor
kÝch ho¹t biÓu ®å◦ X¸c ®Þnh c¸c th«ng ®iÖp trao ®æi gi÷a c¸c
®èi t îng◦ §èi t îng vÏ trªn ®Ønh biÓu ®å, mçi ®èi t îng cã
mét ® êng sinh tån, ký hiÖu ®èi t îng trong biÓu ®å
◦ Th«ng ®iÖp vÏ b»ng mòi tªn ®ãng tõ ® êng sinh tån cña ®èi t îng göi ®Õn ® êng sinh tån cña ®èi t îng nhËn (®èi t îng cã thÓ göi th«ng ®iÖp cho chÝnh nã – th«ng ®iÖp ph¶n th©n), ký hiÖu th«ng ®iÖp trong biÓu ®å
C¸ch lËp biÓu ®å tuÇn tù◦ Actor kÝch ho¹t biÓu ®å nh ng kh«ng lµ thµnh phÇn
cña biÓu ®å◦ Trong qu¸ tr×nh t ¬ng t¸c cã thÓ t¹o lËp ®èi t îng
míi vµ hñy bá ®èi t îng cò◦ NÕu trong biÓu ®å cã d·y th«ng ®iÖp lÆp th× c¸c
th«ng ®iÖp nµy ® îc nhãm l¹i trong HCN víi ®iÒu kiÖn lÆp ®Æt ë ®¸y HCN
VÝ dô: lËp biÓu ®å tuÇn tù “T¹o v¨n b¶n míi”
§Þnh nghÜa: lµ biÓu ®å t ¬ng t¸c chØ ra luång sù kiÖn xuyªn qua kÞch b¶n UC, tËp trung vµo quan hÖ g÷a c¸c ®èi t îng, vµo cÊu tróc tæ chøc cña ®èi t îng göi vµ nhËn th«ng ®iÖp
C¸ch t¹o biÓu ®å: t ¬ng tù biÓu ®å tuÇn tù nh ng chØ cã ký hiÖu ®èi t îng, th«ng ®iÖp ph¶i ®¸nh sè, hai ®èi t îng cã göi vµ nhËn th«ng ®iÖp cña nhau ® îc nèi b»ng ® êng liÒn nÐt
Gièng nhau: ◦ Th«ng tin thÓ hiÖn trªn biÓu ®å◦ ChØ phï hîp ®Ó m« t¶ tõng biÕn thÓ cña UC mµ
kh«ng phï hîp cho viÖc x¸c ®Þnh ®Çy ®ñ hµnh vi (cÇn dïng thªm c¸c biÓu ®å: ho¹t ®éng vµ tr¹ng th¸i)
Kh¸c nhau ë c¸ch nh×n luång sù kiÖn:◦ BiÓu ®å tuÇn tù: nhÊn m¹nh ®Õn tr×nh tù th«ng
tin, tËp trung vµo luång ®iÒu khiÓn◦ BiÓu ®å céng t¸c: nhÊn m¹nh quan hÖ gi÷a c¸c
®èi t îng, hiÓn thÞ luång d÷ liÖu (® îc sö dông ®Ó chØ ra th«ng tin th«ng tin trë vÒ khi ®è t îng göi th«ng ®iÖp ®Õn ®èi t îng kh¸c, kh«ng nªn g¸n luång DL cho mäi th«ng ®iÖp sÏ lµm rèi biÓu ®å)
Khi x©y dùng biÓu ®å t ¬ng t¸c th êng qua 2 b íc:
◦ B íc 1: TËp trung vµo th«ng tin liªn quan ®Õn kh¸ch hµng (ch a chuyÓn th«ng ®iÖp thµnh thao t¸c vµ ®èi t îng thµnh líp). BiÓu ®å d¹ng nµy dµnh cho nhµ ph©n tÝch, kh¸ch hµng vµ nh÷ng ng êi quan t©m ®Õn luång t¸c nghiÖp
◦ B íc 2: Bæ sung chi tiÕt cho biÓu ®å b íc 1. BiÓu ®å b íc 2 dµnh cho ng êi ph¸t triÓn HT, kiÓm tra chÊt l îng vµ c¸c nh©n viªn kh¸c trong d ¸n. Cã thªm c¸c ®èi t îng míi. Mçi biÓu ®å ®Òu cã “®èi t îng ®iÒu khiÓn” (cã nhiÖm vô ®iÒu khiÓn tr×nh tù xuyªn qua kÞch b¶n UC). Mäi biÓu ®å t ¬ng t¸c cña cïng UC ®Òu chia sÎ cïng ®èi t îng ®iÒu khiÓn. §èi t îng nµy kh«ng xö lý mµ chØ göi th«ng ®iÖp ®Õn ®èi t îng kh¸c.
Néi dung: Líp lµ g×, m« h×nh líp lµ g× vµ c¸ch x¸c
®Þnh líp C¸ch x¸c ®Þnh thuéc tÝnh vµ thao t¸c
cña líp C¸c lo¹i quan hÖ gi÷a c¸c líp C¸ch x©y dùng m« h×nh líp
§Þnh nghÜa:◦ Nh¾c l¹i vÒ ®èi t îng: tån t¹i trong thÕ giíi thùc hoÆc ®
îc kh¶o s¸t trong tµi liÖu (cÊu tróc vµ hµnh vi cña ®èi t ¬ng trong thÕ giíi thùc)
◦ Líp: nhãm c¸c ®èi t îng chung thuéc tÝnh, chung hµnh vi, chung mèi quan hÖ víi c¸c ®èi t îng kh¸c vµ chung ng÷ nghÜa.
◦ §èi t îng lµ hiÖn thùc cña líp, mçi ®èi t îng chØ thuéc mét líp nµo ®ã.
◦ Líp x¸c ®Þnh th«ng tin nµo ®èi t îng cã thÓ l u gi÷ vµ hµnh vi nµo ®èi t îng cã thÓ cã
◦ Th«ng tin – thuéc tÝnh, hµnh vi – thao t¸c◦ ChØ t×m líp sau khi ®· t×m ® îc ®èi t îng
§Þnh nghÜa:◦ Ký hiÖu:
◦ Tªn líp: danh tõ◦ Ph©n biÖt danh tõ chØ líp (mang tÝnh trõu t îng) víi danh
tõ chØ ®èi t îng (mang tÝnh cô thÓ) vµ danh tõ chØ thuéc tÝnh (chØ mang th«ng tin). VÝ dô: Sinh viªn, Sinh viªn A, tªn lµ A
◦ M« h×nh líp: m« h×nh gåm c¸c líp, mèi quan hÖ gi÷a c¸c líp tham gia vµo mét chøc n¨ng (UC) cña HT
Name
Sinh viªn M«n häc10..25 1..28
T×m líp:◦ T×m ®Çy ®ñ c¸c líp lµ rÊt khã kh¨n. Mét sè líp cã thÓ
t×m thÊy dÔ dµng b¾t ®Çu tõ luång sù kiÖn cña UC hoÆc trong biÓu ®å t ¬ng t¸c.
◦ Danh s¸ch c¸c líp thay ®æi theo thêi gian (theo qu¸ tr×nh PTTK)
◦ Nh÷ng líp ®Çu tiªn ® îc t×m ra gäi lµ líp øng cö viªn (candidate class)
◦ S¬ ®å nguån th«ng tin hç trî t×m líp
T×m líp:◦ Khi t×m líp nªn kÕt hîp víi c¸c chuyªn gia lÜnh vùc
vÊn ®Ò◦ Mét sè c©u hái gióp t×m líp:1. Cã th«ng tin nµo cÇn l u tr÷ hay ph©n tÝch?2. Cã hÖ thèng ngoµi kh«ng?3. Cã mÉu, th viÖn líp, thµnh phÇn,...4. HT cÇn qu¶n lý c¸c thiÕt bÞ ngo¹i vi nµo?5. Actor ®ãng vai trß t¸c nghiÖp nµo?◦ 3 khu«n mÉu (stereotype) líp: líp biªn, líp ®iÒu
khiÓn, líp thùc thÓ
Líp biªn (boundary class): ◦ § îc sö dông ®Ó m« h×nh hãa sù t ¬ng t¸c gi÷a HT vµ
c¸c actor, bao gåm viÖc nhËn vµ hiÓn thÞ th«ng tin tõ cÊc yªu cÇu (®Õn/®i) cña ng êi dïng vµ HT ngoµi.
◦ Mçi líp biªn ph¶i liªn quan ®Õn Ýt nhÊt mét actor. ◦ C¸c líp biªn th êng thÓ hiÖn c¸c trõu t îng hãa cña cöa
sæ (window), biÓu mÉu (form), b¶ng hiÓn thÞ (pane), c¸c giao diÖn truyÒn th«ng (communication interface), giao diÖn m¸y in (printer interface), c¸c bé c¶m biÕn (sensor), thiÕt bÞ ®Çu cuèi (terminal),... nh ng ë møc ®é t ¬ng ®èi cao.
◦ T×m líp biªn b»ng biÓu ®å UC.◦ Ký hiÖu:
Líp thùc thÓ (entity class): ◦ § îc sö dông ®Ó m« h×nh hãa c¸c th«ng tin tån t¹i l©u
dµi vµ cã thÓ ® îc l u tr÷. ◦ ThÓ hiÖn c¸c cÊu tróc d÷ liÖu logic. ◦ T×m líp thùc thÓ trong luång sù kiÖn vµ biÓu ®å t ¬ng
t¸c.◦ T¹o mét b¶ng CSDL cho mçi líp lo¹i nµy, mçi thuéc tÝnh
cña líp lµ mét tr êng trong b¶ng◦ Ký hiÖu:
Líp ®iÒu khiÓn (control class): ◦ ThÓ hiÖn sù phèi hîp, sù s¾p xÕp c¸c tr×nh tù, c¸c
giao dÞch; sù ®iÒu khiÓn cña cÊc ®èi t îng◦ Th êng ® îc sö dông ®Ó gãi l¹i c¸c ®iÒu khiÓn liªn quan
®Õn mét UC cô thÓ◦ Líp ®iÒu khiÓn kh«ng tù thùc hiÖn chøc nµo (líp kh¸c
kh«ng göi nhiÒu th«ng ®iÖp ®Õn nã nh ng nã göi nhiÒu th«ng ®iÖp ®Õn c¸c líp kh¸c)
◦ Ký hiÖu:
VÝ dô: thùc thi UC “Rót tiÒn”◦ Líp biªn: giao diÖn nghiÖp vô – n¬i actor t¸c ®éng lªn HT vµ
® a vµo c¸c th«ng tin cÇn thiÕt, nhËn th«ng tin do HT ® a ra◦ Líp biªn: m¸y tr¶ tiÒn – kiÓm so¸t ® a tiÒn tr¶ kh¸ch◦ Líp ®iÒu khiÓn: ®iÒu khiÓn rót tiÒn - ®iÒu khiÓn viÖc kiÓm
tra ddieuf kiÖn rót tiÒn vµ ® a tiÒn tr¶ kh¸ch, ®iÒu khiÓn gi¶m sè d tµi kho¶n
◦ Líp thùc thÓ: tµi kho¶n – l u tr÷ c¸c th«ng tin vÒ tµi kho¶n vµ c¸c tr¹ng th¸i (®ãng, më)
X¸c ®Þnh tr¸ch nhiÖm cña líp: b»ng c¸ch tæ hîp mäi vai trß mµ líp ®¶m nhËn trong thùc hti mét UC dùa trªn c¸c biÓu ®å céng t¸c vµ m« t¶ luång sù kiÖn
VÝ dô: tr¸ch nhiÖm líp Giao diÖn nghiÖp vô trong thùc thi UC “Rót tiÒn”◦ HiÓn thÞ b¶ng tiÕp nhËn yªu cÇu◦ TiÕp nhËn c¸c yªu cÇu cña actor (hay tõ líp kh¸c göi ®Õn)◦ ChuyÓn yªu cÇu ®Õn líp ®iÒu khiÓn (hay líp kh¸c) §iÓn h×nh cña mét giao diÖn ng êi dïng (User Interface – UI)
Mçi thuéc tÝnh ®Æc t¶ mét tÝnh chÊt cña mét líp. Nã th êng ® îc gîi ý hay ®ßi hái bëi c¸c tr¸ch nhiÖm cña líp.
C¸ch t×m thuéc tÝnh:◦ T×m trong tµi liÖu UC: t×m c¸c danh tõ trong ®ã (l u ý
ph©n biÖt danh tõ chØ thuéc tÝnh víi danh tõ chØ líp hay ®èi t îng)
◦ T×m trong tµi liÖu yªu cÇu HT: nÕu cã m« t¶ lo¹i th«ng tin g× mµ HT sÏ thu thËp th× nh÷ng th«ng tin nµy ®Òu lµ thuéc tÝnh cña mét líp nµo ®ã
◦ T×m trong cÊu tróc CSDL – thuéc tÝnh cña c¸c líp thùc thÓ (t ¬ng øng 1 – 1 gi÷a mét b¶ng CSDL víi mét líp thùc thÓ)
NhËn xÐt:◦ Thuéc tÝnh cña líp thùc thÓ t ¬ng ®èi râ rµng◦ Thuéc tÝnh cña líp biªn t ¬ng t¸c víi
Actor ng êi: ®¹i diÖn c¸c h¹ng môc th«ng tin mµ actor thao t¸c Actor HT ngoµi: ®¹i diÖn c¸c tÝnh chÊt cña mét cæng truyÒn
th«ng◦ Thuéc tÝnh cña líp ®iÒu khiÓn: kh«ng nhiÒu v× thä ng¾n.
Cã thÓ cã c¸c thuéc tÝnh d¹i diÖn c¸c gi¸ trÞ ® îc tÝch lòy hoÆc ® îc dÉn xuÊt trong qu¸ tr×nh thùc thi mét UC cô thÓ.
L u ý: cÇn thËn träng khi g¸n thuéc tÝnh cho líp, ph¶i lµ thËt sù cÇn thiÕt. Trong tr êng hîp líp cã qu¸ nhiÒu thuéc tÝnh th× nªn chia ra thµnh c¸c líp nhá.
§Æc t¶ thuéc tÝnh:◦ KiÓu d÷ liÖu: string, integer, boolean,
date,...hay kiÓu líp ®· ®Þnh nghÜa tr íc. Khai b¸o: <tªn thuéc tÝnh>:<kiÓu>◦ Gi¸ trÞ khëi ®Çu: tïy chän. Khai b¸o: <tªn thuéc tÝnh>:<kiÓu>=<gi¸ trÞ>◦ Ph¹m vi: c¨n cø vµo tÝnh chÊt bao gãi cña h íng
®èi t îng. Cã 3 lo¹i ph¹m vi: Puclic (+ tr íc tªn thuéc tÝnh): cã thÓ x©m nhËp tõ mäi
líp Private (- tr íc tªn thuéc tÝnh): chØ cho phÐp líp ®ã
x©m nhËp Protected (# tr íc tªn thuéc tÝnh): chØ cho phÐp líp ®ã
vµ líp d íi nã (kÕ thõa trùc tiÕp) ® îc x©m nhËp
§Æc t¶ thuéc tÝnh:◦ Thuéc tÝnh suy diÔn: lµ thuéc tÝnh
cã thÓ h×nh thµnh tõ thuéc tÝnh kh¸c. Ký hiÖu: /<tªn thuéc tÝnh>
◦ B¶n sè (multiplicity): biÓu hiÖn sè l îng c¸c gi¸ trÞ mµ thuéc tÝnh cã thÓ gi÷. Ký hiÖu: < tªn thuéc tÝnh>[m..n]
◦ Qui íc: 1..1 1, 0..* *, kh«ng x¸c ®Þnh b¶n sè th× mÆc ®Þnh lµ 1, gi¸ trÞ ®¬n chØ sè l îng gi¸ trÞ cè ®Þnh, cã thÓ dïng danh s¸ch c¸c b¶n sè.
VÝ dô:
Student-lastname: string-firstname: string-midname[0..2]: string-dateofbirth: date-/age: integer-datefill: date=today
Thao t¸c lµ hµnh vi kÕt hîp víi líp, x¸c ®Þnh tr¸ch nhiÖm cña líp, cã c¸c lo¹i ph¹m vi t ¬ng tù thuéc tÝnh
Có ph¸p: <tªn thao t¸c>(DS tham sè):<kiÓu tr¶ vÒ>
Trong ®ã: DS tham sè cã d¹ngts1: kiÓu, ts2: kiÓu,..., tsn: kiÓu
Cã 4 lo¹i thao t¸c:◦ Thao t¸c cµi ®Æt: cµi ®Æt mét sè chøc n¨ng t¸c nghiÖp,
t×m thÊy trong biÓu ®å t ¬ng t¸c (th«ng ®iÖp thao t¸c)◦ Thao t¸c qu¶n lý: qu¶n lý viÖc t¹o lËp vµ hñy ®èi t îng◦ Thao t¸c x©m nhËp: c¸c lo¹i thao t¸c dïng ®Ó truy cËp c¸c
thuéc tÝnh cã ph¹m vi -, #◦ Thao t¸c trî gióp: lµ c¸c thao t¸c cã ph¹m vi – vµ # (lµ c¸c
th«ng ®iÖp ph¶n th©n trong biÓu ®å t ¬ng t¸c
VÝ dô: Student-lastname: string-firstname: string-midname[0..2]: string-dateofbirth: date-/age: integer-datefill: date=today
+create():Student+update()+delete()+setstudent():Student
§Þnh nghÜa: lµ kÕt nèi ng÷ nghÜa gi÷a hai líp. ChØ ra hai líp cã thÓ göi th«ng ®iÖp cho nhau trong biÓu ®å t ¬ng t¸c
Ký hiÖu: C¸c ®Æc t¶ kÕt hîp:
◦ Tªn kÕt hîp: nh·n cña kÕt hîp cho biÕt b¶n chÊt cña nã◦ B¶n sè: sè l îng cña kÕt hîp cho biÕt sè c¸c thÓ hiÖn
cña líp ë ®Çu bªn kia cña kÕt hîp so víi mét thÓ hiÖn cña líp ë ®Çu bªn nµy cña kÕt hîp
◦ L u ý: trong qu¸ tr×nh t×m líp vµ c¸c mèi liªn hÖ c¸c ®éng tõ gióp t×m ra tªn kÕt hîp (ph©n biÖt ®éng tõ chØ ph ¬ng thøc cña ®èi t îng víi ®éng tõ chØ mèi liªn hÖ)
A B
§Þnh nghÜa: lµ kÕt nèi ng÷ nghÜa gi÷a hai líp nh ng lµ quan hÖ mét chiÒu, chØ ra mét líp phô thuéc vµo líp kh¸c
Ký hiÖu: ý nghÜa: líp A phô thuéc vµo líp B. A gäi lµ
phÇn tö phô thuéc, B gäi lµ phÇn tö ®éc lËp Mäi sù thay ®æi trong phÇn tö ®éc lËp sÏ lµm
¶nh h ëng ®Õn phÇn tö phô thuéc
A B
§Þnh nghÜa: lµ h×nh thøc manh h¬n cña kÕt hîp, lµ quan hÖ d¹ng whole – part (toµn thÓ vµ bé phËn), mét líp biÓu diÕn c¸i toµn thÓ vµ líp kia biÓu diÔn c¸i bé phËn.
Ký hiÖu: Mét d¹ng kh¸c cña quan hÖ tËp hîp, gäi lµ quan
hÖ hîp thµnh Ký hiÖu: Ph©n biÖt:
◦ Quan hÖ hîp thµnh: hµm ý cïng g¾n kÕt (whole vµ part cïng ® îc t¹o vµ bÞ hñy t¹i mét thêi ®iÓm)
◦ Quan hÖ tËp hîp: part cã thÓ tån t¹i bªn ngoµi kÕt hîp kh«ng nhÊt thiÕt ph¶i lµ thµnh phÇn cña whole
whole part
whole part
Trong khi t×m líp, quan hÖ nµy ® îc chó ý khi gÆp c¸c lo¹i ®éng tõ “® îc t¹o bëi”, “gåm cã”,...
Quan hÖ nµy kh«ng cã tªn Sè c¸c thÓ hiÖn ® îc bao gåm lµ bao nhiªu phô
thuéc vµo b¶n sè ë ®Çu cuèi cña quan hÖ
Document
Section
1..*
Tæng qu¸t hãa vµ chuyªn biÖt hãa lµ hai c¸ch nh×n vÒ ph©n cÊp líp, lµ kh¶ n¨ng qu¶n lý ®é phøc t¹p b»ng xÕp c¸c ®èi t îng vµo c©y líp lµm t¨ng møc trõu t îng hãa.
Ký hiÖu: Tæng qu¸t hãa (generalization): gép c¸c thµnh phÇn
chung cña tËp hîp líp ®Ó h×nh thµnh líp tæng qu¸t h¬n (líp cha)
Chuyªn biÖt hãa (specialization): tinh chÕ mét líp thµnh líp chuyªn biÖt h¬n b»ng c¸ch bæ sung chi tiÕt vµ ®Æc t¶ cho líp kÕt qu¶ (líp con)
§©y lµ quan hÖ kÕ thõa gi÷a hai líp. Cho phÐp mét líp ® îc kÕ thõa c¸c thuéc tÝnh vµ c¸c thao t¸c #, + cña líp kh¸c
Líp chuyªn biÖt
Líp tæng qu¸t
M« h×nh ph©n cÊp líp cã thÓ ® îc x¸c ®Þnh theo 2 h íng:◦ Top – dowm: x¸c ®Þnh
líp cã c¸c kiÓu kh¸c nhau, mçi kiÓu kh¸c nhau ®ã cã thÓ h×nh thµnh mét líp con.
◦ Bottom – up: x¸c ®Þnh c¸c thµnh phÇn gièng nhau cña c¸c líp cã s½n ®Ó h×nh thµnh líp cha thÝch hîp chøa c¸c thµnh phÇn nµy.
H¹n chÕ ph¹m vi quan hÖ: yÕu tè h¹n ®Þnh lµ thuéc tÝnh h¹n chÕ sè l îng thµnh phÇn tham gia kÕt hîp. Th êng dïng víi c¸c mèi quan hÖ kÕt hîp 1 – n hay n – m.
Quan hÖ kÕt hîp AND: