Xem mẫu

  1. 03/05/2018 Chương 2. MÔ HÌNH HÓA HỆ THỐNG VÀ NGÔN NGỮ UML TS. Vũ Chí Cường - 2018 Nội dung Mô hình hóa hệ thống • Khái niệm • Mục đích • Mô hình hóa hệ thống phần mềm Ngôn ngữ UML • Lịch sử phát triển • Các phần tử của UML Các phương pháp phân tích và thiết kế hệ thống hiện đại 1
  2. 03/05/2018 Mô hình hóa hệ thống Khái niệm • Mô hình là một dạng trừu tượng hóa của một hệ thống thực. • Mô hình là một hình ảnh (một biểu diễn) của một hệ thống thực, được diễn tả: Ở một mức độ trừu tượng hóa nào đó Theo một quan điểm (hay một góc nhìn) nào đó Bởi một hình thức diễn tả hiểu được (văn bản, phương trình, bảng, đồ thị,…) nào đó • Mô hình hóa là việc dùng mô hình để nhận thức và diễn tả một hệ thống • Quá trình phân tích và thiết kế hệ thống là quá trình mô hình hóa hệ thống đó Các phương pháp phân tích và thiết kế hệ thống hiện đại Mô hình hóa hệ thống Mục đích • Giúp hiểu và thực hiện được sự trừu tượng hóa, tổng quát hóa các khái niệm cơ sở nhằm giảm thiểu độ phức tạp của hệ thống • Giúp quan sát được hệ thống như nó vốn có và nó phải có • Giúp đặc tả được cấu trúc và hành vi của hệ thống • Giúp tạo khuôn mẫu và hướng dẫn cách xây dựng, thử nghiệm, mô phỏng, thực hiện, hoàn thiện theo mô hình • Là cơ sở để trao đổi Các phương pháp phân tích và thiết kế hệ thống hiện đại 2
  3. 03/05/2018 Mô hình hóa hệ thống Mô hình hóa hệ thống phần mềm • Mô hình hóa hướng chức năng (từ 1970, với Youndon, Constantine, DeMacro,...) lấy chức năng làm đơn vị phân rã hệ thống • Mô hình hóa hướng đối tượng (từ 1990, với Booch, Rumbaugh, Jacobson, Yourdon,...) lấy đối tượng làm đơn vị phân rã hệ thống. Các phương pháp phân tích và thiết kế hệ thống hiện đại Ngôn ngữ UML Lịch sử phát triển Các khái niệm cơ bản của UML • Các góc nhìn • Các biểu đồ Các phương pháp phân tích và thiết kế hệ thống hiện đại 3
  4. 03/05/2018 Lịch sử phát triển Các phương pháp phân tích và thiết kế hệ thống hiện đại Lịch sử phát triển Các phương pháp phân tích và thiết kế hệ thống hiện đại 4
  5. 03/05/2018 Các khái niệm cơ bản trong UML Các đối tượng Các góc nhìn Các biểu đồ Các phương pháp phân tích và thiết kế hệ thống hiện đại Các đối tượng Đối tượng là một khái niệm, một sự trừu tượng hóa hay một sự vật có nghĩa trong bài toán đang khảo sát Đặc trưng của mô hình đối tượng • Sự trừu tượng • Sự đóng gói • Tính modun • Tính phân cấp (kế thừa) • Tính đồng thời Các phương pháp phân tích và thiết kế hệ thống hiện đại 5
  6. 03/05/2018 Các đối tượng Đối tượng là một khái niệm, một sự trừu tượng hóa hay một sự vật có nghĩa trong bài toán đang khảo sát Đặc trưng của mô hình đối tượng • Sự trừu tượng • Sự đóng gói • Tính modun • Tính phân cấp (kế thừa) • Tính đồng thời Các phương pháp phân tích và thiết kế hệ thống hiện đại Các đối tượng Đối tượng là một khái niệm, một sự trừu tượng hóa hay một sự vật có nghĩa trong bài toán đang khảo sát Đặc trưng của mô hình đối tượng • Sự trừu tượng • Sự đóng gói • Tính modun • Tính phân cấp (kế thừa) • Tính đồng thời Các phương pháp phân tích và thiết kế hệ thống hiện đại 6
  7. 03/05/2018 Các đối tượng Đối tượng là một khái niệm, một sự trừu tượng hóa hay một sự vật có nghĩa trong bài toán đang khảo sát Đặc trưng của mô hình đối tượng • Sự trừu tượng • Sự đóng gói • Tính modun • Tính phân cấp (kế thừa) • Tính đồng thời Các phương pháp phân tích và thiết kế hệ thống hiện đại Các đối tượng Đối tượng là một khái niệm, một sự trừu tượng hóa hay một sự vật có nghĩa trong bài toán đang khảo sát Đặc trưng của mô hình đối tượng • Sự trừu tượng • Sự đóng gói • Tính modun • Tính phân cấp (kế thừa) • Tính đồng thời Các phương pháp phân tích và thiết kế hệ thống hiện đại 7
  8. 03/05/2018 Các đối tượng Đối tượng là một khái niệm, một sự trừu tượng hóa hay một sự vật có nghĩa trong bài toán đang khảo sát Đặc trưng của mô hình đối tượng • Sự trừu tượng • Sự đóng gói • Tính modun • Tính phân cấp (kế thừa) • Tính đồng thời Các phương pháp phân tích và thiết kế hệ thống hiện đại Các đối tượng Đối tượng là một khái niệm, một sự trừu tượng hóa hay một sự vật có nghĩa trong bài toán đang khảo sát Đặc trưng của mô hình đối tượng • Sự trừu tượng • Sự đóng gói • Tính modun • Tính phân cấp (kế thừa) • Tính đồng thời Các phương pháp phân tích và thiết kế hệ thống hiện đại 8
  9. 03/05/2018 Các đối tượng Đối tượng là một khái niệm, một sự trừu tượng hóa hay một sự vật có nghĩa trong bài toán đang khảo sát Đặc trưng của mô hình đối tượng • Sự trừu tượng • Sự đóng gói • Tính modun • Tính phân cấp (kế thừa) • Tính đồng thời Các phương pháp phân tích và thiết kế hệ thống hiện đại Các góc nhìn Là một các diễn tả hệ thống Các góc nhìn của UML • Góc nhìn ca sử dụng • Góc nhìn thiết kế/logic • Góc nhìn tiến trình (quá trình)/tương tranh • Góc nhìn cài đặt (thực thi)/thành phần • Góc nhìn triển khai/bố trí Các phương pháp phân tích và thiết kế hệ thống hiện đại 9
  10. 03/05/2018 Các góc nhìn Là một các diễn tả hệ thống Các góc nhìn của UML • Góc nhìn ca sử dụng Là góc nhìn tử ngoài vào hệ thống Là cách nhìn của các người dùng cuối, các người phân tích, người kiểm định Không phản ánh tổ chức bên trong của phần mềm mà chỉ làm rõ các chức năng lớn mà hệ thống phải đáp ứng cho người dùng Biểu đồ ca sử dụng, biểu đồ tương tác, biểu đồ trạng thái, biểu đồ hoạt động. • Góc nhìn thiết kế/logic • Góc nhìn tiến trình (quá trình)/tương tranh • Góc nhìn cài đặt (thực thi)/thành phần • Góc nhìn triển khai/bố trí Các phương pháp phân tích và thiết kế hệ thống hiện đại Các góc nhìn Là một các diễn tả hệ thống Các góc nhìn của UML • Góc nhìn ca sử dụng • Góc nhìn thiết kế/logic Là góc nhìn vào bên trong hệ thống Là cách nhìn của những người thiết kế hệ thống Biểu đồ lớp, biểu đồ đối tượng Biểu đồ tương tác, biểu đồ trạng thái, biểu đồ hoạt động. • Góc nhìn tiến trình (quá trình)/tương tranh • Góc nhìn cài đặt (thực thi)/thành phần • Góc nhìn triển khai/bố trí Các phương pháp phân tích và thiết kế hệ thống hiện đại 10
  11. 03/05/2018 Các góc nhìn Là một các diễn tả hệ thống Các góc nhìn của UML • Góc nhìn ca sử dụng • Góc nhìn thiết kế/logic • Góc nhìn tiến trình (quá trình)/tương tranh Phản ánh các lộ trình điều khiển, các quá trình thực hiện Cho thấy sự hoạt động song hành hay đồng bộ của hệ thống Biểu đồ lớp, biểu đồ đối tượng (lớp chủ động) Biểu đồ tương tác, biểu đồ trạng thái, biểu đồ hoạt động. • Góc nhìn cài đặt (thực thi)/thành phần • Góc nhìn triển khai/bố trí Các phương pháp phân tích và thiết kế hệ thống hiện đại Các góc nhìn Là một các diễn tả hệ thống Các góc nhìn của UML • Góc nhìn ca sử dụng • Góc nhìn thiết kế/logic • Góc nhìn tiến trình (quá trình)/tương tranh • Góc nhìn cài đặt (thực thi)/thành phần Là góc nhìn đối với dạng phát hành của phần mềm Bao gồm các thành phần, các tệp tương đối độc lập có thể được lắp ghép theo nhiều cách Biểu đồ thành phần Biểu đồ tương tác, biểu đồ trạng thái, biểu đồ hoạt động • Góc nhìn triển khai/bố trí Các phương pháp phân tích và thiết kế hệ thống hiện đại 11
  12. 03/05/2018 Các góc nhìn Là một các diễn tả hệ thống Các góc nhìn của UML • Góc nhìn ca sử dụng • Góc nhìn thiết kế/logic • Góc nhìn tiến trình (quá trình)/tương tranh • Góc nhìn cài đặt (thực thi)/thành phần • Góc nhìn triển khai/bố trí Là góc nhìn về topo của phần cứng mà trên đó hệ thống vận hành Chỉ rõ sự phân bố, sự sắp đặt các phần của hệ thống vật lý Biểu đồ bố trí Biểu đồ tương tác, biểu đồ trạng thái, biểu đồ hoạt động Các phương pháp phân tích và thiết kế hệ thống hiện đại Các biểu đồ Biểu đồ (diagram) là đồ thị biểu diễn đồ họa về tập các phần tử (các từ vựng) trong mô hình và mối quan hệ của chúng Biểu đồ thường được thể hiện như một đồ thị liên thông với các đỉnh (là các sự vật) và các cung (là các mối quan hệ) Sự vật • Sự vật cấu trúc (lớp, giao diện, ca sử dụng, thành phần, nút,...) • Sự vật hành vi (sự tương tác, trạng thái,...) Các mối quan hệ (phụ thuộc, kết hợp, tổng quát hóa, hiện thức họa) Các phương pháp phân tích và thiết kế hệ thống hiện đại 12
  13. 03/05/2018 Các biểu đồ Nhóm biểu đồ về cấu trúc • Biểu đồ lớp • Biều đồ đối tượng • Biểu đồ thành phần • Biểu đồ bố trí • Biểu đồ gói • Biểu đồ cấu trúc đa hợp Nhóm biểu đồ hành vi • Biểu đồ ca sử dụng • Biểu đồ trình tự • Biểu đồ giao tiếp • Biểu đồ máy trạng thái • Biểu đồ hoạt động • Biểu đồ bao quát tương tác • Biểu đồ thời khác Các phương pháp phân tích và thiết kế hệ thống hiện đại Biểu đồ lớp Ý nghĩa • Biểu đồ lớp phô bày cấu trúc tĩnh cùa các lớp trong hệ thống. Các lớp biểu diễn cho các sự vật mà hệ thống quan tâm. • Hệ thống có thể được mô tả bởi một số biểu đồ lớp và một lớp có thể tham gia vào nhiều biểu đồ. Ký hiệu • Tên lớp • Thuộc tính (attributes) • Thao tác (methord) • Phạm vi truy cập ( Các mối quan hệ Ví dụ Các phương pháp phân tích và thiết kế hệ thống hiện đại 13
  14. 03/05/2018 Biểu đồ lớp Ý nghĩa Ký hiệu Các mối quan hệ • Quan hệ liên kết • Quan hệ khái quát • Quan hệ kết tập • Quan hệ hợp thành • Quan hệ phụ thuộc • Quan hệ thực thi Ví dụ Các phương pháp phân tích và thiết kế hệ thống hiện đại Biểu đồ lớp Ý nghĩa Ký hiệu Các mối quan hệ • Quan hệ liên kết • Quan hệ khái quát • Quan hệ kết tập • Quan hệ hợp thành • Quan hệ phụ thuộc • Quan hệ thực thi Ví dụ Các phương pháp phân tích và thiết kế hệ thống hiện đại 14
  15. 03/05/2018 Biểu đồ lớp Ý nghĩa Ký hiệu Các mối quan hệ • Quan hệ liên kết • Quan hệ khái quát • Quan hệ kết tập • Quan hệ hợp thành • Quan hệ phụ thuộc • Quan hệ thực thi Ví dụ Các phương pháp phân tích và thiết kế hệ thống hiện đại Biểu đồ lớp Ý nghĩa Ký hiệu Các mối quan hệ • Quan hệ liên kết • Quan hệ khái quát • Quan hệ kết tập • Quan hệ hợp thành • Quan hệ phụ thuộc • Quan hệ thực thi Ví dụ Các phương pháp phân tích và thiết kế hệ thống hiện đại 15
  16. 03/05/2018 Biểu đồ lớp Ý nghĩa Ký hiệu Các mối quan hệ • Quan hệ liên kết • Quan hệ khái quát • Quan hệ kết tập • Quan hệ hợp thành • Quan hệ phụ thuộc • Quan hệ thực thi Ví dụ Các phương pháp phân tích và thiết kế hệ thống hiện đại Biểu đồ lớp Ý nghĩa Ký hiệu Các mối quan hệ • Quan hệ liên kết • Quan hệ khái quát • Quan hệ kết tập • Quan hệ hợp thành • Quan hệ phụ thuộc • Quan hệ thực thi Ví dụ Các phương pháp phân tích và thiết kế hệ thống hiện đại 16
  17. 03/05/2018 Ví dụ Các phương pháp phân tích và thiết kế hệ thống hiện đại Ví dụ Các phương pháp phân tích và thiết kế hệ thống hiện đại 17
  18. 03/05/2018 Biểu đồ đối tượng Ý nghĩa • Thể hiện các đối tượng cụ thể thay cho các lớp, cho thấy các đối tượng đang tồn tại và hoạt động Ký hiệu • Sử dụng các ký hiệu của biểu đồ lớp • Tên của đối tượng được gạch dưới và mọi liên kết cụ thể đều được vẽ Ví dụ Các phương pháp phân tích và thiết kế hệ thống hiện đại Ví dụ Các phương pháp phân tích và thiết kế hệ thống hiện đại 18
  19. 03/05/2018 Biểu đồ thành phần Ý nghĩa • Trình bày cấu trúc vật lý của hệ thống dưới dạng các thành phần, cùng với các mối liên quan phụ thuộc giữa chúng. • Một thành phần có thể là thành phần mã nguồn, thành phần mã nhị phân, hoặc thành phần exe. • Mỗi thành phần tương ứng với một hay nhiều lớp, giao diện hay hợp tác trong biểu đổ lớp. • Biểu đồ thành phần được dùng để trình bày góc nhìn thực thi của hệ thống. Ký hiệu • Thành phần (components) • Giao tiếp • Mối quan hệ phụ thuộc • Gói Ví dụ Các phương pháp phân tích và thiết kế hệ thống hiện đại Vi dụ Các phương pháp phân tích và thiết kế hệ thống hiện đại 19
  20. 03/05/2018 Biểu đồ bố trí Ý nghĩa • Biểu đồ triển khai (deployment diagram) • Trình bày kiến trúc vật lý của phần cứng và phần mềm của hệ thống. Cho thấy các máy tính và thiết bị (các nút), cùng vói các kết nối giữa chúng. • Các thành phần thực hiện được (exe) được phân bổ vào các nút, cho thấy các đơn vị phần mềm được thực hiện trên các nút nào. Ký hiệu • Các nodes: hình hộp ba chiều Các phương pháp phân tích và thiết kế hệ thống hiện đại Ví dụ Các phương pháp phân tích và thiết kế hệ thống hiện đại 20
nguon tai.lieu . vn