
- •Таганрог 2007
- •Содержание
- •Введение
- •Глава 1. Проблема математического сопровождения психологического исследования
- •1.1. Экспериментальная психология как набор инструментов и принципов психологического исследования
- •1.2. Математическое обеспечение психологического исследования
- •1.3. Обзор существующих аналогов
- •1.4. Выводы
- •Глава 2. Проектирование информационной системы
- •2.1. Постановка технического задания
- •2.2. Используемые программные технологии
- •2.3. Архитектурное проектирование программного средства
- •2.4. Обоснование выбора средств разработки
- •2.5. Проектирование интерфейсов
- •2.5.1. Проектирование внутренних интерфейсов
- •2.5.2. Проектирование пользовательского интерфейса
- •2.6. Реализация и эксплуатация программного средства
- •2.7. Модернизация программного средства
- •Глава 3. Безопасность и экологичность проекта
- •3.1. Анализ безопасности
- •3.1.1. Описание трудового процесса при использовании программного средства
- •3.1.2. Анализ и оценка напряженности трудового процесса пользователя
- •3.1.3. Разработка защитных и профилактических мероприятий
- •3.1.4. Анализ надежности программного средства на этапе эксплуатации
- •3.2. Анализ экологичности
- •Глава 4. Экономическое обоснование проекта
- •4.1. Актуальность разработки
- •4.2. Расчет затрат на разработку программного средства
- •4.3. Расчет капитальных вложений
- •4.4. Расчет и сопоставление эксплуатационных расходов
- •4.5. Сводные экономические показатели по разработке программы
- •Заключение
- •Список использованных источников
- •Приложение а Анкета для выявления предпочитаемых математических методов, используемых в психологических исследованиях
- •Приложение б Частота использования различных математических методов в психологических исследованиях
- •Последовательность действий для получения алгоритмов математических процедур из моделей Simulink
- •Для создания кода на языке Си соответствующего построенной модели, нужно установить необходимые параметры моделирования среды Simulink.
- •Приложение г Пример работы с Dll, содержащей математическую процедуру обработки данных
- •Приложение д
- •Приложение е Последовательность действий для создания эталонных файлов, применяемых для верификации алгоритмов математических процедур в создаваемых программой кмс Dll
2.3. Архитектурное проектирование программного средства
Разработка программного средства должна опираться на ряд принципов:
-
Использование модульной архитектуры, при которой каждый модуль является законченным программным решением. Это позволяет вносить изменение в функционирование модуля, не модифицируя остальные модули.
-
Унификация используемых интерфейсов взаимодействия. Это позволяет использовать создаваемые файлы в различных операционных системах и средствах разработки.
-
Разделение функций создания и использования математических процедур.
С учетом этих принципов и технического задания создаваемое программное средство будет состоять из следующих подсистем:
-
Подсистема создания математических процедур.
-
Подсистема конвертирования созданных процедур в необходимый формат.
-
Подсистема идентификации и хранения математических процедур.
-
Подсистема верификации математических процедур.
-
Подсистема использования (доступа) математических процедур.
-
Подсистема пользовательского интерфейса.
Схема взаимодействия данных подсистем приведена на рисунке 2.3. При этом в названия блоков соответствуют действиям, проводимым по отношению к математическим процедурам.
Рисунок 2.3 - Схема взаимодействия подсистем программного средства.
Таким образом, полный цикл работы программного средства состоит в последовательной работе с каждой из выделенных подсистем. При этом существует две особенности:
-
процедура верификации не является обязательной и используется при необходимости получения окончательной версии создаваемой математической процедуры. Она может быть пропущена, например, при пилотажном исследовании метода.
-
при обнаружении ошибки в математических процедурах на этапе верификации, необходимо повторить весь предыдущий путь.
В работе с уже созданными математическими процедурами пользователь может опираться на уже созданные математические процедуры и использовать остальные подсистемы только в случае необходимости в идентификации или верификации используемых процедур.
Для реализации модульного принципа и разделения подсистем, которые будут доступны различным категориям пользователей1, следует распределить выделенные подсистемы между тремя независимыми приложениями (программами):
-
Конвертер моделей Симулинк (далее - КМС), который будет реализовывать подсистемы конвертирования.
-
Программу тестирования моделей Симулинк (далее - ТМС), которая будет реализовывать подсистемы идентификации и верификации.
-
Программу математического обеспечения психологических исследований (далее - МОПИ), которая будет реализовывать подсистему использования.
При этом следует учесть, что подсистема создания математических процедур будет реализована на основе пакета Simulink, путем построения правил и процедур создания моделей для данного пакета.
Для дальнейшей разработки программного средства необходимо на основе выбранной архитектуры системы произвести модульную декомпозицию. Модульная декомпозиция, проведенная для каждой из входящих в программное средство программ, приведена на рисунках 2.4 – 2.6. Далее подробно рассмотрим декомпозицию каждой программы.
Рисунок 2.4 - Модульная декомпозиция программы КМС
Программа КСМ представлена на рисунке 2.4 и содержит следующие модули:
-
«Загрузка данных». Модуль предназначен для получения файлов, сгенерированных RTW и содержащих алгоритм математической процедуры. В процессе загрузки выделяются данные о характеристиках входных и выходных данных математической процедуры. Если все данные имеют формат скаляр, то настройка модели не требуется, в противном случае пользователь должен настроить модель.
-
«Настройка конвертирования». Модуль предназначен для получения данных о характеристиках входов и выходов модели – их формате, типе и размерности (описаны в приложении В). В этом модуле также реализована функция подключения к создаваемой Dll графического файла, поясняющего реализуемый алгоритм.
-
«Обработка данных». Модуль предназначен для выделения из кода на языке СИ (созданного с помощью программы RTW) алгоритма математической процедуры, ее характеристик, условий компиляции. Далее анализируются связи между логическими блоками алгоритма.
-
«Компоновка». Модуль предназначен для создания набора текстовых файлов, содержащих алгоритм реализуемой математической процедуры, в виде, пригодном для создания результирующей Dll. Для этого создается абстрактный класс, содержащий COM-интерфейс. В структуры этого класса встраивается выделенный ранее алгоритм и его характеристики. После этого происходит «обвязка» полученного кода, для поддержки спецификации Dll и создание временных файлов, содержащих созданный код.
-
«Компиляция». Модуль предназначен для создания папки с временными файлами, компиляции этих файлов с помощью компилятора среды Visual C++ и удаления всех временных файлов.
Рисунок 2.5 - Модульная декомпозиция программы ТМС
Программа ТМС представлена на рисунке 2.5 и содержит следующие модули и подсистемы:
-
«Идентификация». Подсистема предназначена для загрузки найденных Dll, находящихся в папке с программой ТСМ. После этого происходит вычитывание параметров Dll и анализ полученных характеристик.
-
«Представление». Модуль предназначен для отображения различных данных анализируемой Dll и содержащейся в ней математической процедуре: название и описание математической процедуры; характеристики входов и выходов – их количества, формата, типа данных, размерности; графического изображения математической процедуры.
-
«Верификация». Подсистема предназначена для определения тождественности математической процедуры, реализуемой в загруженной Dll и эталонной моделью, созданной в Simulink. Для этого получают входные и выходные эталонные значения, полученные путем моделирования математической процедуры в Simulink, и записывают их в текстовые файлы (с расширением *.kcm). Затем входные эталонные значения подают на вход Dll и сравнивают реальные и эталонные значения на каждом шаге итерации.
Рисунок 2.6 - Модульная декомпозиция программы МОПИ
Рассматриваемая подсистема состоит из двух основных групп – модулей относящихся к дополнительным функциям и модулям, относящимся к основной функциональности подсистемы. К первой группе относятся модули настройки, подключения математических процедур и помощи. Ко второй группе относятся модули математической обработки данных, психометрики и представления результатов. Каждый из модулей содержит набор свойств и процедур, посредством которых он и реализует указанные функции.