Site icon TAPIT

Hướng dẫn viết đặc tả thiết kế qua một dự án nhúng đơn giản

Việc lên quy trình thiết kế và phát triển cho một hệ thống là các bước vô cùng quan trọng, đòi hỏi những người phát triển cần phải thực hiện trước khi bắt tay vào việc thi công. Với hệ thống nhúng nói riêng, dù người phát triển tiếp cận theo cách nào thì các dự án nhúng cũng phải trải qua các bước sau:

Trong bài viết này mình sẽ hướng dẫn các bạn cách xác định và làm rõ yêu cầu một hệ thống nhúng, lên đặc tả và thiết kế hệ thống đó dựa trên các kinh nghiệm thực tế của mình. Đồng thời mình sẽ giới thiệu một dự án quan trắc môi trường đơn giản để các bạn có thể hình dung cách viết đặc tả thiết kế một cách rõ nhất.

1. Xác định yêu cầu

Mục tiêu của bước xác định yêu cầu là thu thập thông tin về hệ thống và xác định những tính năng cần thiết ở hệ thống. Để xác định được các yêu cầu của khách hàng về hệ thống các bạn cần trả lời một số câu hỏi sau:

Chúng ta cùng phân tích một dự án quan trắc mực nước sông dưới đây:

Thiết kế một thiết bị quan trắc môi trường đo mực nước sông tại các khu vực ven sông tại thành phố Đà Nẵng đáp ứng các yêu cầu sau: 

Hình ảnh mang tính chất minh họa

Ở bước này cần có sự phối hợp giữa bên phát triển và bên khách hàng để làm rõ các vấn đề cần giải quyết. Ví dụ:

2. Đặc tả yêu cầu hệ thống

Sau khi xác định và làm rõ các yêu cầu liên quan đến hệ thống, chúng ta cùng xác định đặc tả của các nhân tố tác động đến hệ thống và ngược lại:

Lưu ý: Ở bước này chúng ta không cần phải liệt kê chi tiết các loại vi điều khiển, memory, các ngoại vi bên trong vi điều khiển, các phần mềm sử dụng… Việc bắt tay vào thực hiện code hoặc vẽ sơ đồ logic trong giai đoạn này có thể dẫn đến lỗi dự án.

Tiếp theo,  các bạn mới tiếp tục phân tích đặc điểm của các nhân tố trong và ngoài hệ thống:

Các nhân tố đầu vào (System Input) của hệ thống này bao gồm:

Các nhân tố đầu ra (System Output) của hệ thống này chính là các dữ liệu thu thập và đo đạc.

Nếu hệ thống của các bạn có tích hợp thêm các chức năng cảnh báo thì nhân tố đầu ra sẽ là các còi cảnh báo, LED báo hiệu,…

3. Thiết kế hệ thống

Trước khi bước vào giai đoạn thiết kế hệ thống, chúng ta cần làm việc với các bên liên quan thật kỹ để cùng thống nhất phương án, không bắt đầu thiết kế cho đến khi các thông số kỹ thuật đã được hoàn thành và khách hàng đã đồng ý. Sau đó những người phát triển sản phẩm sẽ lên mô tả cho các chức năng của hệ thống. 

3.1 Về phần cứng:

Dựa theo những yêu cầu của hệ thống quan trắc mực nước sông, chúng ta có sơ đồ khối như sau:

Sau khi lên sơ đồ khối mô tả kết nối giữa các thành phần phần cứng trong hệ thống, chúng ta sẽ phân tích các thông số kỹ thuật của hệ thống như:

3.2 Về phần mềm:

Trước khi đi vào phân tích và lên đặc tả cho các yêu cầu phần mềm của hệ thống, người thiết kế cần xác định những thành phần nào trong hệ thống nên được mô hình hóa. Việc mô hình hóa hệ thống sẽ giúp những người phát triển có thể hiểu, quan sát và đặc tả được cấu trúc, hành vi của hệ thống.

Có nhiều mô hình để biểu diễn đặc tả yêu cầu, ví dụ như:

– Mô hình hóa hướng chức năng:

– Mô hình hóa hướng đối tượng:

Với hệ thống quan trắc môi trường, mình sẽ sử dụng 2 mô hình để biểu diễn. Một là mô hình phân rã chức năng (Functional Decomposition) để xác định phạm vi hệ thống và tạo nền tảng cho thiết kế kiến trúc hệ thống. Hai là biểu đồ tuần tự (Sequence Diagram) để biểu diễn mối liên hệ giữa các đối tượng trong hệ thống và giữa các đối tượng với các tác nhân bên ngoài môi trường theo thời gian.

Mô hình phân rã chức năng

Biểu đồ tuần tự

Tùy vào dự án mà các bạn lựa chọn một hoặc nhiều mô hình hóa hệ thống cho phù hợp. Với bài viết chia sẻ cách viết đặc tả thiết kế qua một dự án đơn giản này, mình hi vọng các bạn đã nắm được các bước cần thực hiện để làm rõ yêu cầu dự án, tránh các sai sót sau này. Để hiểu rõ hơn về quy trình thực hiện một dự án các bạn đọc tài liệu tham khảo bên dưới nhé:

– Embedded Systems Design and Development

– Design and Development – Jonathan Valvano and Ramesh Yerraballi

– Requirements Engineering 

Hẹn gặp lại các bạn ở các bài chia sẻ tiếp theo!

TAPIT ARM R&D

[HỌC ONLINE: LẬP TRÌNH VI ĐIỀU KHIỂN STM32, VI XỬ LÝ ARM CORTEX – M]

Xem thêm Tổng hợp các bài hướng dẫn Lập trình vi điều khiển STM32 tại đây.
Xem thêm Tổng hợp hướng dẫn Internet of Things với NodeMCU ESP8266 và ESP32 tại đây.