Bài giảng Phân tích thiết kế hệ thống thông tin: Bài 2 Mô hình hóa đối tượng cung cấp cho người học những kiến thức như: Khái niệm mô hình hóa đối tượng; Các nguyên tắc cơ bản; Các khái niệm về mô hình hướng đối tượng; Giới thiệu UML. Mời các bạn cùng tham khảo!
PHÂN TÍCH THIẾT KẾ HỆ THỐNG THƠNG TIN Bài Mơ hình hóa đối tượng Giáo viên: TS Trần Mạnh Tuấn Bộ môn: Hệ thống thông tin Khoa: Công nghệ thông tin Email: tmtuan@tlu.edu.vn Điện thoai: 0983.668.841 Nội dung Khái niệm mơ hình hóa đối tượng Các nguyên tắc Các khái niệm mơ hình hướng đối tượng Giới thiệu UML Khái niệm mơ hình hóa đối tượng ❖ Mơ hình hóa hướng đối tượng (Object-Oriented Modeling – OOM): Phương pháp dùng để mơ hình hóa chương trình máy tính theo phương pháp hướng đối tượng (OO Programming – OOP) ❖ Phân tích thiết kế hướng đối tượng (OO analysis and design – OOAD): kỹ thuật phần mềm tiếp cần việc mơ hình hóa vấn đề thực tế thành hệ thống phần mềm đối tượng tương tác lẫn Thí dụ mơ hình Mơ hình: Quả địa cầu học sinh Thế giới thực Thế giới thực Ơtơ Làm chủ Con người Đọc Sách Mơ hình Thí dụ mơ hình Mơ hình mô tả đầy đủ hệ thống từ góc độ cụ thể Mơ hình hóa trực quan? Order “Mơ hình hóa nắm bắt phần thiết yếu hệ thống.” Item Dr James Rumbaugh Ship via Business Process Mơ hình hóa trực quan tạo mơ hình cách sử dụng ký hiệu đồ họa tiêu chuẩn Computer System Bốn ngun tắc mơ hình hóa ❖ Việc chọn mơ hình để tạo lập có ảnh hưởng sâu sắc đến cách giải vấn đề cách hình thành giải pháp ❖ Mỗi mơ hình biểu diễn hệ thống với mức độ xác khác ❖ Mơ hình tốt phải mơ hình phù hợp với giới thực ❖ Khơng mơ hình đầy đủ Mỗi hệ thống thường tiếp cận thơng qua tập mơ hình gần độc lập Khái niệm mơ hình hóa đối tượng ❖ Mỗi đối tượng biểu diễn thực thể hệ thống đóng vai trị định hệ thống ❖ Phân tích hướng đối tượng (OOA) tập trung vào việc phân tích yêu cầu chức hệ thống ❖ Thiết kế hướng đối tượng (OOD) sử dụng mơ hình phân tích đầu vào để tạo đặc tả thiết kế cài đặt cho hệ thống Khái niệm mơ hình hóa đối tượng ❖ Chiến lược phát triển phần mềm hướng đối tượng quan sát giới tập đối tượng ▪ Các đối tượng tương tác cộng tác với để hình thành hành vi mức cao ❖ Các tính chất đối tượng ▪ Đối tượng • thực thể nhìn thấy giới thực (trong pha phân tích u cầu) • biểu diễn thực thể hệ thống (trong pha thiết kế) ▪ Đối tượng có trách nhiệm quản lý trạng thái mình, cung cấp dịch vụ cho đối tượng khác có yêu cầu • vậy, liệu hàm gói đối tượng ▪ Chức hệ thống: • dịch vụ yêu cầu cung cấp đối tượng, không quan tâm đến thay đổi trạng thái bên đối tượng ▪ Các đối tượng phân thành class • Các đối tượng thuộc lớp có đặc tính (thuộc tính thao tác) chung Khái niệm mơ hình hóa đối tượng 10 Khái niệm mơ hình hóa đối tượng ❖ Tiệm cận hướng đối tượng tập trung vào thông tin hành vi ❖ Cho khả xây dựng hệ thống mềm dẻo, “co dãn” ❖ Phương pháp dựa nguyên tắc sau ▪ Tính gói ▪ Kế thừa ▪ Đa trị Lake Model Natural Model 11 Các nguyên tắc ❖ Sự trừu tượng hóa (Abstraction) việc xây dựng mơ hình bao gồm đặc điểm quan trọng, cần thiết phân biệt với đặc điểm mơ hình khác ▪ Cũng có khái niệm nói trừu tượng hóa cách chế biểu diễn thực tế phức tạp mơ hình đơn giản 12 Các ngun tắc ❖ Tính đóng gói (Encapsulation) quy tụ tính chất (thuộc tính, hành vi) vào hộp đen trừu tượng hóa – cho phép ẩn cài đặt phía sau giao diện 13 Các ngun tắc ❖ Tính modun hóa (Modularity) ví phân chia khối vật thể lớn thành nhóm nhỏ cấu trúc đơn giản 14 Các nguyên tắc ❖ Sự phân cấp (Hierachy) coi xếp thứ tự phân hạng trừ tượng hóa đối tượng theo cấu trúc Trong đó: ▪ ▪ ▪ ▪ ▪ 15 Phân cấp toàn thể - phận Phân cấp đối tượng chứa Phân cấp lớp Phân cấp kế thừa Phân cấp theo kiểu đối tượng Các khái niệm hướng đối tượng ❖ Đối tượng (Object) giúp biểu diễn khái niệm giới thực thiết kế phần mềm 16 Các khái niệm hướng đối tượng ❖ Lớp đối tượng (Class) khung chứa cấu trúc hành vi chung đối tượng 17 Các khái niệm hướng đối tượng ❖ Tổng quát hóa – kết thừa (Generalization Inheritance) quan hệ mà đối tượng phần tử chuyên biệt (Child) thay bới đối tượng phần tử tổng quát hóa (Parent) 18 Các khái niệm hướng đối tượng ❖ Đa hình (Polymorphos - Nhiều hình thái khác nhau) ▪ Mọi thực thi giao diện phải bao gồm giao diện Trong có có thực thi áp dụng cho nhiều hình thức giao diện 19 Giới thiệu UML ❖ UML = Unified Modeling Language: Rational 20 Giới thiệu UML ❖ Đặc điểm UML: ▪ UML viết tắt Unified Modeling Language ▪ UML khác với ngơn ngữ lập trình: C/C++, Java, PHP, Cobol,… ▪ UML ngơn ngữ hình ảnh sử dụng tạo kế hoạch thiết kế ▪ UML mơ tả ngơn ngữ mơ hình hóa hình ảnh đa để hình ảnh hóa, đặc tả, xây dựng văn hóa hệ thống phần mềm ▪ Mặc dù UML chuyên dành cho thiết kế, mơ hình hóa phần mềm, dùng để mơ hình hóa hệ thống khơng phải phần mềm Ví dụ: luồng nghiệp vụ cho đơn vị sản xuất 21 Trao đổi, câu hỏi? 22 ... thực thể hệ thống đóng vai trị định hệ thống ❖ Phân tích hướng đối tượng (OOA) tập trung vào việc phân tích yêu cầu chức hệ thống ❖ Thiết kế hướng đối tượng (OOD) sử dụng mơ hình phân tích đầu... thể - phận Phân cấp đối tượng chứa Phân cấp lớp Phân cấp kế thừa Phân cấp theo kiểu đối tượng Các khái niệm hướng đối tượng ❖ Đối tượng (Object) giúp biểu diễn khái niệm giới thực thiết kế phần... dựng văn hóa hệ thống phần mềm ▪ Mặc dù UML chun dành cho thiết kế, mơ hình hóa phần mềm, dùng để mơ hình hóa hệ thống khơng phải phần mềm Ví dụ: luồng nghiệp vụ cho đơn vị sản xuất 21 Trao đổi,