Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 37 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
37
Dung lượng
413,21 KB
Nội dung
Phân tích hướng đối tượng UML Giáo viên: Đỗ Thị Mai Hường Bộ môn : Các hệ thống thông tin Khoa : CNTT - Học viện kỹ thuật quân Please purchase a personal license Bài Biểu đồ lớp Lớp gì? Đối tượng tồn giới thực Lớp mơ tả thuộc tính, hành vi, ngữ nghĩa nhóm đối tượng Lớp xác định thông tin lưu trữ đối tượng hành vi đối tượng có Thí dụ lớp: Lớp Employee Đối tượng lớp có attribute: Name, Address, Salary Các operation: Thuê mướn, Đuổi việc Đề bạt nhân viên? Ký pháp đồ họa lớp biểu đồ Tên lớp Thuộc tính Thao tác - Private + Public Tìm kiếm lớp nào? Việc tìm kiếm đầy đủ lớp khó khăn Khuyến cáo Tìm lớp từ danh từ luồng kiện Chú ý danh từ tác nhân, lớp (, thuộc tính biểu thức khơng phải loại trên) Tìm lớp từ biểu đồ tương tác Những chung đối tượng tạo thành lớp Tìm lớp nơi khác Các báo cáo tìm pha phân tích u cầu hình thành lớp giao diện Các thiết bị phần cứng biểu diễn lớp khác Tìm kiếm lớp nào? Cùng với chuyên gia lĩnh vực vấn đề trả lời câu hỏi sau để tìm lớp Có thơng tin cần lưu trữ hay phân tích? Nếu có, lớp Có hệ thống ngồi khơng? Nếu có xem lớp chứa hệ thống ta hay hệ thống 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 chứa ứng viên lớp Hệ thống cần quản lý thiết bị ngoại vi nào? Mọi thiết bị kỹ thuật nối với hệ thống ứng viên lớp Tác nhân đóng vai trị tác nghiệp nào? Các nhiệm vụ lớp; thí dụ người sử dụng, thao tác viên hệ thống, khách hàng Lập biểu đồ lớp Biểu đồ lớp cho biết hình ảnh tĩnh phận hệ thống Biểu đồ lớp bao gồm lớp quan hệ chúng Thông thường hệ thống có vài biểu đồ lớp Xây dựng vài biểu đồ lớp để mô tả đầy đủ hệ thống Biểu đồ lớp giúp người phát triển quan sát, lập kế hoạch cấu trúc hệ thống trước viết mã trình Rose Biểu đồ lớp hình thành Logical View Biểu đồ lớp thực thể Các nhóm lớp Ba nhóm lớp sở sử dụng pha phân tích Boundary: lớp biên (giao diện) Dành cho lớp nằm biên hệ thống với giới cịn lại Chúng form, report, giao diện với phần cứng máy in, scanner Khảo sát biểu đồ UC để tìm kiếm lớp biên Use Case Actor Form Actor2 Use Case Boundary class Actor1 Boundary class Các nhóm lớp Ba nhóm lớp sở sử dụng pha phân tích Boundary Entity: lớp thực thể Lớp thực thể lớp lưu trữ thông tin ghi vào nhớ ngồi Tìm chúng luồng kiện biểu đồ tương tác Thông thường phải tạo bảng CSDL cho lớp loại Mỗi thuộc tính lớp thực thể trường bảng CSDL Control: lớp điều khiển Có trách nhiệm điều phối hoạt động lớp khác Thông thường UC có lớp điều khiển Nó khơng thực chức nghiệp vụ Các lớp điều khiển khác: điều khiển kiện liên quan đến an ninh liên quan đến giao dịch CSDL BoundaryClass EntityClass ControlClass Đặc tả lớp biểu đồ Đặc tả lớp bao gồm Tên lớp Mỗi lớp mơ hình có tên Thông thường sử dụng danh từ đơn, không nên có dấu cách Thí dụ: Flight, Airplane Phạm vi (Visibility) Xác định khả nhìn thấy lớp từ ngồi gói Các loại Public: lớp hệ thống nhìn thấy Private hay Protected: nhìn thấy từ bên lớp hay từ lớp friend Package hay Implementation: lớp gói nhìn thấy Tính nhiều (Multiplicity) 10 Quan hệ kết hợp Association kết nối ngữ nghĩa lớp Kết hợp cho lớp biết thuộc tính thao tác public lớp khác Quan hệ kết hợp hai chiều, chiều Quan hệ kết hợp phản thân Person House class Person { public: Person(); ~Person(); private: House *the_House; }; Person House class House { public: House(); ~House(); private: Person *the_Person; }; Person class Person { public: Person(); ~Person(); private: House *the_House; }; class House { public: House(); ~House(); private: }; 23 Quan hệ thành phần Aggregation quan hệ tổng thể phận (WholeParts) Trong quan hệ này, lớp biểu diễn lớn lớp biểu diễn nhỏ Biểu diễn quan hệ has-a Một đối tượng lớp tổng thể có nhiều đối tượng lớp thành phần Có loại quan hệ thành phần: Tụ hợp Gộp 24 Quan hệ thành phần Tụ hợp: Tổng thể phận hủy bỏ vào thời điểm khác Tên khác: quan hệ tụ hợp tham chiếu (by reference) Ví dụ: Một lớp học phần mở (trong học tín chỉ) có nhiều sinh viên theo học, lớp học phần mở class tổng thể, sinh viên class thành phần Nếu khơng có lớp học phần mở sinh viên tồn tại, hủy lớp học phần mở sinh viên khơng bị hủy Quan hệ thành phần Ví dụ: Door Car 1 Tire #include "car.h" class Door { private: Car *the_car; }; #include "door.h" class Car { private: Door *the_Door; }; Engine Quan hệ thành phần Gộp: dạng đặc biệt (mạnh hơn) quan hệ tụ hợp Tổng thể thành phần hình thành hay hủy bỏ vào thời điểm Tên khác: quan hệ tụ hợp giá trị (by value) Ví dụ: Một cơng ty (Company) có nhiều phịng ban( Department) Như cơng ty bị hủy phịng ban (Department) khơng cịn tồn tại, Một phịng học( Class-room) có nhiều bàn ghế (table), thực tế tất phịng học có bàn ghế riêng cho phịng bàn phịng có mã số phòng kèm với mã số bàn, phịng học bị hủy bàn ghể phịng bị hủy theo 27 Quan hệ thành phần Ví dụ: Frame Window #include "Window.h" class Frame { private: } n #include "Frame.h" class Window { private: Frame the_Frame; } 28 Quan hệ tổng quát hóa Generalization quan hệ kế thừa hai phần tử mơ lớp, tác nhân, Use case gói Cho phép lớp kế thừa thuộc tính, thao tác public protected lớp khác Employee Name Address SSN Hire() Fire() HourlyEmp Rate SalariedEmp #include “Employee.h” class HourlyEmp: public Employee { private: float Rate; }; Salary 29 Quan hệ phụ thuộc Dependency quan hệ lớp tham chiếu lớp khác Phụ thuộc mối quan hệ hai lớp đối tượng: lớp đối tượng A có tính độc lập lớp đối tượng B phụ thuộc vào A; thay đổi A ảnh hưởng đến lớp phụ thuộc B Khi thay đổi đặc tả lớp tham chiếu lớp sử dụng bị ảnh hưởng House Person 30 Quan hệ phụ thuộc gói Có thể vẽ quan hệ phụ thuộc gói lớp Phụ thuộc gói từ gói A đến gói B có nghĩa vài gói lớp A có quan hệ chiều với lớp gói B Package A Package B Tránh phụ thuộc vịng gói Package A Package B 31 Đặc tả quan hệ lớp Đặc tả chi tiết quan hệ bao gồm Multiplicity Tên quan hệ Tên nhiệm vụ Phần tử liên kết 32 Đặc tả quan hệ lớp Đặc tả chi tiết quan hệ bao gồm Multiplicity Cho biết thực lớp liên kết với thực lớp khác vào thời điểm Course Student 10 20 Tên quan hệ Tên quan hệ động từ mô tả lại tồn quan hệ Company Employs Person 33 Đặc tả quan hệ lớp Đặc tả chi tiết quan hệ bao gồm Tên nhiệm vụ Sử dụng tên nhiệm vụ thay cho tên quan hệ quan hệ kết hợp hay tụ hợp để quan hệ tồn Company +Employer +Employee Person 34 Đặc tả quan hệ lớp Đặc tả chi tiết quan hệ bao gồm Phạm vi kết hợp (Qualifier) Phần tử liên kết Còn gọi lớp kết hợp, nơi lưu trữ thuộc tính liên quan đến kết hợp Student Course 10 20 Grade 35 Tóm tắt Bài xem xét vấn đề sau Tìm kiếm lớp Tìm kiếm thuộc tính, thao tác lớp Tìm kiếm loại quan hệ lớp Biểu diễn biểu đồ lớp gói Biểu diễn đồ họa thuộc tính thuộc tính, thao tác lớp Biểu diễn thuộc tính cho quan hệ lớp 36 37