Chương 5:
Thiết Kế Phần Mềm
1
Th.S NGUYỄN VĂN THẨM
GIÁO VIÊN
HƯỚNG DẪN
1
2
3
4
THÀNH VIÊN
NHÓM:
TRẦN THỊ BÍCH
NGUYỄN ĐỨC
HÒA
NGUYỄN VĂN HÙNG
NGUYỄN ĐỨC
DŨNG
2
ĐẶC ĐIỂM CỦA QUÁ TRÌNH THIẾT KẾ PHẦN MỀM
N
I Ộ
DUNG
CHIẾN LƯỢC THIẾT KẾ
THIẾT KẾ KIẾN TRÚC ỨNG DỤNG
THIẾT KẾ CƠ SỞ DỮ LIỆU
3
1. ĐẶC ĐIỂM CỦA QUÁ TRÌNH THIẾT KẾ PHẦN MỀM
Xây dựng ứng dụng phần mềm là một dây chuyền các chuyển
đổi
Phân tích
Mà ở đó:
Thiết kế
What
What
How
How
4
1. ĐẶC ĐIỂM CỦA QUÁ TRÌNH THIẾT KẾ PHẦN MỀM
5
1. ĐẶC ĐIỂM CỦA QUÁ TRÌNH THIẾT KẾ PHẦN MỀM
Thiết kế kiến
trúc
Thiết kế dữ liệu
Thiết kế phần
mềm là quá trình
thiết kế cấu trúc
phần mềm dựa trên
những tài liệu đặc
tả
Thiết kế
giao diện
Thiết kế
thuật toán
6
1. ĐẶC ĐIỂM CỦA QUÁ TRÌNH THIẾT KẾ PHẦN MỀM
Tầm quan trọng của thiết kế:
Thiết kế là giai đoạn quan trọng nhất
Quá trình thiết kế tốt là cơ sở để quản lý và giảm chi phí cho
công việc bảo trì phần mềm sau này.
7
1. ĐẶC ĐIỂM CỦA QUÁ TRÌNH THIẾT KẾ PHẦN MỀM
Mối liên quan của thiết kế phần mềm với công nghệ phần mềm
được thể hiện qua sơ đồ:
8
1. ĐẶC ĐIỂM CỦA QUÁ TRÌNH THIẾT KẾ PHẦN MỀM
Thiết kế phần mềm là hoạt động được xác lập dựa trên 2
mặt:
Quản lý và Kỹ thuật
Mối quan hệ giữa 2 khía cạnh kỹ thuật và quản lý được thể
hiện như sau:
9
1. ĐẶC ĐIỂM CỦA QUÁ TRÌNH THIẾT KẾ PHẦN MỀM
Trong tiến trình thiết kế:
Mô hình để
biểu diễn
công việc
thiết kế
Đồ thị
Các đỉnh của đồ thị để biểu diễn các thực thể
Các cạnh là các mối liên hệ giữa chúng
10
1. ĐẶC ĐIỂM CỦA QUÁ TRÌNH THIẾT KẾ PHẦN MỀM
Tiến trình thiết kế:
11
2. CHIẾN LƯỢC THIẾT KẾ
Hướng
chức năng
Cách tiếp
cận hướng
chức năng
hay hướng
đối tượng
là bổ sung
và hỗ trợ
cho nhau
chứ không
phải là đối
kháng
Hướng
đối tượng
Mỗi chiến
lược đều
có ưu và
nhược
điểm riêng
phụ thuộc
vào ứng
dụng của
phát triển
Kỹ sư
phần mềm
sẽ chọn
cách tiếp
cận thích
hợp nhất
cho từng
giai đoạn
thiết kế
12
2. CHIẾN LƯỢC THIẾT KẾ
Hướng chức năng
Hướng đối tượng
Đây là cách tiếp cận truyền
thống.
Quan tâm chủ yếu tới những
thông tin mà hệ thống sẽ giữ gìn.
–> Chúng ta hỏi người dùng xem họ
sẽ cần những thông tin nào, rồi
chúng ta thiết kế ngân hàng dữ liệu
để chứa những thông tin đó, cung
cấp Forms để nhập thông tin và in
báo cáo để trình bày các thông tin.
–> Tập trung vào thông tin và không
mấy để ý đến những gì có thể xảy
ra với những hệ thống đó và cách
hoạt động (ứng xử) của hệ thống là
ra sao???
Trong thế giới thực, đối tượng là
thực thể tồn tại như con người, xe,
máy tính, … Trong ngôn ngữ lập
trình, đối tượng có thể là màn hình,
điều khiển,..
Lối tiếp cận hướng đối tượng là
một lối tư duy theo lối ánh xạ các
thành phần trong bài toán vào các đối
tượng ngoài đời thực.
–>Với lối tiếp cận này, chúng ta chia
ứng dụng thành các thành phần nhỏ,
gọi là các đối tượng, chúng tương
đối độc lập với nhau. Sau đó ta có
thể xây dựng ứng dụng bằng cách
chắp các đối tượng đó lại với nhau.
13
2. CHIẾN LƯỢC THIẾT KẾ
Ưu
điểm
Hướng chức năng
Hướng đối tượng
Đơn giản
Là phương pháp tốt cho
việc thiết kế ngân hàng dữ
liệu và nắm bắt thông tin
Việc thay đổi chức năng, tiến hóa
chức năng không làm thay đổi đến cấu
trúc tĩnh của phần mềm.
Tính tái sử dụng: bạn có thể tạo
các thành phần (đối tượng) một lần và
dùng chúng nhiều lần sau đó.
–> giảm thiểu lỗi và các khó khăn
trong việc bảo trì, giúp tăng tốc độ
thiết kế và phát triển phần mềm.
Không phù hợp với hệ
thống thường xuyên thay
Nhượ đổi.
c điểm Có thể khiến cho việc
thiết kế ứng dụng phát
sinh nhiều khó khăn.
Cách nhìn tự nhiên nhiều hệ thống
là hướng chức năng nên việc thích
nghi cách nhìn hướng đối tượng đôi
khi là khó khăn
Còn tương đối chứ chín muồi và
đang được thay đổi mau chóng
14
THIẾT KẾ KIẾN TRÚC ỨNG DỤNG
Thiết kế kiến trúc cung cấp cho chúng ta b
ản đặc tả về kiến
trúc hệ thống, bao gồm những hệ thống con nào, tương tác
với nhau ra sao, framework hỗ trợ điều khiển tương tác giữa
các hệ thống con như thế nào …
Thiết kế kiến trúc luôn được tiến hành trước khi có các đặc
tả chi tiết về hệ thống.
Kết quả của thiết kế kiến trúc ứng dụng là tài liệu thiết kế
kiến trúc
15
THIẾT KẾ KIẾN TRÚC ỨNG DỤNG
Mô hình kho
dữ liệu
Mô hình
luồng dữ liệu
Mô hình
điều khiểu
Các mô hình
thiết kế ứng
dụng
Mô hình
khách phục
vụ
Mô hình
đối tượng
Mô hình máy
trừu tượng
16
THIẾT KẾ KIẾN TRÚC ỨNG DỤNG
Mô hình
Kho dữ liệu
Đặc điểm
Mọi dữ liệu được lưu trữ tại 1 CSDL trung tâm có thể được
truy cập bởi mọi phân hệ.
Phù hợp cho các ứng dụng khi dữ liệu được tạo bởi 1 phân
hệ và được sử dụng bởi các phân hệ khác
Thành phần chính gồm:
Khách – phục Một tập các server độc lập phục vụ cho các phân hệ.
vụ
Một tập các khách hàng yêu cầu dịch vụ.
Một mạng cho phép khách hàng truy cập đến các dịch vụ
Máy trừu
tượng
Mô hình đối
tượng
Tổ chức hệ thống thành nhiều lớp.
Mỗi lớp được coi như 1 máy trừu tượng và cung cấp một tập
các dịch vụ.
Thường được sử dụng để mô hình hóa giao diện của hệ
thống con
Hệ thống được phân thành các đối tượng giao tiếp với nhau.
Phân tích hướng đối tượng chỉ ra các lớp đối tượng liên quan,
17
các thuộc tính và hoạt động của chúng
THIẾT KẾ KIẾN TRÚC ỨNG DỤNG
Mô hình
Mô
hình
điều
khiển
Điều
khiển
tập
trung
Đặc điểm
Gọi – Trả Mô hình này phù hợp với các mô hình thủ tục
lời
TopDown.
Quản lý
Thích hợp với các hệ thống đồng thời.
Hệ thống được thiết kế như là 1 bộ quản trị
và điều khiển việc khởi động, kết thúc.
Mô hình Mô hình Về nguyên tắc, 1 sự kiện được thông báo cho
hệ
phát tin
các phân hệ. Và phân hệ này sẽ tự quyết việc
thống
trả lời.
điều
Mô hình Có 1 hệ thống bên ngoài được sử dụng riêng
khiển điều khiển cho việc theo doi các ngắt bên ngoài và được
bởi sự
ngắt
chuyển tới các phân hệ tương ứng.
kiện
Mô Hệ thống được phân hóa thành các module chức năng.
hình Chúng nhận dữ liệu, chuyển hóa dữ liệu này rồi đưa ra kết quả.
luồng Mỗi bước của quy trình giống như 1 phép biến đổi, xử lý dữ liệu đầu
dữ vào và tạo dữ liệu đầu ra.
18
THIẾT KẾ KIẾN TRÚC ỨNG DỤNG
Bài 4.3 / SGK / 194 : Hãy đề xuất 1 mô hình điều khiển thích hợp cho hệ
thống:
Bộ điều khiển của tivi có thể nhận tín hiệu từ 1 đơn vị điều khiển từ xa.
> Mô hình điều khiển ngắt
Hệ thống thanh toán lương, xử ký theo lô. Lấy thông tin về thời gian làm việc,
hệ số lương, in ra bảng lương và chuyển thong tin vào tài khoản.
> Mô hình điều khiển quản lý
Bài 4.4 / SGK / 194 : Hãy đề xuất 1 mô hình điều khiển thích hợp cho hệ
thống:
Hệ thống bán vé tàu hỏa tự động
> Mô hình luồng dữ liệu
Hệ thống hội nghị trực tuyến, cho phép các dạng dữ liệu như âm thanh, hình
ảnh, văn bản,…có thể được truyền tới người sử dụng 1 cách đồng thời.
> Mô hình phát tin
19
THIẾT KẾ CƠ SỞ DỮ LIỆU
Mục tiêu: mô tả cách thức lưu trữ dữ liệu của phần mềm bên
trong máy tính.
Kết quả của quá trình thiết kế dữ liệu là:
Danh sách các bảng (Table).
Mối quan hệ giữa các bảng.
Danh sách các thuộc tính, khóa chính.
Danh sách các miền giá trị toàn vẹn
Có hai dạng lưu trữ chính mà người thiết kế cần phải cân
nhắc và lựa chọn.
Lưu trữ dưới dạng tập tin
Lưu trữ dưới dạng cơ sở dữ liệu
20
THIẾT KẾ CƠ SỞ DỮ LIỆU
Sơ đồ logic hay mô hình vật lý là sơ đồ cho phép thể hiện hệ
thống các bảng dữ liệu cùng với quan hệ mối nối liên kết giữa
chúng.
Tên
Các qui ước : : đối tượng, quan hệ, lớp
: xác định duy nhất
: xác định duy nhất theo cả 2
chiều
Mô hình vật lý được xây dựng dựa trên mô hình ERD đã có ở
giai đoạn phân tích.
21
THIẾT KẾ CƠ SỞ DỮ LIỆU
Các bước chuyển đổi từ mô hình ERD sang mô hình vật lý:
Bước
Mô hình ERD Mô hình vật lý
Bước 1:
Chuyển các tập thực thể thành lược đồ quan hệ
Chuyển các mối liên hệ
Bước 2 :
1 1
N 1
N N
Khóa của tập thực
thể nào cũng thành
khóa cuả LĐQH
Khóa bên nhiều
thành khóa của
LĐQH
Thuộc tính khóa của
tất cả các tập thực
thể trở thành khoá
của LĐQH
Bước 3 :
Gộp các LĐQH có chung khóa thành 1 lược đồ
Bước 4 :
Chuẩn hóa các LDQH về dạng chuẩn 3NF
22
THIẾT KẾ CƠ SỞ DỮ LIỆU
Ph
Phươ
ương pháp thi
ng pháp thiếết k
t kếế CSDL
CSDL
Trực tiếp
www.themegallery.com
Gián tiếp
23
THIẾT KẾ CƠ SỞ DỮ
LIỆU
PP Trực tiếp
PP Gián tiếp
Áp dụng khi thực hiện phần mềm
không thông qua giai đoạn phân tích.
Thiết kế phần mềm là quá trình
chuyển đổi từ các yêu cầu (kết quả giai
đoạn xác định yêu cầu) đến mô hình
phần mềm tương ứng.
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
(thành phần giao diện, thành phần xử
lý, thành phần 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, yêu cầu phi chức năng)
Cách tiếp cận này sẽ rất khó khăn
với các phần mềm có qui mô lớn,phức
www.themegallery.com
tạp
Áp dụng với các qui trình có giai đoạn
phân tích.
Thiết kế phần mềm là quá trình
chuyển từ mô hình thế giới thực (kết
quả giai đoạn phân tích) đến mô hình
phần mềm tương ứng.
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
(thành phần giao diện, thành phần xử
lý, thành phần dữ liệu) tương ứng với
các mô hình của thế giới thực (mô hình
xử lý, mô hình dữ liệu).
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 qui mô lớn.
24
THIẾT KẾ CƠ SỞ DỮ
LIỆU
Các bước thiết kế CSDL
PP trực tiếp
PP gián tiếp
Bước 1: Vẽ sơ đồ logic dữ liệu
Bước 2: Lập danh sách các
bảng thuộc tính
Bước 3: Lập danh sách bảng
miền giá trị toàn vẹn
Bước 1: Xây dựng mô hình
ERD
Bước 2: Chuyển mô hình ERD
sang mô hình logic dữ liệu
Bước 3: Vẽ sơ đồ logic dữ liệu
Bước 4: Lập danh sách các
bảng dữ liệu
Bước 5: Lập danh sách bảng
thuộc tính
Bước 6: Lập danh sách bảng
miền giá trị toàn vẹn
www.themegallery.com
25