Bài giảng Phân tích thiết kế hệ thống thông tin - Bài 7: Quá trình phát triển phần mềm hướng đối tượng - Thạc Bình Cường
BÀI 7
QUÁ TRÌNH PHÁT TRIỂN
PHẦN MỀM HƯỚNG ĐỐI TƯỢNG
Giảng viên: ThS. Thạc Bình Cường
1
v2.0013112205
TÌNH HUỐNG DẪN NHẬP
• Tiếp sau giai đoạn phân tích là giai đoạn thiết kế. Thiết kế hướng đối tượng
bao gồm quá trình triển khai các ý tưởng của phân tích bao gồm cả dữ liệu và
các phương thức (xử lý);
• Quy trình thiết kế bao gồm xác định các lớp và tương tác giữa các lớp;
• Có một số hệ quản trị cơ sở dữ liệu hướng đối tượng ODBMS;
• Chúng ta sẽ thiết kế hệ thống quản lý phân phối hàng của tập đoàn RMO
bằng phương pháp hướng đối tương.
2
v2.0013112205
MỤC TIÊU
Giải thích mục đích và mục tiêu của thiết kế hướng đối tượng;
Phát triển các sơ đồ thiết kế lớp;
Phát triển các chương trình tương tác dựa trên các nguyên tắc nhiệm
vụ của đối tượng và các kiểm soát use-case;
Phát triển các sơ đồ trình tự chi tiết như là qui trình trọng tâm trong
thiết kế các hệ thống;
Phát triển các sơ đồ hợp tác như là một phần của thiết kế hệ thống;
Dẫn chứng thiết kế cấu trúc bằng cách sử dụng các sơ đồ đóng gói
(package diagram).
3
v2.0013112205
NỘI DUNG
Trọng tâm của chương này và của chương sau là làm thế nào
để phát triển các mô hình thiết kế hướng đối tượng;
1
2
Những lập trình viên sử dụng các mô hình để mã hoá hệ thống;
Hai mô hình quan trọng nhất là các sơ đồ thiết kế lớp và các sơ
đồ tương tác (sơ đồ trình tự và sơ đồ hợp tác);
3
Các sơ đồ lớp được phát triển cho các tầng (layer) truy cập dữ
liệu, quan sát và miền;
4
5
Các sơ đồ tương tác mở rộng các sơ đồ trình tự hệ thống.
4
v2.0013112205
1. THIẾT KẾ HƯỚNG ĐỐI TƯỢNG – CẦU NỐI GIỮA PHÉP PHÂN TÍCH
VÀ LẬP TRÌNH
• Cầu nối giữa các yêu cầu của người sử dụng với lập trình hệ thống mới;
• Thiết kế hướng đối tượng là qui trình mà qua đó các mô hình hướng đối tượng
chi tiết được thiết lập;
• Các lập trình viên sử dụng thiết kể để viết mã và test hệ thống mới;
• Giao diện sử dụng, mạng, bộ kiểm soát, tính bảo mật, và cơ sở dữ liệu đòi hỏi
các mô hình và thao tác thiết kế.
5
v2.0013112205
2. TỔNG QUAN CÁC CHƯƠNG TRÌNH HƯỚNG ĐỐI TƯỢNG
• Thiết lập các đối tượng kết hợp cùng nhau để đạt được một kết quả;
• Đối tượng chứa đựng các thuộc tính cần thiết và logic chương trình trong
một đơn vị;
• Các đối tượng gửi cho nhau các thông điệp và hợp tác để hỗ trợ các chức
năng của chương trình chính;
• Nhà thiết kế hệ thống OO cung cấp chi tiết cho các nhà lập trình: Các sơ đồ
thiết kế lớp, các sơ đồ tương tác (vài) sơ đồ trạng thái.
6
v2.0013112205
SƠ ĐỒ CHƯƠNG TRÌNH HƯỚNG ĐỐI TƯỢNG DỰA TRÊN SỰ KIỆN
3. Truy lục dữ liệu
về sinh viên
Đối tượng
sinh viên
Đối tượng
cơ sở dữ liệu
6. Lưu các cập nhật
vào cơ sở dữ liệu
5. Cập nhật cơ sở dữ liệu
2. Tạo đối tượng
sinh viên
Đối tượng dữ liệu
đầu ra
4. Nhập các cập nhật
thông tin cá nhân
1. Nhập ID
sinh viên
7
v2.0013112205
VÍ DỤ LỚP THIẾT KẾ CHO LỚP HỌC SINH VIÊN ĐÃ ĐƠN GIẢN HÓA
8
v2.0013112205
3. CÁC MÔ HÌNH VÀ QUY TRÌNH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG
• Các sơ đồ được phát triển trong quá trình phân tích: Sơ đồ tình huống sử dụng
(use case), các mô tả tình huống sử dụng và các sơ đồ thao tác, các sơ đồ mô hình
miền (domain model) lớp, và các sơ đồ trình tự hệ thống;
• Các sơ đồ được phát triển trong quá trình thiết kế:
Các sơ đồ thiết kế lớp – thiết lập các lớp hướng đối tượng cần thiết cho lập
trình, sự điều hướng giữa các lớp, tên thuộc tính và các đặc tính, tên phương
pháp và các đặc tính;
Các sơ đồ tương tác, các sơ đồ đóng gói.
9
v2.0013112205
CÂU HỎI TƯƠNG TÁC
Dùng các công cụ nào để vẽ các biểu đồ?
10
v2.0013112205
3.1. CÁC MÔ HÌNH THIẾT KẾ VỚI CÁC MÔ HÌNH DỮ LIỆU ĐẦU VÀO
TƯƠNG ỨNG
Các mô hình phân tích
Các mô hình thiết kế
Các sơ đồ tình huống
sử dụng
Các sơ đồ lớp thiết kế
Các mô tả tình huống
sử dụng và sơ đồ
hoạt động
Các sơ đồ lớp mô hình vùng
Các sơ đồ trình tự hệ thống
11
v2.0013112205
Các sơ đồ đóng gói
3.2. CÁC KÝ HIỆU THIẾT KẾ LỚP
• UML không phân biệt giữa các ký hiệu thiết kế lớp và các kí hiệu mô hình miền;
• Mô hình miền (Domain model) thể hiện môi trường làm việc của người sử dụng;
• Việc thiết kế lớp cụ thể là xác định các lớp của phần mềm;
• UML sử dụng các ký tự mẫu sẵn (stereotype) để phân loại một thành tố mô hình bởi
chính các đặc tính của nó.
“Thực thể”
Khách hàng
“Kiểm soát”
Điều khiển
tình huống sử dụng
“Đường bao”
Cửa sổ order
“Truy cập
thông tin”
Cửa sổ order
12
v2.0013112205
3.3. CÁC LỚP THIẾT KẾ TIÊU CHUẨN
• Thực thể (Entity): Các nhận dạng thiết kế cho các lớp miền vấn đề;
• Lớp vĩnh cửu (Persistent class): Tồn tại ngay cả sau khi hệ thống đã được đóng;
• Đường bao (Boundary): Đựơc thiết kế để tạo nên đường bao tự động của hệ thống;
• Các lớp cửa sổ và giao diện sử dụng;
• Bộ điều khiển (Control): Trung gian giữa đường bao và các lớp thực thể, giữa tầng
quan sát và tầng domain;
• Truy cập dữ liệu (Data access): Truy lục dữ liệu và gửi các dữ liệu tới cơ sở dữ liệu.
13
v2.0013112205
3.4. KÍ HIỆU LỚP THIẾT KẾ
• Tên: Thông tin mẫu sẵn có và tên lớp;
• Thuộc tính (Attributes); Visibility (tính hiển thị riêng hoặc mở rộng), tên thuộc tính,
loại hiển thị, trị số ban đầu, đặc tính;
• Singature phương pháp (Method signatures): Thông tin cần thiết để cầu viện (gọi)
phương pháp:
Tính hiển thị phương pháp, tên phương pháp, loại hiển thị (các thông số phản
hồi), danh sách thông số phương pháp (những tranh luận sắp tới);
Phương pháp quá tải (Overloaded method): Phương pháp cùng một tên
nhưng có hai hoặc nhiều danh sách thông số khác nhau.
• Các ký hiệu bên trong dùng để xác định lớp thiết kế:
“Tên stereotype”
Tên lớp: Lớp mẹ
Danh sách thuộc tính
Tên hiển thị: Loại – hiển thị = Trị số ban đầu (đặc tính)
Danh sách phương pháp
Tên hiển thị: Loại – hiển thị = Trị số ban đầu (danh sách thông số)
14
v2.0013112205
VÍ DỤ: DÙNG SƠ ĐỒ MIỀN VÀ SƠ ĐỒ THIẾT KẾ LỚP
15
v2.0013112205
4. MỘT VÀI NGUYÊN TẮC THIẾT KẾ CƠ BẢN
• Sự đóng gói (Encapsulation): Mỗi đối tượng là một thể thống nhất chứa đựng
các dữ liệu và phương thức để truy cập dữ liệu;
• Tái sử dụng đối tượng (Object reuse): Các nhà thiết kế thường tái sử dụng
các lớp giống nhau cho các thành phần windows;
• Ẩn thông tin (Information hiding): Dữ liệu đồng nhất với đối tượng không
được hiển thị;
• Tính hiển thị có điều hướng (Navigation visibility): Đối tượng có thể quan sát
và tương tác với các đối tượng khác.
16
v2.0013112205
TÍNH HIỂN THỊ CÓ HƯỚNG GIỮA KHÁCH HÀNG VÀ ĐƠN ĐẶT HÀNG
17
v2.0013112205
5. KẾT HỢP VÀ GẮN KẾT
• Kết hợp (Coupling): Sự đo lường mặt lượng các lớp trong sơ đồ thiết kế lớp có
thể liên kết với nhau như thế nào?
Các mũi tên điều hướng trên sơ đồ thiết kế lớp;
Thấp: Hệ thống dễ hiểu và dễ duy trì hơn.
• Gắn kết (Cohesion):
Sự đo lường mặt lượng tính nhất quán của các chức năng bên trong một
lớp riêng lẻ;
Sự phân chia trách nhiệm (Separation of responsibility) – chia lớp gắn kết
thấp thành các lớp có mức gắn kết cao.
18
v2.0013112205
VÍ DỤ 1 SƠ ĐỒ LỚP MÔ HÌNH DOMAIN RMO
19
v2.0013112205
SƠ ĐỒ LỚP THIẾT KẾ MỘT PHẦN CHO TÌNH HUỐNG TÌM KIẾM
CÁC MẶT HÀNG CÓ SẴN
20
v2.0013112205
Tải về để xem bản đầy đủ
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 thông tin - Bài 7: Quá trình phát triển phần mềm hướng đối tượng - Thạc Bình Cường", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
- bai_giang_phan_tich_thiet_ke_he_thong_thong_tin_bai_7_qua_tr.pdf