112
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)

Bai giang pttkht 1 2_lop_5

  • Upload
    ao-ao

  • View
    52

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Bai giang pttkht 1 2_lop_5

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)

Page 2: Bai giang pttkht 1 2_lop_5

Ch ¬ng 1: c¸c kh¸I niÖm c¬ b¶nNéi dung:Kh¸i niÖm hÖ thèngC¸c ph ¬ng ph¸p tiÕp cËn HTTT4 nguyªn t¾c m« h×nh hãaTiÕn tr×nh ph¸t triÓn phÇn mÒm

Page 3: Bai giang pttkht 1 2_lop_5

i. Kh¸I niÖm hÖ thèng§Þ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.

Page 4: Bai giang pttkht 1 2_lop_5

i. Kh¸I niÖm hÖ thèng 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.

Page 5: Bai giang pttkht 1 2_lop_5

i. Kh¸I niÖm hÖ thèngHÖ 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,...

Page 6: Bai giang pttkht 1 2_lop_5

i. Kh¸I niÖm hÖ thèng 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.

Page 7: Bai giang pttkht 1 2_lop_5

i. Kh¸I niÖm hÖ thèngPhân loại hệ thống thông tinHệ 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.

Page 8: Bai giang pttkht 1 2_lop_5

ii. C¸c ph ¬ng ph¸p tiÕp cËn httt 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

Page 9: Bai giang pttkht 1 2_lop_5

ii. C¸c ph ¬ng ph¸p tiÕp cËn htttTiÕ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ôngMô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×.

Page 10: Bai giang pttkht 1 2_lop_5

ii. C¸c ph ¬ng ph¸p tiÕp cËn htttTiÕ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Î,...)

Page 11: Bai giang pttkht 1 2_lop_5

ii. C¸c ph ¬ng ph¸p tiÕp cËn htttTiÕ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«.

Page 12: Bai giang pttkht 1 2_lop_5

iii. Nguyªn t¾c m« h×nh hãaT¹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 HTCã b¶n mÉu ®Ó h íng dÉn khi x©y dùng HTLµm tµi liÖu cho c¸c quyÕt ®Þnh khi PTTKHT

Page 13: Bai giang pttkht 1 2_lop_5

iii. Nguyªn t¾c m« h×nh hãa4 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 ®ñ.

Page 14: Bai giang pttkht 1 2_lop_5

iv. TiÕn tr×nh ph¸t triÓn phÇn mÒmM« h×nh th¸c n íc (Waterfall)

Requirements

Specification

Design

Implementation

Maintenance

UpdateRequirements

§ êng ph¸t triÓn

§ êng b¶o tr×

Page 15: Bai giang pttkht 1 2_lop_5

iv. TiÕn tr×nh ph¸t triÓn phÇn mÒmM« 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

Page 16: Bai giang pttkht 1 2_lop_5

M« h×nh th¸c n íc (Waterfall)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).

Page 17: Bai giang pttkht 1 2_lop_5

Mô h×nh th¸c n íc (Waterfall)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.

Page 18: Bai giang pttkht 1 2_lop_5

iv. TiÕn tr×nh ph¸t triÓn phÇn mÒmM« 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.

Page 19: Bai giang pttkht 1 2_lop_5

M« h×nh th¸c n íc (Waterfall)L­u­ý:

Requirement + Specification = AnalyseMç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)

Page 20: Bai giang pttkht 1 2_lop_5

iv. TiÕn tr×nh ph¸t triÓn phÇn mÒmQui tr×nh RUP (Rational Unified Process): ph¸t

triÓn phÇn mÒm ® îc chia thµnh 4 pha:

Page 21: Bai giang pttkht 1 2_lop_5

iv. TiÕn tr×nh ph¸t triÓn phÇn mÒmQui 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

Page 22: Bai giang pttkht 1 2_lop_5

iv. TiÕn tr×nh ph¸t triÓn phÇn mÒmQui 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

Page 23: Bai giang pttkht 1 2_lop_5

iv. TiÕn tr×nh ph¸t triÓn phÇn mÒmQui 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×.

Page 24: Bai giang pttkht 1 2_lop_5

iv. TiÕn tr×nh ph¸t triÓn phÇn mÒm§Æ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.

Page 25: Bai giang pttkht 1 2_lop_5

iv. TiÕn tr×nh ph¸t triÓn phÇn mÒmTiÕ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

Page 26: Bai giang pttkht 1 2_lop_5

Ch ¬ng 2: giíi thiÖu ng«n ng÷ umlNéi dung:

Tæng quan vÒ UMLM« h×nh kh¸i niÖm cña UMLKiÕ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

Page 27: Bai giang pttkht 1 2_lop_5

i. Tæng quan vÒ umlLµ ng«n ng÷ chuÈn ®Ó viÕt ra c¸c b¶n thiÕt

kÕ phÇn mÒmLµ ng«n ng÷ sö dông ®Ó lµm trùc quan, ®Ó

®Æc t¶, ®Ó cÊu tróc vµ ®Ó lµm tµi liÖuLµ 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

Page 28: Bai giang pttkht 1 2_lop_5

i. Tæng quan vÒ umlLµ 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

Page 29: Bai giang pttkht 1 2_lop_5

ii. M« h×nh kh¸i niÖm cña uml3 vÊn ®Ò chÝnhPhÇn tö c¬ b¶n ®Ó x©y dùng m«

h×nhQui t¾c liªn kÕt c¸c phÇn tö m« h×nhC¬ 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

Page 30: Bai giang pttkht 1 2_lop_5

Mô hình khái niệm của UMLBao 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.

Page 31: Bai giang pttkht 1 2_lop_5

Các phần tử trong UMLPhầ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.

Page 32: Bai giang pttkht 1 2_lop_5

Phần tử cấu trúc:

Page 33: Bai giang pttkht 1 2_lop_5

Các phần tử trong UMLPhầ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.

Page 34: Bai giang pttkht 1 2_lop_5

Phần tử hành viTươ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

Page 35: Bai giang pttkht 1 2_lop_5

Phần tử hành viMá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:

Page 36: Bai giang pttkht 1 2_lop_5

Các phần tử trong UMLPhầ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.

Page 37: Bai giang pttkht 1 2_lop_5

Phần tử hành viPhầ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.

Page 38: Bai giang pttkht 1 2_lop_5

Mô hình khái niệm của UMLb. Các quan hệ trong UMLQuan 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).

Ví dụ:…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.

Page 39: Bai giang pttkht 1 2_lop_5

Các quan hệ trong UML

Page 40: Bai giang pttkht 1 2_lop_5

Mô hình khái niệm của UMLc. 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.

Page 41: Bai giang pttkht 1 2_lop_5

Ví dụ: Biểu đồ Use – Case trong UML

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

Page 42: Bai giang pttkht 1 2_lop_5

Actor

Generalization

Include

SystemExtend

Use case

Page 43: Bai giang pttkht 1 2_lop_5

Mô hình khái niệm của UMLCá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ụ:

Page 44: Bai giang pttkht 1 2_lop_5

Mô hình khái niệm của UML- 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.

Page 45: Bai giang pttkht 1 2_lop_5

Mô hình khái niệm của UMLBiể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.

Page 46: Bai giang pttkht 1 2_lop_5

Mô hình khái niệm của UMLc. 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ó.

Page 47: Bai giang pttkht 1 2_lop_5

ii. M« h×nh kh¸i niÖm cña umlCá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.

Page 48: Bai giang pttkht 1 2_lop_5

ii. M« h×nh kh¸i niÖm cña umlCá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ữ.

Page 49: Bai giang pttkht 1 2_lop_5

iii. KiÕn tróc hÖ thèngMét HT ph¶i ® îc xem xÐt tõ mét sè khÝa c¹nhKiÕ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

Page 50: Bai giang pttkht 1 2_lop_5

iii. KiÕn tróc hÖ thèngUse 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 yeu 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

Page 51: Bai giang pttkht 1 2_lop_5

iii. KiÕn tróc hÖ thèngProcess 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 ®éngDeployment 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

Page 52: Bai giang pttkht 1 2_lop_5

Ch ¬ng 3: use caseNé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 bÓu ®å UC

Page 53: Bai giang pttkht 1 2_lop_5

Ch ¬ng 3: use caseC¸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)

Page 54: Bai giang pttkht 1 2_lop_5

i. Ph©n tÝch use case (uc)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

Page 55: Bai giang pttkht 1 2_lop_5

i. Ph©n tÝch use case (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 actorC¸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?

Page 56: Bai giang pttkht 1 2_lop_5

i. Ph©n tÝch use case (uc)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 HTC¸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

Page 57: Bai giang pttkht 1 2_lop_5

i. Ph©n tÝch use case (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)

Page 58: Bai giang pttkht 1 2_lop_5

i. Ph©n tÝch use case (uc) 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.

Page 59: Bai giang pttkht 1 2_lop_5

ii. LËp biÓu ®å uc(Use case Diagram)

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

Page 60: Bai giang pttkht 1 2_lop_5

ii. LËp biÓu ®å uc 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 ®å)

Page 61: Bai giang pttkht 1 2_lop_5

Ch ¬ng 4: m« h×nh t ¬ng t¸c ®èi t îngNéi dung:

§èi t îng lµ g× vµ c¸ch x¸c ®Þnh ®èi t îngM« 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

Page 62: Bai giang pttkht 1 2_lop_5

i. ®èi t îng (object) §Þ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 danh­tõ 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)

Page 63: Bai giang pttkht 1 2_lop_5

i. ®èi t îng (object) 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

Page 64: Bai giang pttkht 1 2_lop_5

ii. BiÓu ®å t ¬ng t¸c(Interaction Diagram) 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

Page 65: Bai giang pttkht 1 2_lop_5

ii.1. BiÓu ®å tuÇn tù(Sequence Diagram) §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

Page 66: Bai giang pttkht 1 2_lop_5

ii.1. BiÓu ®å tuÇn tù(Sequence Diagram) 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 ®å

Page 67: Bai giang pttkht 1 2_lop_5

ii.1. BiÓu ®å tuÇn tù(Sequence Diagram) 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”

Page 68: Bai giang pttkht 1 2_lop_5

ii.2. BiÓu ®å céng t¸C(Collaboration Diagram) §Þ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

Page 69: Bai giang pttkht 1 2_lop_5

ii.3. so s¸nh c¸c biÓu ®å t ¬ng t¸c 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 ®å)

Page 70: Bai giang pttkht 1 2_lop_5

ii.4. l u ý khi t¹o biÓu ®å t ¬ng t¸cKhi 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.

Page 71: Bai giang pttkht 1 2_lop_5

Ch ¬ng 5: líp vµ m« h×nh líp

Néi dung:Líp lµ g×, m« h×nh líp lµ g× vµ c¸ch x¸c

®Þnh lípC¸ch x¸c ®Þnh thuéc tÝnh vµ thao t¸c

cña lípC¸c lo¹i quan hÖ gi÷a c¸c lípC¸ch x©y dùng m« h×nh líp

Page 72: Bai giang pttkht 1 2_lop_5

i. líp vµ 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

Page 73: Bai giang pttkht 1 2_lop_5

i. líp vµ m« h×nh líp

§Þ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äc

Page 74: Bai giang pttkht 1 2_lop_5

i. líp vµ m« h×nh líp

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

Page 75: Bai giang pttkht 1 2_lop_5

i. líp vµ m« h×nh 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Ó

Page 76: Bai giang pttkht 1 2_lop_5

i. líp vµ m« h×nh líp

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:

Class 1

Page 77: Bai giang pttkht 1 2_lop_5

i. líp vµ m« h×nh líp

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¶ngKý hiÖu:

class

Page 78: Bai giang pttkht 1 2_lop_5

i. líp vµ m« h×nh líp

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 îngTh ê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:

class

Page 79: Bai giang pttkht 1 2_lop_5

i. líp vµ m« h×nh líp

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 điều 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ë)

Page 80: Bai giang pttkht 1 2_lop_5

i. líp vµ m« h×nh líp

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 thi 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)

Page 81: Bai giang pttkht 1 2_lop_5

i. líp vµ m« h×nh 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à mối quan hệ giữa chúng.

Thành phần:

+ Các phân lớp (lớp, giao diện, sự cộng tác)

+ Các mối quan hệ: liên kết, phụ thuộc, kế thừa, thực hiện, kết hợp, kết tập.

Page 82: Bai giang pttkht 1 2_lop_5

i. líp vµ m« h×nh líp

Biểu đồ lớp: cho cái nhìn hệ thống theo cấu trúc tĩnh: khái niệm (vấn đề), thiết kế (giải pháp, dữ liệu)

+ Ở mức khái niệm: thường lớp chỉ gồm tên và có thể có thuộc tính

Page 83: Bai giang pttkht 1 2_lop_5

i. líp vµ m« h×nh lípBiểu đồ lớp

+Biểu đồ lớp dùng: - Mô hình hóa miền lĩnh vực (đối tượng) của hệ thực- Mô hình hóa các sự cộng tác đơn giản- Mô hình sơ đồ cơ sở dữ liệu logic- Mô hình hóa thiết kế hệ thống

Page 84: Bai giang pttkht 1 2_lop_5

i. líp vµ m« h×nh lípBiểu đồ miền (đối tượng) lĩnh vực đào tạo

Page 85: Bai giang pttkht 1 2_lop_5

i. líp vµ m« h×nh líp

Page 86: Bai giang pttkht 1 2_lop_5

i. líp vµ m« h×nh líp

Page 87: Bai giang pttkht 1 2_lop_5

i. líp vµ m« h×nh líp

Page 88: Bai giang pttkht 1 2_lop_5

ii. Thuéc tÝnh cña líp

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Ó)

Page 89: Bai giang pttkht 1 2_lop_5

ii. Thuéc tÝnh cña lípVí dụ: Trong hệ thống quản lý nhân sự, mỗi khi có nhân

viên mới người sử dụng hệ thống phải nhập tên nhân viên, ngày sinh, địa chỉ, số điện thoại, số CMND, bộ phận công tác. Từ đây có thể thấy ngay lớp NHÂN VIÊN có các thuộc tính sau:

- tên, ngày sinh, địa chỉ, điện thoại, đơn vị. Câu hỏi: Bộ phận công tác có thể là một thuộc tính của

lớp khác hay không?- Nếu trong hệ thống cần lưu các thông tin về bộ phận

công tác gồm: tên đơn vị, tên người phụ trách, số lượng nhân sự thì đây lại là một lớp khác (Đơn vị) có quan hệ với lớp NHÂN VIÊN.

Page 90: Bai giang pttkht 1 2_lop_5

ii. Thuéc tÝnh cña líp

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á.

Page 91: Bai giang pttkht 1 2_lop_5

ii. Thuéc tÝnh cña líp

§Æ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: Public (+ 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

Page 92: Bai giang pttkht 1 2_lop_5

ii. Thuéc tÝnh cña lí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

Page 93: Bai giang pttkht 1 2_lop_5

iii. Thao t¸c cña líp

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¹ng

ts1: kiÓu, ts2: kiÓu,..., tsn: kiÓu

Page 94: Bai giang pttkht 1 2_lop_5

iii. Thao t¸c cña lípCã 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

Page 95: Bai giang pttkht 1 2_lop_5

iii. Thao t¸c cña líp

VÝ dô: Student-lastname: string-firstname: string-midname[0..2]: string-dateofbirth: date-/age: integer-datefill: date=today

+create():Student+update()+delete()

Page 96: Bai giang pttkht 1 2_lop_5

iv. Quan hÖ gi÷a c¸c líp

iv.1. quan hÖ kÕt hîp

§Þ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

Page 97: Bai giang pttkht 1 2_lop_5

iv. Quan hÖ gi÷a c¸c líp

iv.1. quan hÖ kÕt hîpVÝ dô:

Page 98: Bai giang pttkht 1 2_lop_5

iv. Quan hÖ gi÷a c¸c lípiv.2. quan hÖ phô thuéc

§Þ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

Page 99: Bai giang pttkht 1 2_lop_5

iv. Quan hÖ gi÷a c¸c líp

iv.3. quan hÖ tËp hîp §Þ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

Page 100: Bai giang pttkht 1 2_lop_5

iv. Quan hÖ gi÷a c¸c líp

iv.3. quan hÖ tËp hîpTrong 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ªnSè 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Ö Documen

tSectio

n1..*

Page 101: Bai giang pttkht 1 2_lop_5

iv. Quan hÖ gi÷a c¸c líp

iv.4. quan hÖ tæng qu¸t hãaTæ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: Líp chuyªn

biÖtLíp tæng

qu¸t

Page 102: Bai giang pttkht 1 2_lop_5

iv. Quan hÖ gi÷a c¸c lípiv.4. quan hÖ tæng qu¸t hãaTæ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

Page 103: Bai giang pttkht 1 2_lop_5

iv. Quan hÖ gi÷a c¸c líp

iv.4. quan hÖ tæng qu¸t hãa

M« h×nh ph©n cÊp líp cã thÓ ® îc x¸c ®Þnh theo 2 h íng:Top – down: 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.

Page 104: Bai giang pttkht 1 2_lop_5

iv. Quan hÖ gi÷a c¸c líp

iv.5. nãi thªm vÒ quan hÖ kÕt hîpH¹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:

Page 105: Bai giang pttkht 1 2_lop_5

iv. Quan hÖ gi÷a c¸c líp

iv.5. nãi thªm vÒ quan hÖ kÕt hîp

Quan hÖ kÕt hîp OR:

KÕt hîp n – ng«i:

Page 106: Bai giang pttkht 1 2_lop_5

Bài tập lớpBài tập 1 (bài 11, 12 trang 65 giáo trình)

Page 107: Bai giang pttkht 1 2_lop_5

Bài tập lớpBài tập 2: Từ biểu đồ trên có thể có những lớp nào?

Page 108: Bai giang pttkht 1 2_lop_5

Bài tập lớpBài tập 2: Từ biểu đồ trên có thể có những lớp nào? Mô tả các

lớp đó: Lớp Khách hàng và Tài khoảnKhách hàng: Mã Kh, tên Kh, địa chỉ, số tài khoản…Tài khoản:+sotaikhoan+tenkhach+soduCác thao tác (Tác vụ)+tạo lập+gửi+chuyển+rút+đóng

Page 109: Bai giang pttkht 1 2_lop_5

Bài tập lớpTài khoản

Sotaikhoan: stringTenkhach: stringSodu: money

+ Taolap()+Gui()+ Chuyen()+ Rut()+ Dong()

Khách hàng

Makhach: stringTenkhach: stringDiachi:stringSotk: string

+Taomoi()+Capnhat()+Xoa()

Page 110: Bai giang pttkht 1 2_lop_5

Bài tập lớp

Dựa vào biểu đồ cộng tác chức năng thêm sách HTTT thư viện trên có thể có các lớp nào? Xác định thuộc tính của lớp đó?

Page 111: Bai giang pttkht 1 2_lop_5

Bài tập lớpDựa vào biểu đồ use case sau tìm lớp có thể

có?

Biểu đồ use case mức tổng quát bài toán quản lý thư viện

Page 112: Bai giang pttkht 1 2_lop_5

Bài tập lớpBài tập tr 135 giáo trình