Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
595,64 KB
Nội dung
Lớp đối tượng UML Lớp đối tượng UML Bởi: duongkieuhoa tonthathoaan Lớp đối tượng UML UML thể lớp hình chữ nhật có phần Phần thứ chứa tên lớp Trong phần thứ hai thuộc tính liệu thành phần lớp phần thứ ba phương thức hay hàm thành phần lớp Tên lớp (lass name) : Tên lớp in đậm (bold) Tên lớp phải dẫn xuất từ phạm vi vấn đề rõ ràng Vì danh từ, ví dụ tài khoản, nhân viên, Thuộc tính (attribute): Lớp có thuộc tính miêu tả đặc điểm đối tượng Giá trị thuộc tính thường dạng liệu đơn giản đa phần ngôn ngữ lập trình hỗ trợ Integer, Boolean, Floats, Char, … Thuộc tính có nhiều mức độ trông thấy (visibility) khác nhau, miêu tả liệu thuộc tính truy xuất từ lớp khác, khác với lớp định nghĩa Nếu thuộc tính có tính trông thấy công cộng (public), nhìn thấy sử dụng lớp Nếu thuộc tính có tính trông thấy riêng (private), bạn truy cập từ bên lớp Một tính trông thấy khác bảo vệ (protected), sử dụng chung với công cụ khái quát hóa chuyên biệt hóa Nó giống thuộc tính riêng thừz kế lớp dẫn xuất Trong UML, thuộc tính công cộng mang kí hiệu "+" thuộc tính riêng mang dấu "-" Giá trị gán cho thuộc tính cách để miêu tả trạng thái đối tượng Mỗi lần giá trị thay đổi biểu cho thấy xảy thay đổi trạng thái đối tượng Lưu ý: Mọi đặc điểm thực thể thông tin cần lưu trữ chuyển thành thuộc tính lớp miêu tả loại thực thể 1/14 Lớp đối tượng UML Phương thức (methods): Phương thức định nghĩa hoạt động mà lớp thực Tất đối tượng tạo từ lớp có chung thuộc tính phương thức Phương thức sử dụng để xử lý thay đổi thuộc tính thực công việc khác Phương thức thường gọi hàm (function), chúng nằm lớp áp dụng cho đối tượng lớp Một phương thức miêu tả qua tên, giá trị trả danh sách nhiều tham số Lúc thi hành, phương thức gọi kèm theo đối tượng lớp Vì nhóm phương thức miêu tả dịch vụ mà lớp cung cấp nên chúng coi giao diện lớp Giống thuộc tính, phương thức có tính trông thấy công cộng, riêng bảo vệ Một lớp với thuộc tính tiêu biểu Một lớp với thuộc tính chung riêng Một lớp với thuộc tính gía trị 2/14 Lớp đối tượng UML Một lớp gồm thuộc tính với gía trị thuộc tính phạm vi lớp Kí hiệu đối tượng: Đối tượng thực thể lớp nên kí hiệu dùng cho đối tượng kí hiệu dùng cho lớp Ký hiệu đối tượng Hình đọc sau: CAH đối tượng lớp AccountHolder Các thuộc tính gán giá trị, giá trị lớp thực thể hóa Chú ý kí hiệu đối tượng không chứa phần phương thức 3/14 Lớp đối tượng UML Các dấu hiệu hành động Các giá trị tham số Quan hệ lớp Biểu đồ lớp thể lớp mối quan hệ chúng Quan hệ lớp gồm có bốn loại: - Liên hệ (Association) - Khái quát hóa (Generalization) - Phụ thuộc (Dependency) - Nâng cấp (Refinement) Một liên hệ nối kết lớp, có nghĩa nối kết đối tượng lớp Trong UML, liên hệ định nghĩa mối quan hệ miêu tả 4/14 Lớp đối tượng UML tập hợp nối kết (links), nối kết định nghĩa liên quan ngữ nghĩa (semantic connection) nhóm đối tượng Khái quát hóa mối quan hệ yếu tố mang tính khái quát cao yếu tố mang tính chuyên biệt Yếu tố mang tính chuyên biệt chứa thông tin bổ sung Một thực thể (một đối tượng thực thể lớp) yếu tố mang tính chuyên biệt sử dụng nơi mà đối tượng mang tính khái quát hóa phép Sự phụ thuộc mối quan hệ yếu tố, gồm yếu mang tính độc lập yếu tố mang tính phụ thuộc Một thay đổi yếu tố độc lập ảnh hưởng đến yếu tố phụ thuộc Một nâng cấp mối quan hệ hai lời miêu tả vật, mức độ trừu tượng hóa khác Liên hệ (Association) Một liên hệ nối kết lớp, liên quan ngữ nghĩa đối tượng lớp tham gia Liên hệ thường thường mang tính hai chiều, có nghĩa đối tượng có liên hệ với đối tượng khác hai đối tượng nhận thấy Một mối liên hệ biểu thị đối tượng hai lớp có nối kết với nhau, ví dụ "chúng biết nhau", "được nối với nhau", "cứ X lại có Y", Lớp liên hệ lớp công cụ mạnh mẽ cho việc mô hình hóa hệ thống phức tạp, ví dụ cấu trúc sản phẩm, cấu trúc văn tất cấu trúc thông tin khác Mối liên kết thể biểu đồ UML đường thẳng nối hai lớp Một lớp Author kết hợp với lớp Computer Vai trò liên hệ: Một liên hệ có vai trò (Roles) Các vai trò nối với lớp bao chứa quan hệ Vai trò lớp chức mà đảm nhận nhìn từ góc nhìn lớp Tên vai trò viết kèm với mũi tên từ hướng lớp chủ nhân ra, thể lớp đóng vai trò lớp mà mũi tên đến 5/14 Lớp đối tượng UML Vai trò liên hệ Customer Account Trong ví dụ trên: khách hàng chủ nhân tài khoản tài khoản chiếm giữ khách hàng Đường thẳng thể liên hệ hai lớp Một số điểm cần ý đặt tên vai trò : - Tên vai trò bỏ trùng với tên lớp - Tên vai trò phải - Tên vai trò phải khác với thuộc tính lớp - Tên vai trò phải miêu tả chức mà lớp đảm nhận quan hệ, tức cần phải khái niệm lấy từ phạm vi vấn đề, giống tên lớp Liên hệ chiều (Uni-Directional Association): Ta sử dụng mối liên hệ chiều cách thêm mũi tên đầu đường thẳng nối kết Mũi tên nối kết sử dụng theo chiều mũi tên Liên hệ chiều Interest Account Biểu đồ phần 5.15 thể hai lớp có liên hệ, thông tin số lượng đối tượng quan hệ Ta biết khách hàng có tài khoản tài khoản chung cho khách hàng Trong UML, loại thông tin gọi số lượng phần tử (Cardinality) quan hệ 6/14 Lớp đối tượng UML Số lượng (Cardinality) liên hệ: Số lượng liên hệ Customer Account Biểu đồ nói rõ khách hàng mở nhiều tài khoản tài khoản thuộc ba khách hàng Số lượng ghi phía đầu đường thẳng thể liên hệ, sát vào lớp miền áp dụng Phạm vi số lượng phần tử liên hệ từ 0-tới-1 (0 1), 0-tới-nhiều (0 * hay ), một-tới-nhiều (1 ), hai (2), năm-tới-mười (5 11) Cũng miêu tả dãy số ví dụ (1,4,6, 12) Giá trị mặc định Một sơ đồ lớp tiêu biểu Hình ví dụ cho biểu đồ lớp tiêu biểu Biểu đồ giải thích phận dịch vụ tài khoản tiết kiệm nhà băng có nhiều tài khoản tiết kiệm tất tài khoản thuộc phận Một tài khoản tiết kiệm phần lại có nhiều tài liệu, tài liệu thuộc tài khoản tiết kiệm mà Một tài khoản tiết kiệm thuộc từ nhiều khách hàng Mỗi khách hàng có nhiều tài khoản 7/14 Lớp đối tượng UML Phát liên hệ: Thường có nhiều mối liên hệ đối tượng hệ thống Quyết định liên hệ cần phải thực thi công việc thụôc giai đoạn thiết kế Có thể tìm mối liên hệ qua việc nghiên cứu lời phát biểu vấn đề, yêu cầu Giống danh từ giúp tìm lớp, động từ giúp ta tìm mối quan hệ Một vài lời mách bảo tìm liên hệ : - Vị trí mặt vật lý thay thế, đại diện: Mỗi cụm động từ xác định hay biểu lộ vị trí biểu chắn cho liên hệ Ví dụ: địa điểm, ngồi trong, … - Sự bao chứa: Cụm động từ biểu lộ bao chứa, ví dụ : thành phần - Giao tiếp: Có nhiều cụm động từ biểu lộ giao tiếp, ví dụ truyền thông điệp, nói chuyện với, … - Quyền sở hữu: Ví dụ : thuộc về, của, … - Thoả mãn điều kiện: Những cụm từ : làm việc cho, chồng/vợ của, quản trị, … Xử lý liên hệ không cần thiết: Sau tìm mối liên hệ, bước phân biệc liên hệ cần thiết khỏi liên hệ không cần thiết Liên hệ không cần thiết bao gồm liên hệ bao chứa lớp ứng cử viên bị loại trừ liên hệ không liên quan đến hệ thống Có liên hệ tạo nhằm mục đích tăng hiệu Những liên hệ ví dụ tiêu tiểu chi tiết thực thi không liên quan tới giai đoạn Cần ý phân biệt hành động mối liên hệ Người ta thường có xu hướng miêu tả hành động liên hệ, liên hệ lẫn hành động dẫn xuất từ cụm từ mang tính động từ miêu tả yêu cầu Các hành động thể sai thành liên hệ cần phải loại bỏ Khi làm việc này, áp dụng nguyên tắc: liên hệ nối kết mang tính tĩnh đối tượng, hành động thao tác xảy lần Hành động nên coi Phương thức đối tượng quan hệ lớp Ví dụ với "Ban quản trị nhà băng đuổi việc nhân viên", động từ “đuổi việc” thể hành động Trong với “Một nhân viên làm việc cho hãng" động từ “làm việc" miêu tả liên hệ hai lớp nhân viên hãng 8/14 Lớp đối tượng UML Trong cố gắng loại bỏ liên hệ dư thừa, bạn thấy có số liên hệ dư thừa "lẻn vào" mô hình giai đoạn thiết kế Hình sau số loại liên hệ dư thừa cần đặc biệt trọng Loại bỏ liên hệ không cần thiết Nâng cấp mối liên hệ: Một mối liên hệ cần thiết nhận dạng, bước ngiên cứu kỹ mô hình nâng cấp mối liên hệ Động tác nâng cấp xem xét lại tên liên hệ, tên vai trò, đặt lại cho với chất quan hệ mà chúng thể Mỗi liên hệ cần phải suy xét kỹ phương diện số lượng thành phần tham gia (Cardinality) Sự hạn định (Qualification) cho liên hệ đóng vai trò quan trọng đây, bổ sung yếu tố hạn định giúp làm giảm số lượng Nếu cần thiết, bổ sung liên hệ thiếu Nghiên cứu kỹ thuộc tính, xem liệu số chúng có thuộc tính thật thể liên hệ Nếu có, chuyển chúng thành liên hệ Bổ sung thông tin điều kiện cần thiết xem xét mối liên hệ mô hình tổng thể để xác định dạng quan hệ chúng với Liên hệ yếu tố hạn định (Qualifier): Một liên hệ hạn định liên hệ hai lớp yếu tố hạn định (Qualifier) với Yếu tố hạn định thuộc tính hạn chế số lượng thành phần tham gia mối liên hệ Có thể hạn định mối liên hệ một-tới nhiều nhiều-tới-nhiều Yếu tố hạn định giúp phân biệt nhóm đối tượng đầu nhiều liên hệ Ví dụ thự mục có nhiều tập tin.Một tập tin thuộc thư mục mà Trong thư mục xác định, tên tập tin xác định tập tin mang tên Thư mục 9/14 Lớp đối tượng UML Tập tin hai lớp, tên tậptin đóng vai trò yếu tố hạn định Một thư mục tên tập tin xác định tập tin Yếu tố hạn định chuyển mối liên hệ một-tới-nhiều thành liên hệ một-tới-một Liên hệ hạn định Liên hệ VÀ (AND Association) Nhà băng đưa quy định: khách hàng muốn mở tài khoản ATM phải chủ nhân tài khoản đầu tư Trong trường hợp thế, mối liên hệ VÀ (AND) thể sau: Liên hệ VÀ (AND Association) Biểu đồ cho thấy khách hàng có nhiều tài khoản đầu tư có thời hạn tài khoản ATM Trong biểu đồ có mối liên hệ VÀ ngầm áp dụng nhóm tài khoản đầu tư tài khoản ATM mà khách hàng có Liên hệ HOẶC (OR Association) Ví dụ hãng bảo hiểm nọ, cá nhân công ty ký hợp đồng bảo hiểm, cá nhân công ty không phép có loại hợp đồng bảo hiểm Trong trường hợp thế, giải pháp sử dụng liên hệ HOẶC (OR Association) Một liên hệ HOẶC hạn chế nhóm hai hay nhiều liên hệ, xác định đối tượng lớp thời điểm tham gia vào nhiều mối liên hệ 10/14 Lớp đối tượng UML Một liên hệ OR mà biểu thị liên hệ hợp lệ thời điểm Liên hệ xếp (Ordered Association) Các mối nối kết (link) đối tượng có trật tự ngầm định Giá trị mặc định trật tự ngẫu nhiên Một liên hệ có trật tự rõ ràng hiểu liên hệ với trật tự xếp (sort order) nhóm nối kết, thể sau: Tài khoản tiết kiệm xếp theo khách hàng Nhãn {ordered} ghi gần lớp có đối tượng xếp Biểu đồ đọc tài khoản tiết kiệm xếp theo khách hàng Liên hệ tam nguyên (Ternary Association) Có thể có nhiều hai lớp nối kết với liên hệ tam nguyên 11/14 Lớp đối tượng UML Liên hệ Tam nguyên Biểu đồ đọc sau: Một khách hàng quan hệ với phận đầu tư phận đầu tư có nhiều khách hàng Một giấy chứng nhận tài khoản đầu tư xuất qua quan hệ khách hàng phận đầu tư Lớp liên hệ (Association Class) Một lớp đính kèm theo liên hệ, trường hợp gọi lớp liên hệ Một lớp liên hệ không nối tới lớp mối liên hệ, mà tới thân mối liên hệ Cũng giống lớp bình thường, lớp liên hệ có thuộc tính, Phương thức quan hệ khác Lớp liên hệ sử dụng để bổ sung thêm thông tin cho nối kết (link), ví dụ thời điểm nối kết thiết lập Mỗi nối kết liên hệ gắn liền với đối tượng lớp liên hệ Ví dụ sau miêu tả hệ thống thang máy Bộ phận điều khiển huy bốn thang máy Cho nối kết nhóm thang máy phận điều khiển có hàng xếp (queue) Mỗi hàng lưu trữ yều cầu kể từ phía phận điều khiển lẫn từ phía thang máy (những nút bấm bên thang) Khi phận điều khiển chọn thang máy để thực lời yêu cầu đến từ hành khách đứng thang máy (một hành khách hành lang), đọc hàng chọn thang máy có hàng yêu cầu ngắn 12/14 Lớp đối tượng UML Lớp liên hệ (Association class) Liên hệ đệ quy (Recursive Association) Có thể liên kết lớp với thân mối liên hệ Mối liên hệ thể liên quan ngữ nghĩa, đối tượng nối kết thuộc chung lớp Một liên hệ lớp với thân gọi liên hệ đệ quy, tảng cho nhiều mô hình phức tạp, sử dụng ví dụ để miêu tả cấu trúc sản phẩm Hình dưới5.25 ví dụ liên hệ đệ quy hình 5.26 biểu đồ đối tượng cho biểu đồ lớp hình Một mạng gồm nhiều nút nối với 13/14 Lớp đối tượng UML Một biểu đồ đối tượng hình 5.25, với tên đối tượng 14/14 [...]... nó được gọi là một liên hệ đệ quy, và là nền tảng cho rất nhiều mô hình phức tạp, sử dụng ví dụ để miêu tả các cấu trúc sản phẩm Hình dưới5.25 chỉ ra một ví dụ của liên hệ đệ quy và hình 5.26 là một biểu đồ đối tượng cho biểu đồ lớp trong hình Một mạng gồm nhiều nút nối với nhau 13/14 Lớp và đối tượng trong UML Một biểu đồ đối tượng của hình 5.25, với tên của các đối tượng 14/14 ... lang), nó sẽ đọc các hàng và chọn thang máy nào có hàng yêu cầu ngắn nhất 12/14 Lớp và đối tượng trong UML Lớp liên hệ (Association class) Liên hệ đệ quy (Recursive Association) Có thể liên kết một lớp với bản thân nó trong một mối liên hệ Mối liên hệ ở đây vẫn thể hiện một sự liên quan ngữ nghĩa, nhưng các đối tượng được nối kết đều thuộc chung một lớp Một liên hệ của một lớp với chính bản thân nó... {ordered} được ghi gần lớp có đối tượng được sắp xếp Biểu đồ trên được đọc là các tài khoản tiết kiệm được sắp xếp theo khách hàng Liên hệ tam nguyên (Ternary Association) Có thể có nhiều hơn hai lớp nối kết với nhau trong một liên hệ tam nguyên 11/14 Lớp và đối tượng trong UML Liên hệ Tam nguyên Biểu đồ trên được đọc như sau: Một khách hàng có thể quan hệ với bộ phận đầu tư và một bộ phận đầu tư có... quan hệ giữa khách hàng và bộ phận đầu tư Lớp liên hệ (Association Class) Một lớp có thể được đính kèm theo một liên hệ, trong trường hợp này nó sẽ được gọi là một lớp liên hệ Một lớp liên hệ không được nối tới bất kỳ một lớp nào của mối liên hệ, mà tới chính bản thân mối liên hệ Cũng giống như một lớp bình thường, lớp liên hệ có thể có thuộc tính, Phương thức và các quan hệ khác Lớp liên hệ được sử dụng.. .Lớp và đối tượng trong UML Một liên hệ OR mà biểu thị chỉ một liên hệ là hợp lệ tại mỗi thời điểm Liên hệ được sắp xếp (Ordered Association) Các mối nối kết (link) giữa các đối tượng có một trật tự ngầm định Giá trị mặc định của trật tự này là ngẫu nhiên Một liên hệ có trật tự rõ ràng có thể được hiểu là một liên hệ với trật tự sắp xếp (sort order) trong nhóm các nối kết, nó... được thiết lập Mỗi nối kết của liên hệ gắn liền với một đối tượng của lớp liên hệ Ví dụ sau miêu tả một hệ thống thang máy Bộ phận điều khiển chỉ huy bốn thang máy Cho mỗi nối kết giữa nhóm thang máy và bộ phận điều khiển có một hàng xếp (queue) Mỗi hàng lưu trữ những yều cầu kể cả từ phía bộ phận điều khiển lẫn từ phía thang máy (những nút bấm bên trong thang) Khi bộ phận điều khiển chọn một thang máy ... 2/14 Lớp đối tượng UML Một lớp gồm thuộc tính với gía trị thuộc tính phạm vi lớp Kí hiệu đối tượng: Đối tượng thực thể lớp nên kí hiệu dùng cho đối tượng kí hiệu dùng cho lớp Ký hiệu đối tượng. .. tượng Hình đọc sau: CAH đối tượng lớp AccountHolder Các thuộc tính gán giá trị, giá trị lớp thực thể hóa Chú ý kí hiệu đối tượng không chứa phần phương thức 3/14 Lớp đối tượng UML Các dấu hiệu hành... - Nâng cấp (Refinement) Một liên hệ nối kết lớp, có nghĩa nối kết đối tượng lớp Trong UML, liên hệ định nghĩa mối quan hệ miêu tả 4/14 Lớp đối tượng UML tập hợp nối kết (links), nối kết định nghĩa