1. Trang chủ
  2. » Công Nghệ Thông Tin

02 concepts of OO in UML 97

20 148 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

Concepts of Object Orientation and UML Khái niệm Hướng đối tượng UML Mai Thúy Nga, ngamt@thanglong.edu.vn Đại học Thăng Long Nội dung môn học Giới thiệu PTTK hướng đối tượng với UML Khái niệm Hướng đối tượng UML Đặc tả u cầu với mơ hình Use Case II Tổng quan Phân tích Thiết kế Phân tích Use Case II Phân tích Use Case I Ơn tập Mơ hình hóa Thiết kế Đặc tả u cầu với mơ hình Use Case I Object Oriented Analysis & Design with UML OOAD using UML 2-1 Concepts of Object Orientation and UML Nội dung trình bày • Khái niệm hướng đối tượng • Các nguyên lý hướng đối tượng • Một số khái niệm ký hiệu UML Object Oriented Analysis & Design with UML Cơng nghệ hướng đối tượng • Là tập hợp nguyên lý việc xây dựng phần mềm cách sử dụng ngơn ngữ lập trình, sở liệu công cụ hỗ trợ công nghệ • (Object Technology: A Manager’s Guide, Taylor, 1997) • Công nghệ hướng đối tượng không đơn ngôn ngữ lập trình hướng đối tượng (OOP) • Cần phải có quy trình, ngơn ngữ mơ hình hóa (UML), cơng cụ phương pháp hỗ trợ q trình mơ hình hóa, xây dựng, kiểm thử triển khai hệ thống Object Oriented Analysis & Design with UML OOAD using UML 2-2 Concepts of Object Orientation and UML Ưu điểm Cơng nghệ hướng đối tượng • Cung cấp nhìn thống • Ngơn ngữ chung người sử dụng, người phân tích, thiết kế cài đặt • Kiến trúc hố tốn tăng tính sử dụng lại • Mơ hình hóa tốn gần với giới thực • Mơ tả thực thể • Phân chia theo quan hệ tự nhiên chúng • Tính ổn định cao • Các thay đổi ảnh hưởng vài thành phần hệ thống • Dễ phát triển để phù hợp với yêu cầu Object Oriented Analysis & Design with UML Mơ hình (Model) • Là cách đơn giản hố có thực tế Object Oriented Analysis & Design with UML OOAD using UML 2-3 Concepts of Object Orientation and UML Mục đích mơ hình • Giúp hiểu hệ thống phát triển • Hiểu rõ hệ thống phức tạp khó, mơ hình hóa giúp đơn giản hóa tốn hiểu dễ dàng • Mục đích: • Cung cấp nhìn HT mà mong muốn • Chỉ cấu trúc hành vi HT • Đưa cho khuân mẫu (Template) để hướng dẫn việc phát triển HT • Ghi nhận định, yêu cầu mà đưa Object Oriented Analysis & Design with UML Khái niệm đối tượng (Object) • Đối tượng thực thể mơ tả rõ ràng vai trò, phạm vi định danh Phương thức (Operations) operations • Một đối tượng bao gồm trạng thái hành vi: attributes: • Trạng thái biểu diễn thuộc tính mối quan hệ chúng • Hành vi biểu diễn thao tác, phương thức Đối tượng Thuộc tính (Attributes) Object Oriented Analysis & Design with UML OOAD using UML 2-4 Concepts of Object Orientation and UML Trạng thái đối tượng • Trạng thái đối tượng điều kiện mà đối tượng tồn • Trạng thái thường thay đổi theo thời gian Tên: Biết tuốt Mã: 567138 Ngày tuyển dụng: 25/07/1991 Trạng thái: Cơ hữu Mơn dạy: UML Số lớp dạy đồng thời: Name: Biết Tuốt Employee ID: 567138 HireDate: 25/07/1901 Status: Cơ hữu Discipline: UML MaxLoad: Giáo viên “Biết tuốt” Object Oriented Analysis & Design with UML Hành vi đối tượng • Hành vi đối tượng hoạt động tương tác • Các hành vi đối tượng mơ hình hố tập thơng điệp mà kích hoạt (hàm) Các hành động giáo viên “Biết tuốt” Nộp điểm Xác nhận lớp dạy Nghỉ phép Xác nhận số lớp dạy đồng thời TakeSabbatical() Object Oriented Analysis & Design with UML OOAD using UML 2-5 Concepts of Object Orientation and UML Định danh đối tượng • Mỗi đối tượng có định danh trạng thái giống hệt với trạng thái đối tượng khác Giáo viên “Biết tuốt” dạy môn UML Giáo viên “Biết tuốt” dạy môn UML Object Oriented Analysis & Design with UML Biểu diễn đối tượng UML • Mỗi đối tượng biểu diễn UML ký hiệu hình chữ nhật với định danh gạch • Thực tế, ký hiệu thay đổi tùy theo vai trò đối tượng Biet_tuot : Professor Đối tượng có tên : Professor Giáo viên “Biết tuốt” Đối tượng chưa có tên Object Oriented Analysis & Design with UML OOAD using UML 2-6 Concepts of Object Orientation and UML Nội dung trình bày • Khái niệm hướng đối tượng • Các nguyên lý hướng đối tượng • Một số khái niệm ký hiệu UML Object Oriented Analysis & Design with UML Các nguyên lý hướng đối tượng (OO) Hierarchy (Phân cấp) Modularity (Mơ đun hóa) Encapsulation (ðóng gói) Abstraction (Trừu tượng) Object Orientation (Hướng ñối tượng) Object Oriented Analysis & Design with UML OOAD using UML 2-7 Concepts of Object Orientation and UML Khái niệm Trừu tượng hóa Hierarchy (Phân cấp) Modularity (Mơ đun hóa) Encapsulation (ðóng gói) • Các đặc điểm thực thể để phân biệt với thực thể khác Abstraction (Trừu tượng) Object Orientation (Hướng ñối tượng) Giáo viên Sinh viên Lớp học (UML, Tiết 4, 5, Thứ 2, 4, 6) Môn học (UML, CNPM) Object Oriented Analysis & Design with UML Khái niệm Đóng gói Hierarchy (Phân cấp) Modularity (Mơ đun hóa) Encapsulation (ðóng gói) • Che dấu cài đặt (lập trình) với thành phần tương tác Abstraction (Trừu tượng) Object Orientation (Hướng đối tượng) • Chỉ thể thơng qua giao diện Object Oriented Analysis & Design with UML OOAD using UML 2-8 Concepts of Object Orientation and UML Minh hoạ đóng gói • Giáo viên “Biết tuốt” dạy lớp kì tới Giáo viên: Biết tuốt Name: Biết Tuốt Employee ID: 567138 HireDate: 25/07/1901 SetMaxLoad(4) Status: Cơ hữu Discipline: UML MaxLoad: Object Oriented Analysis & Design with UML Khái niệm Module hóa Hierarchy (Phân cấp) Modularity (Mơ đun hóa) Encapsulation (ðóng gói) • Mơ đun hố việc tách việc phức tạp thành mảnh nhỏ quản lý Abstraction (Trừu tượng) Object Orientation (Hướng đối tượng) • Mơ đun hoá giúp người hiểu hệ thống phức tạp dễ dàng Object Oriented Analysis & Design with UML OOAD using UML 2-9 Concepts of Object Orientation and UML Module hóa: Ví dụ • Ví dụ tách hệ thống phức tạp thành module nhỏ Hệ thống tốn Hệ thống quản lý mơn học Hệ thống quản lý khóa học Hệ thống quản lý sinh viên Object Oriented Analysis & Design with UML Khái niệm Phân cấp Tài khoản ngân hàng Tiết kiệm Giảm mức độ trừu tượng Séc Thế chấp Cổ phần Hierarchy (Phân cấp) Tăng mức độ trừu tượng Modularity (Mô ñun hóa) Abstraction (Trừu tượng) Tài sản Encapsulation (ðóng gói) Object Orientation (Hướng ñối tượng) Bất động sản Trái phiếu Các thành phần mức phân cấp có mức độ trừu tượng hóa giống Object Oriented Analysis & Design with UML OOAD using UML - 10 Concepts of Object Orientation and UML Nội dung trình bày • Khái niệm hướng đối tượng • Các nguyên lý hướng đối tượng • Một số khái niệm ký hiệu UML Object Oriented Analysis & Design with UML Khái niệm Lớp (Class) • Một lớp tập đối tượng có thuộc tính, thao tác, mối quan hệ • Một đối tượng thể lớp • Một lớp trừu tượng hố mà đó: • Nhấn mạnh đặc điểm quan trọng • Bỏ qua đặc điểm khơng cần thiết khác • Thường biểu diễn hình chữ nhật chia ngăn Professor - name - employeeID : UniqueID - hireDate - status - discipline - maxLoad + submitFinalGrade() + acceptCourseOffering() + setMaxLoad() + takeSabbatical() Object Oriented Analysis & Design with UML OOAD using UML - 11 Concepts of Object Orientation and UML Mối quan hệ lớp đối tượng • Lớp khái niệm trừu tượng đối tượng • Nó định nghĩa cấu trúc hành vi đối tượng lớp • Nó cung cấp mẫu để tạo đối tượng • Đối tượng thể lớp Professor Giáo viên Torpie Giáo viên Meijer Giáo viên Allen Object Oriented Analysis & Design with UML Thuộc tính Phương thức • Thuộc tính - đặc tính đặt tên lớp • Đối tượng chứa giá trị cụ thể cho thuộc tính • Phương thức – dịch vụ mà lớp cung cấp Student Student Attributes - name - address - studentID - dateOfBirth Operations + getTuition() + addSchedule() + getSchedule() + deleteSchedule() + hasPrerequisites() Object Oriented Analysis & Design with UML OOAD using UML - 12 Concepts of Object Orientation and UML Khái niệm Stereotypes • Stereotypes định thành phần mơ hình mà mơ hình chuẩn chưa cung cấp • Có thể coi kiểu “Đặc biệt” • Thường sử dụng để minh họa lớp đặc biệt Stereotype Class Order Object Oriented Analysis & Design with UML Khái niệm Tính đa hình • Là cách che dấu cài đặt khác giao diện Manufacturer A Manufacturer B Manufacturer C Ngun lý OO: Tính đóng gói Object Oriented Analysis & Design with UML OOAD using UML - 13 Concepts of Object Orientation and UML Ví dụ tính đa hình obj.getCurrentValue() Cổ phần Trái phiếu Tài khoản Object Oriented Analysis & Design with UML Khái niệm Giao diện • Giao diện cách thức tìm cách thể loạt hành vi mà chưa cung cấp cài đặt cho • Giao diện cung cấp tính đa hình cho nhóm đối tượng hỗ trợ kiến trúc “Plug & Play” Tube Shape Pyramid + draw() + move() + scale() + rotate() Cube Object Oriented Analysis & Design with UML OOAD using UML - 14 Concepts of Object Orientation and UML Khái niệm Gói (package) • Gói cách thức gộp số thành phần khác nhóm UniversityArtifacts UniversityArtifacts Quản lý bán hàng Giao diện Giao diện bán hàng Quản lý toán Quản lý hóa đơn Y/c tốn Xử lý thành tốn Xử lý hóa đơn Hóa đơn Xử lý đặt hàng Đặt hàng Object Oriented Analysis & Design with UML Khái niệm Hệ thống (Subsystem) • Subsystem việc nhóm thành phần khác lớp, thành phần, subsystem khác package • Tuy nhiên Subsystem thể hành vi cho hệ thống thực • Subsystem = Gói + Hành vi (Package + Behavior) • Subsystem thực nhiều interface để thể hành vi hệ thống Tài khoản Chuyển khoản Object Oriented Analysis & Design with UML OOAD using UML - 15 Concepts of Object Orientation and UML Khái niệm Thành phần (Component) • Là phần gần độc lập thay thành phần khác mà khơng ảnh hưởng đến tồn hệ thống • Cung cấp chức tương đối hoàn chỉnh cho hệ thống Thành phần mã nguồn Source File Name Thành phần thư viện Thành phần mã nhị phân Component Interface Component Name Executable Name Object Oriented Analysis & Design with UML Subsystem Component • Hệ thống mang tính khái niệm, mơ tả hoạt động hành vi (chức năng) cụ thể hệ thống • Được sử dụng giai đoạn thiết kế để thể thành phần • Thành phần mang tính thực tế, vật lý • Được phát triển từ thực thể trừu tượng trình thiết kế Mơ hình thiết kế Mơ hình thực thi Component Name ComponentName Component Interface Component Interface Object Oriented Analysis & Design with UML OOAD using UML - 16 Concepts of Object Orientation and UML Relationship, Multiplicity, Navigability • Quan hệ (Relationship) • Các đối tượng kết nối đến đối tượng khác • Bội số (Multiplicity) • Bội số cho phép số lượng đối tượng cần thiết để quan hệ với số lượng đối tượng khác • Chiều quan hệ (Navigability) • Lớp biết lớp quan hệ có Giáo viên Sinh viên TKB Môn học + giáo viên Lớp học * Object Oriented Analysis & Design with UML Bội số quan hệ (Multiplicity) • Bội số cho phép số lượng đối tượng cần thiết để quan hệ với số lượng đối tượng khác Không cụ thể Một Không nhiều * Không nhiều * Một nhiều * Không Khoảng cách cụ thể Khoảng cách cụ thể 2, Object Oriented Analysis & Design with UML OOAD using UML - 17 Concepts of Object Orientation and UML Các kiểu quan hệ: Aggregation, Dependency, Generalization • Quan hệ tập hợp (association) • Lớp thành phần tồn lớp chứa bị • Quan hệ kết hợp (aggregation/composition, “is part of”) • Lớp thành phần bị lớp chứa • Quan hệ phụ thuộc (dependency, “uses”) • Quan hệ sử dụng (phụ thuộc) • Quan hệ tổng qt hóa (generalization, “is kind of”) • Một lớp cha thiết lập chung cho nhóm lớp “kế thừa” Object Oriented Analysis & Design with UML Relationships: Aggregation, Dependency, Generalization Whole Part 1 Kết hợp Tài khoản Whole Part Lớp cha (Parent) (Ancestor) - balance - name - number + withdraw() + createStatement() Tập hợp Tổng quát hóa Khách hàng Nhà cung cấp Tiết kiệm Phụ thuộc Séc Lớp (Child) (Descendents) Object Oriented Analysis & Design with UML OOAD using UML - 18 Concepts of Object Orientation and UML Khái niệm Kế thừa • Kế thừa thuộc tính, hàm quan hệ • Lớp (subclass) có thể: • Thêm thuộc tính, hàm quan hệ • Có thể thiết lập lại hàm (!!!) • Các thuộc tính, hàm, quan hệ chung nên thể mức độ cao quan hệ phân cấp Object Oriented Analysis & Design with UML Ví dụ Kế thừa Lớp cha (Parent) + chủ Phương tiện vận tải * Người Tổng quát hóa Xe ca Xe tải Toa moóc Lớp (Child) Object Oriented Analysis & Design with UML OOAD using UML - 19 Concepts of Object Orientation and UML Khái niệm Note • Có thể thêm lời giải, nhận xét để bổ sung thêm thơng tin vào mơ hình sơ đồ • Có thể thêm vào với thành phần UML Form Quản lý TKB Ghi để làm rõ lớp Object Oriented Analysis & Design with UML Tóm tắt • Các ngun lý hướng đối tượng • Trừu tượng • Các đặc điểm để phân biệt thực thể với thực thể khác • Đóng gói • Che dấu cài đặt (lập trình) với thành phần tương tác • Module hóa • Tách việc phức tạp thành mảnh nhỏ quản lý • Phân cấp • Thể mức độ phức tạp tốn thành cấp độ khác • Thể thành phần OO sơ đồ UML Object Oriented Analysis & Design with UML OOAD using UML - 20 ... tượng Biet_tuot : Professor Đối tượng có tên : Professor Giáo viên “Biết tuốt” Đối tượng chưa có tên Object Oriented Analysis & Design with UML OOAD using UML 2-6 Concepts of Object Orientation... Component Name ComponentName Component Interface Component Interface Object Oriented Analysis & Design with UML OOAD using UML - 16 Concepts of Object Orientation and UML Relationship, Multiplicity,... biểu diễn hình chữ nhật chia ngăn Professor - name - employeeID : UniqueID - hireDate - status - discipline - maxLoad + submitFinalGrade() + acceptCourseOffering() + setMaxLoad() + takeSabbatical()

Ngày đăng: 19/03/2018, 12:46

TỪ KHÓA LIÊN QUAN

w