1 Cc khi nim trong PTTK HT tt

  • Slides: 21
Download presentation
1. Các khái niệm trong PTTK HĐT (tt) Lớp o Lớp là khái niệm

1. Các khái niệm trong PTTK HĐT (tt) Lớp o 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 o Lớp = các thuộc tính + các phương thức o Lớp là một bước trừu tượng hóa n Tìm kiếm các điểm giống, bỏ qua các điểm khác nhau của đối tượng n Trừu tượng hóa làm giảm độ phức tạp Phần: Phân tích thiết kế hệ thống (review) 1

1. Các khái niệm trong PTTK HĐT (tt) Lớp (tt) o Quan hệ giữa

1. Các khái niệm trong PTTK HĐT (tt) Lớp (tt) o Quan hệ giữa các lớp: kết hợp o 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 Gói (package) o Là một cách tổ chức các thành phần, phần tử trong hệ thống thành các nhóm. Nhiều gói có thể được kết hợp với nhau để trở thành một hệ thống con (subsystem). Kế thừa o Trong phương pháp hướng đối tượng, một lớp có thể có sử dụng lại các thuộc tính và phương thức của một hoặc nhiều lớp khác. Kiểu quan hệ này gọi là quan hệ kế thừa, được xây dựng dựa trên mối quan hệ kế thừa trong bài toán thực tế. Phần: Phân tích thiết kế hệ thống (review) 2

2. Lược đồ lớp Lớp (Class) o Sư du ng hi nh chư nhâ

2. Lược đồ lớp Lớp (Class) o Sư du ng hi nh chư nhâ t gô m 3 tha nh phâ n n Tên lơ p n Ca c thuộc ti nh n Ca c phương thư c o Biê u diê n thuô c ti nh n Chi ra tên, kiê u và giá trị mặc định nê u có o attribute. Name : Type = Default n Tuân theo quy ươ c đặt tên cu a ngôn ngữ cài đặt và cu a dự án. n Kiê u (type) nên là kiê u dữ liê u cơ ba n trong ngôn ngữ thực thi o Kiê u dữ liê u có sẵn, kiê u dữ liê u người dùng định nghĩa, hoặc lơ p tự định nghĩa. Phần: Phân tích thiết kế hệ thống (review) 3

2. Lược đồ lớp (tt) Lớp (Class) (tt) o Mô ta phương thư c

2. Lược đồ lớp (tt) Lớp (Class) (tt) o Mô ta phương thư c n Tên phương thư c: o Mô ta kê t qua o Sử dụng góc nhìn cu a đô i tượng khách (client – đô i tươ ng go i) o Nhất quán giữa các lơ p n Signature cu a phương thư c: operation. Name([direction] parameter: class, . . . ): return. Type o Trong đó direction: in (mặc định), out hoặc inout Phần: Phân tích thiết kế hệ thống (review) 4

2. Lược đồ lớp (tt) Lớp (Class) (tt) o Phạm vi truy câ p

2. Lược đồ lớp (tt) Lớp (Class) (tt) o Phạm vi truy câ p (Visibility) n Phạm vi truy câ p được sử dụng đê thực hiê n kha năng đóng gói n Các ký hiê u sau được sử dụng: + Public access # Protected access - Private access o Phạm vi (Scope) Phần: Phân tích thiết kế hệ thống (review) 5

2. Lược đồ lớp (tt) Biê u đô /Lược đồ lớp (Class diagram) o

2. Lược đồ lớp (tt) Biê u đô /Lược đồ lớp (Class diagram) o Biểu đô lơ p chi ra sư tô n tại cu a ca c lơ p va mô i quan hê giư a chu ng trong ba n thiết kế logic cu a một hê thô ng n Chi ra câ u tru c ti nh cu a mô hi nh như lơ p, câ u tru c bên trong cu a chu ng va mô i quan hê vơ i ca c lơ p kha c. n Chi ra tâ t ca hoă c một phâ n câ u tru c lơ p cu a một hê thô ng. n Không đưa ra ca c thông tin tạm thơ i. o Khung nhi n ti nh cu a một hê thô ng chu yếu hô trơ ca c yêu câ u chư c năng cu a hê thô ng. Phần: Phân tích thiết kế hệ thống (review) 6

2. Lược đồ lớp (tt) Biê u đô /Lược đồ lớp (tt) - VD

2. Lược đồ lớp (tt) Biê u đô /Lược đồ lớp (tt) - VD Phần: Phân tích thiết kế hệ thống (review) 7

2. Lược đồ lớp (tt) Biê u đô /Lược đồ lớp (tt) o Liên

2. Lược đồ lớp (tt) Biê u đô /Lược đồ lớp (tt) o Liên kê t (association) la gi ? n Mô i liên hê ngữ nghi a giữa hai hay nhiê u lơ p chi ra sự liên kê t giữa ca c thê hiê n cu a chu ng n Mô i quan hê vê mặt cấu tru c chi ra ca c đô i tượng cu a lơ p na y co kê t nô i vơ i ca c đô i tượng cu a lơ p kha c. Phần: Phân tích thiết kế hệ thống (review) 8

2. Lược đồ lớp (tt) Biê u đô /Lược đồ lớp (tt) o Bô

2. Lược đồ lớp (tt) Biê u đô /Lược đồ lớp (tt) o Bô i sô quan hê (Multiplicity): Bô i sô quan hê la sô lượng thê hiê n cu a mô t lơ p liên quan tơ i MÔ T thê hiê n cu a lơ p kha c. n Vơ i mỗi liên kê t, co hai bô i sô quan hê cho hai đâ u cu a liên kê t. n Vơ i mỗi đô i tượng cu a Professor, co nhiê u Course Offerings co thê được dạy. n Vơ i mỗi đô i tượng cu a Course Offering, co thê co 1 hoặc 0 Professor gia ng dạy. Phần: Phân tích thiết kế hệ thống (review) 9

2. Lược đồ lớp (tt) Biê u đô /Lược đồ lớp (tt) o Bô

2. Lược đồ lớp (tt) Biê u đô /Lược đồ lớp (tt) o Bô i sô quan hê (Multiplicity) Unspecified Exactly One 1 Zero or More 0. . * Zero or More * One or More 1. . * Zero or One (optional value) 0. . 1 Specified Range 2. . 4 Multiple, Disjoint Ranges 2, 4. . 6 Phần: Phân tích thiết kế hệ thống (review) 10

2. Lược đồ lớp (tt) Biê u đô /Lược đồ lớp (tt) o Bô

2. Lược đồ lớp (tt) Biê u đô /Lược đồ lớp (tt) o Bô i sô quan hê (Multiplicity) – Ví dụ Phần: Phân tích thiết kế hệ thống (review) 11

2. Lược đồ lớp (tt) Biê u đô /Lược đồ lớp (tt) o Kê

2. Lược đồ lớp (tt) Biê u đô /Lược đồ lớp (tt) o Kê t tâ p (aggregation): La mô t dạng đặc biê t cu a liên kê t mô hi nh ho a mô i quan hê toa n thê -bô phâ n (whole-part) giữa đô i tượng toa n thê va ca c bô phâ n cu a no. n Kê t tâ p la mô i quan hê “la mô t phâ n” (“is a part-of”). o Bô i sô quan hê được biê u diễn giô ng như ca c liên kê t kha c Phần: Phân tích thiết kế hệ thống (review) 12

2. Lược đồ lớp (tt) Biê u đô /Lược đồ lớp (tt) o Kê

2. Lược đồ lớp (tt) Biê u đô /Lược đồ lớp (tt) o Kê t tâ p (aggregation) – Ví dụ Phần: Phân tích thiết kế hệ thống (review) 13

2. Lược đồ lớp (tt) Biê u đô /Lược đồ lớp (tt) o Câ

2. Lược đồ lớp (tt) Biê u đô /Lược đồ lớp (tt) o Câ u tha nh (Composition): Mô t dạng cu a kết tâ p vơ i quyê n sở hữu mạnh và các vòng đời trùng khơ p giư a hai lơ p n Whole sở hữu Part, tạo và hu y Part. n Part bị bỏ đi khi Whole bị bỏ, Part không thê tô n tại nê u Whole không tô n tại. Phần: Phân tích thiết kế hệ thống (review) 14

2. Lược đồ lớp (tt) Biê u đô /Lược đồ lớp (tt) o Association,

2. Lược đồ lớp (tt) Biê u đô /Lược đồ lớp (tt) o Association, Aggregation and Composition: Mô i quan hê giữa ca c lơ p (relationship) n Liên kê t (Association) o Sử dụng (use-a) ▫ n Kê t tâ p (Aggregation) o Strong association o has-a/is-a-part n Hợp tha nh (Composition) o Strong aggregation o Share life-time Phần: Phân tích thiết kế hệ thống (review) 15

2. Lược đồ lớp (tt) Biê u đô /Lược đồ lớp (tt) o Tô

2. Lược đồ lớp (tt) Biê u đô /Lược đồ lớp (tt) o Tô ng qua t ho a (Generalization) n Mô i quan hê giữa ca c lơ p trong đo mô t lơ p chia se cấu tru c va /hoặc ha nh vi vơ i mô t hoặc nhiê u lơ p kha c n Xa c định sự phân cấp vê mư c đô trư u tượng ho a trong đo lơ p con kê thư a tư mô t hoặc nhiê u lơ p cha o Đơn kê thư a (Single inheritance) o Đa kê thư a (Multiple inheritance) n La mô i liên hê “la mô t loại” (“is a kind of”) Phần: Phân tích thiết kế hệ thống (review) 16

2. Lược đồ lớp (tt) Phần: Phân tích thiết kế hệ thống (review) 17

2. Lược đồ lớp (tt) Phần: Phân tích thiết kế hệ thống (review) 17

2. Lược đồ lớp (tt) • Generalization – Inheritance or “Is a” relationship •

2. Lược đồ lớp (tt) • Generalization – Inheritance or “Is a” relationship • Mũi tên hình tam giác rỗng hướng về lớp cơ sở. • Nếu kế thừa từ lớp cơ sở thì mũi tên nét liền. • Nếu hiện thực interface thì mũi tên nét đứt. Phần: Phân tích thiết kế hệ thống (review) 18

2. Lược đồ lớp (tt) Lơ p trư u tươ ng va lơ p

2. Lược đồ lớp (tt) Lơ p trư u tươ ng va lơ p cu thê (Abstract and Concrete Class) o Lơ p trư u tươ ng không thể co đô i tươ ng n Chư a phương thư c trư u tươ ng n Chư nghiêng o Lơ p cu thể co đô i tươ ng Phần: Phân tích thiết kế hệ thống (review) 19

2. Lược đồ lớp (tt) Biê u đô /Lược đồ lớp (tt) – Ví

2. Lược đồ lớp (tt) Biê u đô /Lược đồ lớp (tt) – Ví dụ Phần: Phân tích thiết kế hệ thống (review) 20

Phần: Phân tích thiết kế hệ thống (review) 21

Phần: Phân tích thiết kế hệ thống (review) 21