LẬP TRÌNH HỆ THỐNG
NHÚNG
BÙI QUỐC BẢO
BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM
Top-down design
BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM
2
1
Analysis phase
ðưa ra những yêu cầu (requirements) và
ràng buộc (constraints) cho hệ thống.
Requirements là các tham số mà hệ
thống phải thỏa mãn
Từ các requirement ta phát triển thành
specifications
Constrain là các giới hạn mà hệ thống
phải thỏa mãn
BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM
3
Analysis phase
VD:
Khi thiết kế 1 thiết bị ño ñiện áp:
Requirement: Thiết bị phải bỏ ñược trong
túiit
Specification: Kích cỡ là 10cm x 20 cm
Constraint: Giá của thiết bị dưới 1.000.000
BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM
4
2
Các tham số phải xem xét
ðộ an toàn
ðộ chính xác, ñộ phân giải
Tốc ñộ ñáp ứng, khả năng xử lý
Khả năng sửa ñổi, update (Maintainability)
Khả năng kiểm tra, check lỗi (testability)
ðộ tương thích
Thời gian sử dụng
Kích cỡ, cân nặng
Năng lượng tiêu hao
Chi phí thiết kế và chế tạo mẫu thử (Nonrecurring engineering
cost)
Chi phí sản xuất
Thời gian chế tạo mẫu
Thời gian ñưa sản phẩm vào thương mại
BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM
5
IEEE STD 830-1998
BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM
6
3
High level design
ðưa ra mô hình của hệ thống
Chia hệ thống ra làm nhiều module con
Ước lượng chi phí.
ðưa ra thời gian biểu
ðưa ra sơ ñồ luồng dữ liệu (data flow
graph)
Tại quá trình này, ta biết ñược dự án có
khả thi, mang lại lợi nhuận hay không.
BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM
7
Data flow của 1 bộ ñiều khiển motor
Hình chữ nhật: hardware
Hình oval: software
BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM
8
4
Engineering design
Thiết kế sơ khởi hệ thống:
ðưa ra sơ ñồ cấu trúc top-down
Những tín hiệu I/O cơ bản
Những cấu trúc dữ liệu ñược chia sẻ giữa
các module
Sơ ñồ phần mềm tổng quát
Thiết kế phần cơ khí
Phương pháp giao tiếp với máy tính
BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM
9
BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM
10
Call graph
5
Flowchart
BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM
11
Flowchart
Flowchart giúp chương trình
ñược thiết kế một cách có cấu
trúc
BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM
12
6
On-Page Connector
Program flow chart
Page 1
START
A
init
Do something
A
END
13
BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM
Off-Page Connector
Program flow chart
Page 2
Program flow chart
Page 1
START
A-1
init
Do something
A-2
END
Khi lập flowchart, không nên có quá nhiều connector
BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM
14
7
VD: Vẽ flowchart cho 1 máy nướng bánh
mì. Một nút nhấn start sẽ làm máy bắt
ñầu chạy. Máy dùng một sensor ño nhiệt
ñộ và so sánh với 1 nhiệt ñộ cho sẵn.
Dây ñốt (heater) sẽ ñược bật khi nhiệt
ñộ dưới nhiệt ñộ cần thiết, và tắt khi ñã
ñạt ñến nhiệt ñộ ñó.
BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM
15
BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM
16
8
Implementation
Hệ thống ñược thực sự xây dựng trong
bước này.
Các khối con có thể ñược phát triển
song song
Các công cụ mô phỏng nên ñược sử
dụng trước khi làm ra sản phẩm thực.
BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM
17
Testing
Trong bước này, chúng ta kiểm tra sự hoạt
ñộng của hệ thống.
Trước tiên, kiểm tra các chức năng cơ bản
của hệ thống.
Kiểm tra và tối ưu các tham số như tốc ñộ
thực thi, ñộ chính xác, ñộ ổn ñịnh,…
BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM
18
9
Maintenance
ðây là bước sau khi ñưa sản phẩm ñến người
dùng
Các yêu cầu có thể có:
Sửa lỗi
Thêm chức năng
Tối ưu tốc ñộ thực thi, kích thước chương trình
Thay ñổi code ñể chạy cho một vi xử lý khác hay
hệ ñiều hành khác
Cấu hình lại hệ thống ñể giải quyết một vấn ñề
tương tự
BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM
19
Bottom-up design
BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM
20
10
ðánh giá chất lượng
ðánh giá ñịnh lượng (quantitative):
Tốc ñộ thực thi
Tài nguyên tiêu tốn
ðộ chính xác
ðộ ổn ñịnh
ðánh giá ñịnh tính (qualitative):
Khả năng bảo trì và nâng cấp
(maintenence) phần mềm
Mức ñộ dễ hiểu của phần mềm.
BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM
21
You can tell if you are a good programmer
if
1) you can understand your own code 12
months later
2) others can make changes to your
code
(Jonathan W Valvano)
BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM
22
11
Coding style
ðể làm cho chương trình dễ hiểu, dễ
kiểm tra, mã nguồn chương trình phải
ñược viết theo 1 cách thống nhất.
Mỗi công ty thường có 1 chuẩn (guide
line) riêng.
Sinh viên tham khảo coding style guide
line trên trang web e-learning.
BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM
23
12