BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM BÙI QUỐC BẢO LẬP TRÌNH HỆ THỐNG NHÚNG Top-down design... BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM 3Analysis phase ðưa ra những yêu cầu requirements và
Trang 1BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM
BÙI QUỐC BẢO
LẬP TRÌNH HỆ THỐNG
NHÚNG
Top-down design
Trang 2BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM 3
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
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
Trang 3Cá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
IEEE STD 830-1998
Trang 4BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM 7
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
Data flow của 1 bộ ñiều khiển motor
Hình chữ nhật: hardware Hình oval: software
Trang 5Engineering 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
Call graph
Trang 6BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM 11
Flowchart
Flowchart
Flowchart giúp chương trình ñược thiết kế một cách có cấu trúc
Trang 7On-Page Connector
START init A
A
Do something
END
Program flow chart Page 1
Off-Page Connector
START
init
Do something
END
Program flow chart Page 2
A-2
A-1
Program flow chart Page 1
Khi lập flowchart, không nên có quá nhiều connector
Trang 8BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM 15
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 ñộ ñó
Trang 9Implementation
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
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,…
Trang 10BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM 19
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ó:
hệ ñiều hành khác
tương tự
Bottom-up design
Trang 11đá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.
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)
Trang 12BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM 23
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