Разработка программного средства оценки точности распознавания сигнала ЭЭГ
ВВЕДЕНИЕ
Эпилепсия – это хроническое заболевание головного мозга, которое характеризуется для которого непровоцированными приступами, имеющими различные клинические проявления. Врачи, обследующие пациентов, должны обработать большое количество графиков активности мозга.
Электроэнцефалография – чувствительный метод исследования, отражающий малейшие изменения функции коры головного мозга и глубинных мозговых структур.
Она регистрирует электрические сигналы клеток головного мозга и позволяет зарегистрировать эпилептиформную активность мозга. Соответствующие изменения позволяют отличить эпилепсию от других патологий, которые также могут сопровождаться судорожными приступами или обладать другой схожей симптоматикой.
На патологию указывают нарушения электрической активности нейронов, которые фиксируются при помощи специальных датчиков, размещаемых на голове пациента. Каждый датчик устанавливается в определенной области на голове пациента. Проанализировав каждый из данных участков, на котором размещен датчик, можно проследить картину изменения мозговой активности. При расшифровке данных, полученных в ходе ЭЭГ мониторинга, специалист учитывает все данные, полученные с использованием аппаратуры. В норме активность обоих полушарий в течение исследования будет симметричной, без всплесков патологических электрических импульсов.
СОДЕРЖАНИЕ
СПИСОК СОКРАЩЕНИЙ 4
ВВЕДЕНИЕ 5
1. ИССЛЕДОВАТЕЛЬСКИЙ РАЗДЕЛ 7
1.1 АКТУАЛЬНОСТЬ ИЗУЧАЕМОЙ ПРОБЛЕМЫ 7
1.2 ИССЛЕДОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ 8
1.3 АНАЛИЗ СУЩЕСТВУЮЩИХ РЕШЕНИЙ 8
1.4 ПОСТАНОВКА ЗАДАЧИ ВКР 16
1.6 ПРОГРАММНЫЕ ТЕХНОЛОГИИ ДЛЯ РЕШЕНИЯ ПОСТАВЛЕННОЙ ЗАДАЧИ 17
1.7 ОРГАНИЗАЦИЯ ВХОДНЫХ И ВЫХОДНЫХ ДАННЫХ 25
1.8 ТРЕБОВАНИЯ К РАЗРАБАТЫВАЕМОМУ ПС ОТС 26
ВЫВОДЫ ПО ИССЛЕДОВАТЕЛЬСКОМУ РАЗДЕЛУ 26
2. КОНСТРУКТОРСКИЙ РАЗДЕЛ 27
2.1 ОБОСНОВАНИЕ ЯЗЫКА И СРЕДЫ ПРОГРАММИРОВАНИЯ 27
2.2 РАЗРАБОТКА АЛГОРИТМА ФУНКЦИОНИРОВАНИЯ 50
2.3 ОСОБЕННОСТИ ХРАНЕНИЯ ДАННЫХ 54
2.4 ПРОЦЕСС РАЗРАБОТКИ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА 54
ВЫВОДЫ ПО КОНСТРУКТОРСКОМУ РАЗДЕЛУ 60
3. ИСПЫТАТЕЛЬНЫЙ РАЗДЕЛ 61
3.1 СБОРКА ПРОЕКТОВ НА ЯЗЫКЕ JAVA 61
3.2 СБОРКА ПРОЕКТОВ В INTELLIJ IDEA 65
3.3 ОТЛАДКА ПС ОТС 67
3.4 ТЕСТИРОВАНИЕ ПС ОТС 69
ВЫВОДЫ ПО ИСПЫТАТЕЛЬНОМУ РАЗДЕЛУ 80
ЗАКЛЮЧЕНИЕ 81
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 82
ПРИЛОЖЕНИЕ 1. Техническое задание………………………………………………1-7
ПРИЛОЖЕНИЕ 2. Руководство программиста……………………………………….1-10
ПРИЛОЖЕНИЕ 3. Текст программы…………………………………………………..1-14
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. Доронина А.А., Касимов Р.А., Федотова Е.Л. Методические указания по подготовке выпускной квалификационной работы по направлению подготовки бакалавров 09.03.04 «Программная инженерия» / под ред. Л.Г. Гагариной. М.: МИЭТ, 2021. 28 с.
2. ГОСТ 19.701-90. Единая система программной документации. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения.
3. ГОСТ 19.505-79. Руководство оператора. Требования к содержанию и оформлению.
4. ГОСТ 19.201-78. Техническое задание, требования к содержанию и оформлению.
5. Кэти Съерра и Берт Бейтс. Изучаем Java. 2-е издание, 2020 г., 717 с.
6. Блок-схемы алгоритмов. ГОСТ. Примеры [Электронный ресурс] – URL:https://pro-prof.com/archives/1462
7. Программы для анализа ЭЭГ [Электронный ресурс] – URL:https://cmi.to/программы/
8. IntelliJ IDEA [Электронный ресурс] – URL:https://www.jetbrains.com/ru-ru/idea/
9. Язык программирования Java [Электронный ресурс] – URL:https://webcreator.ru/articles/java
10. Что такое JRE? Введение в среду выполнения Java [Электронный ресурс] – URL:https://topjava.ru/blog/what-is-the-jre
11. Программа Intellij Idea: преимущества, особенности, правила использования:https://bayguzin.ru/main/uroki/soft/programma-intellij-idea-preimushchestva-osobennosti-pravila-polzovaniya.html
12. Эпилепсия: причины и симптомы [Электронный ресурс] – URL:https://postnauka.ru/faq/63963
13. Java Swing против Java FX [Электронный ресурс] – URL:https://ru.education-wiki.com/3950146-java-swing-vs-java-fx
14. H2 Database Engine [Электронный ресурс] – URL:https://www.h2database.com/html/main.html
15. Встраиваемые базы данных в Java[Электронный ресурс] – URL:https://easyjava.ru/data/vstraivaemye-bazy-dannyx-v-java/
16. Путь и путь к классу [Электронный ресурс] - URL:https://speczone.ru/RU/Java/Tutorials/essential/environment/paths.html
17. Идентификация по электроэнцефалограмме [Электронный ресурс] - URL:https://www.osp.ru/os/2012/06/13017103
18. Сон: ЭЭГ диагностика нарушений сна [Электронный ресурс] - URL:https://cmi.to/sleep/
19. Презентация "Методы исследования ЦНС" - проект, доклад [Электронный ресурс] - URL:https://prezentacii.org/prezentacii/prezentacii-razni..
20. Что показывает электроэнцефалограмма головного мозга? [Электронный ресурс] – URL:https://verficlinic.ru/blog/chto-pokazyvaet-elektroentsefalogramma-golovnogo-mozga/
21. Роль ЭЭГ при эпилепсии [Электронный ресурс] – URL:https://dr-spin.com/ru/news/rol-eeg-pri-epilepsii/
22. Введение в язык Go [Электронный ресурс] – URL:https://metanit.com/go/tutorial/1.1.php
23. Java [Электронный ресурс] - URL:http://progopedia.ru/language/java/
24. Язык программирования C++ [Электронный ресурс] - URL:https://metanit.com/cpp/tutorial/1.1.php
25. Язык программирования Python [Электронный ресурс] – URL:https://web-creator.ru/articles/python
26. Краткий обзор C# [Электронный ресурс] – URL:https://docs.microsoft.com/ru-ru/dotnet/csharp/tour-of-csharp/
27. Что такое уровень языка программирования? [Электронный ресурс] – URL:http://book.kbsu.ru/theory/chapter7/1_7_13.html
28. Язык программирования [Электронный ресурс] – URL:https://ru.bmstu.wiki/Язык_программирования
29. Среда разработки ПО – Eclipse [Электронный ресурс] – URL:https://pro-spo.ru/linuxprog/236--eclipse-
30. Java. Язык программирования [Электронный ресурс] – URL:http://progopedia.ru/language/java/
31. Создание проекта в IntelliJ IDEA [Электронный ресурс] – URL:https://javarush.ru/groups/posts/intellij-idea
32. Руководство JavFX для начинающих – Hello JavaFX [Электронный ресурс] - URL:https://betacode.net/10623/javafx-tutorial-for-beginners
33. Интерфейс Map и класс HashMap [Электронный ресурс] – URL:https://metanit.com/java/tutorial/5.8.php
34. WinEEG [Электронный ресурс] – URL:https://cmi.to/программы/wineeg/
35. JavaFX – Краткое руководство [Электронный ресурс] – URL:https://coderlessons.com/tutorials/java-tekhnologii/vyuchi-javafx/javafx-kratkoe-rukovodstvo
36. SWING – Краткое руководство [Электронный ресурс] – URL:https://coderlessons.com/tutorials/java-tekhnologii/nauchitsia-kachatsia/swing-kratkoe-rukovodstvo
37. NeoRec – Программа для регистрации ЭЭГ [Электронный ресурс] – URL:https://mks.ru/product/neorec/
38. WinEEG – Руководство пользователя [Электронный ресурс] – URL:https://studylib.ru/doc/2535851/wineeg---rukovodstvo-pol._zovatelya
39. Oracle JDeveloper [Электронный ресурс] – URL:https://www.tadviser.ru/index.php/Продукт:Oracle_JDeveloper
40. 10 лучших IDE для Java в 2021 году [Электронный ресурс] – URL:https://bestprogrammer.ru/izuchenie/10-luchshih-java-ide-v-2021-godu
41. Сборка и выполнение Java программ [Электронный ресурс] – URL:https://www.fandroid.info/sborka-i-vypolnenie-java-programm/
42. Intellij IDEA – Инструменты для сборки [Электронный ресурс] – URL:https://coderlessons.com/tutorials/java-tekhnologii/izuchite-intellidzh-ideia/intellij-idea-instrumenty-dlia-sborki
43. Руководство пользователя IntelliJ IDEA. Отладчик [Электронный ресурс] – URL:https://javarush.ru/groups/posts/753-rukovodstvo-poljhzovatelja-intellij-idea-otladchik
44. Как использовать отладку в IntelliJ IDEA. Краткий конспект [Электронный ресурс] – URL:https://r5am.ru/content/Programs/howto/howto-intellij-idea-debugging.html
45. JUnit part I [Электронный ресурс] – URL:https://javarush.ru/groups/posts/605-junit
46. Белый, серый и черный ящик [Электронный ресурс] – URL:https://www.careerist.com/ru-insights/belyy-seryy-i-chernyy-yashchik
47. JFreeChart – Краткое руководство [Электронный ресурс] – URL:https://coderlessons.com/tutorials/java-tekhnologii/vyuchit-jfreechart/jfreechart-kratkoe-rukovodstvo
48. Столбчатые диаграммы BarCharts [Электронный ресурс] – URL:https://java-online.ru/jfreechart-barchart.xhtml
49. Системное программное обеспечение [Электронный ресурс] – URL:http://infoegehelp.ru/index.php?option=com_content&view=article&id=480:spo&catid=52:obespechenie&Itemid=101
50. Классификация прикладного программного обеспечения [Электронный ресурс] - URL:https://www.homework.ru/spravochnik/klassifikaciya-prikladnogo-programmnogo-obespecheniya/
51. Классификация вредоносных программ [Электронный ресурс] – URL:https://www.kaspersky.ru/blog/klassifikaciya-vredonosnyx-programm/2200/
52. Java Examples Bar Chart [Электронный ресурс] – URL:https://www.javacodex.com/Graphics/Bar-Chart
53. Java: создание приложений с графическим интерфейсом [Электронный ресурс] – URL:https://docplayer.com/39413491-Java-sozdanie-prilozheniy-s-graficheskim-interfeysom.html
54. Работа с графическим интерфейсом в Джава: списки и Swing [Электронный ресурс] – URL:https://otus.ru/journal/rabota-s-graficheskim-interfejsom-v-dzhava-spiski-i-swing/
Сборку проекта можно автоматизировать, но для этого разработчики необходимо выполнить предварительные действия. Они должны провести компиляцию, при которой будет происходить преобразование исходного кода в бинарный код; далее этот бинарный код необходимо собрать; выполнить тесты; перенести проект на платформу и написать всю документацию по тому, как эта программа работает и как с ней работать программисту. Чтобы автоматизировать сборку проектов, используются системы сборки, такие как make на Unix подобных системах и nmake для компилятора ОС Microsoft. Нетривиальной задачей является написание файлов для сборки проекта под определенные системы. Если пользоваться только Mictosoft Visual Studio, не используя другие среды разработки и ОС, существует вероятность так и не узнать о существовании таких файлов, ведь интегрированная среда разработки скрывает эту часть работы, показывая несколько диалоговых окон и кнопку Build, которая нужна для сборки проекта. Если есть необходимость написания сложных и кроссплатформенных проектов, в которых разработчики будут использовать большое количество сторонних библиотек, то такой подход на практике оказывается неприемлемым.