Việc thiết kế hệ điều khiển mờ có thể thực hiện bằng các phương pháp khác nhau như là thiết kế hệ mềm hoặc thiết kế hệ cứng. Mỗi phương pháp có những ưu nhược điểm riêng, thiết kế hệ cứng cho phép người thiết kế đánh giá được các luật mờ một cách nhanh chóng nhưng việc thiết kế theo cách này thường rất tốn kém. Thiết kế hệ mềm là cách tốt nhất để xây dựng nên một hệ điều khiển mờ, bằng cách sử dụng các phần mềm lập trình có sẵn, và có thể mô phỏng hệ thống.
Thiết kế hệ mềm có thể sử dụng các phần mềm chuyên dụng về xử lý mờ như
Matlab, FuzzyTech, Winfact,…Việc làm này cho phép xây dung rất nhanh một hệ mờ, mô phỏng và đành giá được ngay hệ thống. Nhưng trở ngại lớn vẫn là vấn đề kinh tế. Việc thiết kế hệ mềm vẫn có thể thực hiện được với các ngôn ngữ lập trình thông dụng như C++, Delphi, VB,C# …Việc xử lý mờ sẽ được thực hiện trên máy tính bàng phần mềm tự xây dựng. Sau đó là việc trao đổi dữ liệu với thiết bị chấp hành,và các thiết bị đo sẽ do một modulE khác đảm nhận.Module đó cũng có thể tự xây dựng hoặc cùng các Modul của một hãng khác.
Trước khi quyết định lựa chọn ngôn ngữ lập trình để giải quyết bài toán Logic mờ, chúng ta cần nắm được những nhiệm vụ cần giải quyết:
- Cài đặt Cấu trúc dữ liệu mô tả tập mờ và các phép toán trên tập mờ.
- Cài đặt Cấu trúc dữ liệu mô tả các luật suy diễn và các thao tác xử lý liên quan. - Cài đặt và vận hành Motor suy diễn mờ.
- Cài đặt các công cụ đồ họa cho phép người sử dụng soạn thảo trực quan các tập mờ, các luật suy diễn.
- Các thao tác thông dụng như lưu trữ công việc, kết xuất dữ liệu,...
Ngôn ngữ được chọn để thực hiện thiết kế hệ thống mờ trong bài tiểu luận này là ngôn ngữ lập trình C#, là một ngôn ngữ cho phép:
- Quản lý tốt mã nguồn.
- Thư viện cài đặt các cấu trúc dữ liệu và giải thuật cơ bản được cung cấp đầy đủ, sử dụng tiện lợi.
Trên thị trường hiện nay có một công cụ phát triển sử dụng ngôn ngữ lập trình C# rất tốt đó là Microsoft Visual C# trong bộ Visual Studio vì những lý do sau:
- Thư viện lớp của C# Builder rất phong phú và dễ dàng mở rộng, thừa kế. Đây là ưu điểm vượt trội của nó so với các công cụ phát triển khác.
- C# Builder không ép buộc người lập trình phải theo một khung ứng dụng nào. Do vậy, nó rất thích hợp cho người lập trình sáng tạo, có yêu cầu điều chỉnh chi tiết tới mọi thành phần của chương trình.