98
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 linh new_1

  • Upload
    ao-ao

  • View
    49

  • Download
    0

Embed Size (px)

Citation preview

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.

L­u­ý:◦ 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): ph¸t triÓn phÇn mÒm ® îc chia thµnh 4 pha:

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

Actor

Generalization

Include

SystemExtend

Use case

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

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

VÝ dô:

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

Quan hÖ kÕt hîp OR:

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