intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Thiết kế hướng đối tượng - Sử dụng UML (7)

Chia sẻ: Nguyen Long | Ngày: | Loại File: PDF | Số trang:77

246
lượt xem
93
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Nội dung: Khái niệm cơ bản hướng đối tượng, biểu đồ ca sử dụng, thiết kế cấu trúc tĩnh, thiết kế cấu trúc động, sinh mã.

Chủ đề:
Lưu

Nội dung Text: Thiết kế hướng đối tượng - Sử dụng UML (7)

  1. Thi t k hư ng ñ i tư ng - S d ng UML (7) Nguy n Thanh Bình Khoa Công ngh Thông tin Trư ng ð i h c Bách khoa ð i h c ðà N ng N i dung Khái ni m cơ b n hư ng ñ i tư ng Bi u ñ ca s d ng Thi t k c u trúc tĩnh Thi t k c u trúc ñ ng Sinh mã 2 1
  2. Hư ng ch c năng D a vào các ch c năng c a h th ng H th ng là t p h p các ch c năng Chia nh các ch c năng và làm m n d n H th ng g m các h th ng con Làm ch ñ ph c t p Các ch c năng trao ñ i v i nhau b ng truy n tham s ho c d li u (ch ng h n bi n toàn c c) dùng chung 3 Hư ng ch c năng Phân c p ch c năng H th ng Ch c năng 1 Ch c năng 2 Ch c năng 1.1 Ch c năng 1.2 Ch c năng 2.1 Ch c năng 2.2 4 2
  3. Hư ng ch c năng Ưu ñi m Phân tích ñư c các ch c năng c a h th ng ðưa l i k t qu mong ñ i Như c ñi m Ch c năng c u trúc Thay ñ i v ch c năng khó khăn thay ñ i c u trúc Tính m c a h th ng th p Khó tái s d ng Chi phí s a ch a l i l n 5 Hư ng ñ i tư ng L y ñ i tư ng làm trung tâm H th ng = t p h p các ñ i tư ng + quan h gi a các ñ i tư ng Các ñ i tư ng trao ñ i b ng thông ñi p (message) Không s d ng bi n toàn c c ðóng gói Th a k 6 3
  4. Hư ng ñ i tư ng Phân bi t L p trình c u trúc • Thu t toán + c u trúc d li u = chương trình L p trình HðT • Σñ i tư ng = chương trình • ñ i tư ng = thu t toán + c u trúc d li u 7 Hư ng ñ i tư ng Ưu ñi m chính G n gũi v i th gi i th c Tái s d ng d dàng ðóng gói, che d u thông tin làm cho h th ng tin c y hơn Th a k làm gi m chi phí, h th ng có tính m cao hơn Xây d ng h th ng l n và ph c t p 8 4
  5. ð i tư ng ð i tư ng (object) là khái ni m cho phép mô t các s v t/th c th trong th gi i th c Các ñ i tư ng duy trì các quan h gi a chúng Nguy n Văn A là m t ñ i tư ng 9 ð i tư ng Các tính ch t c a ñ i tư ng ð i tư ng = tr ng thái + hành vi + ñ nh danh • Tr ng thái là các ñ c tính c a ñ i tư ng t i m t th i ñi m • Hành vi th hi n các ch c năng c a ñ i tư ng • ð nh danh th hi n s t n t i duy nh t c a ñ i tư ng 10 5
  6. ð i tư ng : tr ng thái Tr ng thái = t p h p các thu c tính M i thu c tính mô t m t ñ c tính T i m t th i ñi m c th , các thu c tính mang các giá tr trong mi n xác ñ nh Ví d • M t chi c xe máy: màu xanh, 110 cm3, dream, 12000km, ñ ng yên, … 11 ð i tư ng : hành vi Hành vi = t p h p các phương th c Phương th c: là m t thao tác ho c ñư c th c hi n b i chính nó, ho c 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, … 12 6
  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 Thông ñi p ð i tư ng A ð i tư ng B Các lo i thông ñi p • hàm d ng (constructor) • hàm h y (destructor) • hàm ch n l a (get) • hàm s a ñ i (set) • các hàm ch c năng khác 13 ð i tư ng Gi a các ñ i tư ng có m i liên k t (link) v i nhau Ví d Nguy n Văn A H c ð i h c ðà N ng 14 7
  8. L p L p là khái ni m dùng ñ mô t m t t p h p các ñ i tư ng có cùng m t c u trúc, cùng hành vi và có cùng nh ng m i quan h v i các ñ i tư ng khác L p = các thu c tính + các phương th c 15 L p L p là m t bư c tr u tư ng hóa Tìm ki m các ñi m gi ng nhau, b qua các ñi m khác nhau c a ñ i tư ng Person Name Age changeAge Tr u tư ng hóa làm gi m ñ ph c t p 16 8
  9. L p Quan h gi a các l p: k t h p M t k t h p là m t t p h p các m i liên k t gi a các ñ i tư ng h c Sinh viên ð ih c 17 L p & ð i tư ng ð i tư ng là th hi n (instance) c a l p Giá tr là th hi n c a thu c tính Liên k t là th hi n c a k t h p L p ð i tư ng Thu c tính Giá tr K th p Liên k t 18 9
  10. Các tính ch t c a HðT Tính ñóng gói (encapsulation) d li u + x lý d li u = ñ i tư ng thu c tính + phương th c = l p Ưu ñi m H n ch nh hư ng khi có s thay ñ i c p nh t Ngăn c n s truy c p thông tin t bên ngoài Che d u thông tin 19 Các tính ch t c a HðT Tính th a k (inheritance) M t l p ñư c xây d ng t m t ho c nhi u l p khác b ng vi c chia s các thu c tính và phương th c L p con th a k các thu c tính và phương th c t l p cha 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 t 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 20 10
  11. Các tính ch t c a HðT ðơn th a k : m t l p con ch th a k t m t l p cha duy nh t XeÔtô Chuyên bi t hóa T ng quát hóa XeKhách XeT i 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 các ng d ng. Ví d : Ôtô t i là m t ôtô. 21 Các tính ch t c a HðT ða th a k : m t l p con th a k t nhi u l p cha khác nhau Person Personnel Student Reseacher Teacher Phd candidate 22 11
  12. Các tính ch t c a HðT ða th a k ð ng ñ tên các thu c tính X Y a a Z ac aX ac aY ða th a k không ñư c ch p nh n b i m t s ngôn ng : Java 23 Các tính ch t c a HðT Ưu ñi m c a th a k Phân lo i các l p: các l p ñư c phân lo i, s p x p theo m t th b c ñ d qu n lí Xây d ng các l p: các l p con ñư c xây d ng t các l p cha Ti t ki m th i gian xây d ng, tránh l p l i thông tin 24 12
  13. Các tính ch t c a HðT Tính ña hình (polymorphism): c a phương th c, t c là kh năng các phương th c khác nhau ñư c th c hi n ñ tr l i cùng m t yêu c u M i l p con th a k ñ c t các phương th c t l p 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 khác nhau 25 Các tính ch t c a HðT Ví d tính ña hình ðaGiác dienTich() HìnhVuông HìnhTamGiác dienTich() dienTich() 26 13
  14. N i dung Khái ni m cơ b n hư ng ñ i tư ng Bi u ñ ca s d ng Thi t k c u trúc tĩnh Thi t k c u trúc ñ ng Sinh mã 27 Ca s d ng (Use case) Bư c ñ u tiên c a phân tích yêu c u là xác ñ nh các ca s d ng c a h th ng M t ca s d ng là m t tương tác gi a h th ng và môi trư ng T p h p các ca s d ng là mô t toàn b h th ng c n xây d ng 28 14
  15. Ca s d ng Ví d : phát tri n m t ph n m m th o văn b n Các ca s d ng có th : Nh p văn b n m i S a văn b n ñã t n t i T om cl c Chép ño n văn b n … 29 Ca s d ng M t ca s d ng tương ng v i m t ch c năng c a h th ng dư i góc nhìn c a ngư i s d ng M t ca s d ng có th l n ho c nh M t ca s d ng ch ra làm th nào m t m c tiêu c a ngư i s d ng ñư c th a mãn b i h th ng 30 15
  16. Ca s d ng 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 m t văn b n trình bày ñ p Tương tác: ch n ñ nh d ng trang, ch n font ch , ñ nh nghĩa các ki u tiêu ñ (heading), … Th c t , chúng ta xác ñ nh các m c tiêu trư c, sau ñó ch n t p h p các tương tác ñáp ng các m c tiêu ñó 31 Ca s d ng Ví d : c n xây d ng m t h th ng ATM cho phép rút ti n Có th có vài tương tác chung trong m t k ch b n sau: ðưa th vào Nh p mã PIN Ch n s ti n rút Kh ng ñ nh s ti n rút L y th ra L y ti n L y phi u rút ti n Các tương tác trên có là các ca s d ng không ? 32 16
  17. Ca s d ng Câu tr l i: không. T i sao ? Vì ch ng h n “Nh p mã PIN” không ñáp ng m t m c 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. 33 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 Ví d : C n phát tri n h th ng tính ti n siêu th Các tác nhân có th là: Khách hàng, Ngư i bán hàng, Ngư i qu n lý, Kho hàng C n phân bi t: tác nhân (actor) và ngư i s d ng (user) Nhi u ngư i s d ng có th tương ng m t tác nhân: nhi u ngư i bán hàng khác nhau ñóng cùng vai trò ñ i v i h th ng 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 m t ngư i có th ñ ng th i ñóng hai vai trò là ngư i bán hàng và ngư i qu n lý 34 17
  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 tác v i h th ng Ví d Kho hàng là có th m t cơ s d li u 35 ð c t ca s d ng ð c t ñi n hình c a m t ca s d ng: Ca s d ng: tên ca s d ng thư ng b t ñ u b i m t ñ ng t Các tác nhân: danh sách các tác nhân liên quan Mô t : tóm t t các x lý c n th c hi n Ví d Ca s d ng: Mua hàng Các tác nhân: Khách hàng, Ngư i bán hà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. 36 18
  19. ð c t ca s d ng ð 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 u ði u ki n trư c và ñi u ki n sau khi th c hi n ca s d ng Ví d Ca s d 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 ði u ki n trư c: Ngư i bán hàng ñã ñăng nh p thành công. ði u ki n 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. Khách hàng mang hàng ñi. 37 ð c t ca s d ng Ngoài ra, ñ i v i m i ca s d ng ta có th xây d ng m t k ch b n (scenario) hành ñ ng mô t các s ki n x y ra K ch b n: g m các s ki n chính và các s ki n ngo i l Các s ki n chia làm hai lu ng Lu ng tương ng v i các tác nhân Lu ng tương ng v i h th ng 38 19
  20. ð c t ca s d ng Các s ki n chính Hành ñ ng c a tác nhân Hành ñ ng c a h th ng 1. M t khách hàng ñưa hàng ñã ch n mua ñ n qu y tính ti n. 2. Ngư i bán hàng ghi nh n 3. Xác ñ nh m t hàng, hi n th t ng m t hàng. các thông tin và giá m t hàng. N u m t m t hàng có s S này ñư c hi n th . lư ng nhi u hơn m t thì ngư i bán hàng có th nh p vào m t s . 39 ð c t ca s d ng Các s ki n chính (ti p) Hành ñ ng c a tác nhân Hành ñ ng c a h th ng 4. Sau khi ñã ghi nh n t t 5. Tính và hi n th t ng s c các m t hàng, ngư i bán ti n. hàng báo hi u k t thúc vi c ghi nh n hàng. 6. Ngư i bán hàng thông báo t ng s ti n ph i tr cho khách hàng. 7. Khách hàng tr ti n cho ngư i bán hàng. 40 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2