Slied giáo trình phân tích thiết kế hướng đối tượng DH UML6

40 245 0
Slied giáo trình phân tích thiết kế hướng đối tượng  DH UML6

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

VIỆN KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM VIỆN CÔNG NGHỆ THÔNG TIN PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG PGS.TS Đặng Văn Đức Email: dvduc@ioit.ac.vn Nội dung Tiến trình phát triển phần mềm theo hướng đối tượng Giới thiệu Ngôn ngữ mô hình hóa thống UML Mô hình hóa nghiệp vụ Mô hình hóa trường hợp sử dụng Mô hình hóa tương tác đối tượng  Biểu đồ lớp gói Biểu đồ chuyển trạng thái biểu đồ hoạt động Biểu đồ kiến trúc vật lý phát sinh mã trình Mô hình hóa liệu 10 Bài học thực nghiệm Bài - 2/40 Bài Biểu đồ lớp gói 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   Thí dụ lớp: Lớp Employee    Lớp xác định thông tin lưu trữ đối tượng hành vi đối tượngĐố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 Class - Attribute +Operation( ) Bài - 4/40 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 loại 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 yê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 Bài - 5/40 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 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 Bài - 6/40 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 Bài - 7/40 Stereotype lớp    Trong biểu đồ lớp, stereotype chế để phân nhóm lớp UML có sẵn nhiều stereotype để sử dụng Ba stereotype lớp sở sử dụng pha phân tích  Boundary  Dành cho lớp nằm biên hệ thống với giới 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 Form   Entity Control Use Case Actor Actor2 Use Case Boundary class Actor1 Boundary class Bài - 8/40 Stereotype lớp  Ba stereotype lớp sở sử dụng pha phân tích   Boundary Entity  Lớp thực thể lớp lưu trữ thông tin ghi vào nhớ  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    BoundaryClass Mỗi thuộc tính lớp thực thể trường bảng CSDL Control  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 EntityClass ControlClass Người sử dụng tự tạo stereotype Bài - 9/40 Các loại lớp biểu đồ   Phân loại lớp theo khái niệm ngôn ngữ lập trình cụ thể: C++, Java, Web, Visual Basic, CORBA, Oracle Rose hỗ trợ nhiều stereotype cho nhóm lớp, thí dụ         Lớp thông thường Lớp tham số (Parameterized class) Lớp thực (Instantiated class) Lớp tiện ích (Class utility) Lớp tiện ích tham số (Parameterized class utility) Lớp tiện ích thực (Instantiated class utility) Metaclass Giao diện (Interfaces) Bài - 10 Các loại thao tác  Thao tác cài đặt (Implementor)    Thao tác quản lý (Manager)   Quản lý việc lập hủy bỏ đối tượng  Thí dụ: cấu tử, hủy tử lớp Thao tác xâm nhập (Access)   Cài đặt vài chức nghiệp vụ Hầu thông điệp biểu đồ tương tác ánh xạ vào thao tác cài đặt Thao tác xâm nhập vào thuộc tính private protected  Thí dụ: thao tác Get Set cho thuộc tính lớp Thao tác trợ giúp (Helper)   Là thao tác private protected lớp Các thông điệp phản thân biểu đồ tương tác ánh xạ đến thao tác Bài - 26 Quan hệ lớp  Quan hệ kết nối ngữ nghĩa lớp   Quan hệ cho lớp biết thuộc tính, thao tác quan hệ lớp khác Các loại quan hệ      Kết hợp (Associations) Phụ thuộc (Dependencies) Tụ hợp (Aggregations) Hiện thực quan hệ (Realizes Relationships) Khái quát hóa (Generalizations) Bài - 27 Tìm kiếm quan hệ  Khảo sát biểu đồ trình tự biểu đồ cộng tác   Nếu lớp A gửi thông điệp đến lớp B chúng có quan hệ  Thông thường quan hệ kết hợp hay phụ thuộc Khảo sát lớp để tìm quan hệ   Quan hệ tổng thể - thành phần  Bất kỳ lớp hình thành từ lớp khác chúng có quan hệ tập hợp Quan hệ khái quát hóa  Nếu nhiều lớp kế thừa từ lớp thứ ba chúng với lớp thứ ba có quan hệ khái quát hóa Bài - 28 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: }; Bài - 29 Quan hệ phụ thuộc  Dependency quan hệ lớp tham chiếu lớp khác    Khi thay đổi đặc tả lớp tham chiếu lớp sử dụng bị ảnh hưởng Rose không bổ sung thuộc tính cho hai lớp có quan hệ phụ thuộc Các lệnh ngôn ngữ phát sinh để hỗ trợ quan hệ phụ thuộc  Thí dụ: #include House Person Bài - 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 Bài - 31 Phụ thuộc tụ hợp Door  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 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) Car 11 Engine Tire #include "car.h" class Door { private: Car *the_car; }; #include "door.h" class Car { private: Door *the_Door; }; Bài - 32 Quan hệ gộp  Composition 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) Frame Window #include "Window.h" class Frame { private: } n #include "Frame.h" class Window { private: Frame the_Frame; } Bài - 33 Quan hệ khái 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 Salary #include “Employee.h” class HourlyEmp: public Employee { private: float Rate; }; Bài - 34 Đặ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ụ Export control Quan hệ tĩnh Quan hệ Friend Phạm vi kết hợp (Qualifier) Phần tử liên kết Bài - 35 Đặ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  Tên quan hệ  Tên quan hệ động từ mô tả lại tồn quan hệ Company  10 20 Employs Person Bài - 36 Đặ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 Export control  Trong quan hệ kết hợp, thuộc tính phát sinh mã trình  Phạm vi gán cho thuộc tính bao gồm: Public, Private, Protected, Package hay Implementation Bài - 37 Đặc tả quan hệ lớp  Đặc tả chi tiết quan hệ bao gồm   Quan hệ tĩnh  Rose phát sinh thuộc tính cho quan hệ kết hợp quan hệ tụ hợp  Có thể gán tính static cho thuộc tính để chia sẻ cho thực lớp Company +Employer   +$Employee Person Quan hệ Friend  Quan hệ lớp Client xâm nhập thuộc tính thao tác public lớp Supplier  Có thể gán Friend cho kết hợp, tụ hợp, phụ thuộc hay khái quát hóa  Mã nguồn lớp Supplier bao gồm logíc để lớp Client có phạm vi Friend Bài - 38 Đặc tả quan hệ lớp  Đặc tả chi tiết quan hệ bao gồm   Phạm vi kết hợp (Qualifier)  Sử dụng qualifier để giảm phạm vi kết hợp Company PersonID : Integer Person  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 Bài - 39 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 Bài - 40 ...Nội dung Tiến trình phát triển phần mềm theo hướng đối tượng Giới thiệu Ngôn ngữ mô hình hóa thống UML Mô hình hóa nghiệp vụ Mô hình hóa trường hợp sử dụng Mô hình hóa tương tác đối tượng  Biểu... nhóm đối tượng   Thí dụ lớp: Lớp Employee    Lớp xác định thông tin lưu trữ đối tượng hành vi đối tượng có Đối tượng lớp có attribute: Name, Address, Salary Các operation: Thuê mướn, Đuổi việc... lý phát sinh mã trình Mô hình hóa liệu 10 Bài học thực nghiệm Bài - 2/40 Bài Biểu đồ lớp gói 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   Thí

Ngày đăng: 22/08/2017, 21:07

Từ khóa liên quan

Mục lục

  • PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG

  • Nội dung

  • Slide 3

  • Lớp là gì?

  • Tìm kiếm lớp như thế nào?

  • Slide 6

  • Lập biểu đồ lớp

  • Stereotype của lớp

  • Slide 9

  • Các loại lớp trong biểu đồ

  • Slide 11

  • Slide 12

  • Slide 13

  • Đặc tả lớp trong biểu đồ

  • Slide 15

  • Slide 16

  • Slide 17

  • Slide 18

  • Gói các lớp

  • Thuộc tính lớp

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan