BÀI GIẢNG MƠN HỌC HỆ NHÚNG
Chương 2: Quy trình phát triển hệ thống nhúng
2.1. Tìm hiểu phân tích u cầu
2.2. Thiết kế hệ thống nhúng
2.3. Thực thi hệ thống nhúng
2.4. Kiểm thử hệ thống nhúng
2.5. Triển khai bảo trì hệ thống nhúng
1
• Điều gì xảy ra nếu khơng có qui trình phát triển hệ thống hoặc qui
trình khơng tốt?
2. Qui trình phát triển hệ thống
nhúng
2.1. Tìm hiểu phân tích u cầu
• Giống như q trình tìm hiểu phân tích u cầu đối với phần mềm
• Tuy nhiên, đối với hệ nhúng thường chú trọng nhiều hơn đến
performance
• Tốc độ CPU
• Bộ nhớ hỗ trợ
• Realtime?
2.1. Tìm hiểu phân tích u cầu
• Đầu vào
• u cầu của người sử dụng (khách hàng)
• Theo cách nhìn của người sử dụng
• Chưa rõ ràng, chi tiết (đơi khi là mập mờ)
• Đầu ra
• Bản đặc tả yêu cầu người dùng
• u cầu hệ thống dưới góc nhìn của người thiết kế, phát triển hệ thống
• Chi tiết, rõ ràng tất cả các yêu cầu của người sử dụng
2.2. Thiết kế hệ thống nhúng
• Mơ hình vịng đời thiết kế và phát triển hệ thống nhúng
• Q trình tạo bản thiết kế hệ thống nhúng
Mơ hình vịng đời thiết kế và phát triển
Mơ hình vịng đời thiết kế và phát
triển
• Nhận xét
• Quá trình thiết kế và phát triển hệ thống gồm 4 giai đoạn: Tạo bản thiết kế,
thực thi hệ thống, kiểm thử hệ thống, và bảo trì hệ thống
• Giai đoạn tạo bản thiết kế là giai đoạn quan trọng nhất và quyết định đến
thành công dự án
Q trình tạo bản thiết kế hệ nhúng
• Q trình thiết kế cần trải qua 6 giai đoạn chính sau đây:
• Giai đoạn 1: Nắm vững kiến thức nền tảng
• Giai đoạn 2: Hiểu được vòng đời thương mại của sản phẩm (architecture
business cycle - ABC)
• Giai đoạn 3: Xây dựng thiết kế tổng quan
• Giai đoạn 4: Thiết kế chi tiết
• Giai đoạn 5: Tài liệu hóa các thiết kế
• Giai đoạn 6: Phân tích và đánh giá thiết kế
Giai đoạn 1: Nắm vững kiến thức nền tảng
• Cần nắm vững các kiến thức nền tảng cả phần cứng lẫn phần mềm
• Hiểu tổng quan về tồn bộ hệ thống mình tham gia
Giai đoạn 2: Nắm được ABC của sản phẩm
Giai đoạn 2: Nắm được ABC của sản phẩm
• Từ Architecture Business Cycle của hệ nhúng có thể suy ra:
• Hệ nhúng không chỉ được thiết kế trên cơ sở các yêu cầu về mặt kỹ thuật mà
còn phụ thuộc rất nhiều yếu tố khác
• Ví dụ: Cùng là thiết kế một chiếc TV
• Technical requirement là hồn tồn giống nhau
• Tuy nhiên mỗi hãng khác nhau lại cho ra một thiết kế riêng của mình
lý do tại sao?
Giai đoạn 2: Nắm được ABC của sản phẩm
• Giai đoạn 2 gồm các bước nhỏ sau đây
• Bước 1: Liệt kê tất cả các ảnh hưởng có thể tác động đến u cầu của hệ
thống (khơng chỉ có các yếu tố kỹ thuật)
• Bước 2: Phân loại các yếu tố ảnh hưởng: yếu tố nào là kỹ thuật, yếu tố nào là
yếu tố kinh doanh, yếu tố con người…
• Bước 3: Từ 2 bước trên thu thập yêu cầu cho hệ thống
• Bước 4: Xác định các thành phần phần cứng, phần mềm có thể thỏa mãn yêu
cầu hệ thống
Giai đoạn 2: Nắm được ABC của sản phẩm
Cáctế,
Ảnh hầu
hưởnghết
Đặccác
trưnghệ nhúng
Mơ tảđều dùng các đặc trưng chung của
• Trên thực
ABCs là tiêu
chí đầuSellability
tiên để thu Tính
thập
requirement
Business
thương mại của sản phẩm
[Sales,
Marketing,
Management…] Time-to-Market
Thời gian phát triển sản phẩm
Cost
Giá thành của sản phẩm
Device lifetime
Vịng đời của sản phẩm ngồi thị trường,
vịng đời của sản phẩm thực tế…
Schedule,
Capability, Risks
Lịch trình từng bước để phát triển sản
phẩm, khả năng của sản phẩm, các rủi ro
có thể phát sinh
Giai đoạn 2: Nắm được ABC của sản phẩm
Các Ảnh hưởng
Đặc trưng
Mơ tả
Technical
Performance
Tốc độ, khả năng lưu trữ, độ chính xác…
User-friendliness
Dễ sử dụng, giao diện thân thiện đẹp mắt…
Modifiability
Khả năng dễ dàng sửa đổi, nâng cấp
Security
Tính bảo mật của hệ thống, khả năng chống
bẻ khóa, chống hacker…
Reliability
Hệ thống có bị hỏng hóc, ngừng hoạt động
đột ngột? Khi có sự cố xảy ra hệ thống phản
ứng thế nào…
Portability
Khả năng phần mềm có thể chạy trên nhiều
phần cứng khác nhau, hay phần cứng có
tương thích với nhiều nền tảng phần mềm
khác nhau
Giai đoạn 2: Hiểu ABCs của hệ
nhúng
Các Ảnh hưởng
Đặc trưng
Mô tả
Technical
Testability
Hệ thống có dễ kiểm tra, phát hiện lỗi khơng
Availability
Tính sẵn sàng
Standards
Các tiêu chuẩn cần tuân thủ
Schedule
Giai đoạn 2: Hiểu ABCs của hệ
Các Ảnh hưởng
Đặc trưng
Mô tả
nhúng
Industry
Standards
Các chuẩn cơng nghiệp, có thể do thị trường
qui định (Ví dụ: chuẩn TV, chuẩn cho các thiết
bị y tế, chuẩn mạng…)
Quality
Assurance
Testability
Xem trong phần technical ở trên
Availability
Khi nào thì hệ thống sẵn sàng cho việc test
Schedule
Xem trong phần business ở trên
QA standards
ISO 9000, ISO 9001…
Cost
Giá của thiết bị, giá vận hành bảo trì…
User friendliness
Xem trong phần bussiness ở trên
Performance
Xem trong phần technical ở trên
Customer
Xác định các thành phần phần cứng, mềm
• Để xác định các thành phần phần cứng phần mềm thỏa mãn
requirements
• Liệt kê các kịch bản thỏa mãn mỗi yêu cầu
• Đưa ra các chiến lược (cách giải quyết) cho mỗi kịch bản ở trên
• Dựa vào các chiến lược ở trên đưa ra các chức năng cần thiết phải có trong hệ
thống, từ đó liệt kê các phần cứng và phần mềm
Liệt kê các kịch bản thỏa mãn u
cầu
• Ví dụ kịch bản thõa mãn yêu cầu về performance
Liệt kê các kịch bản thỏa mãn u
cầu
• Ví dụ kịch bản thỏa mãn yêu cầu về tính testability của hệ thống
Đưa ra các chiến lược giải quyết các kịch bản
• Ví dụ chiến lược giải quyết kịch bản thỏa mãn yêu cầu performance
Đưa ra các chiến lược giải quyết các kịch bản
• Ví dụ chiến lược giải quyết kịch bản thỏa mãn yêu cầu testability
Giai đoạn 3: Xây dựng thiết kế tổng quan
• Đưa ra danh sách các thành phần phần cứng và phần mềm mà hệ
thống cần có
• Mối quan hệ giữa các thành phần với nhau
• Thường tiến hành thiết kế theo kiểu top-down và đưa ra mơ hình
phân tầng
• Phân rã hệ thống thành các chức năng con
• Phân rã các chức năng con thành các chức năng nhỏ hơn nữa
Giai đoạn 3: Xây dựng thiết kế tổng
quan (basic design)
• Ví dụ: Thiết kế TV set-top box
Giai đoạn 3: Xây dựng thiết kế tổng quan
• Sau khi có mơ hình phân tầng, tiến hành chọn lựa các thành phần
phần cứng và phần mềm
• Các tiêu chí để lựa chọn
•
•
•
•
Giá thành
Time-to-market
Performance
Mơi trường phát triển, các tools debugs