1. Trang chủ
  2. » Công Nghệ Thông Tin

Thiết kế hướng đối tượng sử dụng UML

77 874 7
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết Kế Hướng Đối Tượng - Sử Dụng UML
Tác giả Nguyễn Thanh Bình
Trường học Trường Đại Học Bách Khoa Đại Học Đà Nẵng
Chuyên ngành Công Nghệ Thông Tin
Thể loại bài giảng
Thành phố Đà Nẵng
Định dạng
Số trang 77
Dung lượng 359,45 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tài liệu thiết kế hướng đối tượng sử dụng UML

Trang 6

th ự c hi ệ n khi có yêu c ầ u t ừ môi

tr ườ ng (thông ñ i ệ p t ừ ñố i t ượ ng khác)

Hành vi ph ụ thu ộ c vào tr ạ ng thái

Ví d ụ :

• m ộ t xe máy có các hành vi: kh ở i ñộ ng,

ch ạ y, …

Trang 7

Giao ti ế p gi ữ a các ñố i t ượ ng

 Các ñố i t ượ ng giao ti ế p v ớ i nhau

 G ử i thông ñ i ệ p (message) cho nhau

Trang 8

changeAge

Trang 10

 Ng ă n c ả n s ự truy c ậ p thông tin t ừ bên ngoài

 Che d ấ u thông tin

 T ổ ng quát hóa/chuyên bi ệ t hóa

• Tổng quát hóa (generalization): ñặt các tính chấ

chung của các lớp khác nhau vào một lớp cha

• Chuyên biệt hóa (specialization): tạo ra một lớp

con có các tính chất riêng từlớp cha

Trang 11

 ðơn thừa kế: một lớp con chỉthừa kếtừmột lớp cha duy

nhất

 Lớp trừu tượng hay lớp chung: XeÔtô

 Lớp cụthểhay lớp chuyên biệt: XeKhách

 Lớp chuyên biệt có thểthay thếlớp chung trong tất cả

Trang 12

Ya

Trang 13

cha, và các ph ươ ng th ứ c này có th ể ñượ c s ữ a ñổ i

trong l ớ p con ñể th ự c hi ệ n các ch ứ c n ă ng riêng

trong l ớ p ñ ó

 M ộ t ph ươ ng th ứ c (cùng m ộ t tên ph ươ ng th ứ c) có

nhi ề u d ạ ng ( ñị nh ngh ĩ a) khác nhau trong các l ớ p

Trang 16

 C ầ n phân bi ệ t các m ục tiêu củ a ng ườ i s ử d ng và

các t ương tác củ a h ọ v ớ i h ệ th ố ng

 Mục tiêu: cái mà người sửd ng mongñợi

 Tương tác: kỹthuật cho phépñápứng mục tiêu

 Ví d ụ

 Mục tiêu: cóñược mt văn bn trình bàyñẹp

 Tương tác: chnñịnh dng trang, chn font ch, ñịnh

Trang 17

tiêu nào của người sửd ng.

 Mục tiêu của người sửd ng là “Rút tiền”, vậyñó nên

là một ca sửd ng

Tác nhân (Actor)

 Tác nhânñóng vai trò một người sửd ng hoặc một

thực thểbên ngoài tương tác với hệthống

 Nhiều người sửd ng có thểtươngứng một tác nhân:

nhiu người bán hàng khác nhauñóng cùng vai trò

ñối vi hthng

 Một người sửd ng có thểtươngứng với nhiều tác

nhân khác nhau: cùng mt người có thể ñồng thi

ñóng hai vai trò là người bán hàng và người qun lý

Trang 18

Tác nhân

 Tác nhân không nh ấ t thi ế t luôn luôn là

con ng ườ i

 Tác nhân có th ể là môi tr ườ ng, h ệ

th ố ng khác, th ự c th ể bên ngoài t ươ ng

 Mô tả: Một khách hàng sau khiñã chọn các mặt hàng,

mang giỏhàngñến quầy thu tiền Người bán hàng ghi nhận

các mặt hàng, thông báo tổng sốtiền, thu tiền và trảtiền

còn lại cho khách hàng Khách hàng mang hàngñi

Trang 19

 ðặc tảca sửd ng có thểthêm:

 Tham chi ế u (reference) ñế n m ụ c liên quan trong ñặ c t ả yêu c ầ

 ð i ề u ki ệ n tr ướ c và ñ i ề u ki ệ n sau khi th ự c hi ệ n ca s ử d ng

 Ví dụ

 Ca sd ng: Mua hàng

 Các tác nhân: Khách hàng, Người bán hàng

 Tham chiếu: R1.2, R2.3

 ðiu kin trước: Ngườ i bán hàng ñ ñă ng nh ậ p thành công.

 ðiu kin sau: Các mặ t hàng bán ñ ñượ c ghi nh ậ n và ñ ã ghi

nh ậ n thanh toán ti ề n.

 Mô tả : M ột khách hàng sau khiñ ã ch ọ n các m ặ t hàng, mang gi ỏ

hàng ñế n qu ầ y thu ti ền Người bán hàng ghi nhậ n các m ặ t hàng,

thông báo t ổ ng s ố ti ề n, thu ti ề n và tr ả ti ề n còn l ạ i cho khách hàng

Trang 20

Số này ñược hiển thị.

Hành ñộng của tác nhân Hành ñộng của hệ thống

Trang 21

thu tiền với túi hàng

9.Hiển thị tiền dư và in phiếubán hàng

Hành ñộng của tác nhân Hành ñộng của hệ thống

Lưu ý: ñịnh dạng ñặc tả các ca sử dụng không cần

thiết phải chặt chẽ.

Trang 22

th ể bỏ qua phần kịch bản, tham chiếu ñến ñặc tả

yêu cầu, ñiều kiện trước và ñiều kiện sau.

 B ả ñả m r ằ ng các ca s ử d ụ ng bao quát h ế t các yêu

hệ thống

Trang 24

 Mô tả: Một khách hàng sau khiñã chọn các mặt

hàng, mang giỏhàngñến quầy thu tiền Người bán

hàng ghi nhận các mặt hàng, thông báo tổng sốti n

Khách hàngñưa thẻvào máy và nhập mã PIN Khách

Trang 26

Ghi nhậncác mặt hàng

<< use >>

Ngược với quan hệ mở rộng, các ca sử dụng trong quan hệ sử dụng không

nhất thiết kết hợp với cùng tác nhân

Trang 28

 Ti ế n trình phát tri ể n g ồ m nhi ề u b ướ c l ặ p

 M ỗ i b ướ c l ặ p th ự c hi ệ n thi ế t k ế , mã hóa và

ki ể m th ử ch ỉ mt vài ca sdng

 Làm sao chia các ca s ử d ụ ng vào các b ướ c

l ặ p?

Trang 30

Bài t ậ p 1

 Máy rút tin ATM có các chức năng chính nhưsau:

 Cấp phát tiền cho những ai có thẻngân hàng (cho

phép rút một sốlượng tiền bởi hệthống thông tin củ

ngân hàng) và những ai có thẻVISA (cho phép từxa

bởi hệthống VISA)

 Cho xem kiểm tra sốtiến tài khoản và bỏti n vào tài

khoản bằng tiền mặt hoặc ngân phiế ñối với những

ai có thẻngân hàng

 Tất cảcác giao tácñềuñược kiểm tra an toàn

 Kiểm tra mã PIN

 Mã PIN nhập sai 3 lần thì thẻsẽbị“nuốt”

 Cần phải thường xuyên nạp tiền vào máy, lấy ngân phiếu và

 Người có thẻngân hàng (bankcard)

 Người có thẻVISA (VISAcard)

 Người vận hành máy (operator)

 Hệthống VISA (VISA)

 Hệthống thông tin ngân hàng (bank)

Trang 31

Bài t ậ p 1

 Các ca sửd ng

 Rút tiền với thẻngân hàng (withdraw by bankcard)

 Rút tiền với thẻVISA (withdraw by VISAcard)

 Kiểm tra mã PIN (identify)

 Xem sốtiền còn trong tài khoản (balance)

 Bỏti n vào tài khoản bằng ngân phiếu hoặc tiền mặt

(deposit)

 Nạp tiền vào máy (put money)

 L y thẻbịnuốt trong máy (get cards)

 L y ngân phiếu trong máy (get cheques)

Trang 32

 Qun lýñào to nhân viên: Mộ t công ty mu ố n mô t ả b ng UML

vi ệ c ñ ào t ạ o nhân viên ñể tin h ọ c hóa m ộ t s ố công vi ệ c Vi ệ c ñ ào

t ạ ñượ c b ắ t ñầ u khi ng ườ i qu ả n lý ñ ào t ạ o nh ậ ñượ c yêu c ầ

ñ ào t ạ o c ủ a m ộ t nhân viên Nhân viên này có th ể xem danh m ụ c

các chuyên ñề ñ ào t ạ o c ủ a các ñơ n v ị ñ ào t ạ o ký k ế t v ớ i công ty

Yêu c ầ u c ủ a nhân viên ñượ c xem xét b ở i ng ườ i qu ả n lý ñ ào t ạ o và

ng ườ i qu ả n lý s ẽ tr ả l ờ i là ch ấ p nh ậ n hay t ừ ch ố i ñề ngh ị ñ ó Trong

tr ườ ng h ợ p ch ấ p nh ậ n, ng ườ i qu ả n lý s ẽ xác ñị nh chuyên ñề phù

h ợ p trong danh m ụ c các chuyên ñề , sau ñ ó g ử i cho nhân viên n ộ i

dung c ủ a chuyên ñề và danh sách các khóa ñ ào t ạ o Nhân viên s ẽ

ch ọ n khóa ñ ào t ạ o và ng ườ i qu ả n lý s ẽ ñă ng ký khóa h ọ c v ớ i ñơ n

v ị ñ ào t ạ o cho nhân viên Trong tr ườ ng h ợ p mu ố n h ủ y b ỏ ñă ng ký

khóa ñ ào t ạ o, nhân viên ph ả i thông báo s ớ m cho ng ườ i qu ả n lý

bi ế t ñể ng ườ i qu ả n lý th ự c hi ệ n h ủ y b ỏ Cu ố i khóa ñ ào t ạ o, nhân

viên chuy ể n phi ế ñ ánh giá k ế t qu ả h c v ề cho công ty Ng ườ i

qu ả n lý s ẽ ki ể m tra hóa ñơ n thanh toán ti ề n c ủ ñơ n v ị ñ ào t ạ o.

 Xây d ự ng bi ể ñồ ca s ử d ng.

Trang 34

 Xácñịnh các “khái niệm” quan trọng trong hệthống

 Mô hình khái niệm (conceptual model) mô tảcác khái

niệm trong các quan hệcủa chúng

 UML không cung cấp mô hình khái niệm, tuy nhiên

cung cấp kí hiệu và cú phápñểbiểu diễn mô hìnhñ

chính là biuñồlp

 Ởgiaiñ ạn này, mô hình khái niệm cònñược gọi biể

ñồlớp phân tích (analysis class diagram) – lưu ý, khác

với biể ñồlớp thiết kế(design class diagram)

 Ngoài ra, mô hình khái niệm cũng cònñược gọi là mô

Trang 35

 Thang máy trong hệthốngñiều khiển thang máy

 Vé máy bay trong hệthốngñặt vé máy may

 ðặt hàng trong hệthống mua bán hàng qua mạng

 Mô hình khái ni ệ m s ẽ ñượ c chuy ể n d ầ n

sang bi ể u ñồ l ớ p thi ế t k ế trong giai ñ o ạ n

xây d ự ng

Trang 36

 Các giao tác (thanh toán)

 Các vai trò của con người (người bán)

 Các hệthống khácởbên ngoài (cơsởdữliệu từxa)

 Danh từtrừu tượng (sựkhát, ăn uống)

 Các tổchức (ñại học)

 Các sựkiện (cấp cứu)

 Nguyên tắc/chính sách

Trang 37

 Dựa vào hiểu biết và kinh nghiệm loại bỏcác danh từ

và cụm danh từkhông là các khái niệm

Số này ñược hiển thị

Trang 38

Hành ñộng của tác nhân Hành ñộng của hệ thống

thu tiền với túi hàng

9.Hiển thị tiền dư và in phiếubán hàng

11 Ghi nhận phiên bán hàng

Hành ñộng của tác nhân Hành ñộng của hệ thống

Trang 39

 Phân bi ệ t gi ữ a khái ni ệ m (concept) và thu ộ c tính (attribut)

 Nếu một phần tửcủa lĩnh vực nghiên cứu không là một con

sốhoặc một chuỗi kí tựthì có thể ñó là một khái niệm

 Ví dụ: Cần xây dựng phần mềm quản lý các chuyến bay

ðích của một chuyến bay là thuộc tính của một chuyến bay

hay là một khái niệm khác ?

 Trảlời: ñích một chuyến bay là một sân bay, không phải là

một con sốhay văn bản, ñó là một khái niệm

Phương án 1 (chưa tốt)

Trang 40

* ðược mô tả 1

80

 L ớ p “MôT ả ”

 Khi nào s ử d ụ ng l ớ p “MôT ả ”

• Khi cần giảm bớt sựdưthừa, trùng lặp thông tin

• Khi cần mô tảvề ñối tượngñộc lập với cácñối

tượng cụthể

• Khi cần cần duy trì thông tin về ñối tượng cho dù

cácñối tượng cụthểbịxóa

Trang 41

 L ớ p “MôT ả ”

 Ví d ụ : trong l ĩ nh v ự c hàng không, c ầ n mô t ả

quan h ệ gi ữ a các chuy ế n bay và các sân

ngày

giờ

*

1

Trang 42

 Các thuộc tính (attribut) của một khái niệm biểu diễ

dữliệu cần thiết cho các thểhiện (instance) của khái

Trang 43

 N ế u nghi ng ờ m ộ t thu ộ c tính là khái ni ệ m, thì

ñơ n gi ả n hãy coi ñ ó là khái ni ệ m

• Ví dụ: lương là thuộc tính hay khái niệm so với

khái niệm công nhân ?

• Nếu nghi ngờ ñó là khái niệm thì coi nhưlương và

công nhân là hai khái niệm tách rời

Trang 44

 Ở giai ñ o ạ n elaboration, mô hình khái ni ệ m

có th ể không nht thi ế t phi mô tcác

thao tác c ủ a khái ni ệ m

 Giai ñ o ạ n construction s ẽ th ự c hi ệ n công

vi ệ c này m ộ t cách chi ti ế t và ñầ y ñủ

Trang 46

 Mỗi thểhiện A với giá trịkey xácñịnh một tập con các

thểhiện B tham gia vào kết hợp

B

A key

qualificator

Trang 47

MặtHàng DanhMụcMặtHàng ID

 Một khái niệm có thểvềcơb n giống với một khái

niệm khác, chỉcó một vài sựkhác nhau trên một số

tính chất (thuộc tính, thao tác, các kết hợp)

 Khái niệm thứnhấtñược gọi là chuyên bit hóa

(specialization) của khái niệm thứhai

 Khái niệm thứnhấtñược gọi là khái niệm chuyên biệt

hóa (specialized concept), khái niệm thứhaiñược gọi

là khái niệm chung (general concept)

Trang 49

 Lưu ý, trong tài liệu viết tay có thểviết {abstract} dưới

tên khái niệm trừu tượng

ñược viết in nghiêng

Trang 50

radius

1 3

1 1

Trang 51

 Trong trường hợp, thtựcủa các khái niệm thành

phần là quan trọng, thì thêm vào kết hợpñiều kiệ

Employment

begin, end: Date

Khái niệm kết hợp

Trang 52

* 1 * 1

1 1 1

NhânViên

MatHang

QuayTinhTien 1

*

HeThongBanHang

1 1 *

1 1 *

Trang 53

Bài t ậ p 2

 Qun lýñào totrung tâm tin hc: Mộ t công ty mu ố n mô t ả

b ng UML vi ệ c ñ ào t ạ o nhân viên ñể tin h ọ c hóa m ộ t s ố công vi ệ c

Vi ệ c ñ ào t ạ ñượ c b ắ t ñầ u khi ng ườ i qu ả n lý ñ ào t ạ o nh ậ ñượ c

yêu c ầ ñ ào t ạ o c ủ a m ộ t nhân viên Nhân viên này có th ể xem

danh m ụ c các chuyên ñề ñ ào t ạ o c ủ a các ñơ n v ị ñ ào t ạ o ký k ế t v ớ i

công ty Yêu c ầ u c ủ a nhân viên ñượ c xem xét b ở i ng ườ i qu ả n lý

ñ ào t ạ o và ng ườ i qu ả n lý s ẽ tr ả l ờ i là ch ấ p nh ậ n hay t ừ ch ố i ñề

ngh ị ñ ó Trong tr ườ ng h ợ p ch ấ p nh ậ n, ng ườ i qu ả n lý s ẽ xác ñị nh

chuyên ñề phù h ợ p trong danh m ụ c các chuyên ñề , sau ñ ó g ử i cho

nhân viên n ộ i dung c ủ a chuyên ñề và danh sách các khóa ñ ào t ạ o

Nhân viên s ẽ ch ọ n khóa ñ ào t ạ o và ng ườ i qu ả n lý s ẽ ñă ng ký khóa

h c v ớ i ñơ n v ị ñ ào t ạ o cho nhân viên Trong tr ườ ng h ợ p mu ố n h ủ y

b ỏ ñă ng ký khóa ñ ào t ạ o, nhân viên ph ả i thông báo s ớ m cho ng ườ i

qu ả n lý bi ế t ñể ng ườ i qu ả n lý th ự c hi ệ n h ủ y b ỏ Cu ố i khóa ñ ào t ạ o,

nhân viên chuy ể n phi ế ñ ánh giá k ế t qu ả h c v ề cho công ty

Ng ườ i qu ả n lý s ẽ ki ể m tra hóa ñơ n thanh toán ti ề n c ủ ñơ n v ị ñ ào

Trang 55

/ age

Thuộc tính dẫn xuất

{age = CurrentDate – birthDate}

Ràng buộc

Trang 56

Quan hệ kết hợp

NgườiQuảnLýNgườiBánHàng

Quan hệ tổng quát hóaNhânViên

Trang 57

Quan hệ phụ thộc

center : Point

Trang 61

 Bi ể ñồ t ươ ng tác mô t ả hành vi củ a h ệ th ố ng

 M ỗ i bi ể ñồ t ươ ng tác t ươ ng ứ ng m ộ t tác v ụ ñược

thực hiện bởi một số các ñối tượng

 Bi ể ñồ t ươ ng tác xây d ự ng d ự a trên n ề n t ả ng c ủ

bi ể ñồ ho ạ t ñộ ng và bi ể u ñồ tr ạ ng thái

 Bi ể ñồ t ươ ng tác mô t ả các hành ñộ ng c ủ a các ñố i

t ượ ng ñể th ự c hi ệ n m ộ t tác v ụ Các hành ñộ ng c ủ

ñố i t ượ ng bao g ồ m:

 gi các thôngñip (message) giữa cácñối tượng

 to (create) và hy (destroy) cácñối tượng

Trang 63

 Thôngñiệp gọi gọi một phương thức/thao tác trênñối tượng

 ðối tượng gọi phảiñợi thôngñiệpñược thực hiện kết thúc

Trang 65

Bi ể u ñồ tu ầ n t ự

 Thôngñiệp tạo gọi phương thức tạo mộtñối tượng

 Thôngñiệp hủy gọi phương thức hủy mộtñối tượng

private B objB;

public void msg1() {

objB = new B();

objB.msg2();

objB.msg3();

} } public class B {

public void msg2() { … } public void msg3() { … }

}

Trang 70

 C ấ u trúc thông ñ i ệ ñượ c mô t ả d ng t ổ ng quát nh ư sau:

precondition / condition sequence * *|| iteration : result := message ( parameters )

 “ precondition / ”: danh sách s ố tu ầ n t ự c ủ a các thông ñ i ệ p tr ướ c

thông ñ i ệ p c ầ n g ử i Thông ñ i ệ p ch ỉ ñượ c g ử i ñ i khi t ấ t c ả các thông

 “ * ”: ch ỉ ra thông ñiệ p ñượ c g ử i ñ i nhi ề u l ầ n m ộ t cách tu ầ n t ự

 “*||”: ch ỉ ra thông ñiệ p ñượ c g ử i ñ i nhi ề u l ầ n m ộ t cách ñồ ng th ờ i.

 “iteration”: ch ỉ ra s ố l ầ n g ử i thông ñ i ệ p m ộ t cách tu ầ n t ự ho ặ c ñồ ng

th ờ i

 “ result ”: ch ỉ ra giá tr ị tr v ề c ủ a thông ñ i ệ p.

 “ message ”: tên thông ñ i ệ

 “ parameters ”: danh sách các tham s ố c ủ a thông ñ i ệ p.

Trang 72

 Các biểu ñồ lớp s ẽ ñượ c chuy ể n sang

chương trình ñịnh nghĩa các lớp t ươ ng ứ ng

 Các biểu ñồ tương tác s ẽ ñượ c chuy ể n thành

chương trình ñịnh nghĩa các phương thức

 Các bi ể ñồ khác s ẽ h tr ợ cho quá trình mã hóa

Trang 73

−price : float+ getPrice() : float

}

Trang 74

private AirPlane airPlane;

*1contains >

private int clientID;

private Vector orderList;

1

1 *

orderListe

Trang 75

}

Trang 76

return (quantity * airplane.getPrice());

}

Trang 77

 Ph ầ n m ề m Rational Rose, Poisedon

for UML, Umbrello

Ngày đăng: 16/08/2012, 13:43

HÌNH ẢNH LIÊN QUAN

Hình lĩnh vực (domain model) - Thiết kế hướng đối tượng sử dụng UML
Hình l ĩnh vực (domain model) (Trang 34)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w