Bài giảng Phân tích thiết kế hệ điều hành - Chủ đề 2: UML cung cấp cho người học các kiến thức: Giới thiệu về UML, trực quan hóa - Visualizing, UML là ngôn ngữ giúp viết tài liệu,... Mời các bạn cùng tham khảo.
Chủ đề 2: UML OOAD – FIT of HUTECH CH2 - HIENLTH Giới thiệu UML OOAD – FIT of HUTECH CH2 - HIENLTH History of UML OOAD – FIT of HUTECH CH2 - HIENLTH Tổng quan UML • UML (Unified Model Language) ngơn ngữ dùng cho phân tích thiết kế hướng đối tượng (OOAD – Object Oriented Analys and Design) • Được trì phát triển OMG (Object Management Group), Jacobson, Booch, Rumbaugh sáng lập Ngồi có hàng trăm tập đoàn lớn khác bảo trợ phát triển • UML 2.x có 13 loại biểu đồ để thể khung nhìn khác (View) hệ thống • Các biểu đồ UML cho ta nhìn rõ hệ thống (cả nhìn tĩnh động) OOAD – FIT of HUTECH CH2 - HIENLTH Tổng quan UML • Hiện UML sử dụng phổ biến dự án phần mềm • UML thể phương pháp phân tích hướng đối tượng nên khơng lệ thuộc ngơn ngữ lập trình • Có nhiều cơng cụ phần mềm hỗ trợ phân tích thiết kế dùng UML • Nhiều cơng cụ sinh mã từ UML ngược lại (từ mã thành UML-Reverse Eng) • UML khơng phải ngơn ngữ lập trình! • Phiên UML 2.5 (www.omg.org) OOAD – FIT of HUTECH CH2 - HIENLTH UML dùng để làm ? • UML ngôn ngữ dùng để: Trực quan hóa (Visualizing) Đặc tả (Specifying) Xây dựng (Constructing) Viết tài liệu (Documenting) OOAD – FIT of HUTECH CH2 - HIENLTH Trực quan hóa - Visualizing • Dùng tập ký hiệu đồ họa phong phú để biểu diễn hệ thống nghiên cứu • Hệ thống ký hiệu có ngữ nghĩa chặt chẽ, hiểu nhiều cơng cụ khác • Giúp cho nhà thiết kế, nhà lập trình khác biệt ngơn ngữ hiểu OOAD – FIT of HUTECH CH2 - HIENLTH UML ngôn ngữ cho đặc tả specifying UML giúp xây dựng mơ hình xác, đầy đủ khơng nhập nhằng Tất cơng đoạn từ phân tích, thiết kế triển khai có biểu đồ UML biểu diễn Use case (dùng cho phân tích); Class, Sequence, Activity (cho thiết kế); Component, Deployment (cho triển khai) OOAD – FIT of HUTECH CH2 - HIENLTH Xây dựng - Constructing • Các mơ hình UML kết nối với nhiều ngơn ngữ lập trình Tức ánh xạ mơ hình UML NNLT C++, Java, C# • Việc chuyển mơ hình UML thành Code ngơn ngữ lập trình Forward engineering • Việc chuyển ngược trở lại code ngơn ngữ lập trình thành UML Reverse Engineering • Cần công cụ để chuyển đổi “xuôi” & “ngược” OOAD – FIT of HUTECH CH2 - HIENLTH UML ngơn ngữ giúp viết tài liệu • Giúp xây dựng tài liệu đặc tả - requirements • Tài liệu kiến trúc (architecture) • Tài liệu thiết kế • Source code • Tài liệu để kiểm thử - Test • Tài liệu mẫu - Prototype • Tài liệu triển khai – Deployment • OOAD – FIT of HUTECH CH2 - 10 HIENLTH “4 + 1” view OOAD – FIT of HUTECH CH2 - 16 HIENLTH Khung nhìn (View) • Use case view: chức hệ thống, nhìn từ tác nhân bên ngồi • Logical view: chức thiết kế bên hệ thống ntn qua khái niệm cấu trúc tĩnh ứng xử động hệ thống • Component view: khía cạnh tổ chức thành phần code • Concurrency view: tồn đồng thời hệ thống, hướng đến việc giao tiếp đồng hóa hệ thống • Deployment view: khía cạnh triển khai hệ thống tập trung vào kiến trúc vật lý OOAD – FIT of HUTECH CH2 - 17 HIENLTH Khung nhìn (view) OOAD – FIT of HUTECH CH2 - 18 HIENLTH Các biểu đồ UML • Các biểu đồ cấu trúc: • • • • • Biểu đồ lớp (Class diagram) Biểu đồ đối tượng (Object diagram) Biểu đồ gói (Package diagram) Biểu đồ thành phần (Component diagram) Biểu đồ triển khai (Deployment diagram) • Các biểu đồ hành vi: • • • • • Biểu đồ ca sử dụng (Use-case diagram) Biểu đồ hoạt động (Activity diagram) Biểu đồ máy trạng thái (State machine diagram) Biểu đồ trình tự (Sequence diagram) Biểu đồ giao tiếp (Communication diagram) OOAD – FIT of HUTECH CH2 - 19 HIENLTH Một số biểu đồ UML Biểu đồ ca sử dụng Use Case Diagram Component Deployment OOAD – FIT of HUTECH Communication/ Collaboration Timming CH2 - 20 Interaction State HIENLTH Sơ đồ lớp đối tượng OOAD – FIT of HUTECH CH2 - 21 HIENLTH Sơ đồ Use Case OOAD – FIT of HUTECH CH2 - 22 HIENLTH Sơ đồ Thành phần OOAD – FIT of HUTECH CH2 - 23 HIENLTH Sơ đồ triển khai OOAD – FIT of HUTECH CH2 - 24 HIENLTH Sơ đồ hợp tác OOAD – FIT of HUTECH CH2 - 25 HIENLTH Sơ đồ trạng thái OOAD – FIT of HUTECH CH2 - 26 HIENLTH Sơ đồ hoạt động OOAD – FIT of HUTECH CH2 - 27 HIENLTH References Bài giảng có tham khảo: • Slide giảng “Xây dựng phần mềm hướng đối tượng”, Trần Minh Triết, ĐH KHTN TpHCM • Slide giảng “Phân tích Thiết kế HTTT hướng đối tượng”, Nguyễn Trần Minh Thư, ĐH KHTN TpHCM • Slide giảng Kỹ nghệ phần mềm, ĐH Cơng nghệ, ĐHQG Hà Nội • UML, Nguyễn Văn Q, APTECH, Hưng Yên OOAD – FIT of HUTECH CH2 - 28 HIENLTH Câu hỏi thảo luận OOAD – FIT of HUTECH CH2 - 29 HIENLTH Thank you!!! OOAD – FIT of HUTECH CH2 - 30 HIENLTH ... of HUTECH CH2 - 21 HIENLTH Sơ đồ Use Case OOAD – FIT of HUTECH CH2 - 22 HIENLTH Sơ đồ Thành phần OOAD – FIT of HUTECH CH2 - 23 HIENLTH Sơ đồ triển khai OOAD – FIT of HUTECH CH2 - 24 HIENLTH Sơ... of HUTECH CH2 - 25 HIENLTH Sơ đồ trạng thái OOAD – FIT of HUTECH CH2 - 26 HIENLTH Sơ đồ hoạt động OOAD – FIT of HUTECH CH2 - 27 HIENLTH References Bài giảng có tham khảo: • Slide giảng “Xây dựng... đối tượng”, Trần Minh Triết, ĐH KHTN TpHCM • Slide giảng Phân tích Thiết kế HTTT hướng đối tượng”, Nguyễn Trần Minh Thư, ĐH KHTN TpHCM • Slide giảng Kỹ nghệ phần mềm, ĐH Công nghệ, ĐHQG Hà Nội