8/24/2011 Nội dung Bộ môn Công nghệ Phần mềm Viện CNTT & TT Trường Đại học Bách Khoa Hà Nội LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Bài 09 Tổng quan UML PTTK HĐT Mơ hình hóa Tổng quan UML Phân tích thiết kế hướng đối tượng Công cụ phát triển OOAD Nội dung 1.1 Mơ hình hóa gì? Mơ hình hóa Tổng quan UML Phân tích thiết kế hướng đối tượng Công cụ phát triển OOAD 1.2 Sự quan trọng mơ hình hóa 1.2 Sự quan trọng mơ hình hóa (2) Mức độ quan trọng thấp Mức độ quan trọng cao Mơ hình hóa đường dẫn đến thành công dự án Máy bay giấy Máy bay phản lực 8/24/2011 1.4 Yêu cầu biểu diễn mơ hình 1.3 Vai trị mơ hình hóa hệ thống Chỉ rõ cấu trúc ứng xử hệ thống … accurate consistent understandable changeable Nội dung 2.1 UML gì? Mơ hình hóa Tổng quan UML Phân tích thiết kế hướng đối tượng Cơng cụ phát triển OOAD Ngơn ngữ mơ hình hóa thống UML (Unified Modeling Language) mục tiêu UML với cấu phần (artifact) hệ thống phần mềm 10 UML ngôn ngữ để đặc tả UML ngôn ngữ trực quan UML ngôn ngữ thống trực quan giúp công việc xử lý quán, giảm thiểu lỗi xảy UML xây dựng mơ hình xác, rõ ràng đầy đủ 8/24/2011 UML ngôn ngữ để xây dựng HT UML ngôn ngữ để tài liệu hóa Các mơ hình UML kết nối trực tiếp với nhiều ngơn ngữ lập trình Use Case Diagram Deployment Diagram º лê È ¯ °ỉ À Ç ầẽ àồ ỵắ ợ ì ì ặđ ữá à ẻ ầ Ô ẵ ẵ ỏ àă - âààỡ 95 : ơảúè ắ ặđ - âààỡ NT: ởẳ - éẵ ể ẵ : ẳ ì àƠè ẳ ử, ởẵ ẳ - I BM ịẻ ầà ể : àƠè ẳ ử, ởẵ ẳ Windows95 Window95 Windows95 Use Case đẳ ỹá đ ơảúè ắ ặđ EXE đẳ ỹá đ ắ ệ ầ Windows NT Actor A Actor B Use Case Solar is đẳ ỹá đ Ê ứ E XE Alpha UNI X ởẳ EXE Windows NT I BM Use Case M ainf r am e àƠè Êè ẵ ẳ Docum ent List mainWnd fileMgr : doc ument : gFile repos itory Docum ent FileM gr FileMgr us er Doc ument add( ) nam e : int delet e( ) f et chDoc( ) docid : int sor t ByNam e( ) num Field : int ặÔạ đẳ Ă ởầ ẹ õá Ư 1: Doc view get ( ) r equest ( ) ằỗở Ă ọ »Ç Đ ´ Ù r ead( ) f il t he open( ) code close( ) 2: f et chDoc( ) r ead( ) FileList sor t FileList ( f List ) cr eat e( ) 3: cr eat e ( ) f ilDocum ent ( ) add( ) delet e( ) 4: cr eat e ( ) 5: r eadDoc ( ) ẩư ẽ ỹá đ éắ ợ 6: f ilDocum ent ( ) đẳ ầ Ô á Ư ầỉ ỗ đẳ ẳ Ă ẳ Ô ằ ọ ằ ầ ẹ ´ Ù r ep 7: r eadFile ( ) File Reposit or y 8: f ilFile ( ) ( f r om Per sist ence) r ead( ) È ¸ ộ ẳ éắ ợ ộẻ 9: sor t ByNam e ( ) G r pFile nam e : char * = ° ´ ü àộ Ă ởầỉ è Đ Ã ẻ Ôà ằ ẵ ẹ ẩư ộĂ r ead( ) â ỉ r eadDoc( ) open( ) r eadFile( ) cr eat e( ) f ilFile( Sequence Diagram 2.2 Lịch sử phát triển UML Vào 1994, có 50 phương pháp mơ hình hóa hướng đối tượng: Fusion, Shlaer-Mellor, ROOM, Class-Relation,Wirfs-Brock, CoadYourdon, MOSES, Syntropy, BOOM, OOSD, OSA, BON, Catalysis, COMMA, HOOD, Ooram, DOORS … ) Class Diagram 2.2 Lịch sử phát triển UML (2) UML chuyên gia hướng đối tượng hợp kỹ thuật họ vào năm 1994: Cần chuẩn hóa thống phương pháp UML ngôn ngữ hợp Rumbaugh Booch UML ngôn ngữ thống Jacobson Meyer Fusion Before and after conditions Operation descriptions, message numbering Harel Embley Singleton classes, High-level view State charts Gamma, et.al Wirfs-Brock Responsibilities Frameworks, patterns, notes Shlaer- Mellor Selic, Gullekson, Ward Odell Object lifecycles ROOM (Real-Time Object-Oriented Modeling) Classification 8/24/2011 2.3 Các khung nhìn UML 2.2 Lịch sử phát triển UML (3) UML 2.0 (2004) UML 1.5 (March, ‘03) Không đơn giản để mơ hình hóa hệ thống phức tạp UML 1.1 UML Partners’ Expertise (Sept ‘97) UML 1.0 (Jan ‘97) UML 0.9 and UML 0.91 (June ‘96) (Oct ‘96) Unified Method 0.8 (OOPSLA ’95) Booch ’93 OOSE Other Methods Public Feedback OMT - Booch ‘91 OMT - 20 2.4 Các biểu đồ UML 2.3 Các khung nhìn UML (2) + Architectural View Logical View Một mơ hình hệ thống thường có nhiều loại biểu đồ, loại có nhiều biểu đồ khác Implementation View Analysts/Designers Programmers Structure Software management Use-Case View End-user Functionality Process View Deployment View System engineering System integrators Performance, scalability, throughput System topology, delivery, installation, communication 22 2.4 Các biểu đồ UML Biểu đồ use case (Use Case Diagram) Biểu đồ cấu trúc tĩnh (Static Structure Diagrams) Biểu đồ lớp (Class Diagram) Biểu đồ đối tượng (Object Diagram) Biểu đồ trạng thái (Statechart Diagram) Biểu đồ hoạt động (Activity Diagram) Biểu đồ tương tác (Interaction Diagrams) a Biểu đồ use case Biểu đồ trình tự (Sequence Diagram) Biểu đồ giao tiếp/cộng tác (Communication/Collaboration Diagram) Biểu đồ thực thi (Implementation Diagrams) Biểu đồ thành phần (Component Diagram) Biểu đồ triển khai (Deployment Diagram) 24 8/24/2011 b Biểu đồ lớp (Class Diagram) c Biểu đồ đối tượng 25 d Biểu đồ trạng thái (State Diagram) 26 e Biểu đồ hoạt động (Activity Diagram) 27 28 g Biểu đồ cộng tác (Collaboration Diagram) f Biểu đồ trình tự (Sequence Diagram) 29 30 8/24/2011 h Biểu đồ thành phần (Component Diagram) i Biểu đồ triển khai (Deployment Diagram) 31 32 2.5 Quy trình UML 2.5 Quy trình UML (2) "Rational Unified Process" - quy trình phát triển cho UML RUP quy trình công nghệ phần mềm phát triển hãng Rational Phát triển song song với UML 2.6 Ứng dụng UML phân tích thiết kế hệ thống Nội dung UML sử dụng để phân tích nhiều loại hệ thống (Information System) (Technical System) (Embeded System) ( Distributed System) (Business System) (System Software) 35 Mơ hình hóa Tổng quan UML Phân tích thiết kế hướng đối tượng Cơng cụ phát triển OOAD 36 8/24/2011 3.1 Tầm quan trọng OOAD 3.1 Tầm quan trọng OOAD (2) “Phân tích” “Thiết kế” cần coi trọng Cần thiết lập chế hiệu để nắm bắt yêu cầu, phân tích thiết kế OOAD 37 38 3.2 Mục đích OOAD 3.3 Phương pháp OOAD Cung cấp cho người dùng, khách hàng, kỹ sư phân tích, thiết kế nhiều nhìn khác hệ thống OOAD chia thành giai đoạn (OOA) (OOD) 39 40 3.3 Phương pháp OOAD (2) Nội dung Use case modeling to define requirements External Specification Design Object extraction and message sequence design between objects Normalization of the data structure using E-R diagram 3 Class design E-R modeling for persistent data 41 Mơ hình hóa Tổng quan UML Phân tích thiết kế hướng đối tượng Công cụ phát triển OOAD 42 8/24/2011 Công cụ UML – OOAD Công cụ mã nguồn mở: EclipseUML UmlDesigner ArgoUML Công cụ thương mại: Enterprise Architect IBM Rational Software Architect Microsoft Visio Visual Paradigm for UML SmartDraw 43