Trường Đại Học Bách Khoa Tp. Hồ Chí Minh
Khoa Công Nghệ Thông Tin
-Trang 138-
Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm -
Chương 6: Cơ sở của thiết kế phần mềm và phương pháp thiết kế cổ
điển
Chương 6
CƠ SỞ CỦA THIẾT KẾ
PHẦN MỀM VÀ PHƯƠNG
PHÁP THIẾT KẾ CỔ ĐIỂN
✦
✦✦
✦ Trừu tượng hoá, tinh chế, kiến trúc
✦
✦✦
✦ Phân chia module hiệu quả
✦
✦✦
✦ Thiết kế dữ liệu, kiến trúc, thủ tục, giao diện
NỘI DUNG
6.1. Các cơ sở của thiết kế phần mềm
6.1.1. Trừu tượng hoá (abstraction)
6.1.2. Tinh chế (refirement)
6.1.3. Phân chia module (modularity)
6.1.4. Kiến trúc phần mềm
6.1.5. Cấu trúc dữ liệu
6.1.6. Thủ tục
6.1.7. Che dấu thông tin
-Trang 139-
Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm -
Chương 6: Cơ sở của thiết kế phần mềm và phương pháp thiết kế cổ
TRỪU TƯNG HOÁ
Quá trình thiết kế trải qua nhiều mức trừu tượng hoá khác nhau
Mức cao nhất: vấn đề cần thiết kế được mô tả một cách tổng quát sử
dụng thuật ngữ hướng vấn đề
Các mức thấp hơn: hướng đến thủ tục xử lý chi tiết; kết hợp các thuật
ngữ hướng đến hiện thực
Mức thấp nhất: vấn đề được mô tả theo cách có thể hiện thực trực tiếp
Phân loại trừu tượng hoá: thủ tục và dữ liệu
-Trang 142-
Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm -
Chương 6: Cơ sở của thiết kế phần mềm và phương pháp thiết kế cổ
điển
TRỪU TƯNG HOÁ (t.t)
Trừu tượng hoá thủ tục
Là chuỗi các lệnh liên tiếp thực hiện chức năng nào đó.
Ví dụ: mở cửa (bao gồm đi đến cửa, cầm lấy tay nắm, xoay tay nắm,
kéo cánh cửa, đi vào…); thêm một phần tử vào danh sách có thứ tự (xác
đònh vò trí, chèn phần tử mới)
Trừu tượng hoá dữ liệu
Là tổ hợp dữ liệu mô tả một đối tượng dữ liệu (liên hệ tới đối tượng
thực thể trong UML). Ví dụ: hàng, chồng, cánh cửa...
Một số ngôn ngữ lập trình hỗ trợ kiểu ADT và template
-Trang 143-
của hệ thống phần
mềm cần xây
dựng
quá ít
hoặc quá nhiều
module đều không
tốt
Số lượng module
Công sức bỏ ra
Công sức từng module
Công sức tích hợp
Tổng công sức
Vùng tối ưu
-Trang 146-
Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm -
Chương 6: Cơ sở của thiết kế phần mềm và phương pháp thiết kế cổ
điển
KIẾN TRÚC PHẦN MỀM
Kiến trúc phần mềm mô tả các thành phần (component) kiến tạo
nên hệ thống phần mềm và sự giao tiếp giữa các thành phần đó
Thành phần có thể là
Các module mã nguồn
Các file thực thi (*.dll, *.exe, *.class...)
Các thành phần của kiến trúc hệ thống: ActiveX control, bean...
Các trang HTML, *.asp, *.jsp...
Width
-Trang 148-
Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm -
Chương 6: Cơ sở của thiết kế phần mềm và phương pháp thiết kế cổ
điển
CẤU TRÚC DỮ LIỆU
Cấu trúc dữ liệu mô tả sự tổ chức, phương thức truy xuất, mức
độ liên kết và các xử lý khác của thông tin
Dữ liệu đơn là dạng cấu trúc dữ liệu đơn giản nhất chỉ bao gồm
một phần tử thông tin mà có thể được truy xuất bằng một danh
đònh
Một số dạng phức tạp hơn: vector, ma trận, mảng nhiều chiều,
danh sách liên kết, hàng, chồng, cây nhò phân…
Được biểu diễn ở các mức trừu tượng hoá khác nhau
-Trang 149-
Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm -
Chương 6: Cơ sở của thiết kế phần mềm và phương pháp thiết kế cổ
điển
THỦ TỤC
Thủ tục tập trung vào chi tiết xử lý của mỗi module.
Cung cấp đặc tả chi tiết của
Chuỗi sự kiện
Vòng lặp
Quyết đònh rẽ nhánh
Có thể cả cấu trúc dữ liệu
-Trang 150-