Информационная система диагностики отклонений в развитии у детей раннего возраста

Программный комплекс Лонгитюд. Разработка алгоритмов и базы данных. Программа KID RCDI для точной оценки развития ребенка. Разработка технической документации. Использование инструкции по применению Веб-приложения. Анализ существующих систем и подходов.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 19.01.2017
Размер файла 1,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Содержание

Введение

1. Анализ существующих систем и подходов

1.1 Программный комплекс Лонгитюд

1.2 Программа KID RCDI для точной оценки развития ребенка

1.3 Обследование по шкалам KID / RCDI

2. Разработка технических требований и постановка задач выпускной квалификационной работы

3. Структура информационной системы

4. Разработка базы данных

5. Разработка алгоритмов

6. Реализация программных модулей

6.1 Программа администратора

6.2 Веб приложение

7. Отладка и экспериментальное тестирование

8. Разработка технической документации

8.1 Системные требования

8.2 Инструкция по использованию программы администратора

8.3 Инструкция по использованию Веб- приложения

Заключение

Список использованных источников

Введение

В настоящее время медицинские учреждения производят и накапливают огромные объемы данных. От того, как эффективно эта информация используется врачами, руководителями, управляющими органами, зависит качество медицинской помощи, общий уровень жизни населения, уровень развития страны в целом и каждого ее территориального субъекта в частности. Поэтому необходимость использования больших, и при этом еще постоянно растущих, объемов информации при решении диагностических, терапевтических, статистических, управленческих и других задач, обуславливает сегодня создание информационных систем в медицинских учреждениях.

Мероприятия по внедрению компьютерных программ поддерживаются Распоряжением Правительства Российской Федерации от 1 ноября 2013 г. N 2036-р, «Об утверждении Стратегии развития отрасли информационных технологий в Российской Федерации на 2014-2020 годы и на перспективу до 2025 года». Впервые поставлены задачи информатизации в документе «Концепция развития системы здравоохранения в Российской Федерации до 2020 г.» (разделы проекта Концепции 2.7. и 4.2.8)

Одной из проблем современной педагогики и медицины является своевременная дифференциальная диагностика даже минимальных отклонений развития у детей. Необходимость внедрения эффективных мероприятий по дифференциальной диагностике и последующей коррекции нарушений развития ребенка определяется ростом числа детей, рожденных с патологией, а также недоношенных [1].

Одной из первых задач в любой программе раннего вмешательства является своевременная диагностика отклонений в развитии и определения группы риска. Согласно Приказу Министерства здравоохранения РФ от 21 декабря 2012г. № 1346н “О Порядке прохождения несовершеннолетними медицинских осмотров, в том числе при поступлении в образовательные учреждения и в период обучения в них спланировано динамическое медицинское наблюдение с периода новорожденности с целью своевременной диагностики соматической патологии и отклонений в развитии.

Существует необходимость организовать электронный компьютерный скрининг психического развития детей раннего возраста с использованием «Интернет» - ресурсов. Рабочее место каждого врача оснащено компьютером, подключенным к Единой медицинской информационно-аналитической системе (ЕМИАС), что позволяет включить в медицинскую практику скрининговые методы выявления и ранней дифференциальной диагностики отклонений развития у детей. Одним из направлений программы по созданию в медучреждениях Единой медицинской информационно - аналитической системы (ЕМИАС) является ведение электронной карты. Возможности ЕМИАС позволяют разрабатывать и внедрять свои собственные стратегии на базах медицинских учреждений различного уровня в области электронного здравоохранения.

В настоящее время создано и апробировано достаточное количество скрининговых методик для определения уровня развития ребенка раннего возраста, не требующих больших временных затрат, позволяющих произвести первичный отбор тех детей, которые нуждаются в дальнейшем наблюдении специалистов. Эти методы просты в обращении и могут применяться не только специалистами, но и родителями. Для удобства семьи важно предусмотреть возможность прохождения электронного тестирования на домашнем компьютере, в оптимальных временных условиях. Тесты можно разместить на сайтах поликлиник, а полученную информацию в виде графического профиля развития ребенка размещать в индивидуальной электронной карте. Во время последующего приема у специалиста будут результаты предварительного тестирования и профиль развития ребенка с определением возраста развития по всем психомоторным линиям.

Сегодня проблема остается актуальной, так как на рынке практически нет программ, удовлетворяющих нужны специалистов в этом направлении, а существующие программные комплексы либо не полностью соответствуют требованиям, изложенным выше, либо технологии, использовавшиеся при разработке продуктов, уже устарели. Кроме того, все программы, разработанные на текущий момент платные и их стоимость достаточно высока, даже для организации.

Целью выпускной квалификационной работы является разработка информационной системы диагностики отклонений в развитии у детей раннего возраста, позволяющей на основе тестирования выявить задержки в развитии детей на начальном этапе по определенным областям, и дающей специалисту возможность вовремя отреагировать и назначить дополнительное обследование.

Выпускная квалификационная работа состоит из восьми разделов. В первом разделе проводится анализ уже существующих систем и подходов, выявляются их недостатки, оценивается целесообразность разработки данной информационной системы. Во втором разделе разрабатываются технические требования и задачи выпускной квалификационной работы. В третьем разделе разрабатывается структура данной информационной системы. В четвертом разделе создается база данных для функционирования системы. В пятом разделе разрабатываются алгоритмы работы программ и изображаются в виде блок- схем. В шестом разделе рассматривается реализация программных модулей. В седьмом разделе описываются методы произведенного тестирования и его результаты. В восьмом разделе разрабатывается техническая документация к данной информационной системе.

алгоритм программа лонгитюд

1. Анализ существующих решений

1.1 Программный комплекс Лонгитюд

Программный комплекс Лонгитюд предназначен для решения широкого спектра учебных, исследовательских и прикладных задач в области психологии, педагогики, социальной работы и смежных дисциплин [2].

Программный комплекс имеет несколько основных версий-комплектаций методик, а также дополнительные к ним блоки методик: Лонгитюд Б, Лонгитюд+, СпортКомплекс.

Лонгитюд Б. Базовая версия экспертной системы Лонгитюд, включающая в себя основной набор методик для работы с детьми дошкольного возраста (Шкала развития и др.).

Лонгитюд+. Расширенная версия системы Лонгитюд, включающая в себя все методики (в том числе для подростков и взрослых), кроме отдельно распространяемых блоков.

СпортКомплекс. Специальная версия, включающая в себя блок методик для работы спортивного психолога, разработанных совместно с В.К. Сафоновым. Данная версия может работать как самостоятельно, так и в составе других версий программного комплекса Лонгитюд [2].

Другие авторские методики, распространяемые в дополнительных блоках по соглашению с авторами: средства текстовой интерпретации для тестов Люшера, попарные сравнения, и некоторые другие, что отмечается в описании методики в методических материалах. В стандартном дистрибутиве Лонгитюд+ могут находиться только демонстрационные версии методик дополнительных блоков. Методический состав разных версий-комплектаций и дополнительных блоков программы также представлен в таблице сравнения версий.

Нас интересует версия Лонгитюд Б для диагностики детей до трех лет. Эта программа поставляется в двух версиях. Первая версия для специалистов. Она имеет расширенный функционал, возможность получения результатов теста из базы данных пациентов и рекомендаций по устранению отклонений в развитии, большое количество методик исследований. Стоимость такой программы приведена в таблице 1.1 [2].

Таблица 1.1 Стоимость программы Лонгитюд Б

Период действия лицензии

Лонгитюд Б

1 год *, только лицензия

3650

2 года *, только лицензия

7290

Бессрочно, только лицензия

14580

Бессрочно, стандартный комплект

16360

В стоимость программы входит ее установка на один компьютер и получение лицензионного ключа, с возможностью восстановления утерянного.

Вторая версия программы для родителей. Она бесплатная и в ней есть возможность пройти три теста без получения рекомендаций. Результаты теста можно сохранить в файл и затем выслать его специалисту для оценки через интернет или передать файл специалисту на внешнем носителе информации. Сама программа не имеет возможности отсылать результаты теста через глобальную сеть.

Внешний вид программы для регистрации групп пользователей представлен на рисунке 1.1.

Основное окно программы содержит ряд управляющих клавиш (служащих для вызова соответствующих всплывающих меню), а также списки групп, обследуемых, обследований и методов. На рисунке отмечены клавиши, переключатели и области главного меню:

1) клавиша вызова меню сервисных функций (общая информация о работе с программой, справочные материалы и функции);

Рисунок 1.1 Лонгитюд Б, программа регистрации

2) клавиша вызова меню работы с данными групп;

3) клавиша вызова меню работы с данными отдельных обследуемых;

4) список групп обследуемых;

5) список состава группы, выделенной в списке групп;

6) клавиша добавление обследования;

7) список обследований, проведенных с тем, кто выделен в списке обследуемых;

8) клавиша вызова меню работы с данными отдельных методик;

9) список методов, включенных в обследование, выделенное в списке выше;

10) редактор ввода подстроки для поиска обследуемого (это может быть часть ФИО или даты рождения - часть искомой строки в списке обследуемых);

11) переключатель списка - алфавитный / по порядку поступления;

12) переключатель «запоминания» набора методов, используемых в обследовании (для автоматического добавления этого набора каждому новому обследуемому и в каждое новое обследование).

Здесь присутствует некоторое количество настроек для регистрации пациентов с возможностью объединения их в группы, а также осуществлять поиск пользователей в группе. Можно выбирать тип и методы обследования.

Форма для регистрации пациента представлена на рисунке 1.2.

Рисунок 1.2 Форма для регистрации пациентов

Здесь мы видим подробную форму для ведения карточки пациента, необходимыми для заполнения полями являются «Фамилия», «Имя», «Дата рождения», «Пол». Пациента можно включить или исключить из существующих групп.

После регистрации пользователя для пациента нужно выбрать метод обследования, представлено на рисунке 1.3.

Рисунок 1.3 Выбор метода обследования

После выбора метода, нужно запустить тест, щелкнув по строке два раза, либо нажав на кнопку «Метод». Форма для прохождения теста представлена на рисунке 1.4.

Рисунок 1.4 Форма для прохождения теста

Здесь предлагается ответить на несколько вопросов. В верхней части формы создается вопрос, ниже представлены варианты ответов. Они могу принимать значения «Да», «Нет». К каждому ответу можно написать примечание, если есть какие- либо комментарии по текущему вопросу. Если используется платная версия для специалистов, то после теста можно сразу же получить рекомендации, основанные на результатах тестирования. Версия для родителей имеет урезанный функционал и позволяет только лишь ответить на вопросы, затем тест завершается, и программа возвращается в главное меню.

Недостатки этой программы заключаются в том, что она написана для Windows и не может быть запущена на других операционных системах без использования дополнительного программного обеспечения в виде эмуляторов Windows.

В программе используются локальные базы данных в виде электронных таблиц, что порождает дополнительные проблемы при работе по сети. Далее следует цитата одной из рекомендаций авторов программы «ВНИМАНИЕ! Одновременная работа со списками или анкетными данными одной и той же базы с разных компьютеров может вызвать повреждение или замещение данных…» [2]. Эта фраза говорит о невозможности многопоточного использования программы без риска потери данных.

Для того, чтобы перенести базу данных с одного компьютера на другой нужно экспортировать файл с данными и передать его через сеть или съемный носитель и импортировать его на другом компьютере. На мой взгляд, хранение данных на локальных компьютерах как неудобно, так и небезопасно, есть риск утечки конфиденциальной информации или повреждение данных при вирусной атаке.

Отсутствие Web-интерфейса или мобильной версии программы не позволяет использовать ее без привязки к месту нахождения персонального компьютера.

Что касается интерфейса, в программе есть возможность исправления ответов и «подгону» результатов для самоудовлетворения родителей, что может негативно сказаться на объективности исследования.

Стоимость программы при бессрочном ее использовании составляет 16360 рублей, если учесть, что в поликлинике работает примерно 15 педиатров, которым необходимо программное обеспечение для диагностики отклонений в развитии у детей раннего возраста, то стоимость становится равна:

16360•15=245400 руб.

Такая сумма для одной поликлиники, по- моему мнению, слишком высока, так как это государственное предприятие и вряд ли ее запланируют в бюджет.

На основании вышеизложенного, я считаю, что данная программа не соответствует требованиям настоящего времени, так как технологии позволяют создавать более совершенные продукты, менее подверженные таким опасностям, как потеря данных, вследствие одновременного использования приложения на разных компьютерах, как использование локальных хранилищ подвергающихся вирусным угрозам и не имеющим автоматического или автоматизированного сохранения резервных копий, так и простого неудобства использования приложений пользователями в век, когда практически каждый человек имеет смартфон или планшетный компьютер.

1.2 Программа KID RCDI для точной оценки развития ребенка

Программа KIDRCDIразработана в Санкт- Петербургском институте раннего вмешательства [3]. В предлагаемый программный пакет входит:

1) руководства по оценке развития детей на основе шкал KID и RCDI: Чистович И., Рейтер Ж., Шапиро Я. Руководство по оценке развития младенцев до 16 месяцев на основе русифицированной шкалы KID. 2-е издание Санкт-Петербург.: Институт раннего вмешательства, 2000.Шапиро Я., Чистович И. Руководство по оценке уровня развития детей от 1 года 2 месяцев до 3 лет 6 месяцев по русифицированной шкале RCDI. СПб.: Институт раннего вмешательства, 2000;

2) программное обеспечение для ввода и компьютерной обработки ответов родителей, расчета оценок развития и выдачи результатов. Формируемый банк информации может использоваться при повторных тестированиях детей, а также в статистических исследованиях. Программное обеспечение ориентировано на совместное применение двух шкал.

Программу можно приобрести для некоммерческого использования. Стоимость программного пакета составляет 25 500 рублей. В эту стоимость входит также стоимость доставки программы [3].

Демонстрационная версия программы отсутствует, так же, как и любые видеоматериалы по данному продукту. После обращения через электронную почту к авторам, я выяснил, что для ознакомления с данным продуктом необходимо лично посетить университет, где данная программа разрабатывалась.

1.3 Обследование по шкалам KID / RCDI

Данный продукт не является приложением. Шкалы KID/RCDI-2000 представляют собой вопросники, описывающие разнообразные типичные формы поведения детей первых лет жизни. Вопросники заполняют родители ребенка или другие постоянно общающиеся с ребенком люди [4].

Большинство частных медицинских учреждений используют именно этот способ для диагностики отклонений в развитии ребенка.

Минусом этого способа является полное отсутствие какой- либо автоматизации, вся обработка выполняется вручную и ее стоимость отличается в разных организациях, в среднем за получение результатоводного обследования специалисты просят 500 руб.

Проведя анализ существующих решений по данной теме, я выяснил, что на данный момент на рынке представлено очень небольшое количество программ, которые имеют свои недостатки. Такими недостатками являются большая стоимость продукта на одно рабочее место, а также отсутствие возможности запуска приложений на системах с операционной системой, отличающейся от Windows.

2. Разработка технических требований и постановка задач выпускной квалификационной работы

Целью работы является создание информационной системы, позволяющей проводить диагностику отклонений в развитии детей раннего возраста.

С помощью данной системы предлагается проводить первичную диагностику отклонений на основе опроса родителей или других опекунов. Опрос проводится в режиме теста на сайте учреждения, где будет использоваться система. Вопросы ориентированы на неспециалистов в области неврологии и предполагают простые ответы «да», «нет». Данные сразу же заносятся в базу данных, и доступны специалисту (педиатру, неврологу). Специалист, в свою очередь, может найти пациента в базе данных и сформировать результаты тестирования в виде графика или их совокупности для наглядного изображения и отслеживания динамики развития на каждый возраст, в котором проводилось тестирование. Исследование будет проходить по одиннадцати областям, охватывающим самые важные аспекты жизнедеятельности:

1) слух;

2) зрение;

3) крупная моторика;

4) мелкая моторика;

5) игра;

6) импрессивная речь;

7) экспрессивная речь;

8) интеллект;

9) коммуникация;

10) конструирование;

11) самообслуживание.

Тест необходимо проходить регулярно, с определенной периодичностью. До одного года она составляет один месяц, от года до двух лет - три месяца, от двух до трех лет - шесть месяцев.

Проводя плановый осмотр пациента, специалист сразу же может получить актуальную информацию о развитии ребенка из базы данных и, если необходимо, отреагировать на те или иные отклонения в рамках своей компетенции.

Для создания такой системы нужно учесть следующие требования:

1) необходимо предусмотреть возможность тестирования пациента на основе наблюдений родителей или других людей, тесно общающихся с ребенком. Для этого тест должен быть понятным даже для непрофессионала в области медицины и иметь подсказки в вопросах, которые могут быть интерпретированы неоднозначно;

2) программный продукт должен иметь возможность быть использованным вне стен медицинского учреждения и не зависеть от платформы устройства, на котором он будет запущен. Для этого предлагается создать интерфейс в виде Web- страницы;

3) Результаты тестирования необходимо сохранять в базу данных учреждения, где будет использоваться данная программа;

4) приложение должно быть многопоточным и безопасным в случае одновременного использования общей базы данных сразу несколькими клиентами.

Также необходимо разработать приложение, для регистрации пациента на прохождение теста. Оно так же должно быть платформенно- независимым и работать на популярных операционных системах (Windows, Unix-подобные, Mac). Для этого предлагается использовать язык программирования Java, так как программы, написанные на нем, полностью соответствуют данным требованиям.

В приложении предусмотреть функции:

1) авторизации администратора программы для работы с базой данных учреждения;

2) по добавлению клиента в существующую базу данных;

3) по наделению его определенными правами, позволяющими использовать Web-интерфейс с использованием логина и пароля;

4) по изменению информации о клиенте в случае некорректного заполнения анкеты;

5) поиска пациента в базе данных для просмотра деталей регистрации;

6) получения результатов тестирования в виде совокупности графиков, отражающих динамику развития ребенка, с возможностью их вывода в виде электронного документа или на бумажный носитель.

Для работы обоих приложений нужно создать общую базу данных для хранения информации о вопросах, использующихся для тестирования, о регистрационных данных клиента, о результатах тестирования каждого клиента.

3. Структура информационной системы

Структуру разрабатываемой информационной системы можно представить в виде схемы, реализующей трехуровневую модель клиент-сервер, представлено на рисунке 3.1.

Рисунок 3.1 Структура ИС

Основной моей задачей является разработка первого звена в данной структуре, а именно клиентской части. В ее качестве будут выступать два приложения: программа администратора и веб- клиент для пользователей. Кроме того, необходимо организовать взаимодействие клиентской части с базой данных.

База данных располагается на выделенном для этого сервере. Доступ к ней осуществляется как через локальную сеть, так и через интернет.

Программа администратора может находиться и работать на любых компьютерах, находящихся внутри локальной сети, где установлен сервер с базой данных. Это необходимо для обеспечения сохранности данных от возможных атак извне, но за политику безопасности отвечает системный администратор и при необходимости он может изменить настройки доступа.

Веб-клиент размещается на сайте учреждения, использующего данную информационную систему. С помощью него можно подключаться к базе данных для прохождения теста.

Каждый из этих элементов системы стоит рассмотреть подробнее.

Программа администратора служит для регистрации пациентов и отображения результатов тестирования. К ней имеет доступ невролог или другой специалист, исследующий пациента на предмет отклонений в развитии.

Программа администратора состоит из следующих частей, представлено на рисунке 3.2.

Рисунок 3.2 Структура программы администратора

Настройки программы вызываются для определения адреса и порта сервера, на котором работает база данных. Здесь же указывается логин администратора для последующей авторизации. Каждый раз при запуске программа проверяет доступность базы данных, корректность логина и пароля администратора.

Форма регистрации служит для внесения в базу данных пользователя с указанием номера полиса, имени, фамилии, отчества и даты рождения. В результате этой процедуры для клиента генерируется пароль для подключения к Web-клиенту, а также регистрируются определенные права на использование таблиц в базе данных. Так же в этой форме при необходимости можно сгенерировать новый пароль или внести исправления полей по уже существующему клиенту.

Форма поиска пациента и вывода результатов тестирования необходима, чтобы просмотреть регистрационные данные клиента и, возможно, исправить их или сменить пароль для входа в web-клиент. Так же с помощью нее можно отобразить на экране графики диагностики отклонений в развитии, сохранить их в документ, или вывести на печать.

Данные из окна приложения передаются в контроллер, который в свою очередь направляет их в модель, где они обрабатываются соответствующим образом, выполняются, при необходимости, запросы к базе данных. Затем модель отправляет результат обратно в контроллер, а он, в свою очередь, в окно программы, где данные будут выведены на экран. Такая схема работы реализует концепцию MVC [5].

Концепция MVC позволяет разделить данные, представление и обработку действий пользователя на три отдельных компонента: модель, вид, контроллер.

Модель (англ. Model). Модель предоставляет знания: данные и методы работы с этими данными, реагирует на запросы, изменяя своё состояние. Не содержит информации, как эти знания можно визуализировать.

Представление, вид (англ. View). Отвечает за отображение информации (визуализацию). Часто в качестве представления выступает форма (окно) с графическими элементами.

Контроллер (англ. Controller). Обеспечивает связь между пользователем и системой: контролирует ввод данных пользователем и использует модель и представление для реализации необходимой реакции.

Необходимо отметить, что как представление, так и контроллер зависят от модели. Однако модель не зависит ни от представления, ни от контроллера. Тем самым достигается назначение такого разделения: оно позволяет строить модель независимо от визуального представления, а также создавать несколько различных представлений для одной модели [5].

Веб- приложение - это клиент-серверное приложение, в котором клиентом выступает браузер, а сервером веб- сервер. Логика веб- приложения распределена между сервером и клиентом, хранение данных осуществляется преимущественно на сервере, обмен информацией происходит по сети. Одним из преимуществ такого подхода является тот факт, что клиенты не зависят от конкретной операционной системы пользователя, поэтому веб- приложения являются межплатформенными сервисами.

Данная структура так же, как и приложение администратора, реализует концепцию MVC. В ней за отображение информации отвечает jsp страница. Контроллером и моделью выступают java классы.

Веб- клиент - это основная программа для тестирования пациента. К ней имеют доступ все, кто внесен в базу данных через программу администратора.

На странице авторизации пользователь вводит свои данные и получает доступ к тесту, который отображается на выделенной для этого странице. Если пользователь попытается обратиться к несуществующим страницам, либо не пройдет авторизацию, либо во время работы приложения возникнут внутренние ошибки, то пользователь будет перенаправлен на страницу ошибок,

4. Разработка базы данных

В настоящее время различные фирмы, организации и предприятия не могут продуктивно функционировать без развитой информационной системы, которая позволяет автоматизировать сбор и обработку данных. Обычно для хранения и доступа к данным, содержащим сведения о некоторой предметной области, создается база данных.

База данных - это именованная совокупность данных, отражающая состояние объектов и их отношений в рассматриваемой предметной области.

Процесс проектирования БД представляет собой последовательность переходов от неформального словесного описания информационной структуры предметной области к формализованному описанию объектов предметной области в терминах некоторой модели. В общем случае можно выделить следующие этапы проектирования:

1) системный анализ и словесное описание информационных объектов предметной области;

2) проектирование инфологической модели предметной области -- частично формализованное описание объектов предметной области в терминах некоторой семантической модели, например, в терминах ER-модели;

3) даталогичеcкое или логическое проектирование БД, то есть описание БД в терминах принятой даталогической модели данных;

4) физическое проектирование БД, то есть выбор эффективного размещения БД на внешних носителях для обеспечения наиболее эффективной работы приложения.

Под предметной областью понимают некоторую область человеческой деятельности или область реального мира, подлежащих изучению для организации управления и автоматизации [6].

Для функционирования информационной системы необходимо создать базу данных, в которой будут храниться сведения об исследуемом пациенте и результатах его тестирования, о вопросах, использующихся для диагностики.

Каждый пользователь данной системы характеризуется следующими параметрами:

1) номер страхового полиса

2) фамилия

3) имя

4) отчество

5) дата рождения.

Вопросы, для прохождения теста будут иметь такие характеристики:

1) номер вопроса;

2) область исследования (слуховое восприятие, мелкая моторика…);

3) категория вопроса (связана с возрастом пациента, например, “поворачивает голову и находит источник звука глазами” в возрасте 3 месяца);

4) формулировка вопроса;

5) стоимость вопроса в баллах за правильный ответ;

6) подсказка, если вопрос сложный, либо описание техники выполнения задания.

Результаты ответов будут сохраняться в следующей форме:

7) номер записи;

8) номер пациента;

9) номер вопроса;

10) возраст, в котором пациент проходил тест;

11) баллы, полученные за данный ответ.

Необходимо предусмотреть следующие ограничения на информацию в системе:

1) не может быть двух пользователей с одинаковым номером страхового полиса;

2) у пользователя обязательно должны быть заданы номер полиса и дата рождения;

3) не может быть двух вопросов с одинаковым номером;

4) каждая область исследования может содержать один или несколько вопросов, но каждый вопрос может относиться только к одной области;

5) пользователь не может повторно ответить на вопрос, если в этом возрасте от него уже был получен ответ, вне зависимости от набранных баллов.

Кроме того, к самой базе данных выдвигаются следующие требования:

6) база данных должна быть надежной и способной обслуживать до нескольких десятков пользователей одновременно, без риска потери или замещения данных;

7) доступ к базе данных для пользователей и администраторов должен быть настраиваемым в зависимости от политики безопасности;

8) необходимо предоставить возможность извлечения и внесения информации через интернет или локальную сеть, следовательно, база данных должна находиться на выделенном для этого сервере;

9) база данных должна быть устойчивой к сбоям и иметь возможность резервирования и восстановления информации средствами СУБД или иными средствами.

С данной информационной системой должны работать следующие группы пользователей:

1) администраторы БД;

2) специалисты (неврологи, терапевты);

3) пользователи.

При работе с БД специалисты должны иметь возможности:

1) добавлять пользователей в БД;

2) наделять их правами для чтения вопросов и добавления ответов;

3) изменять информацию о пользователях;

4) получать результаты тестов пользователей.

При работе с БД пользователи могут:

1) считывать вопросы;

2) вносить результаты ответов.

Администраторы имеют полный доступ к базе данных для настройки таблиц и добавления в систему специалистов.

В качестве системы управления базой данных я выбираю MySQL сервер [7].

MySQL - свободная реляционная система управления базами данных, разрабатываемая компанией Oracle.

Основные достоинства этой СУБД:

1) MySQL - это программное обеспечение с открытым кодом. Его можно получить по Internet и использовать бесплатно. При этом каждый пользователь может изучить исходный код и изменить его в соответствии со своими потребностями.

2) MySQL поддерживает большое количество типов таблиц, например, InnoDB, поддерживающие транзакции на уровне отдельных записей.

3) Совместимость со всеми популярными операционными системами, такими как Windows, Linux, Unix, Mac OS и многими другими.

4) MySQL поддерживается популярными интерфейсами для подключения к базам данных, такими как ODBC и JDBC.

5) Возможность перехода с MySQL на альтернативную СУБД при необходимости.

6) Наличие встроенного клиента для подключения к серверу и настройки базы данных.

7) Наличие большого количества документации на русском языке.

На основании перечисленных требований к базе данных можно составить ее модель в виде диаграммы, отражающей отношения сущность-связь между объектами. Такая модель получила название ER или ERM- модели (entity-relationship model) [8].

На рисунке 4.1 изображена диаграмма с применением нотации под названием «Inverted Arrow» («перевернутая стрелка»), ныне известная под названием «Crow's Foot» («воронья лапка»), предложенная Гордоном Эверестом [8].

Рисунок 4.1 ER-диаграмма БД

Согласно данной нотации, сущность изображается в виде прямоугольника, содержащего её имя, выражаемое существительным. Имя сущности должно быть уникальным в рамках одной модели. При этом имя сущности -- это имя типа, а не конкретного экземпляра данного типа. Экземпляром сущности называется конкретный представитель данной сущности.

Связь изображается линией, которая связывает две сущности, участвующие в отношении. Степень конца связи указывается графически, множественность связи изображается в виде «вилки» на конце связи. Модальность связи так же изображается графически -- необязательность связи помечается кружком на конце связи. Именование обычно выражается одним глаголом в изъявительном наклонении настоящего времени: «Имеет», «Принадлежит» и т. д.; или глаголом с поясняющими словами: «Включает в себя», и т.п. Наименование может быть одно для всей связи или два для каждого из концов связи. Во втором случае, название левого конца связи указывается над линией связи, а правого - под линией. Каждое из названий располагаются рядом с сущностью, к которой оно относится.

Атрибуты сущности записываются внутри прямоугольника, изображающего сущность, и выражаются существительным в единственном числе (возможно, с уточняющими словами). Среди атрибутов выделяется ключ сущности -- неизбыточный набор атрибутов, значения которых в совокупности являются уникальными для каждого экземпляра сущности.

Рассмотрим каждый объект диаграммы подробнее.

Набор атрибутов, однозначно идентифицирующий конкретный экземпляр сущности, называют ключевым.

Первичным ключом сущности Users является его номер страхового медицинского полиса, что соответствует атрибуту id. Ключевой атрибут не может быть пустым. У сущности Users так же ненулевым отмечен атрибут возраст, так как этот атрибут будет использоваться в сущностях Results, для определения возраста пользователя в момент прохождения теста.

Первичным ключом сущности Questions является его номер по списку и соответствует атрибуту idQuestions. Данный атрибут не несет никакой смысловой нагрузки и нужен исключительно для того, чтобы однозначно идентифицировать вопрос. Такие ключи еще называют суррогатными или искусственными.

В сущностях информационного объекта Results используется суррогатный ключ num, он существует для того, чтобы упростить синтаксис написания запросов к базе данных, так как уникальным значением неключевого атрибута result будет комбинация id - idQuestions - Vozrast и использование данной связки в сложных запросах будет очень громоздким.

В данной модели отношения между информационными объектами соответствуют связям один ко многим и многие ко многим.

Связь один ко многим - это такое отношение, в котором каждому экземпляру одного ИО может соответствовать несколько экземпляров другого.

Связь многие ко многим - это такое отношение, в котором каждому информационному объекту А может соответствовать несколько объектов B, а каждому объекту B может соответствовать несколько объектов A. Как правило, такую связь разбивают на несколько информационных объектов, чтобы в результате получить две или более связи один ко многим.

Как видно из диаграммы, сущность Users связана с сущностью Result посредством отношения один ко многим по ключу Id, причем белый кружок у вилки обозначает, что отношение необязательно. То есть, если таблица пользователей содержит запись о пользователе, это не значит, что в таблице результатов обязательно должна присутствовать запись с идентификационным номером этого пользователя, ведь он мог еще не начать тест. Аналогичная ситуация обстоит со связью Questions-Results. Данные отношения говорят о том, что сущность Users имеет связь многие ко многим с сущностью Questions через сущность Results.

Процесс проектирования реляционных баз данных связан с теорией нормализации, основанной на анализе функциональных зависимостей между атрибутами отношений. Нормализация предназначена для приведения структуры БД к виду, обеспечивающему минимальную логическую избыточность, и не имеет целью уменьшение или увеличение производительности работы или же уменьшение, или увеличение физического объёма базы данных. Конечной целью нормализации является уменьшение потенциальной противоречивости, хранимой в базе данных информации.

Существует несколько нормальных форм, однако я приведу список наиболее популярных:

1) первая нормальная форма 1NF;

2) вторая нормальная форма 2NF;

3) третья нормальная форма 3NF;

4) нормальная форма Бойса-Кода BCNF;

5) четвертая нормальная форма 4NF;

6) пятая нормальная форма 5NF.

Как правило, при проектировании баз данных чаще всего используются первые три нормальные формы.

Отношение находится в первой нормальной форме тогда и только тогда, когда на пересечении каждого столбца и каждой строки находятся только элементарные значения атрибутов. Очевидно, что схема базы данных информационной системы для диагностики отклонений, представленная на рисунке 3.1, соответствует первой нормальной форме, так как на пересечении каждой строки и каждого столбца может находиться только одно значение.

Отношение находится во второй нормальной форме тогда и только тогда, когда оно находится в первой нормальной форме и не содержит неполных функциональных зависимостей непервичных атрибутов от атрибутов первичного ключа. Данное определение говорит о том, что все неключевые атрибуты должны находиться в полной зависимости от ключевого атрибута или от всей группы ключевых атрибутов, если ключ составной. Рассмотрев нашу схему, мы можем увидеть, что данное условие тоже выполняется для каждого информационного объекта.

Отношение находится в третьей нормальной форме тогда и только тогда, когда оно находится во второй нормальной форме и не содержит транзитивных зависимостей. Транзитивной называют зависимость между неключевыми атрибутами. Все неключевые атрибуты рассматриваемой схемы взаимонезависимы, следовательно, она находится в третьей нормальной форме.

Базу данных необходимо разместить на выделенном для этого сервере. Максимально занимаемое место при наличии двух тысяч пользователей не превысит 25МБ. Эти данные получены экспериментальным путем, но так как количество пользователей и качество заполнения таблиц невозможно предсказать, то точное значение рассчитать нельзя.

5. Разработка алгоритмов

Алгоритмом называется конструктивный или вычислительный процесс, начинающийся с некоторых исходных данных, принадлежащих допустимому множеству исходных данных, направленный на получение результата, принадлежащего множеству допустимых выходных данных и имеющий различные варианты завершения:

1) получение допустимого результата;

2) безрезультатное завершение алгоритма;

3) «зацикливание» (незавершение) алгоритма за конечное время.

Алгоритм содержит указания о том, какие операции над исходными данными и в какой последовательности необходимо выполнить, чтобы получить определенный результат за конечное количество действий [9].

К алгоритмам предъявляются следующие требования:

1) определенность;

2) результативность;

3) массовость;

4) дискретность.

Определенность подразумевает однозначное толкование вычислительных процессов.

Результативность заключается в возможности получить определенный результат вычислений для допустимых исходных данных за ограниченное количество шагов.

Массовость означает то, что по одному алгоритму можно вычислять множество однотипных задач.

Дискретность означает возможность расщепления определенного вычислительного процесса на отдельные этапы, элементарные операции.

Алгоритм всегда ориентирован на конкретного пользователя. Если пользователем является ЭВМ, то алгоритм описывают на каком-либо языке программирования. Если алгоритм ориентирован на человека, то его можно описать несколькими способами. Существует несколько способов изображения алгоритмов: словесное описание, графическое описание и псевдокод. При словесном описании алгоритмы записываются в виде текста с формулами по пунктам, при этом используется человеческий язык. Псевдокод - это язык описания алгоритмов, использующий ключевые слова языков программирования, но опускающий подробности и специфический синтаксис. Графическое описание представляет собой совокупность геометрических фигур, соединенных линиями. Такое изображение получило название «блок-схема». Фигуры могут быть различных форм, каждая из которых обозначает определенный тип выполняемой операции. Для описания объемных по содержанию алгоритмов удобнее всего использовать блок-схемы, так как они более наглядны.

Разрабатываемая информационная система будет содержать два приложения, следовательно, для каждого из них нужно создать свои алгоритмы.

В программе администратора стоит рассмотреть следующие алгоритмы:

1. алгоритм регистрации пользователя;

2. алгоритм генерации пароля;

3. алгоритм тестирования;

Алгоритм регистрации пользователя представлен на рисунке 5.1. Он позволяет создавать нового пользователя, а также обновлять данные у уже существующего.

При входе в программу администратору требуется пройти процедуру авторизации, после которой программа пытается получить доступ к базе данных, и, в случае успешного соединения, администратор может продолжить работу с формой регистрации. Далее ему необходимо ввести в поля для ввода соответствующие данные, такие как номер полиса, фамилия, имя, отчество и дата рождения пациента.

При попытке добавления пользователя проверяется корректность заполнения полей: номер полиса не должен содержать букв или быть пустым, по дате рождения вычисляется возраст и если он не окажется в пределах от нуля до трех лет, то будет выведено сообщение об ошибке. Если поля заполнены верно, то запускается генератор создания случайного шестизначного пароля для пользователя. Пароль может содержать как буквы английского алфавита любого регистра, так и цифры. Генератор псевдослучайных чисел - это алгоритм, порождающий последовательность чисел, элементы которой почти независимы друг от друга и подчиняются заданному распределению (обычно равномерному).

В программе создаются три символьные переменные и одна строковая, для сохранения в нее пароля. Эти символы заполняются случайными значениями: одна всегда будет содержать строчную английскую букву, другая заглавную английскую букву, а третья одну из цифр. Затем среди этих переменных случайным образом выбирается одна и ее значение добавляется к текущему значению пароля. Операция повторяется шесть раз, чтобы получить шестизначный код.

После создания пароля запускается алгоритм его шифрования. После шифрования программа отправляет запрос в базу данных на поиск пользователя с параметрами, введенными в поля администратором.

Если пользователь с такими данными не найден, то в соответствующие таблицы о нем вносится указанная информация и его зашифрованный пароль. Затем пользователь наделяется правами на использование базы данных. Если при обращении к ней ошибок не было, то на экран выводится шестизначный пароль.

Если пользователь с такими данными найден, то на экран выводится сообщение о том, что пользователь уже существует, после которого нужно подтвердить изменение данных о нем или отказаться. Если получено согласие на внесение изменений, то в таблице, хранящей сведения о пароле пользователя и его правах на использование базы данных, удаляются соответствующие записи. При этом данные о пройденных тестах и их результатах не затрагиваются. Затем данные о пользователе обновляются, он снова наделяется правами на использование базы, и, при успешном обращении к БД на экран будет выведено сообщение с новым паролем.

Для обеспечения безопасности базы данных, в результате работы программы по добавлению пользователя, создаются два пароля. Шестизначный пароль будет выдаваться каждому пользователю, а его зашифрованная версия будет настоящим паролем к базе данных. Это сделано для того, чтобы нельзя было подключиться к ней в обход приложения. Данный алгоритм работает как для пользователя, так и для специалиста (администратора приложения). Настоящий пароль будет только у системного администратора, настраивающего саму базу данных.

Вначале пользователь попадает на страницу авторизации, здесь он должен ввести свой логин и пароль. Как я уже описывал выше, введенный пароль на сервере преобразуется в результате шифрования и уже в зашифрованном виде программа попытается соединиться с базой данных. В случае ошибок, пользователь будет перенаправлен на динамическую страницу, в которой отображаются все сообщения об ошибках, возникших в приложении. Если авторизация прошла успешно, то программа начинает проверять были ли нажаты кнопки подтверждения результата ответов на вопросы, естественно, что при первом выполнении этого алгоритма, еще никакие кнопки нажаты не были. Далее программа проверяет, есть ли вопросы в массиве. Если массив пустой, то формируется и отправляется запрос к базе данных, для получения списка вопросов для данного пользователя, в текущем возрасте, который вычисляется путем сравнения системного времени на сервере и даты рождения пользователя. Если получены вопросы, то они заносятся в массив, а затем первый из них выводится пользователю на страницу. Пользователь отвечает на вопрос, нажимает на одну из кнопок: «да» или «нет». Программа определяет, какая кнопка была нажата, и в соответствии с этим формирует запрос к базе данных и заносит результат в соответствующую таблицу. Затем циклически выдаются все вопросы из массива и результаты так же заносятся в базу данных. Когда вопросы закончатся, пойдет проверка введенных ответов. Введенные ответы сгруппируются по областям, посчитается сумма полученных баллов. Если по всем областям тест пройден успешно, то на экран выведется сообщение о том, что больше доступных вопросов нет. Если же по каким-либо областям не набрано необходимое количество баллов, то по каждой из этих областей запустится еще одна проверка.

По каждой области формируются списки ответов в предыдущем возрасте. Если тест по этим областям в предыдущем возрасте был пройден успешно, то алгоритм завершается и выводится сообщение о том, что вопросов больше нет. Если тест в предыдущем возрасте не был пройден вообще или не набрано необходимое количество баллов, то в список вопросов добавляются те вопросы, на которые пользователь ответил отрицательно, либо вообще не отвечал. Эти вопросы затем снова будут выведены на экран.

После того как пользователь ответит на все эти вопросы, опять выполнится проверка ответов и будет циклически запускаться пока не будут пройдены тесты по каждой области. Это сделано для того, чтобы понять на каком уровне развития находится пациент. Когда пользователь ответит на все доступные ему вопросы, будет выведено сообщение, что вопросов больше нет.

6. Реализация программных модулей

Для реализации программных модулей я выбрал язык Java и среду для разработки NetBeans.

Java - это объектно-ориентированный язык программирования, поддерживающийся в настоящее время компанией Oracle. Его преимущества в том, что продукты, написанные на этом языке, работают на виртуальной Java-машине, которые, в свою очередь, разработаны для большинства современных операционных систем компьютеров, поэтому разрабатываемая информационная система будет независимой от использующейся операционной системы. Объектно-ориентированный подход к разработке позволяет писать приложения, которые легче разрабатывать и поддерживать сразу несколькими программистами, так как части программы могут быть написаны независимо друг от друга, остается только соединить их в единое целое. Кроме этого, так как язык Java очень популярен, для него написано огромное количество библиотек, импортировав которые, можно сразу использовать необходимый компонент, даже не вникая, в его внутреннюю логику, поэтому процесс разработки значительно упрощается. Возможно, скорость работы приложения, написанного на данном языке, будет чуть ниже, нежели на C++, но это связано с тем, что его компилятор выполняет дополнительные проверки и не позволяет совершать ошибки во время написания кода, такие как выход за пределы массива, или использование неинициализированных переменных, при обращении к которым можно бы было перезаписать важную информацию в оперативной памяти, и, как следствие, повредить программу, или даже саму операционную систему, на которой программа запущена. Таким образом, выбранный язык еще и более безопасен [10].

Среда разработки NetBeans так же поддерживается компанией Oracle. Она бесплатна и позволяет писать программы на самых популярных языках, таких как Java, Python, C, C++, PHP, JavaScript и других. Данная среда имеет удобный русскоязычный интерфейс, подсветку синтаксиса, в зависимости от используемого языка, графический редактор для написания интерфейса разрабатываемой программы, позволяет работать с различными базами данных, серверами приложений, облачными технологиями. Программа позволяет легко подключать сторонние библиотеки и регулярно получает обновления. Среда разработки имеет встроенный отладчик, позволяющий построчно отслеживать работу алгоритма, отлавливать ошибки и, благодаря этому, создавать качественный продукт. На рисунке 6.1 представлен снимок экрана с запущенным окном среды разработки версии 8.1.

Рисунок 6.1 Среда разработки NetBeans 8.1

Рассмотрение программных модулей я начну с приложения для администратора. Под модулем понимается программа или ее функционально завершенный фрагмент.

6.1 Программа администратора

В предыдущей главе на рисунке 4.1 изображена блок-схема алгоритма регистрации пользователя в базе данных. Рассмотрим, как данная блок схема реализована на языке Java.

При запуске программы на экран выводится окно для ввода пароля, представлено на рисунке 6.2.

Рисунок 6.2 Окно для ввода пароля

Вывод окна реализован следующим кодом:

private static String InputPass(){

JPasswordField field = new JPasswordField();

JOptionPane.showConfirmDialog(null, field,"Введитепароль", JOptionPane.OK_CANCEL_OPTION);

tmpPass=new String(field.getPassword());

returntmpPass;

}

Для подключения к базе данных используется следующий алгоритм:

Class.forName("com.mysql.jdbc.Driver");

Connection connection = DriverManager.getConnection(url,user,password);

Statement statement=connection.createStatement();

ResultSet result=

statement.executeQuery("Select * from bolnica.questions");

Здесь я подключаю драйвер JDBC, затем создаю соединение, а в объект ResultSet получаю данные из БД в соответствии с отправленным запросом. Этот алгоритм часто используется в программе, меняются только запросы на внесение, изменение или получения данных из базы.

Если программа запущена впервые, то будет выведено сообщение о том, что программа не настроена. Необходимо будет нажать на «Настройки» в меню «Файл», там прописать ip-адрес сервера, порт для подключения и постоянный логин, представлено на рисунке 6.3. Эти настройки сохранятся в файл конфигурации и будут доступны программе при следующем запуске.

Рисунок 6.3 Настройки формы администратора

Файл с сохраненной конфигурацией можно изменять только из программы, так как он хранится в зашифрованном виде. При внесении в него исправлений через текстовый редактор, программа будет работать некорректно.

При успешном соединении будет показано главное окно программы. В правой части панели красный индикатор станет зеленым и над ним появится надпись: «Соединено!». В окне программы следует заполнить поля «Номер полиса», «Фамилия», «Имя», «Отчество» и «Дата рождения», представлено на рисунке 6.4.

Проверка корректности ввода информации производится при нажатии кнопки «Добавить». Здесь обрабатываются поля «номер полиса» и «дата рождения».

Рисунок 6.4 Форма администратора


Подобные документы

  • Формирование входных и выходных данных, SQL–скрипт генерации таблиц базы данных. Создание интерфейса программного приложения и проектирование форм базы данных. Требования к аппаратно–программному обеспечению. Инструкции по установке и эксплуатации.

    курсовая работа [1,6 M], добавлен 08.02.2013

  • Разработка базы данных с целью автоматизации процессов составления, ведения и распространения информации об расписании занятий в спортивном комплексе "Маяк". Анализ предметной области. Разработка алгоритмов работы программы и приложения пользователя.

    дипломная работа [1,0 M], добавлен 12.07.2015

  • Проектирование логической структуры базы данных методом нормальных форм, сущность связь. Сравнительный анализ спроектированной базы данных и базы данных существующих информационных систем. Выбор и обоснование состава технических и программных средств.

    курсовая работа [3,0 M], добавлен 22.12.2014

  • Проектирование базы данных "Информационная система жилищного кооператива", целью которой является облегчение администрирования ЖЭКами. Инфологическое, логическое и физическое проектирование модели базы данных. Разработка основных алгоритмов программы.

    курсовая работа [432,8 K], добавлен 25.03.2012

  • История возникновения систем управления базами данных (СУБД). Непосредственный и программный режимы работы СУБД Visual FoxPro. Активное использование форм, запросов и отчетов. Разработка информационной базы данных "Оптовая база". Создание файла базы.

    курсовая работа [2,5 M], добавлен 05.01.2015

  • Обоснование выбора метода проектирования и инструментальных средств для разработки программного средства и базы данных. Требования к эргономике и технической эстетике. Разработка алгоритмов приложения. Руководство пользователя. Безопасность труда.

    дипломная работа [2,9 M], добавлен 17.10.2014

  • Анализ существующих поисковых систем и используемых ими алгоритмов поиска документов. Разработка информационно-поисковой системы словарного типа, способной осуществлять релевантный поиск документов, особенности ее структуры и информационно-поисковой базы.

    дипломная работа [942,1 K], добавлен 19.05.2011

  • Разработка информационной системы "Салон портьер" для автоматизации деятельности менеджера фирмы, занимающейся пошивом портьер на заказ. Создание и обоснование проекта базы данных. Создание запросов, форм, отчетов. Тестирование программного приложения.

    курсовая работа [4,6 M], добавлен 07.02.2016

  • Разработка базы данных для информационной системы "Библиотека". Системный анализ, инфологическое, даталогическое и физическое проектирование. Программирование бизнес-логики, разработка клиентского приложения. Создание web-приложения, web-доступ.

    курсовая работа [3,3 M], добавлен 15.09.2014

  • Разработка приложения, которое будет выполнять функции показа точного времени и точной даты. Определение дополнительных функций разработанного приложения. Рассмотрение основных этапов создания программного продукта. Результаты тестирования приложения.

    курсовая работа [2,2 M], добавлен 14.04.2019

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.