You are on page 1of 40

Chương 9

PHA THIẾT KẾ

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 1
Khái quát chung

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 2
Khái quát chung
 Hàng trăm kỹ thuật thiết kế đã ra đời
 Thiết kế hướng sự kiện
- Phân rã sản phẩm thành mô-đul có tính chặt chẽ
cao, ít gắn kết
 Thiết kế hướng dữ liệu
- Phụ thuộc cấu trúc dữ liệu
- Kỹ thuật nổi tiếng: Jackson, Wanier, Orr
 Thiết kế hướng đối tượng
- Dạng tổng hợp: sự kiện và dữ liệu

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 3
Khái quát chung
 Đầu vào
- Tài liệu đặc tả
- Cho biết sản phẩm làm gì
 Đầu ra
- Để đạt được những công việc đã mô tả ở đầu vào
- Sản phẩm phải thực hiện thế nào

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 4
Khái quát chung
 Mô hình vật lý của hệ thống quản lý giáo vụ
tại trường đại học

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 5
Khái quát chung
 Kiến trúc phân hệ - Module

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 6
Khái quát chung
 Hệ thống giao diện phân hệ sinh viên
TRƯỜNG ĐH SPKT VĨNH LONG
73, NGUYỄN HUỆ, P2, VL

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 7
Khái quát chung
 Mô-dul quản lý sinh viên
TRƯỜNG ĐH SPKT VĨNH LONG
73, NGUYỄN HUỆ, P2, VL

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 8
Khái quát chung
 Hệ thống giao diện phân hệ sinh viên
TRƯỜNG ĐH SPKT VĨNH LONG
73, NGUYỄN HUỆ, P2, VL

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 9
Khái quát chung
 Hệ thống giao diện phân hệ sinh viên
TRƯỜNG ĐH SPKT VĨNH LONG
73, NGUYỄN HUỆ, P2, VL

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 10
Mục tiêu
 Biết được các thành phần trong mô hình dữ
liệu mức vật lý (PDM)
 Biết quy tắc ánh xạ từ mô hình CDM sang
PDM
 Biết được cách xây dựng lược đồ Sequence,
Collaboration, Activity
 Biết được một số quy tắc thiết kế giao diện
 Biết sử dụng Power Designer tạo mô hình
PDM, Sequence, Activity, State,…
 Biết sử dụng Visio để thiết kế giao diện, site-
map

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 11
Sequence Diagram
 Mô tả sự tương tác của các đối tượng để
tạo nên các chức năng của hệ thống
 Mô tả sự tương tác theo thời gian nên rất
phù hợp với việc sử dụng để thiết kế và cài
đặt chức năng cho hệ thống phần mềm

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 12
Sequence Diagram

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 13
Sequence Diagram
◉ Thành phần
 Actor
 Objects
 Stimulus (message)
 Axes

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 14
Sequence Diagram
◉ Thành phần
 Actor
- Tác nhân bên ngoài tương tác với hệ thống

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 15
Sequence Diagram
◉ Thành phần
 Objects
- Mô tả một đối tượng trong hệ thống
- Đối tượng tham gia vào quá trình tương tác giữa
người dùng và hệ thống
 Object lifetime
 Mô tả chu kỳ sống của đối tượng trong toàn bộ
sequence diagram

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 16
Sequence Diagram
◉ Thành phần
 Stimulus (message)
- Chuỗi các thông điệp gửi, nhận giữa các đối tượng
- Thể hiện thông điệp từ một đối tượng này tương tác
với đối tượng khác

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 17
Sequence Diagram
◉ Thành phần
 Stimulus (message)
- Message
- Self Message
- Call Message
- Self Call Message
- Return Message
- Self Return Message

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 18
Sequence Diagram
◉ Thành phần
 Message
- Thông điệp từ đối tượng A sang B
- Yêu cầu B thực hiện một hành động, xử lý

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 19
Sequence Diagram
◉ Thành phần
 Self message
- Thông điệp từ đối tượng A đến chính nó
- Yêu cầu đối tượng thực hiện một hành động, xử lý

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 20
Sequence Diagram
◉ Thành phần
 Call message
- Đối tượng A gọi thủ tục/ hàm của đối tượng B

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 21
Sequence Diagram
◉ Thành phần
 Selfcall message
- Đối tượng gọi thủ tục/ hàm của chính nó

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 22
Sequence Diagram
◉ Thành phần
 Return message
- Thông điệp gửi về từ đối tượng nhận

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 23
Sequence Diagram
◉ Thành phần
 Self Return message
- Thông điệp trả kết quả từ thông điệp yêu cầu của
chính đối tượng

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 24
Sequence Diagram
◉ Thành phần
 Activation
- Thời gian cần để thực thi một hành động

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 25
Sequence Diagram
◉ Thành phần
 Axes
- Trục tọa độ
- Trục ngang: thể hiện các đối tượng
- Trục đứng: thể hiện thời gian
- Các đối tượng tương tác với nhau theo tuần tự các
bước để hình thành nên chức năng của hệ thống

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 26
Sequence Diagram
◉ Xây dựng
Bước 1: Xác định chức năng cần thiết kế. Dựa
vào Use Case Diagram để xác định chức năng
Bước 2:  Dựa vào Activity Diagram để xác định
các bước thực hiện theo nghiệp vụ.
Bước 3: Đối chiếu với Class Diagram để xác
định lớp trong hệ thống tham gia nghiệp vụ.
Bước 4: Vẽ Sequence Diagarm
Bước 5: Cập nhật lại bản vẽ Class Diagram

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 27
Sequence Diagram

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 28
Thiết kế và trừu tượng hóa
 Gồm 3 hoạt động chính
- Kiến trúc
- Chi tiết
- Kiểm thử

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 29
Thiết kế và trừu tượng hóa
 Thiết kế kiến trúc
- Phân chia sản phẩm thành các mô-đun
 Thiết kế chi tiết
- Chi tiết hóa từng mô-đun
 Kiểm thử thiết kế

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 30
Phân tích dòng dữ liệu
 Thiết kế hướng sự kiện, tạo mô-đun với tính
chặt chẽ cao
- Đầu vào: sơ đồ dòng dữ liệu
- Sau khi hoàn thành DFD, nhà thiết kế phần mềm
hoàn tất thông tin đầu vào, ra của từng mô-đun
 Điểm trừu tượng hóa cao nhất đầu vào
- Điểm biến chuyển dữ liệu đầu vào thành dữ liệu
nội tại
 Điểm trừu tượng hóa cao nhất đầu ra
- Điểm biến chuyển dữ liệu nội tại thành đầu ra

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 31
Phân tích dòng dữ liệu

Đầu Đầu
vào ra
a b c d e f g h

Sơ đồ thể hiện dữ liệu và sự kiện của sản phẩm bằng DFD

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 32
Phân tích dòng dữ liệu

Đầu Đầu
vào ra
a b c d e f g h

Mô-đun Mô-đun
đầu Mô-đun
đầu
vào chuyển đổi
ra
Điểm trừu tượng Điểm trừu tượng
hóa cao nhất hóa cao nhất
đầu vào đầu ra
Các điểm trừu tượng hóa cao nhất đầu vào và đầu ra
© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 33
Phân tích giao dịch
 Thiết kế hướng sự kiện
 Một giao dịch là một thao tác theo quan điểm
của người sử dụng sản phẩm

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 34
Thiết kế hướng đối tượng
 Thiết kế sản phẩm thành các đối tượng là các
thể hiện của các lớp hay các lớp con
 Các NNLT HĐT thông dụng
- Smalltalk
- C++
- Eiffek
- Ada95
- Java
 Khi cài đặt NNLT không HĐT tiến hành thiết
kế trên các kiểu dữ liệu trừu tượng

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 35
Thiết kế hướng đối tượng
 Gồm 4 bước
- Xây dựng sơ đồ tương tác cho từng kịch bản
- Xây dựng sơ đồ lớp chi tiết
- Thiết kế sản phẩm theo các đối tượng của
khách hàng
- Tiến hành thiết kế chi tiết

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 36
Kiểm thử trong giai đoạn thiết kế
 Thấy lỗi trong giai đoạn này rất quan trọng
 Có thể sử dụng
- Walkthroughs
- Thanh tra tương tự trong đặc tả nhưng có thể
không có khách hàng
 Phải phản ánh được hướng thiết kế

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 37
Đánh giá giai đoạn thiết kế
 Có nhiều phương pháp đánh giá trên các mặt
của giai đoạn thiết kế
- Số lượng mô-đun: đánh giá thô kích thước
- Độ gắn kết của mô-đun: đánh giá chất lượng
- Độ kết nối các mô-đun: thống kê lỗi
 Độ phức tạp của thiết kế chi tiết
- lượng quyết định + 1
- Số nhánh trong mô-đun

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 38
Đánh giá giai đoạn thiết kế
 Henry và Kafura
M = length x (fan-in x fan-out)2

length: kích thước mô-đun


fan-in: số lượng luồng đi vào mô-đun + số
lượng cấu trúc dữ liệu mà mô-đun truy xuất
fan-out: số lượng luồng đi ra mô-đun + số
lượng cấu trúc dữ liệu toàn cục mô-đun cập
nhật

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 39
Đánh giá giai đoạn thiết kế
 CDM: phương pháp thành công cho thiết kế
hướng đối tượng
 Chidamber and Kemerer, Binkley and Schach

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 40

You might also like