Bài giảng Phân tích thiết kế hệ thông - Chương 5: Mô hình thiết kế cách tạo sơ đồ lớp thiết kế - Từ Thị Xuân Hiền

Sơ đồ lớp thiết kế biểu diễn chi tiết của các lớp phần mềm và giao diện trong một ứng dụng. Những thông tin tiêu biểu trong sơ đồ lớp thiết kế bao gồm:

Các lớp (classes)

Mối quan hệ và thuộc tính (associations & attributes

Giao diện và thao tác trên giao diện (interfaces with their operations)

Các phương thức (methods)

Thuộc tính (attribute)

Các phụ thuộc (dependencies)

 

pptx 34 trang yennguyen 1300
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phân tích thiết kế hệ thông - Chương 5: Mô hình thiết kế cách tạo sơ đồ lớp thiết kế - Từ Thị Xuân Hiền", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Phân tích thiết kế hệ thông - Chương 5: Mô hình thiết kế cách tạo sơ đồ lớp thiết kế - Từ Thị Xuân Hiền

Bài giảng Phân tích thiết kế hệ thông - Chương 5: Mô hình thiết kế cách tạo sơ đồ lớp thiết kế - Từ Thị Xuân Hiền
Chương 5 MÔ HÌNH THIẾT KẾCÁCH TẠO SƠ ĐỒ LỚP THIẾT KẾ ( DESIGN MODEL: CREATING DESIGN CLASS DIAGRAMS) 
Sơ đồ lớp thiết kế (Design class diagram) 
S ơ đồ lớp thiết kế biểu diễn chi tiết của các lớp phần mềm và giao diện trong một ứng dụng. Những t hông tin tiêu biểu trong sơ đồ lớp thiết kế bao gồ m: 
Các lớp (classes) 
Mối quan hệ và thuộc tính (associations & attributes 
Giao diện và thao tác trên giao diện (interfaces with their operations) 
Các phương thức (methods) 
Thuộc tính (attribute) 
Các phụ thuộc (dependencies) 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
2 
Domain Model - Design Model Classes 
Domain model : các lớp khái niệm đại diện cho các khái niệm trừu tượng trong thế giới thực mà người phát triển phần mềm đang quan tâ m. 
Mô hình lớp thiết kế (Design model class) : lớp thiết kế đại diện cho các lớp phần mềm, nó được định nghĩa như là một thành phần của phần mềm ứng dụng. 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
3 
Domain Model - Design Model Classes 
Ví dụ 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
4 
Xây dựng sơ đồ lớp thiết kế 
Các bước xây dựng sơ đồ lớp thiết kế 
Xác định các lớp phần mềm 
Xác định các phương thức 
Bổ sung các loại thông tin 
Tinh chỉnh các mối quan hệ 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
5 
Xác định các lớp phần mềm 
Xác định những lớp mà tham gia vào các giải pháp phần mềm. Các lớp này có thể được tìm thấy bằng cách duyệt tất cả các sơ đồ tương tác và danh sách các lớp trong domain model. 
Tuy nhiên có những lớp trong domain model không cần xuất hiện trong sơ đồ lớp thiết kế 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
6 
Xác định các lớp phần mềm 
Ví dụ: Một hệ thống máy tính tiền được sử dụng để ghi lại doanh thu và xử lý các khoản thanh toán, được sử dụng trong một cửa hàng bán lẻ, hệ thống bao gồm các thành phần phần cứng như máy tính và máy quét mã vạch 
Hệ thống có thể giao tiếp với các ứng dụng khác như máy tính thuế, hệ thống kiểm soát hàng tồn kho, kho lưu trữ sản phẩm theo Loại sản phẩm. 
Hệ thống tự động xuất hóa đơn thanh toán khi tất cả các sản phẩm mà khách hàng mua được nhập vào hệ thống. 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
7 
Xác định các lớp phần mềm 
Ví dụ: các lớp khái niệm trong domain model của hệ thống máy tính tiền 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
8 
Xác định các lớp phần mềm 
Ví dụ: các lớp phần mềm trong hệ thống máy tính tiền 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
9 
Xác đinh phương thức 
Các phương thức của mỗi lớp có thể được xác định bằng cách phân tích các biểu đồ tương tác . 
Nói chung, tập hợp tất cả các Messages được gửi đến một lớp X trên tất cả các sơ đồ tương tác thường là các phương thức của lớp X phải xác định . 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
10 
Xác đinh phương thức 
Ví dụ: sơ đồ tương tác của hoạt động tính tiền trong hệ thống máy tính tiền 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
11 
Xác đinh phương thức 
Một số vấn đề với tên phương thức 
Thông điệp Create trong sơ đồ tương tác, chỉ ra một đối tượng mới được khởi tạo, khi chuyển thiết kế sang ngô n ngữ lập trình hướng đối tượng, nó phải được thể hiện trong ngữ cảnh của ngôn ngữ hiện thực . 
Ví dụ: C ++, Java không có phương thức create() mà là new() 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
12 
Xác đinh phương thức 
Một số vấn đề với tên phương thức 
Một thông điệp dạng ( multiobject ) truyền tới các đối tượng chứa bên trong lớp đó 
V í dụ : Find() là một thông điệp đến một tập đối tượng 
Vì vậy, Find() không phải là một phần của lớp Productspecification ; nó là một phần của interface của multiobject. Do đó, không thêm Find() vào lớp Productspecification 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
13 
Bổ sung role vào mối quan hệ 
Bổ sung điều hướng vào mối quan hệ: 
Điều hướng là một thuộc tính của Role , c hỉ ra rằng mối quan hệ được thực hiện từ lớp nguồn đến lớp mục tiêu . 
Ví dụ: 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
14 
Bổ sung role vào mối quan hệ 
Ví dụ: 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
15 
Sơ đồ lớp của hệ thống máy tính tiền được bổ sung Role vào các mối quan hệ 
Sử dụng Package tổ chức domain model 
Để dễ dàng trong phần thiết kế hướng đối tượng, domain model được tổ chức thành các package. 
Tổ chức domain model thành các package là một thủ tục phức tạp , dựa trên hai nguyên tắc cơ bản: sự gắn kết và độc lập . 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
16 
Nhóm các lớp vào Package 
Nguyên tắc 1: nhóm các lớp vào package phải thỏa các tiêu chí gắn kết ( coherence) sau: 
Mục tiêu : các lớp phải trả về các dịch vụ đáp ứng yêu cầu người dùng 
Ổn định : sự cô lập các lớp trong một package phải thực sự ổn định trong quá trình phát triển dự án, và sau đó. 
Thời gian sống của các đối tượng : tiêu chí này giúp phân biệt được các lớp mà đối tượng có thời gian sống rất khác nhau. 
Nguyên tắc 2 : nhóm các lớp vào package phải giảm thiểu sự phụ thuộc ( dependency) giữa các package 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
17 
Nhóm các lớp vào Package 
Cách chọn các lớp vào một package cần phải: 
Có cùng chủ đề, có quan hệ chặt chẽ bởi khái niệm hoặc mục đích 
Cùng một hệ thống phân cấp 
Tham gia cùng một use case 
Có quan hệ kết hợp chặt. 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
18 
Nhóm các lớp vào Package 
Ký hiệu Package trong UML : được hiển thị như một thư mục dạng tab , Subordinate packages có thể được hiển thị bên trong nó. 
Tên packages 
Nếu package mô tả các phần tử của nó thì tên Package đặt trong tab 
Ngược lại, thì tên Package đặt trong package . 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
19 
Quyền sở hữu và tham chiếu 
Quyền sở hữu : 
Một phần tử được sở hữu bởi package chứa nó. 
Tuy nhiên, Một phần tử có thể được tham chiếu đến một phần tử trong package khác. Trong trường hợp này , tên của phần tử được xác định bởi tên của package theo định dạng : PackageName::ElementName 
Ví dụ: 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
20 
Package phụ thuộc 
Nếu một phần tử trong mô hình phụ thuộc vào một phần tử khác thì giữa chúng có mối quan hệ phụ thuộc 
Một package phụ thuộc chỉ ra rằng các phần tử bên trong nó kết hợp với các phần tử trongpackage mục tiêu 
Trong UML mối quan hệ phụ thuộc được biểu diễn bằng ký hiệu: 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
21 
Package phụ thuộc 
Ví dụ : package Sales phụ thuộc vào package Core Elements 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
22 
Ví dụ 1 
Mô hình package domain của hệ thống máy tính tiền 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
23 
Ví dụ 1 
Package Core 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
24 
Ví dụ 1 
Package Products 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
25 
Ví dụ 1 
Package Sales 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
26 
Bài tập 
Cho domain model của hệ thống đặt vé máy bay, hãy chia domain model thành 2 package sau cho đảm bảo: 
Tính kết dính trong mỗi package 
Giảm tối thiểu sự phụ thuộc giữa các package 
Dịch vụ của mỗi package là gì? 
Đảm bảo tính tái sử dụng 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
27 
Bài tập 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
28 
Bài tập 
Gợi ý: 
Package 1: gồm các lớp liên quan đến chuyến bay 
Package 2: các lớp liên quan đến việc đặt vé 
Lưu ý: 
Lớp flight đặt trong Package nào là tốt nhất để đảm bảo thời gian sống và tính tái sử dụng của hệ thống 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
29 
Bài tập 
Giải pháp 1: 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
30 
Bài tập 
Giải pháp 2: 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
31 
Bài tập 
Gi ải pháp 2: lớ p Flight trong package Bookings đảm bảo được c ác tiêu chí : 
T hời gian sống của các đối tượng 
Flight có quan hệ chặt hơn với việc đặt vé ( Bookings ) so với các thông tin chung về chuyến bay. 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
32 
Bài tập 
Kết quả sơ đồ package 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
33 
Bài tập 
Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 
34 

File đính kèm:

  • pptxbai_giang_phan_tich_thiet_ke_he_thong_chuong_5_mo_hinh_thiet.pptx