SLIDE PHÂN TÍCH THIẾT KẾ UML , Giới thiệu Ngôn ngữ mô hình hóa thống nhất
ĐẠI HỌC THÁI NGUYÊN ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THƠNG PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG NỘI DUNG Tiến trình phát triển phần mềm theo hướng đối tượng Giới thiệu Ngơn ngữ mơ hình hóa thống UML Mơ hình hóa nghiệp vụ Mơ hình hóa trường hợp sử dụng Mơ hình hóa tương tác đối tượng Biểu đồ lớp gói Biểu đồ chuyển trạng thái biểu đồ hoạt động Biểu đồ kiến trúc vật lý phát sinh mã trình Mơ hình hóa liệu 10 Bài học thực nghiệm dvduc-2004 Phân tích thiết kế hướng đối tượng Bài - 2/43 Bài Giới thiệu Ngơn ngữ mơ hình hóa thống Mơ hình gì? Mơ hình tranh hay mô tả vấn đề cố gắng giải hay mơ tả giải pháp vấn đề ngôn ngữ người thiết kế (trong nhiều lĩnh vực) trình diễn hệ thống xây dựng phương tiện giao tiếp stakeholders kế hoạch chi tiết (blueprints) Mơ hình cho khả suy diễn số đặc tính hệ thống thực Mơ hình hóa trực quan Bằng phần tử đồ họa Ngơn ngữ mơ hình hóa ngôn ngữ mô tả hệ thống hay tác nghiệp An abstraction is an intellectual simplification dvduc-2004 Phân tích thiết kế hướng đối tượng Bài - 4/43 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ơ dvduc-2004 Làm chủ Con người Đọc Phân tích thiết kế hướng đối tượng Sách Mơ hình Bài - 5/43 Thí dụ mơ hình A model is a complete description of a system from a particular perspective dvduc-2004 Phân tích thiết kế hướng đối tượng Bài - 6/43 Mơ hình hóa trực quan? “Modeling captures essential parts of the system.” Order Dr James Rumbaugh Item Ship via Business Process Visual Modeling is modeling using standard graphical notations dvduc-2004 Phân tích thiết kế hướng đối tượng Computer System Bài - 7/43 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 dvduc-2004 Phân tích thiết kế hướng đối tượng Bài - 8/43 Thiết kế kiến trúc The “why” The “what” Architecture Qualities Architecture Architecture Representation The “who” System Features Satisfies S/W Requirements Constrain System Quality Attributes Technology Produces Defines The “how” Follows Architect Process Skills Defines role Organization Stakeholders dvduc-2004 Phân tích thiết kế hướng đối tượng Bài - 9/43 Ngôn ngữ mơ hình hóa thống UML 1.3 OMG Acceptance, Nov 1997 UML 1.1 Final submission to OMG, Sep ‘97 public feedback First submission to OMG, Jan ´97 UML 1.0 UML partners UML 0.9 June ´96 OOPSLA ´95 Other methods June 12, 2003 UML 2.0 Unified Method 0.8 Booch method OMT OOSE UML stands for Unified Modeling Language dvduc-2004 Phân tích thiết kế hướng đối tượng Bài - 10/43 Collaboration Diagram course form : CourseForm 1: set course info 2: process 3: add course : Registrar theManager : CurriculumManager aCourse : Course 4: new course dvduc-2004 Phân tích thiết kế hướng đối tượng Bài - 29/43 Collaboration Diagram A collaboration diagram displays object interactions organized around objects and their links to one another Captures dynamic behavior (message-oriented) Purpose dvduc-2004 Model flow of control Illustrate coordination of object structure and control Phân tích thiết kế hướng đối tượng Bài - 30/43 Class Diagram ScheduleAlgorithm RegistrationForm * RegistrationManager addStudent(Course, StudentInfo) Course * Student name numberCredits open() addStudent(StudentInfo) major 10 Professor tenureStatus dvduc-2004 1 * CourseOffering location open() addStudent(StudentInfo) Phân tích thiết kế hướng đối tượng Bài - 31/43 Class Diagram A class diagram shows the existence of classes and their relationships in the logical view of a system Captures the vocabulary of a system Built and refined throughout development Purpose Name and model concepts in the system Specify collaborations Specify logical database schemas Developed by analysts, designers, and implementers dvduc-2004 Phân tích thiết kế hướng đối tượng Bài - 32/43 Object Diagram Shows instances and links Built during analysis and design Purpose dvduc-2004 Illustrate data/object structures Specify snapshots Developed by analysts, designers, and implementers Phân tích thiết kế hướng đối tượng Bài - 33/43 State Transition Diagram Add student [count < 10] Add Student / Set count = Initialization Open do: Initialize course entry: Register student exit: Increment count Cancel Cancel [count = 10] Canceled do: Notify registered students Cancel dvduc-2004 Closed do: Finalize course Phân tích thiết kế hướng đối tượng Bài - 34/43 State Transition Diagram State transition diagrams are created for objects with significant dynamic behavior Captures dynamic behavior (event-oriented) Purpose dvduc-2004 Model object lifecycle Model reactive objects (user interfaces, devices, etc.) Phân tích thiết kế hướng đối tượng Bài - 35/43 Activity Diagram Captures dynamic behavior (activityoriented) Purpose Model business workflows Model operations dvduc-2004 Phân tích thiết kế hướng đối tượng Bài - 36/43 Component Diagram Register.exe Billing.exe Billing System People.dll User Course.dll Course Student Course dvduc-2004 Professor Course Offering Phân tích thiết kế hướng đối tượng Bài - 37/43 Component Diagram Component diagrams illustrate the organizations and dependencies among software components Captures the physical structure of the implementation Built as part of architectural specification Purpose Organize source code Construct an executable release Specify a physical database Developed by architects and programmers dvduc-2004 Phân tích thiết kế hướng đối tượng Bài - 38/43 Deployment Diagram Registration Database Main Building Library Dorm dvduc-2004 Phân tích thiết kế hướng đối tượng Bài - 39/43 Deployment Diagram Client Dynamic HTML, JavaScript, Java plug-ins, source code enhancements Server Java, C, C++, JavaScript, CGI Application Server Fulfillment System dvduc-2004 Financial System Java, C, C++, JavaBeans, CORBA, DCOM Inventory System Phân tích thiết kế hướng đối tượng RDBMS Server Native languages Bài - 40/43 Deployment Diagram The deployment diagram shows the configuration of run-time processing elements and the software processes living on them Captures the topology of a system’s hardware Built as part of architectural specification Purpose dvduc-2004 Specify the distribution of components Identify performance bottlenecks Developed by architects, networking engineers, and system engineers Phân tích thiết kế hướng đối tượng Bài - 41/43 Rational Rose Rose is available in three editions: Rose Modeler – no language support Rose Professional – support for language Rose Enterprise – supports multiple languages including (VC++, VB, Java, CORBA and XML) Why should we use Rational Rose? Common standard language the Unified Modeling Language (UML) results in improved team communication Reverse-engineering capabilities allow you to integrate with legacy OO systems Models and code remain synchronized through the development cycle Demo Rose dvduc-2004 Phân tích thiết kế hướng đối tượng Bài - 42/43 Tóm tắt Các vấn đề nghiên cứu dvduc-2004 Khái niệm mô hình, mơ hình hóa trực quan Khái qt Ngơn ngữ mơ hình hóa thống Thí dụ sử dụng biểu đồ UML Phân tích thiết kế hướng đối tượng Bài - 43/43 ... mã trình Mơ hình hóa liệu 10 Bài học thực nghiệm dvduc-2004 Phân tích thiết kế hướng đối tượng Bài - 2/43 Bài Giới thiệu Ngơn ngữ mơ hình hóa thống Mơ hình gì? Mơ hình tranh hay mô tả vấn đề... dvduc-2004 Phân tích thiết kế hướng đối tượng Bài - 13/43 Khái quát UML dvduc-2004 Mơ hình hóa phần tử Các quan hệ Cơ chế mở rộng Các biểu đồ Phân tích thiết kế hướng đối tượng Bài - 14/43... thực Mơ hình hóa trực quan Bằng phần tử đồ họa Ngơn ngữ mơ hình hóa ngôn ngữ mô tả hệ thống hay tác nghiệp An abstraction is an intellectual simplification dvduc-2004 Phân tích thiết kế hướng