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