Software Design Functional Groups

TÁC VỤ THIẾT KẾ PHẦN MỀM
1. Tổng quan về thiết kế
2. Kiến trúc phần mềm
3. Phương pháp thiết kế phần mền
4. Ví dụ minh họa
Một trong những điểm mấu chốt chính đối với độ
phức tạp của hệ thống phần mềm là sự trừu tượng.
Có hai phương pháp chính:
Mục đích quan trọng của công tác thiết kế
Thiết kế từ trên xuống (Top- Down)
Thiết kế từ dưới lên (Bottom – Up)
THIẾT KẾ HỆ THỐNG
THIẾT KẾ BẢN MẪU (PROTOTYPE)
Thiết kế bản mẫu là tạo ra các màn hình giao diện sơ
bộ, hay các bản thiết kế phác thảo nháp cho người
dùng tham khảo trước khi đi vào thiết kế chi tiết cho
toàn phần mềm hay cho chức năng cụ thể.
Các bản thiết kế này được soạn thảo dưới dạng tài
liệu kỹ thuật (tài liệu sưu tập, hay tài liệu kỹ thuật)
bằng một số phần mềm có khả năng thiết kế nhanh
giao diện, như MS Visio, MS Visual Basic / C# / C++,
MS Front Page / Visual Interdev …
Đây có thể là bước đệm cơ bản trước khi đi vào hiện
thực chi tiết cho từng chương trình con hay mô-đun
con …
PHÂN RÃ THIẾT KẾ
Floating
Trong hệ thống lớn, tiến trình thiết kế bao gồm một
số yếu tố thiết kế cho hệ thống, trong đó mỗi chức
năng được phân chia thành những chức năng phần
mềm và phần cứng.
Những thuận lợi của chức năng thực hiện trong phần
cứng là thành phần phần cứng phân phối thực hiện
tốt hơn đơn vị phần cứng.
Nút thắt của hệ thống được xác định và thay thế bởi
thành phần của phần cứ
Ngoài ra, việc cung cấp tốc độ phần cứng có nghĩa là
thiết kế phần mềm được cấu trúc cho khả năng thích
ứng và khả năng xem xét thực thi cả chức năng
TỔNG QUAN VỀ THIẾT KẾ
Mục tiêu của việc thiết kế là định hình hệ thống và
tìm dạng thức của phần mềm để đáp ứng được mọi
yêu cầu
Kết quả thu được từ bước phân tích trước đó là
thông tin đầu vào quan trọng cho công tác thiết kế.
(Xem thêm Phụ lục C – Phần C)
Tiến trình thiết kế không chỉ ảnh hưởng đến phương
pháp thiết kế mà còn ảnh hướng đến tiêu chuẩn
được sử dụng để phân rã hệ thống.
Việc phân rã thiết kế giúp hiện thực hóa từng phần
bản thiết kế đến mức chi tiết đồng thời tác động đến
phương pháp thiết kế. Các nhóm phương pháp phân
rã gồm:
Phân rã hƣớng chức năng
Phân rã hƣớng dữ liệu
Phân rã hƣớng dữ liệu
Tiếp cận từ dƣới lên (bottom-up)
Phân rã hƣớng đối tƣợng
THIẾT KẾ GIAO DIỆN NGƢỜI DÙNG
Chế độ (modes
Thực đơn (menu)
Cửa sổ hội thoại (dialog window)
Màu sắc (color
Âm Thanh (sound)
THIẾT KẾ HƢỚNG CHỨC NĂNG
Sub Topic
Hệ thống các thành phần lưu trữ cùng với quan hệ
 Dạng lưu trữ của dữ liệu được sử dụng của phần
mềm
Các thông tin liên quan đến cách tổ chức lưu trữ
dữ liệu trên bộ nhớ phụ
Thành phần Dữ liệu bao gồm:
Hệ thống các hàm được sử dụng. Các hàm thể hiện
tương ứng các xử lý (ví dụ kiểm tra tính hợp lệ việc
cho mượn sách, ghi vào sổ việc cho mượn sách …)
Hệ thống các kiểu dữ liệu được sử dụng. Các kiểu dữ
liệu được mô tả về cách tổ chức lưu trữ trong bộ nhớ
chính.
Thành phần Xử lý gồm các thông tin sau:
Khi đã quyết định, kết quả được đặc tả dưới dạng các
bản vẽ, dưới dạng tài liệu kỹ thuật, tạo thành các mô
hình phần mềm chứa đầy đủ thông tin
Kiến trúc phần mềm bao gồm các thành phần cơ bản:
Giao diện, Xử lý, Dữ liệu. Khi thiết kế một phần mềm,
nhóm thiết kế phải chọn lựa và ra quyết định về các
“vật liệu” được dùng trong các thành phần.
Với PP gián tiếp, thiết kế PM là quá trình cho phép
chuyển từ kết quả giai đoạn phân tích đến mô hình
PM tương ứng.
Mục tiêu chính là mô tả các thành phần của phần
mềm (Giao diện, Xử lý, Dữ liệu) tương ứng với các
mô hình (mô hình xử lý, mô hình dữ liệu)
 Mục tiêu chính của việc thiết kế là mô tả các thành
phần của phần mềm (Giao diện, Xử lý, Dữ liệu) tương
ứng với các yêu cầu của phần mềm (yêu cầu chức
năng nghiệp vụ, yêu cầu chức năng hệ thống, ..).
Cách tiếp cận này sẽ rất thuận lợi trong đa số trường
hợp với các phần mềm có quy mô lớn.
Được áp dụng với các quy trình có giai đoạn phân
tích, việc thiết kế chỉ nhận 1 phần các kết quả từ giai
đoạn xác định yêu cầu, phần chính được nhận qua
giai đoạn phân tích, PM được xây dựng tương ứng
theo các mô hình trong giai đoạn phân tích.
Phƣơng pháp gián tiếp
Cách tiếp cận này rất khó khăn cho người thực hiện với
các phần mềm có quy mô lớn
Phương pháp này được áp dụng khi thực hiện phần
mềm không qua giai đoạn phân tích, việc thiết kế nhận
kết quả chuyển giao trực tiếp từ giai đoạn xác định yêu
cầu.
Phƣơng pháp trực tiếp
Với PP trực tiếp, thiết kế PM là quá trình cho phép
chuyển đổi từ các yêu cầu (kết quả xác định yêu cầu)
đến mô hình phần mềm tương ứng.
Hệ thống các bảng dữ liệu
Hệ thống các hàm xử lý
Thao tác người dùng: Nhập thông tin trả sách, Yêu cầu
trả sách.
Nội dung: Ngày trả sách, Thông tin về việc trả sách
Thao tác người dùng: Nhập thông tin về việc cho nhận
sách, Yêu cầu cho nhận sách.
Nội dung: Ngày nhận sách, Danh mục sách nhận &
thông tin liên quan.
Màn hình Trả sách:
Màn hình Nhận sách:
 Thao tác người dùng: Nhập thông tin mượn sách, Yêu
cầu mượn sách.
Nội dung: Thông tin về thẻ độc giả (Ngày mượn sách,
Danh mục sách).
Màn hình Cho mƣợn sách:
Thao tác người dùng: Nhập thông tin về thẻ, Yêu cầu lập
thẻ
Nội dung: Thông tin về thẻ độc giả
Màn hình Lập thẻ
 Thao tác người dùng: Tra cứu và chọn độc giả, Tra cứu
và chọn sách.
Nội dung: Thông tin về thư viện, Thông tin về các độc
giả, Thông tin về các sách.
Màn hình chính
Thiết kế phần mềm: Hệ thống các màn hình giao diện :
Mô hình hóa các yêu cầu:
Quản lý độc giả
Lập thẻ độc giả
Quản lý sách Thủ thư Nhập sách Cho mượn Trả sách
Xét phần mềm quản lý thư viện với 4 yêu cầu:
Lập thẻ đọc giả, Nhận sách, Cho mượn sách, Trả sách
Ví dụ
111