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

Phân tích thiết kế hướng đối tượng: Bài 6. Biểu đồ lớp và gói - ThS. Lê Văn Hùng

Chia sẻ: Thien Phuc | Ngày: | Loại File: PDF | Số trang:40

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

Đối tượng là cái gì đó tồn tại trong thế giới thực. Lớp là mô tả thuộc tính, hành vi, ngữ nghĩa của một nhóm đối tượng: Lớp xác định thông tin nào được lưu trữ trong đối tượng và hành vi nào đối tượng có.

Chủ đề:
Lưu

Nội dung Text: Phân tích thiết kế hướng đối tượng: Bài 6. Biểu đồ lớp và gói - ThS. Lê Văn Hùng

  1. PHÂN TÍCH THI T K PHÂN HƯ NG ð I TƯ NG HƯ N G TƯ NG
  2. N i dung 1. Ti n trình phát tri n ph n m m theo hư ng đ i tư ng 2. Gi i thi u Ngôn ng mô hình hóa th ng nh t UML 3. Mô hình hóa nghi p v 4. Mô hình hóa trư ng h p s d ng 5. Mô hình hóa tương tác đ i tư ng Bi u đ l p và gói 7. Bi u đ chuy n tr ng thái và bi u đ ho t đ ng 8. Bi u đ ki n trúc v t lý và phát sinh mã trình 9. Mô hình hóa d li u 10. Bài h c th c nghi m ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 6 - 2/40
  3. Bài 6 Bi u ñ l p và gói Bi
  4. L p là gì? ð i tư ng là cái gì ñó t n t i trong th gi i th c n L p là mô t thu c tính, hành vi, ng nghĩa c a m t n nhóm ñ i tư ng L p xác ñ nh thông tin nào ñư c lưu tr trong ñ i tư ng và hành n vi nào ñ i tư ng có Thí d v l p: L p Employee n ð i tư ng c a l p có các attribute: Name, Address, Salary n Các operation: Thuê mư n, ðu i vi c và ð b t nhân viên? n Ký pháp ñ h a c a l p trong bi u ñ n Tên l p n Class Thu c tính n Thao tác - Attribute n - Private +Operation() + Public ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 6 - 4/40
  5. Tìm ki m l p như th nào? Vi c tìm ki m ñ y ñ l p là khó khăn n Khuy n cáo n Tìm l p t các danh t trong lu ng s ki n n Chú ý r ng danh t có th là tác nhân, l p, thu c tính và bi u th c n không ph i lo i trên Tìm l p t bi u ñ tương tác n Nh ng cái chung c a ñ i tư ng t o thành l p n Tìm l p các nơi khác n Các báo cáo tìm ra trong pha phân tích yêu c u hình thành l p giao n di n Các thi t b ph n c ng ñư c bi u di n b i l p khác nhau n ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 6 - 5/40
  6. Tìm ki m l p như th nào? Cùng v i chuyên gia lĩnh v c v n ñ tr l i các câu h i sau n ñây ñ tìm ra l p Có thông tin nào c n lưu tr hay phân tích? N u có, nó là l p n Có h th ng ngoài không? N u có thì nó ñư c xem như nh ng l p n ch a trong h th ng c a ta hay h th ng c a ta tương tác v i chúng Có m u, thư vi n l p, thành ph n...? N u có, thông thư ng chúng n ch a các ng viên l p H th ng c n qu n lý các thi t b ngo i vi nào? M i thi t b k n thu t n i v i h th ng ñ u là ng viên l p. Tác nhân ñóng vai trò tác nghi p nào? Các nhi m v này có th là n l p; thí d ngư i s d ng, thao tác viên h th ng, khách hàng... ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 6 - 6/40
  7. L p bi u ñ l p Bi u ñ l p cho bi t hình nh n tĩnh c a b ph n h th ng Bi u ñ l p bao g m các l p n và quan h gi a chúng Thông thư ng m i h th ng có n vài bi u ñ l p Xây d ng vài bi u ñ l p ñ n mô t ñ y ñ h th ng Bi u ñ l p giúp ngư i phát n tri n quan sát, l p k ho ch c u trúc h th ng trư c khi vi t mã trình Rose n Bi u ñ l p ñư c hình thành n trong Logical View ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 6 - 7/40
  8. Stereotype c a l p Trong bi u ñ l p, stereotype là cơ ch ñ phân nhóm l p n UML có s n nhi u stereotype ñ s d ng n Ba stereotype l p cơ s s d ng trong pha phân tích là n Boundary n Dành cho l p n m trên biên h th ng v i th gi i còn l i n Chúng có th là form, report, giao di n v i ph n c ng như máy in, n scanner... Kh o sát bi u ñ UC ñ tìm ki m l p biên n Actor2 Use Case Actor Form Use Case Boundary class Boundary Actor1 class Entity n Control n ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 6 - 8/40
  9. Stereotype c a l p Ba stereotype l p cơ s s d ng trong pha n phân tích là Boundary n Entity n BoundaryClass L p th c th là l p lưu tr thông tin s ghi vào b n nh ngoài Tìm chúng trong lu ng s ki n và bi u ñ tương tác n Thông thư ng ph i t o ra b ng CSDL cho l p lo i này n M i thu c tính c a l p th c th s là trư ng trong n EntityClass b ng CSDL Control n Có trách nhi m ñi u ph i ho t ñ ng c a các l p khác n Thông thư ng m i UC có m t l p ñi u khi n n Nó không th c hi n ch c năng nghi p v nào n ControlClass Các l p ñi u khi n khác: ñi u khi n s ki n liên quan n ñ n an ninh và liên quan ñ n giao d ch CSDL Ngư i s d ng t t o ra stereotype m i n ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 6 - 9/40
  10. Các lo i l p trong bi u ñ Phân lo i l p theo các khái ni m c a ngôn ng l p n trình c th : C++, Java, Web, Visual Basic, CORBA, Oracle... Rose h tr nhi u stereotype cho các nhóm l p, thí d n L p thông thư ng n L p tham s (Parameterized class) n L p hi n th c (Instantiated class) n L p ti n ích (Class utility) n L p ti n ích tham s (Parameterized class utility) n L p ti n ích hi n th c (Instantiated class utility) n Metaclass n Giao di n (Interfaces) n ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 6 - 10/40
  11. Các lo i l p trong bi u ñ L p tham s (Parameterized class) n Item List S d ng ñ t o ra h các l p khác n Có tên khác là template Attribute n S d ng cho C++, Ada Operation() n Thí d v i l p tham s List, có th t o ra các n l p EmployeeList, OrderList... ð t ñ i s cho l p tham s n Các ñ i ñư c hi n th trong h p nét ñ t n L p hi n th c (Instantiated class) n Attribute Là l p hi n th c mà ñ i c a chúng có giá tr n Operation() Trong UML, ký pháp l p hi n th c là l p có n tên ñ i s trong angle brackets ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 6 - 11/40
  12. Các lo i l p trong bi u ñ L p ti n ích (Class utility) n Là t p h p các thao tác Class Utility n Thí d chúng có th là các hàm toán h c Operation() n ñ các l p khác s d ng Ký pháp ñ h a: Hình ch nh t bóng n L p ti n ích tham s (Parameterized n Item class utility) Class Utility Là l p tham s ch a t p các thao tác n Operation() Là template ñ t o ra các l p ti n ích n L p ti n ích hi n th c (Instantiated n class utility) Là l p ti n ích tham s mà ñ i s c a n Operation() chúng có giá tr ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 6 - 12/40
  13. Các lo i l p trong bi u ñ Metaclass MetaClass n Là l p mà hi n th c c a nó là l p ch không ph i Attribute n ñ i tư ng Operation() Giao di n (Interfaces) n Nhi u ngôn ng hư ng ñ i tư ng h tr khái ni m giao di n ñ tách n cài ñ t l p kh i giao di n Giao di n ch ch a signatures c a phương pháp cho l p ch không n ch a cài ñ t Cách ti p c n này là cơ s c a ngôn ng ñ nh nghĩa giao di n n (Interface Definition Language – IDL) Cho phép ñ nh nghĩa giao di n ñ c l p ngôn ng n ImplementationClass Interface ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 6 - 13/40
  14. ð c t l p trong bi u ñ Trong Rose: n S d ng c a s ñ c t l p n ñ gán các thu c tính cho l p như stereotype, persistent, visibility... C a s ñ c t khác nhau n v i các ngôn ng khác nhau khi ch n ñ cài ñ t mô hình sau này Các l p c a Java, XML, n CORBA ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 6 - 14/40
  15. ð c t l p trong bi u ñ ð c t l p bao g m n Tên l p n M i l p trong mô hình có tên duy nh t n Thông thư ng s d ng danh t ñơn, không nên có d u cách n Thí d : Flight, Airplane n Ph m vi (Visibility) n Xác ñ nh kh năng nhìn th y l p t ngoài gói n Các lo i n Public: m i l p trong h th ng có th nhìn th y n Private hay Protected: có th nhìn th y t bên trong l p hay t l p friend n Package hay Implementation: ch các l p trong cùng gói m i nhìn th y n Tính nhi u (Multiplicity) n Yêu c u lưu tr n Duy trì (Persistent) n Tương tranh (Concurrency) n Tr u tư ng (Abstract) n ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 6 - 15/40
  16. ð c t l p trong bi u ñ ð c t l p bao g m n ... n Tính nhi u c a l p (Multiplicity) n Là s hi n th c mong ñ i c a l p n Thí d : tính nhi u c a l p Employee là n, c a l p ñi u khi n và l p Security n Manager là 1... Multiplicity Ý nghĩa n (M c ñ nh) Nhi u 0..0 Không 0..1 Không ho c 1 0..n Không ho c nhi u 1..1 Chính xác 1 1..n M t ho c nhi u Yêu c u lưu tr cho l p n ... n ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 6 - 16/40
  17. ð c t l p trong bi u ñ ð c t l p bao g m n ... n Yêu c u lưu tr cho l p n ð t kích thư c b nh mong ñ i ñ lưu tr ñ i tư ng c a l p n Duy trì (Persistent) n Rose: có kh năng sinh ngôn ng ñ nh nghĩa d li u (Data Definition n Language – DDL) ñ ñ nh nghĩa c u trúc c a CSDL Khi phát sinh DDL, Rose tìm ki m các l p có ñánh d u m t trong hai n lo i ñ c tính Persistence: Persistent: Thông tin trong ñ i tư ng c a l p s lưu tr vào CSDL hay n t p có khuôn m u khác Transient: Thông tin trong ñ i tư ng c a l p s không lưu tr lâu dài n Không s d ng tính ch t persistence cho l p công c , l p công c n tham s và l p công c hi n th c tham s . Tương tranh (Concurrency) n ... n ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 6 - 17/40
  18. ð c t l p trong bi u ñ ð c t l p bao g m n ... n Tương tranh (Concurrency) n Tương tranh mô t ng x c a l p trong ña lu ng ñi u khi n n B n lo i tương tranh n Sequential: (tr ng thái m c ñ nh) l p ng x như ho t ñ ng ch trong n m t lu ng ñi u khi n Guarded: L p ng x như trong ña lu ng ñi u khi n, các l p trong các n lu ng khác nhau c ng tác v i nhau ñ không làm nh hư ng ñ n các l p khác Active: L p có lu ng ñi u khi n riêng n Synchronous: L p ng x như trong ña lu ng ñi u khi n. Các l p không n c ng tác v i nhau vì chúng ho t ñ ng lo i tr tương h . Tr u tư ng (Abstract) n Là l p không ñư c hi n th c hóa AbstractClass n S d ng trong c u trúc k th a n ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 6 - 18/40
  19. Gói các l p Gói (Packages) ñ nhóm các l p có n nh ng cái chung Có nhi u quan ñi m hình thành gói n Gói l p theo prototype n Boundaries Thí d có gói Boundaries, gói Control và n gói Entities Gói l p theo ch c năng n Thí d gói Security, gói Reporting, gói Control n Error Handling... S d ng t h p hai lo i ti p c n trên ñ Entities n hình thành gói Có th t ch c gói bên trong gói khác n Quan h gi a các gói hình thành trên cơ n s quan h gi a các l p trong các gói. ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 6 - 19/40
  20. Thu c tính l p Thu c tính là nhóm thông tin liên k t v i l p n Có th g n m t hay nhi u thu c tính vào l p n Tìm ki m thu c tính? n Tìm trong tài li u UC n Tìm các danh t trong lu ng s ki n n Thí d : “Ngư i s d ng nh p tên, ñ a ch ngày sinh c a Nhân viên” n -> Tên, ñ a ch , ngày sinh là danh t và là thu c tính c a l p Nhân viên Tìm trong tài li u yêu c u h th ng n Thí d tài li u yêu c u h th ng mô t các thông tin c n thu th p n Tìm thu c tính trong c u trúc CSDL n N u ñã xác ñ nh c u trúc CSDL thì các trư ng trong b ng là thu c tính n c al p ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 6 - 20/40
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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