3.3. LỰA CHỌN GIẢI PHÁP 3.3.1. Nhiệm vụ 3.3.1. Nhiệm vụ
Xây dựng đƣợc một hệ thống phân tích tín hiệu điện não đồ có khả năng hỗ trợ bác sĩ chẩn đoán bệnh động kinh. Hệ thống phải có khả năng xử lý các phép tính toán phức tạp (khi xử lý tín hiệu) nhƣng cũng phải có giao diện ngƣời sử dụng tốt.
3.3.2. Khó khăn
Chƣơng trình viết bằng Matlab để thử nghiệm kết quả, Matlab cũng có khả năng thiết kế giao diện ngƣời sử dụng tuy nhiên rất hạn chế, đồng thời Matlab cũng không mạnh về việc tƣơng tác với các hệ quản trị cơ sở dƣ liệu. Một hệ thống ứng dụng trong thực tiễn không thể thiếu các yếu tố trên, do đó Matlab không phù hợp để làm phần mềm triển khai thực tế. Trong khi đó các công cụ xây dựng phần mềm thông thƣờng thì lại không có thƣ viện toán học để xử lý các tính toán phức tạp nhƣ Matlab.
3.3.3. Lựa chọn giải pháp
Có một số giải pháp để lựa chọn nhƣ sau:
- Tự xây dựng bộ thƣ viện xử lý toán học cho hệ thống
- Sử dụng File thực thi Matlab Stand Alone kết hợp với ngôn ngữ lập trình khác - Sử dụng Matlab Builder Library kết hợp với ngôn ngữ lập trình khác
Giải pháp thứ nhất thì quá tốn thời gian công sức, cần một đội ngũ nhân lực rất lớn và làm việc trong thời gian dài mới có thể đáp ứng đƣợc. Trong khuôn khổ luận văn của học viên thì điều này là không khả thi. Giải pháp thứ hai cũng đã đƣợc học viên thử nghiệm một thời gian, tuy nhiên học viên nhận thấy rằng việc tƣơng tác giữa hai ngôn ngữ lúc này không đƣợc linh hoạt, rất khó khăn cho việc lập trình. Học viên quyết định chọn giải pháp thứ ba, sử dụng công cụ Matlab Builder để đƣa các chƣơng trình Matlab thành dạng thƣ viện chia sẻ DLL, và C# có thể sử dụng chúng. Nhƣ vậy đã có thể kết hợp uyển chuyển hai ngôn ngữ để vừa xử lý đƣợc các tính toán toán học phức tạp, đồng thời xây dựng đƣợc hệ thống có giao diện ngƣời sử dụng thân thiện và khả năng quản lý dữ liệu.
Chuyển đổi chƣơng trình Matlab thành thƣ viện Matlab DLL [21]
Việc xử lý tín hiệu đƣợc định nghĩa thành các thƣ viện Matlab DLL để phần mềm có thể sử dụng và xử lý dữ liệu. Để có thể gọi đến và sử dụng nhƣ một lớp trong C# vào thì phải viết chƣơng trình Matlab dƣới dạng một hàm. Sau đó dùng công cụ
Deploytool trong Matlab để thực hiện chuyển chƣơng trình đó thành file DLL dạng .NET Assembly. Tiếp theo thực hiện khai báo lớp mới với các file .m cần thiết rồi tạo file (Hình 3-7). File đƣợc tạo ra có định dạng .DLL.