Thiết kế phần mềm
(Software Design)
Khái niệm thiết kế
Hệ thống cần làm gì?
Phân tích
(Khảo sát, xác định, đặc tả yêu cầu)
?
Lập trình
Tài liệu đặc tả yêu cầu PM
Phần mềm
Giải pháp? Làm như thế nào?
Thiết kế
Tài liệu thiết kế
Mô tả chi tiết tổ chức, hoạt động của các thành phần bên
trong phần mềm dựa trên kết quả phân tích.
Là cơ sở cho việc hiện thực phần mềm.
Vai trò thiết kế
Tạo mô hình cài đặt của phần mềm
Là phương tiện trao đổi thông tin để đảm bảo chất lượng
dễ hiểu, dễ sửa đổi hơn mã chương trình
có nhiều mức chi tiết; cung cấp cái nhìn tổng thể
Nếu không có thiết kế; hoặc thiết kế tồi
Tăng công sức, gây khó khăn cho lập trình, bảo trì.
Hoạt động thiết kế
Người dùng
• TK kiến trúc: kiến trúc phần mềm (tập
trung, phân tán, đa tầng)
Thiết kế xử lý
Thiết kế dữ liệu
Phần cứng
Thiết kế kiến trúc
Thiết kế giao diện
• TK dữ liệu: mô hình dữ liệu (cách thức tổ
chức lưu trữ trên bộ nhớ chính, phụ)
• TK xử lý: danh sách các xử lý
• TK giao diện: danh sách các màn hình
Thiết kế dữ liệu
Mục tiêu thiết kế DL?
Mô tả cách thức tổ chức, lưu trữ dữ liệu của phần mềm
bên trong máy tính (bộ nhớ chính, phụ).
Người dùng
D1
D2
Xử lý
D3
D4
D1, D2 được lưu trữ theo cách thức
nào trong bộ nhớ chính?
D3, D4 được lưu trữ theo cách thức
nào trong bộ nhớ phụ?
Kết quả Thiết kế DL?
Danh sách các bảng (Table)
Mối quan hệ giữa các bảng.
Thông tin chi tiết của từng bảng với danh sách các
thuộc tính, khóa chính
(Sơ đồ logic dữ liệu)
Sơ đồ logic dữ liệu
Sơ đồ logic dữ liệu: kết quả của quá trình thiết kế,
gồm các bảng dữ liệu và mối quan hệ giữa chúng.
Các ký hiệu
Sơ đồ logic dữ liệu (tt)
Các ký hiệu (tt)
Tiêu chí thiết kế dữ liệu
Tính đúng đắn: Lưu trữ đầy đủ và đúng ngữ nghĩa các
thông tin có trong nghiệp vụ liên quan
Tính tiến hóa: Lưu trữ thông tin về tổ chức và qui định có
trong nghiệp vụ liên quan.
Tính hiệu quả: Lưu trữ tiết kiệm nhất không gian bộ nhớ,
truy xuất nhanh nhất thông tin cần thiết.
Tính bảo mật: Lưu trữ thông tin về các người sử dụng
phần mềm cùng với quyền hạn tương ứng.
Tiêu chí thiết kế dữ liệu
Hiệu quả về mặt truy suất:
Thêm vào các thuộc tính tính toán.
Lưu ý: giá trị này phải được tự động cập nhật khi có những
thay đổi liên quan.
Hiệu quả về mặt lưu trữ:
Tránh dư thừa, trùng lắp dữ liệu.
Chất lượng thiết kế? Đánh giá dựa trên các dạng chuẩn?
Phương pháp Thiết kế DL?
Duyệt các yêu cầu phần mềm (thường là yêu cầu lưu trữ)
Nhận diện đối tượng DL.
Nhận diện thuộc tính liên quan.
Nhận diện các mối quan hệ giữa các đối tượng dữ liệu.
Ví dụ 1
Xét phần mềm quản lý bán hàng với nghiệp vụ lập phiếu
thu tiền của khách hàng
Hãy lập sơ đồ logic dữ liệu
Ví dụ 1:
PHIEU_THU
KHACH_HANG
MA_PT
MA_KH
MA_LDT
Ngay_Thu
SoTien_Thu
MA_KH
Ho_Ten
CMND
Dia_Chi
THAM_SO
MA_Tham_So
Ten_Tham_So
Gia_Tri
LYDO_THU
MA_LDT
Ten_LDT
Table THAM_SO dùng để lưu những qui định
Phương pháp Thiết kế DL?
Dựa vào sơ đồ luồng dữ liệu của yêu cầu đang xét
Bước 1: Xét yêu cầu phần mềm thứ 1 (thường xét các yêu
cầu lưu trữ)
Thiết kế DL với tính đúng đắn.
Thiết kế DL với tính tiến hóa.
Bước 2: Xét yêu cầu phần mềm thứ 2.
…
Bước n: Xét yêu cầu phần mềm thứ n.
Phương pháp Thiết kế DL?
Thiết kế DL với tính đúng đắn
Biểu mẫu liên quan: BMx
Sơ đồ luồng dữ liệu: SĐx
Các thuộc tính mới:
Thiết kế dữ liệu: bố trí các thuộc tính mới vào các bảng
đã có, trong trường hợp không bố trí được thì phải tạo
ra bảng mới để chứa các thuộc tính mới này.
Các thuộc tính trừu tượng:
Sơ đồ Logic
Phương pháp Thiết kế DL?
Thiết kế DL với tính tiến hóa
Qui định liên quan: QĐx
Sơ đồ luồng dữ liệu về việc thay đổi qui định: Sđy
Các thuộc tính mới:
Các tham số mới:
Thiết kế dữ liệu: bố trí các thuộc tính mới vào các bảng đã
có, trong trường hợp không bố trí được thì phải tạo ra bảng
mới để chứa các thuộc tính mới này.
Các thuộc tính trừu tượng:
Sơ đồ Logic
Ví dụ 2: Thiết kế DL cho đề tài quản lý đại lý
Danh sách yêu cầu
1
Tiếp nhận đại lý
Biểu
mẫu
BM1
2
Lập phiếu xuất hàng
BM2
3
Tra cứu đại lý
BM3
4
Lập phiếu thu tiền
BM4
5
Lập báo cáo tháng
BM5
6
Thay đổi qui định
STT
Tên yêu cầu
Qui định Ghi chú
QĐ1
QĐ2
QĐ4
QĐ6
Ví dụ 2: Thiết kế DL cho đề tài quản lý đại lý
Biểu mẫu 1 và qui định
Ví dụ 2: Thiết kế DL cho đề tài quản lý đại lý
Biểu mẫu 2 và qui định
Ví dụ 2: Thiết kế DL cho đề tài quản lý đại lý
Biểu mẫu 3 và qui định
Ví dụ 2: Thiết kế DL cho đề tài quản lý đại lý
Biểu mẫu 4 và qui định
Ví dụ 2: Thiết kế DL cho đề tài quản lý đại lý
Biểu mẫu 5 và qui định
Ví dụ 2
Bước 01: Xét yêu cầu phần mềm “Tiếp Nhận Đại Lý”.
−
Thiết kế dữ liệu với tính đúng đắn
+ Biểu mẫu liên quan: BM1
+ Sơ đồ luồng dữ liệu: Đã có
+ Các thuộc tính mới:
• TenDaiLy
• LoaiDaiLy
• DienThoai
• DiaChi
• Quan
• NgayTiepNhan
+ Thiết kế dữ liệu
TenDaiLy
LoaiDaiLy
DienThoai
DiaChi
Quan
NgayTiepNhan