1. Trang chủ
  2. » Luận Văn - Báo Cáo

MÔ HÌNH HÓA CẤU TRÚC OOAD (CH5)

20 1 0

Đ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

Nội dung

Kinh Tế - Quản Lý - Công nghệ - Môi trường - Quản trị kinh doanh OOAD CH5 - 1 HIENLTH Chủ đề 5: Mô hình hóa cấu trúc OOAD CH5 - 2 HIENLTH OOAD CH5 - 3 HIENLTH Mô hình hóa nghiệp vụ Mô hình hóa nghiệp vụ (Business Modeling) Mô hình hóa cấu trúc (Structural Modeling) Mô hình hóa hành vi (Behavioral Modeling) - Use Case Diagram - Activity Diagram - Class Diagram - Object Diagram - CRC Card - Sequency Diagram - Communication Diagram - State Diagram OOAD CH5 - 4 HIENLTH Mô tả cấu trúc của dữ liệu được sử dụng trong hệ thống. Rút ngắn khoảng cách giữa thế giới thực và thế giới phần mềm Xây dựng thuật ngữ chung cho người sử dụng và người phân tích hệ thống Biểu diễn sự vật, ý tưởng và khái niệm quan trọng trong hệ thống Các mô hình cấu trúc: CRC cards, class diagrams, object diagrams. Mục đích của mô hình cấu trúc: OOAD CH5 - 5 HIENLTH CRC (Class- Responsibility- Collaboration) card OOAD CH5 - 6 HIENLTH Responsibilities Collaborations Responsibilities Collaborations là những “high-level description” về các lớp đối tượng Responsibilities gồm có 2 phần: Knowing: tương tự như thuộc tính của 1 đối tượng Doing: tương tự như hành vi của 1 đối tượng Collaborations: mô tả các mối quan hệ với các lớp đối tượng khác OOAD CH5 - 7 HIENLTH Cấu trúc của CRC Card Gồm có các thành phần chính: Class Name: tên lớp đối tượng ID: mã số của lớp đối tượng (dùng để quản lý) Description: mô tả ngắn gọn về lớp đối tượng (Doing) Responsibilities: những công việc mà lớp đối tượng đảm nhận Collaborators: các lớp đối tượng có liên quan Attributes: các thuộc tính của lớp đối tượng Relationships: mô tả cụ thể mối quan hệ với các lớp đối tượng khác Generalization Aggregation (Composition) Other Association OOAD CH5 - 8 HIENLTH Lớp (class) là gì? Đố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ó Thí dụ về lớp: Lớp NhanVien Đối tượng của lớp có các attribute: HoTen, DiaChi, Luong Các hành vi: Thuê mướn, Đuổi việc và Đề bạt nhân viên? OOAD CH5 - 9 HIENLTH Sơ đồ Lớp Class Diagram Là biểu đồ quan trọng nhất. Mô tả các đối tượng và mối quan hệ của chúng trong hệ thống. Mô tả các thuộc tính và các hành vi (Behavior) của đối tượng. Có biểu đồ lớp mức phân tích và mức cài đặt. Cú pháp đồ họa của lớp trong biểu đồ Tên lớp Thuộc tính Thao tác + : public - : private : protected OOAD CH5 - 10 HIENLTH Các thành phần của sơ đồ lớp Lớp đối tượng: Đại diện cho 1 dạng người hoặc đồ vật mà hệ thống cần lưu trữ thông tin Là hình chữ nhật chia thành 3 phần: Phần đầu: ghi tên lớp đối tượng Phần giữa: ghi tên các thuộc tính Phần cuối: ghi tên các phương thức Đặt d...

Chủ đề 5: Mơ hình hóa cấu trúc OOAD CH5 - HIENLTH OOAD CH5 - HIENLTH Mơ hình hóa nghiệp vụ Mơ hình hóa nghiệp vụ - Use Case Diagram (Business Modeling) - Activity Diagram Mơ hình hóa cấu trúc Mơ hình hóa hành vi (Structural Modeling) (Behavioral Modeling) - Class Diagram - Sequency Diagram - Communication Diagram - Object Diagram - State Diagram - CRC Card OOAD CH5 - HIENLTH Mục đích mơ hình cấu trúc: • Mơ tả cấu trúc liệu sử dụng hệ thống • Rút ngắn khoảng cách giới thực giới phần mềm • Xây dựng thuật ngữ chung cho người sử dụng người phân tích hệ thống • Biểu diễn vật, ý tưởng khái niệm quan trọng hệ thống Các mơ hình cấu trúc: • CRC cards, class diagrams, object diagrams OOAD CH5 - HIENLTH CRC (Class- Responsibility- Collaboration) card OOAD CH5 - HIENLTH Responsibilities & Collaborations • Responsibilities & Collaborations “high-level description” lớp đối tượng • Responsibilities gồm có phần: • Knowing: tương tự thuộc tính đối tượng • Doing: tương tự hành vi đối tượng • Collaborations: mơ tả mối quan hệ với lớp đối tượng khác OOAD CH5 - HIENLTH Cấu trúc CRC Card • Gồm có thành phần chính: • Class Name: tên lớp đối tượng • ID: mã số lớp đối tượng (dùng để quản lý) • Description: mơ tả ngắn gọn lớp đối tượng • (Doing) Responsibilities: cơng việc mà lớp đối tượng đảm nhận • Collaborators: lớp đối tượng có liên quan • Attributes: thuộc tính lớp đối tượng • Relationships: mơ tả cụ thể mối quan hệ với lớp đối tượng khác • Generalization • Aggregation (Composition) • Other Association OOAD CH5 - HIENLTH Lớp (class) 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 NhanVien • Đối tượng lớp có attribute: HoTen, DiaChi, Luong • Các hành vi: Thuê mướn, Đuổi việc Đề bạt nhân viên? OOAD CH5 - HIENLTH Sơ đồ Lớp Class Diagram • Là biểu đồ quan trọng • Mơ tả đối tượng mối quan hệ chúng hệ thống • Mơ tả thuộc tính hành vi (Behavior) đối tượng • Có biểu đồ lớp mức phân tích mức cài đặt • Cú pháp đồ họa lớp biểu đồ + : public - : private • Tên lớp # : protected • Thuộc tính • Thao tác OOAD CH5 - HIENLTH Các thành phần sơ đồ lớp • Lớp đối tượng: • Đại diện cho dạng người đồ vật mà hệ thống cần lưu trữ thơng tin • Là hình chữ nhật chia thành phần: • Phần đầu: ghi tên lớp đối tượng • Phần giữa: ghi tên thuộc tính • Phần cuối: ghi tên phương thức • Đặt dấu +/-/# tương ứng cho tầm vực truy xuất là: public, private, protected • Mối quan hệ kết hợp (Association relationship) • Mối quan hệ kế thừa (Generalization relationship) • Mối quan hệ Aggregation • Mối quan hệ Composition OOAD CH5 - 10 HIENLTH Nhắc lại hướng đối tượng Một số ký hiệu Tên class (Các) thuộc tính Tên class (Các) phương thức OOAD CH5 - 11 HIENLTH Class in UML • Class Name: Professor Class Name Attributes • Literal string - startDate = 01/01/08 • Noun # professionals = null Operations - ComposeCourse() # ReviewCourse() + GetStartDate() • Attribute format • Visibility Attribute_Name : Type = Initial_value • Operation format • Visibility Op_Name(ParamsName: Type): return_Value/Type OOAD CH5 - 12 HIENLTH Public/Protected/Private + Thuộc tính/Phương thức public # Thuộc tính/Phương thức protected - Thuộc tính/Phương thức private Class Phương thức Private - privateAttribute # protectedAttribute Phương thức +publicOp() Protected # protectedOp() - privateOp() Phương thức Public OOAD CH5 - 13 HIENLTH Tầm vực • Xác định số lượng thể thuộc tính / phương thức Class - classifierScopeAttribute - instanceScopeAttribute classifierScopeOperation() instanceScopeOperation() OOAD CH5 - 14 HIENLTH Ví dụ CStudent - name - address - studentID - nextAvailID : int + addSchedule(theSchedule : Schedule, forSemester : Semester) + getSchedule(forSemester : Semester) : Schedule + hasPrerequisites(forCourseOffering : CourseOffering) : boolean # passed(theCourseOffering : CourseOffering) : boolean + getNextAvailID() : int OOAD CH5 - 15 HIENLTH Nhận xét Bình thường: Class bình thường In nghiêng: Class ảo Tên class Gạch dưới: Object (không phải class) (Các) thuộc tính (Các) phương thức Bình thường: Thuộc tính bình thường In nghiêng: không sử dụng OOAD Gạch dưới: Thuộc tính static Bình thường: Phương thức bình thường In nghiêng: Phương thức virtual Gạch dưới: Phương thức static CH5 - 16 HIENLTH Hai dạng lớp: phân tích thiết kế Bỏ qua chi tiết Phải đầy đủ & chi tiết thành phần không cần thiết CH5 - 17 HIENLTH OOAD Inner, Abstract class Italic Window SystemMenu TitleBar Person + Talk(): void + GetAge(): Int Inner Class Abstract Class OOAD CH5 - 18 HIENLTH Các giai đoạn mơ hình hóa đối tượng biểu đồ lớp • Tìm kiếm lớp • Xác định liên kết lớp • Xác định thuộc tính • Tổ chức đơn giản hóa lớp cách sử dụng quan hệ thừa kế • Xóa liên kết thừa • Kiểm tra xem biểu đồ bao gồm tất yêu cầu tài liệu hay chưa? • Lặp lại làm mịn mơ hình • Nhóm lớp thành modules (gói) OOAD CH5 - 19 HIENLTH Tips • Khơng cố gắng sử dụng tất ký hiệu khác • Khơng vẽ mơ hình cho thứ, tập trung vào thông tin quan trọng OOAD CH5 - 20 HIENLTH

Ngày đăng: 05/03/2024, 13:12

TÀI LIỆU CÙNG NGƯỜI DÙNG

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

TÀI LIỆU LIÊN QUAN

w