Nội dung chính của bài giảng trình bày kiến thức về ngôn ngữ UML 2.5 và sử dụng các lược đồ của ngôn ngữ UML để mô hình hóa phần mềm trong quá trình phát triển. Ngoài ra còn hiểu được cách chuyển đổi mô hình phục vụ phát triển phần mềm dựa trên mô hình hóa. Mời các bạn tham khảo!
MƠ HÌNH HỐ PHẦN MỀM TUẦN 1: TỔNG QUAN GVLT: NGUYỄN THỊ MINH TUYỀN CuuDuongThanCong.com https://fb.com/tailieudientucntt NỘI DUNG Mô hình hố Ngơn ngữ mơ hình hố Hướng đối tượng UML MƠ HÌNH HỐ PHẦN MỀM NGUYỄN THỊ MINH TUYỀN CuuDuongThanCong.com https://fb.com/tailieudientucntt NỘI DUNG Mô hình hố Ngơn ngữ mơ hình hố Hướng đối tượng UML MƠ HÌNH HỐ PHẦN MỀM NGUYỄN THỊ MINH TUYỀN CuuDuongThanCong.com https://fb.com/tailieudientucntt MỞ ĐỀ [1] • Giả sử: Bạn cần phát triển hệ thống phần mềm khách hàng yêu cầu • Thử thách đầu tiên: • Chỉ rõ khách hàng thật cần gì, • Hiểu xác yêu cầu khác hàng cho hệ thống xây dựng chưa? • Bước quan trọng cho thành bại dự án • Câu hỏi đặt ra: Làm để giao tiếp với khách hàng? • Ngơn ngữ tự nhiên: khơng thực lựa chọn tốt (vì khơng xác nhập nhằng) MƠ HÌNH HỐ PHẦN MỀM NGUYỄN THỊ MINH TUYỀN CuuDuongThanCong.com https://fb.com/tailieudientucntt MỞ ĐỀ [2] • Những bạn cần: Tạo mơ hình cho phần mềm bạn cần xây dựng • Mục tiêu mơ hình: • • Nổi rõ khía cạnh quan trọng phần mềm dạng thức rõ ràng khái niệm, Đơn giản mức đủ trừu tượng, loại bỏ chi tiết khơng liên quan • Ví dụ: vẽ xây dựng • • Một vẽ xây dựng cho tồ nhà chứa thơng tin ví dụ kế hoạch xây dựng sàn • Kế hoạch không chứa thông tin thiết kế điện nước nhà (sẽ sử dụng kế hoạch tách biệt, nhằm tránh biểu diễn nhiều thứ kế hoạch) Các vật liệu xây dựng khơng rõ thời điểm chúng không liên quan làm cho kế hoạch trở nên phức tạp mức cần thiết MƠ HÌNH HỐ PHẦN MỀM NGUYỄN THỊ MINH TUYỀN CuuDuongThanCong.com https://fb.com/tailieudientucntt MÔ HÌNH • Khái niệm mơ hình quan trọng không công nghệ thông tin mà ngành khoa học khác (toán, lý, triết, kinh tế, ) • Xuất phát từ từ latin "modulus", để tỉ lệ kiến trúc, suốt thời kỳ Phục hưng, • Từ "modello" dùng Ý cho đối tượng minh hoạ nhằm mục đích trình bày hình thức thiết kế tồ nhà có kế hoạch đến khách hàng làm rõ câu hỏi liên quan đến thiết kế kiến trúc • Những kỷ sau đó, khái niệm "model" sử dụng ngành khoa học khác để mô tả đơn giản kiện phức tạp từ thực tế MÔ HÌNH HỐ PHẦN MỀM NGUYỄN THỊ MINH TUYỀN CuuDuongThanCong.com https://fb.com/tailieudientucntt MƠ HÌNH HỐ [1] • Con người có khả tái lại thực tế việc áp dụng q trình nhận diện chủ quan • Trừu tượng hố (abstraction) q trình bật • Trừu tượng hố gồm khả tìm kiếm điểm chung từ nhiều quan sát khác sau tái thực tế lúc có khả năng: • tổng qt hố tính cụ thể đối tượng thật (generalization), • phân loại đối tượng thành nhóm đồng (classification) • tổng hợp đối tượng thành đối tượng phức tạp (aggregation) MƠ HÌNH HỐ PHẦN MỀM NGUYỄN THỊ MINH TUYỀN CuuDuongThanCong.com https://fb.com/tailieudientucntt MƠ HÌNH HỐ [2] • Tổng quát hoá, phân loại, tổng hợp đại diện cho hành vi tự nhiên tâm trí người thực người sống hàng ngày • Trừu tượng hố áp dụng rộng rãi khoa học công nghệ è gọi mơ hình hố (modeling) • Ta định nghĩa mơ hình cách biểu diễn phần đơn giản hố thực tế, nhằm hồn thành tác vụ đạt thoả thuận chủ đề è Theo định nghĩa, mơ hình khơng mơ tả đầy đủ thực tế MƠ HÌNH HỐ PHẦN MỀM NGUYỄN THỊ MINH TUYỀN CuuDuongThanCong.com https://fb.com/tailieudientucntt VAI TRỊ VÀ MỤC ĐÍCH [1] • Các mơ hình có tầm quan trọng trung tâm nhiều bối cảnh khoa học: vật lý, hoá học, triết học, • Mơ hình thể hai vai trị cách áp dụng trừu tượng hố: • Tính giảm nhẹ: mơ hình phản ánh chọn lựa thuộc tính gốc, tập trung vào khía cạnh quan tâm • Tính ánh xạ: mơ hình dựa vào cá thể gốc, lấy làm mẫu thử nghiệm loại cá nhân trừu tượng hoá tổng quát hoá thành mơ hình • Mục đích mơ hình: • descriptive purposes, prescriptive purposes • để định nghĩa cách hệ thống cài đặt MƠ HÌNH HỐ PHẦN MỀM NGUYỄN THỊ MINH TUYỀN CuuDuongThanCong.com https://fb.com/tailieudientucntt VAI TRÒ VÀ MỤC ĐÍCH [2] • Everything is a model, since nothing can be processed by the human mind without being “modeled” • Các mơ hình quan trọng trọng lĩnh vực kỹ thuật, học, kỹ thuật dân dụng, khoa học máy tính kỹ thuật máy tính • Trong quy trình sản xuất: mơ hình cho phép kiểm tra, xác minh, viết tài liệu thảo luận thuộc tính sản phẩm trước chúng sản xuất thực • Trong nhiều trường hợp: mơ hình cịn sử dụng để trực tiếp tự động hố việc sản xuất hàng hóa MƠ HÌNH HỐ PHẦN MỀM NGUYỄN THỊ MINH TUYỀN CuuDuongThanCong.com https://fb.com/tailieudientucntt 10 CLASS DIAGRAM • Khái niệm biểu đồ lớp bắt nguồn từ việc mơ hình hố liệu khái niệm phát triển phần mềm hướng đối tượng • Các khái niệm dùng để đặc tả cấu trúc liệu cấu trúc đối tượng hệ thống • Dựa vào khái niệm: class, generalization, association MÔ HÌNH HỐ PHẦN MỀM CuuDuongThanCong.com NGUYỄN THỊ MINH TUYỀN https://fb.com/tailieudientucntt 42 OBJECT DIAGRAM • Dựa vào định nghĩa biểu đồ lớp có liên quan, biểu đồ đối tượng "snapshot" cụ thể trạng thái hệ thống thời gian thực thi cụ thể MƠ HÌNH HỐ PHẦN MỀM NGUYỄN THỊ MINH TUYỀN CuuDuongThanCong.com https://fb.com/tailieudientucntt 43 PACKAGE DIAGRAM • Gom nhóm biểu đồ phần tử mơ hình theo thuộc tính chung, ví dụ gắn kết chức • Thường tích hợp biểu đồ khác thể biểu đồ riêng lẻ MƠ HÌNH HỐ PHẦN MỀM NGUYỄN THỊ MINH TUYỀN CuuDuongThanCong.com https://fb.com/tailieudientucntt 44 COMPONENT DIAGRAM • Một component đơn vị độc lập, thực thi được, cung cấp cho component khác dịch vụ sử dụng dịch vụ từ component khác • UML khơng có quy định chặt chẽ tách biệt khái niệm hướng đối tượng hướng component • Khi đặc tả component, ta mơ hình hố hai góc nhìn cách rõ ràng: • góc nhìn từ bên ngồi (black box view) : biểu diễn đặc tả component • Góc nhìn từ bên (white box view): định nghĩa việc cài đặt component MƠ HÌNH HỐ PHẦN MỀM NGUYỄN THỊ MINH TUYỀN CuuDuongThanCong.com https://fb.com/tailieudientucntt 45 COMPOSITION STRUCTURE DIAGRAM • Cho phép phân rã có phân cấp thành phần hệ thống • Sử dụng biểu đồ để mơ tả cấu trúc bên lớp thành phần mức chi tiết Cho phép ta đạt mức độ chi tiết cao biểu đồ lớp việc mơ hình hố nằm bối cảnh cụ thể MƠ HÌNH HỐ PHẦN MỀM NGUYỄN THỊ MINH TUYỀN CuuDuongThanCong.com https://fb.com/tailieudientucntt 46 DEPLOYMENT DIAGRAM • Cấu trúc liên kết phần cứng sử dụng hệ thống thời gian thực thi biểu diễn biểu đồ triển khai • Phần cứng bao gồm đơn vị xử lý dạng node mối quan hệ giao tiếp node Hệ thống thời gian thực thi chứa "artifact" triển khai tới node MÔ HÌNH HỐ PHẦN MỀM NGUYỄN THỊ MINH TUYỀN CuuDuongThanCong.com https://fb.com/tailieudientucntt 47 PROFILE DIAGRAM • Sử dụng profiles, ta mở rộng UML để giới thiệu khái niệm miền cụ thể MƠ HÌNH HỐ PHẦN MỀM NGUYỄN THỊ MINH TUYỀN CuuDuongThanCong.com https://fb.com/tailieudientucntt 48 BEHAVIOR DIAGRAMS • Cung cấp sở hạ tầng cho phép ta định nghĩa hành vi mức chi tiết • Đề cập đến kết trực tiếp hành động đối tượng • Ảnh hưởng đến cách mà trạng thái đối tượng thay đổi theo thời gian • Hành vi đặc tả thơng qua hành động đối tượng đơn lẻ kết từ việc tương tác đối tượng MÔ HÌNH HỐ PHẦN MỀM NGUYỄN THỊ MINH TUYỀN CuuDuongThanCong.com https://fb.com/tailieudientucntt 49 USE CASE DIAGRAM • Cho phép định nghĩa yêu cầu hệ thống cần phải thực • Biểu đồ mô tả người sử dụng sử dụng chức hệ thống mà không cần đặc tả chi tiết việc cài đặt • Các đơn vị chức mà hệ thống cung cấp cho người dùng gọi use case MƠ HÌNH HOÁ PHẦN MỀM NGUYỄN THỊ MINH TUYỀN CuuDuongThanCong.com https://fb.com/tailieudientucntt 50 STATE MACHINE DIAGRAM • Trong vịng đời mình, đối tượng qua tập trạng thái • Mơ tả hành vi phép đối tượng dạng thức trạng thái có việc chuyển tiếp trạng thái kích hoạt kiện khác MƠ HÌNH HỐ PHẦN MỀM NGUYỄN THỊ MINH TUYỀN CuuDuongThanCong.com https://fb.com/tailieudientucntt 51 ACTIVITY DIAGRAM • Được sử dụng để mơ hình hố tiến trình: tiến trình nghiệp vụ tiến trình phần mềm • Cung cấp chế điều khiển luồng chế dòng liệu để điều hướng hành động sinh hoạt động, tiến trình MƠ HÌNH HỐ PHẦN MỀM NGUYỄN THỊ MINH TUYỀN CuuDuongThanCong.com https://fb.com/tailieudientucntt 52 SEQUENCE DIAGRAM • Mơ tả tương tác đối tượng để thực tác vụ cụ thể • Tập trung vào trình tự theo thời gian thông điệp trao đổi đối tác tương tác với • Các cấu trúc khác để điều khiển thứ tự thời gian thông điệp khái niệm cho việc mơ-đun hố cho phép ta mơ hình hố tương tác phức tạp MƠ HÌNH HỐ PHẦN MỀM NGUYỄN THỊ MINH TUYỀN CuuDuongThanCong.com https://fb.com/tailieudientucntt 53 COMMUNICATION DIAGRAM • Tương tự biểu đồ tuần tự, mô tả việc giao tiếp đối tượng khác • Trọng tâm quan hệ giao tiếp đối tác tương tác với dựa vào thứ tự thời gian việc trao đổi thơng điệp • Biểu đồ rõ tương tác với MƠ HÌNH HOÁ PHẦN MỀM NGUYỄN THỊ MINH TUYỀN CuuDuongThanCong.com https://fb.com/tailieudientucntt 54 TIMING DIAGRAM • Chỉ rõ thay đổi trạng thái đối tác tương tác xảy kiện thời gian kết việc trao đổi thơng điệp MƠ HÌNH HỐ PHẦN MỀM NGUYỄN THỊ MINH TUYỀN CuuDuongThanCong.com https://fb.com/tailieudientucntt 55 INTERACTION OVERVIEW DIAGRAM • Mơ hình hố việc kết nối tiến trình tương tác khác việc thiết lập biểu đồ tương tác riêng lẻ (biểu đồ tuần tự, biểu đồ giao tiếp, biểu đồ thời gian, ) chuỗi thời gian ngun nhân • Nó đặc tả điều kiện tiến trình tương tác phép thực • Để mơ hình hố dịng điều khiển, khái niệm từ biểu đồ hoạt động sử dụng MƠ HÌNH HỐ PHẦN MỀM NGUYỄN THỊ MINH TUYỀN CuuDuongThanCong.com https://fb.com/tailieudientucntt 56 ... đọc UML 1. 1 vào năm 19 97 MƠ HÌNH HỐ PHẦN MỀM NGUYỄN THỊ MINH TUYỀN CuuDuongThanCong.com https://fb.com/tailieudientucntt 32 CÁC PHIÊN BẢN CỦA UML Phiên Ngày đời Mô tả 1. 1 11 /19 97 UML 1. 1 chấp... MƠ HÌNH HỐ PHẦN MỀM NGUYỄN THỊ MINH TUYỀN CuuDuongThanCong.com https://fb.com/tailieudientucntt 12 NỘI DUNG Mơ hình hố Ngơn ngữ mơ hình hố Hướng đối tượng UML MƠ HÌNH HỐ PHẦN MỀM NGUYỄN THỊ MINH. .. cấu trúc hành vi hệ thống MƠ HÌNH HỐ PHẦN MỀM NGUYỄN THỊ MINH TUYỀN CuuDuongThanCong.com https://fb.com/tailieudientucntt 37 MƠ HÌNH HOÁ PHẦN MỀM NGUYỄN THỊ MINH TUYỀN CuuDuongThanCong.com https://fb.com/tailieudientucntt