Bài giảng Phân tích thiết kế hệ điều hành - Chủ đề 6: Mô hình hóa cấu trúc cung cấp cho người học các kiến thức: Sơ đồ lớp class diagram, nhắc lại về hướng đối tượng, tầm vực, mối quan hệ giữa các class,... Mời các bạn cùng tham khảo.
Chủ đề 5: Mơ hình hóa cấu trúc OOAD – FIT of HUTECH CH5 - 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) - Class Diagram - Object Diagram - CRC Card OOAD – FIT of HUTECH - Use Case Diagram - Activity Diagram Mơ hình hóa hành vi (Behavioral Modeling) - Sequency Diagram - Communication Diagram - State Diagram 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 – FIT of HUTECH 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 – FIT of HUTECH 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 đồ • Tên lớp • Thuộc tính • Thao tác OOAD – FIT of HUTECH + : public - : private # : protected CH5 - HIENLTH Nhắc lại hướng đối tượng Một số ký hiệu Tên class Tên class (Các) thuộc tính (Các) phương thức OOAD – FIT of HUTECH CH5 - 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 - privateAttribute # protectedAttribute Phương thức Private +publicOp() # protectedOp() - privateOp() Phương thức Protected Phương thức Public OOAD – FIT of HUTECH CH5 - 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 – FIT of HUTECH CH5 - 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 – FIT of HUTECH CH5 - HIENLTH Nhận xét Bình thường: Class bình thường In nghiêng: Class ảo Gạch dưới: Object (không phải class) Tên 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 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 OOAD – FIT of HUTECH CH5 - 10 HIENLTH Áp dụng • Áp dụng thực tế vào tập • Xác định lớp đối tượng • Xác định thông tin hành động/trách nhiệm lớp đối tượng • Xác định quan hệ • Xác định lớp đối tượng phụ, danh mục OOAD – FIT of HUTECH CH5 - 55 HIENLTH Ví dụ CBoMon CKhoa * # KhoaID : int + MaKhoa : string - TenKhoa : string + BMID : long + MaBM : string + TenBM : string + Insert () : int Co CKhoa # KhoaID : int + MaKhoa : string - TenKhoa : string * Thuoc * CGiangVien + + + + + + + + + + GVID MaGV HocVi ChucDanh TenVT Ho Ten DiaChi DienThoai Email OOAD – FIT of HUTECH : : : : : : : : : : long string string string string string string string string string * CNganh + + + + NganhID MaNganh TenNganh TenVT CH5 - 56 : : : : long string string string HIENLTH Ví dụ * # KhoaID : int + MaKhoa : string - TenKhoa : string CLOP CNganh CKhoa + + + + NganhID MaNganh TenNganh TenVT : : : : long string string string * + + + + + LOPID MALOP TENLOP NAMTS TenVT * + BMID : long + MaBM : string + TenBM : string * + Insert () : int + + + + + + + + + + GVID MaGV HocVi ChucDanh TenVT Ho Ten DiaChi DienThoai Email : : : : : : : : : : long string string string string string string string string string CLOPNK CGiangVien * long string string short string Co * Thuoc CBoMon : : : : : CTKB + + + + + + TKBID TKB HOCKY NAMHOC NGAYBD NGAYKT : : : : : : + LOPNKID : long + NAM : short + NAMHOC : short long string short short DateTime DateTime * 1 * CTKBLOP + TKBLOPID : long CMONHOC + + + + + + + MonID MaMon TenMon TinChi SoTietLT SoTietBT TenVT + + + + Them () Xoa () Sua () LayDL () OOAD – FIT of HUTECH : : : : : : : : : : : long string string short short short string 1 * * 1 * void void void void CH5 - 57 CTKBLOP_CHITIET + + + + + THU TIETBD TIETKT LYTHUYET PHONG : : : : : short short short short string HIENLTH Ánh xạ biểu đồ sang Code OOAD – FIT of HUTECH CH5 - 58 HIENLTH Ánh xạ biểu đồ sang Code (2) OOAD – FIT of HUTECH CH5 - 59 HIENLTH Ánh xạ khách hàng- đơn hàng OOAD – FIT of HUTECH CH5 - 60 HIENLTH OOAD – FIT of HUTECH CH5 - 61 HIENLTH OOAD – FIT of HUTECH CH5 - 62 HIENLTH OOAD – FIT of HUTECH CH5 - 63 HIENLTH Bài tập Mơ hình hóa biểu đồ lớp cho hệ thống quản lý thư viện • Người quản lý thư viện mong muốn tự động hóa việc mượn sách • Họ yêu cầu phần mềm cho phép người sử dụng biết sách có, đặt mượn sách, người tham gia mượn sách biết sách mượn đặt • Những người tham gia mượn sách sở hữu password để truy nhập • Việc mượn sách thực thủ thư, sau xác định người mượn sách, họ biết người có phép mượn hay không? (tối đa quyển), người ưu tiên? (đã đặt trước) OOAD – FIT of HUTECH CH5 - 64 HIENLTH Xác định liên kết OOAD – FIT of HUTECH CH5 - 65 HIENLTH Xác định thuộc tính OOAD – FIT of HUTECH CH5 - 66 HIENLTH Tổng quát hóa thừa kế OOAD – FIT of HUTECH CH5 - 67 HIENLTH Câu hỏi thảo luận OOAD – FIT of HUTECH CH5 - 68 HIENLTH Thank you!!! OOAD – FIT of HUTECH CH5 - 69 HIENLTH ... static OOAD – FIT of HUTECH CH5 - 10 HIENLTH Hai dạng lớp: phân tích thiết kế Bỏ qua chi tiết không cần thiết Phải đầy đủ & chi tiết thành phần OOAD – FIT of HUTECH CH5 - 11 HIENLTH Các giai đoạn... HUTECH CH5 - 23 pre-requisites HIENLTH Quan hệ lớp đối tượng • Quan hệ Aggregation ClassA ClassB • Dùng để mơ hình hóa quan hệ tồn thể - phận kết tập phận • Đã xác định ClassA ClassB có quan hệ Association... Modeling) - Class Diagram - Object Diagram - CRC Card OOAD – FIT of HUTECH - Use Case Diagram - Activity Diagram Mơ hình hóa hành vi (Behavioral Modeling) - Sequency Diagram - Communication Diagram -