Bài giảng UML - Chương 1: Giới thiệu - Trương Quốc Định
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng UML - Chương 1: Giới thiệu - Trương Quốc Định", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_uml_chuong_1_gioi_thieu_truong_quoc_dinh.ppt
Nội dung text: Bài giảng UML - Chương 1: Giới thiệu - Trương Quốc Định
- CHƯƠNG 1: GIỚI THIỆU GV : TS. Trương Quốc Định
- Giới thiệu môn học • Tên môn học: Ngôn ngữ mô hình hóa UML - CT165 • Số TC: 3TC (2TC LT + 1TC TH) • Đánh giá – Kiểm tra giữa kỳ • 30% điểm tổng kết • Tuần 7 – Thực hành tối thiểu 5/6 buổi – Cuối kỳ • 70% điểm tổng kết
- Tài liệu tham khảo Stt Tựa Thông tin chi tiết 1 UML 2 của Benoit Charoux, Aomar Osmani, Yann Thiery- Mieg, NXB Pearson Education France, 2005. 2 UML par la pratique- Etude de cas et của Pascal Roques, XB lần 2, NXB Eyrolles, 2001 exercices corrigés 3 UML pour l’analyse d’un systeme của Chantal Morley, Jean Hugues, Bernard d’information Leblanc, XB lần 2, NXB Dunod, 2002 4 Phân tích thiết kế hướng đối tựơng của Đặng Văn Đức, NXB Giáo dục, 2002 bằng UML 5 Modélisation objet avec UML của Pierre-Alian Muller, Nathalie Gaertner, XB lần 2, NXB Eyrolles, 2004 6 Object-oriented analysis David William Brown, NXB John Wileys & Sons, 2002 7 Trang web của OMG 8 Slide bài giảng UML của Cô Phạm Thị Xuân Lộc 3
- Tài liệu tham khảo (tt) 9 The object-oriented development của Tom Rowlett, NXB Prentice Hall PTR, 2001 process 10 A introducton to object-oriented của David Willia Brown, NXB John Wileys & analysis- Objects in plain English Sons, 2002 11 Objects¸ components and frameworks của Desmond Francis D’Souza, Alan Cameron with UML Wills, NXB Addison – Wesley, 1999 12 Software reuse- Domain analysis and của Jag Sodhi, Prince Sodhi, NXB McGraw- Hill, design process 1999 13 La démarche objet- Concepts et outils của Max Bouché, NXB Afnor, 1994 14 Object models- strategies, patterns & của Peter Coad, NXB Prentice-Hall, 1997 applications 15 Modern system analysis & design của Jeffrey Hoffer, Joey F.George, Joseph S. Valacich, NXB Prentice-Hall, 2002 4
- Lịch sử phương pháp luận PTHT • Phương pháp hướng cấu trúc được xem là phương pháp chuẩn phát triển phần mềm vào thập niên 70- 80. • Tuy nhiên phương pháp này tỏ ra kém hiệu quả đối với những dự án phần mềm lớn và tính tái sử dụng thấp • Phương pháp luận phát triển phần mềm hướng đối tượng ra đời vào thập niên 90 và nhanh chóng trở nên phổ biến. 5
- Lịch sử phương pháp luận PTHT (tt) • Phương pháp hướng cấu trúc – Là phương pháp thiết kế từ trên xuống (top-down) : Chia bài toán lớn thành các bài toán con, mỗi bài toán con giải quyết một vấn đề nhất định. – Cách tiếp cận • Hướng dữ liệu : phân rã phần mềm theo các chức năng cần đáp ứng và dữ liệu cho các chức năng đó. • Hướng xử lý : phân tích phần mềm dựa trên các hoạt động thực thi, không quan tâm đến định nghĩa dữ liệu. – Ưu điểm • Tư duy phân tích rõ rang, chương trình dễ hiểu – Hạn chế • Không hỗ trợ việc sử dụng lại do từng modul phụ thuộc chặt chẽ vào bài toán và cấu trúc dữ liệu cụ thể. • Không thích hợp giải quyết các bài toán lớn vì có sự phức tạp trong phân rã và tích hợp. 6
- Lịch sử phương pháp luận PTHT (tt) • Hướng đối tượng – Tư duy theo cách ánh xạ các thành phần của hệ thống vào các đối tượng ngoài đời thực. – Ứng dụng được chia thành các thành phần nhỏ, gọi là các đối tượng, chúng tương đối độc lập với nhau. – Mỗi đối tượng bao gồm đầy đủ dữ liệu và các hoạt động của nó. – Hệ thống được xây dựng bằng cách ghép nối các đối tượng lại với nhau thông qua các mối quan hệ cũng như sự tương tác giữa chúng. – Ưu điểm: • Hỗ trợ sử dụng lại mã nguồn do tính đặc thù của phương pháp lập trình hướng đối tượng. • Phù hợp với các hệ thống lớn do chỉ chú trọng việc xác định đối tượng và các hành vi có liên quan. 7
- Lịch sử phương pháp luận PTHT (tt) • Các nguyên tắc cơ bản của hướng đối tượng – Trừu tượng hóa • Thực thể phần mềm được trừu tượng hóa thành các đối tượng, các đối tượng được trừu tượng hóa thành các lớp với thuộc tính và phương thức tương ứng. Các lớp được trừu tượng hóa thành cac lớp kế thừa. – Tính đóng gói • Các đối tượng có những phương thức và thuộc tính riêng. • Việc Cài đặt các đối tượng độc lập với nhau. • Cài đặt hệ thống độc lập với người sử dụng – Tính phân cấp • Phân cấp theo các cấp độ trừu tượng từ cao đến thấp 8
- Lịch sử phương pháp luận PTHT • Các khái niệm cơ bản của hướng đối tượng – Đối tượng : biểu diễn cho một thực thể vật lý, một thực thể khái niệm hay một thực thể phần mềm. – Lớp : là mô tả của một nhóm đối tượng có chung các thuộc tính, hành vi và các mối quan hệ. Đối tượng là thể hiện của một lớp và lớp là định nghĩa trừu tượng của đối tượng. – Thành phần : là một phần của hệ thống hoạt động độc lập và giữ vai trò nhất định trong hệ thống. – Gói : là cách tổ chức các thành phần, phần tử hệ thống thành các nhóm. Tập hợp các gói có thể tạo nên một hệ thống con. – Kế thừa : một lớp có thể sử dụng lại thuộc tính, phương 9 thức của một hoặc nhiều lớp khác.
- Mô hình hóa hệ thống phần mềm • Mục tiêu của giai đoạn PTHT là xây dựng nên mô hình tổng thể cho hệ thống cần xây dựng. • Mô hình này cần được trình bày theo hướng nhìn (View) của người sử dụng và quan trọng là họ phải hiểu được. • Mô hình này cũng được sử dụng để xác định các yêu cầu của người dùng đối với hệ thống và giúp chúng đánh giá tính khả thi của dự án. • Mô hình thường được mô tả bằng ngôn ngữ trực quan, có nghĩa là đa phần các thông tin được thể hiện bằng các ký hiệu đồ họa và các kết nối giữa chúng. 10
- UML là gì? • Là ngôn ngữ mô hình hóa, không phải là phương pháp. • Ngôn ngữ mô hình hóa (đa phần là ký hiệu hình học) là các khái niệm dùng để biểu diễn thiết kế. • Ngôn ngữ mô hình hóa là thành phần quan trọng của phương pháp, là công cụ chính để giao tiếp giữa các thành viên. 11
- Vì sao chọn UML? • Có đầy đủ các lợi thế của phương pháp PTHĐT. • UML cho phép – Đặc tả (specify) – Xây dựng (construct) – Hiển thị (display) – Lập sưu liệu (document) các hệ thống thông tin sử dụng khái niệm đối tượng. 12
- Vì sao chọn UML? (tt) • Đặc tả – Trong quá trình phát triển hệ thống chúng ta cần "giao tiếp" với các mô hình của hệ thống • → phương pháp, công cụ giao tiếp phải chuẩn mực, dùng chung, không mơ hồ. – Dễ dàng có được nếu dùng UML.
- Vì sao chọn UML? (tt) • Xây dựng – Vì UML là ngôn ngữ hình thức nên có thể xây dựng công cụ diễn dịch nó. – Chúng ta có thể đối sánh các phần tử của UML sang một ngôn ngữ lập trình như C++, JAVA nếu sử dụng các công cụ hỗ trọ như Rational Rose
- Vì sao chọn UML? (tt) • Hiển thị – Ký hiệu hình học cho phép dễ dàng hiểu được các vấn đề đặc tả. – UML là ngôn ngữ hình thức nên nhà phát triển nào quen thuộc với UML sẽ dễ dàng hiểu các mô hình.
- Vì sao chọn UML? (tt) • Sưu liệu – Sử dụng UML theo cách phù hợp sẽ có thể tạo được tập sưu liệu như là bản thiết kế hoàn chỉnh của hệ thống.
- Lịch sử phát triển UML Publication circa ´05 UML 2.0 Industrialization Publication ´01 UML 1.4 Publication of UML 1.1 September ´97 UML 1.1 Standardization Publication of UML 1.0, Jan ´97 UML 1.0 public feedback June ´96 & Oct ´96 UML 0.9 & 0.91 Unification UML Partners’ OOPSLA ´95 Unified Method 0.8 Expertise Booch ´93 OMT - 2 Fragmentation Other methods Booch ´91 OMT - 1 OOSE
- Giới thiệu UML • Các khái niệm trong UML – Mô hình : • là biểu diễn của sự vật hay tập sự vật trong một lĩnh vực áp dụng nào đó theo một cách khác. • Nắm bắt các khía cạnh quan trọng và bỏ qua những khía cạnh không quan trọng. • Ý nghĩa của mô hình đối với PTHT – Nắm bắt chính xác yêu cầu của hệ thống cần phát triển – Thể hiện tư duy về thiết kế hệ thống – Giúp làm chủ các hệ thống phức tạp. 18
- Giới thiệu UML (tt) • Các khái niệm trong UML – Hướng nhìn (view) : Là tập con các biểu đồ UML được xây dựng để biểu diễn một khía cạnh nào đó của hệ thống. Khía cạnh chính Các hướng nhìn Các biểu đồ Các khía niệm chính Static view Class diagram Lớp, liên hệ kế thừa, Use case view Use case diagram Use case, tác nhân, Khía cạnh cấu trúc hệ thống Implementtation view Component diagram Thành phần, giao diện, Deployment view Deployment diagram Node, vị trí, State machine view State diagram Trạng thái, sự kiện, Activity view Activity diagam Trạng thái, sự kiện, Khía cạnh động Sequence diagram Tương tác, thông điệp, Interaction view Collaboration diagram Cộng tác, thông điệp, 19
- Giới thiệu UML (tt) • UML và các giai đoạn phát triển hệ thống – Preliminary Investigation: Sử dụng các use cases mô tả các yêu cầu của người dùng. Phần mô tả use case xác định các yêu cầu, phần diagram thể hiện mối quan hệ và giao tiếp với hệ thống. – Analysis: Sử dụng Class diagrams nhằm trừu tượng hóa các thực thể ngoài đời thực để làm rõ sự tồn tại cũng như mối quan hệ của chúng. Chỉ những lớp (class) nằm trong phạm vi bài toán mới đáng quan tâm. – Design: Kết quả phần analysis được phát triển thành giải pháp kỹ thuật. Các lớp được mô hình hóa chi tiết để cung cấp hạ tầng kỹ thuật như giao diện, nền tảng cho database, Kết quả phần Design là các đặc tả chi tiết cho giai đoạn xây dựng phần mềm. – Development: Mô hình Design được chuyển thành code. Lập trình viên sử dụng các biểu đồ UML trong giai đoạn Design để hiểu vấn đề và tạo code. – Test : Sử dụng các biểu đồ của các giai đoạn trước để kiểm thử hệ thống. 20
- Giới thiệu UML (tt) • Các loại sơ đồ trong UML UML Sơ đồ về cấu trúc Sơ đồ về hành xử Sơ đồ về tương tác 21
- Giới thiệu UML (tt) Class diagram Object diagram Sơ đồ lớp Structure diagrams Sơ đồ đối tượng Composite Sơ đồ về Sơ đồ structure cấu trúc cấu trúc phức diagram Sơ đồ đóng gói Sơ đồ Sơ đồ Package diagram thành tố triển khai Component diagram Deployment diagram 22
- Giới thiệu UML (tt) • Sơ đồ lớp (class diagram) – Chỉ ra các lớp đối tượng trong hệ thống. – Các thuộc tính và phương thức của từng lớp. – Mối quan hệ giữa các lớp. • Sơ đồ đối tượng (object diagram) – là một phiên bản của sơ đồ lớp. – Chỉ ra một loạt các đối tượng thực thể của lớp, thay vì các lớp. – Một sơ đồ đối tượng vì vậy là một ví dụ của sơ đồ lớp, chỉ ra một bức tranh mà hệ thống có thể có tại một thời điểm nào đó. 23
- Giới thiệu UML (tt) • Sơ đồ cấu trúc phức (Composite structure diagram) – Chỉ ra cấu trúc nội tại của một lớp – Các cộng tác có thể có • Sơ đồ đóng gói (Package diagram) – Là cách tổ chức các phần tử mô hình hóa vào một nhóm – Có thể áp dụng cho bất kỳ loại sơ đồ UML nào – Thường dùng để đóng gói cho sơ đồ lớp và sơ đồ use case 24