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

Bài giảng Công nghệ phần mềm: Chương 7 - Nguyễn Thanh Bình

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

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

Bài giảng Công nghệ phần mềm: Chương 7 Thiết kế hướng đối tượng - sử dụng UML nhằm trình bày về các nội dung chính 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 và sinh mã.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Công nghệ phần mềm: Chương 7 - Nguyễn Thanh Bình

  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