Комплекс программ для автоматизации исследований в экспериментальной психологии

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

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

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

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

Рисунок 2.1 - Пример модели, построенной в Simulink

Рисунок 2.2 - Последовательность действий для получения алгоритмов математических процедур

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

2.3 Архитектурное проектирование программного средства

Разработка программного средства должна опираться на ряд принципов:

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

2) Унификация используемых интерфейсов взаимодействия. Это позволяет использовать создаваемые файлы в различных операционных системах и средствах разработки.

3) Разделение функций создания и использования математических процедур.

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

1) Подсистема создания математических процедур.

2) Подсистема конвертирования созданных процедур в необходимый формат.

3) Подсистема идентификации и хранения математических процедур.

4) Подсистема верификации математических процедур.

5) Подсистема использования (доступа) математических процедур.

6) Подсистема пользовательского интерфейса.

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

Рисунок 2.3 - Схема взаимодействия подсистем программного средства

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

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

? при обнаружении ошибки в математических процедурах на этапе верификации, необходимо повторить весь предыдущий путь.

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

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

1) Конвертер моделей Симулинк (далее - КМС), который будет реализовывать подсистемы конвертирования.

2) Программу тестирования моделей Симулинк (далее - ТМС), которая будет реализовывать подсистемы идентификации и верификации.

3) Программу математического обеспечения психологических исследований (далее - МОПИ), которая будет реализовывать подсистему использования.

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

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

Рисунок 2.4 - Модульная декомпозиция программы КМС

Программа КСМ представлена на рисунке 2.4 и содержит следующие модули:

1) «Загрузка данных». Модуль предназначен для получения файлов, сгенерированных RTW и содержащих алгоритм математической процедуры. В процессе загрузки выделяются данные о характеристиках входных и выходных данных математической процедуры. Если все данные имеют формат скаляр, то настройка модели не требуется, в противном случае пользователь должен настроить модель.

2) «Настройка конвертирования». Модуль предназначен для получения данных о характеристиках входов и выходов модели - их формате, типе и размерности (описаны в приложении В). В этом модуле также реализована функция подключения к создаваемой Dll графического файла, поясняющего реализуемый алгоритм.

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

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

5) «Компиляция». Модуль предназначен для создания папки с временными файлами, компиляции этих файлов с помощью компилятора среды Visual C++ и удаления всех временных файлов.

Рисунок 2.5 - Модульная декомпозиция программы ТМС

Программа ТМС представлена на рисунке 2.5 и содержит следующие модули и подсистемы:

1) «Идентификация». Подсистема предназначена для загрузки найденных Dll, находящихся в папке с программой ТСМ. После этого происходит вычитывание параметров Dll и анализ полученных характеристик.

2) «Представление». Модуль предназначен для отображения различных данных анализируемой Dll и содержащейся в ней математической процедуре: название и описание математической процедуры; характеристики входов и выходов - их количества, формата, типа данных, размерности; графического изображения математической процедуры.

3) «Верификация». Подсистема предназначена для определения тождественности математической процедуры, реализуемой в загруженной Dll и эталонной моделью, созданной в Simulink. Для этого получают входные и выходные эталонные значения, полученные путем моделирования математической процедуры в Simulink, и записывают их в текстовые файлы (с расширением *.kcm). Затем входные эталонные значения подают на вход Dll и сравнивают реальные и эталонные значения на каждом шаге итерации.

Рисунок 2.6 - Модульная декомпозиция программы МОПИ

психология программный информационный система

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

2.4 Обоснование выбора средств разработки

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

1. Поддержка объектно-ориентированного программирования.

2. Возможность построения графического интерфейса.

3. Возможность создания исполняемого файла, не привязанного к среде разработки.

4. Возможность создания COM-интерфейсов.

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

? Microsoft Visual C++.

? Borland Delphi.

? Borland C++ Builder.

Это языки высокого уровня, поддерживающие объектно-ориентированное программирование. Объектно-ориентированное программирование (ООП) - это методика, позволяющая концентрировать основное внимание программиста на связях между объектами, а не на деталях их реализации. ООП - это совершенно новый подход к построению сложных программ и систем. Этот подход зародился в таких языках программирования, как Ада, SmallTalk, C++, Borland Pascal.

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

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

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

Каждый из языков программирования имеет свои достоинства и недостатки.

1) Borland Delphi.

Delphi - является средой с возможностью полностью визуализировать процесс программирования в плане проектирования интерфейса. В основе среды Delphi лежит язык Паскаль, который изначально рассматривался как средство обучения студентов и не являлся объектно-ориентированным. Delphi является объектно-ориентированным, однако это потребовало от его разработчиков использования ссылок для работы со многими объектами. Объекты среды Delphi находятся в так называемой «куче», в то время как остальные рассматриваемые среды используют списки. Такой способ хранения объектов делает возможным прямое обращение к объекту, но осложняет работу с выделением памяти. Создаваемые в данной среде исполняемые файлы являются независимыми. Одним из главных преимуществ является возможность быстрой разработки графического приложения. В среду Delphi интегрировано большое количество графических компонентов, существует еще большее количество дополнительных (встраиваемых) графических компонентов, также сам язык предоставляет инструменты для создания своих собственных компонентов. Поэтому, Delphi является наилучшим решением, при решении задач быстрого построения графического интерфейса. В Delphi также существует инструмент Type Library, который автоматизирует процесс создания COM-объектов. Это позволяет создавать COM-объекты на основе готовых шаблонов, что уменьшает время разработки и уменьшает возможные ошибки.

2) Borland C++ Builder.

Среда Borland C++ Builder располагает следующими возможностями: Испытание прототипа позволяет без труда переходить от прототипа приложения к полностью функциональному, профессионально оформленному программному продукту, действуя в пределах интегрированной среды. Исходные тексты библиотеки визуальных компонент являются открытыми. Borland C++ Builder использует Новые элементы стандарта ANSI/ISO языка C++, такие как шаблоны, пространства имен, исключения, информация о типах времени выполнения (RTTI). Среда поддерживает промышленные стандарты ActiveX, OLE, СОМ, MAPI, Windows Sockets TCP/IP, ISAPI, NSAPI, ODBC, Unicode и MBCS. Borland C++ Builder также позволяет создавать COM-объекты на основе имеющихся сценариев, что значительно автоматизирует этот процесс.

3) Visual C++

Microsoft Visual C++ (MSVC) - интегрированная среда разработки приложений на языке C++, разработанная фирмой Microsoft и поставляемая либо как часть комплекта Microsoft Visual Studio, либо отдельно в виде функционально ограниченного комплекта Visual C++ Express Edition. Среда поддерживает все промышленные стандарты фирмы Microsoft (ActiveX, OLE, СОМ, MAPI, Windows Sockets TCP/IP и др.). Microsoft Visual C++ позволяет напрямую работать с внутренними функциями операционных систем семейства Windows. Visual C++ включает в себя отладчик низкого уровня, который позволяет анализировать работу программы на уровне машинных кодов. Visual C++ также позволяет реализовывать COM и является программой, которая первая внедрила этот стандарт в процесс разработки программного обеспечения.

Для реализации нашего проекта мы использовали два языка программирования - Borland Delphi и Microsoft Visual C++. Borland Delphi мы использовали для реализации «Программы математического обеспечения психологических исследований», т.к. основной целью программы было предоставление пользователю интерфейса для работы с созданной dll. Microsoft Visual C++ мы использовали для создания программ КСМ и ТСМ, т.к. при реализации этих программ было важно умение языка работать на низком уровне.

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

2.5 Проектирование интерфейсов

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

Проектирование внутренних интерфейсов

Основой нашей программы составляет Dll, которая содержит создаваемые и используемые нами математические процедуры. Эта Dll создается программой КМС, верифицируется программой ТМС и используется в программе МОПИ. Далее мы опишем интерфейс нашей Dll.

Dll экспортирует две функции, с помощью которых можно создать экземпляр класса System, который предоставляет доступ к COM-интерфейсу, через который можно использовать содержащуюся в Dll математическую процедуру:

1) CreateSystem. Функция, создающая в программе экземпляр класса System.

BOOL CreateSystem (System **sys);

Параметры:

sys - указатель на указатель на виртуальный класс System.

Возвращаемое значение - true, если экземпляр класса System создан и false - если нет.

2) DestroySystem. Функция, удаляющая в программе экземпляр класса System.

void DestroySystem (System *sys);

Параметры:

sys - указатель на виртуальный класс System.

Класс System предназначен для управления математической процедурой, содержащейся в Dll:

class System

{

public:

virtual void __stdcall Initialize() = 0;

virtual void __stdcall UnInitialize() = 0;

virtual void __stdcall Operate (LPVOID *pin, LPVOID *pout) = 0;

virtual void __stdcall Reset() = 0;

virtual void __stdcall ModelName (char** MN) = 0;

virtual void __stdcall ModelInfo (char** MI) = 0;

virtual void __stdcall GetNumberInput (int* NumberIn) = 0;

virtual void __stdcall GetNumberOutput (int* NumberOut) = 0;

virtual void __stdcall GetInputInfo (unsigned n, rtS* S) = 0;

virtual void __stdcall GetOutputInfo (unsigned n, rtS* R) = 0;

};

Описание функций класса System:

1) void Initialize();

Функция инициализации модели.

2) void UnInitialize();

Функция деинициализации модели.

3) void Operate (LPVOID *pin, LPVOID *pout)

Функция обмена данными с моделью:

pin - указатель на входные значения;

pout - указатель на выходные значения.

4) void Reset();

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

5) void ModelName (char** MN);

Функция, возвращающая имя модели. MN - строка, содержащая имя модели.

6) void ModelInfo (char** MI);

Функция, возвращающая описание модели. MI - строка, содержащая описание модели.

7) void GetNumberInput (int* NumberIn);

Функция, возвращающая количество входов модели. NumberIn - число используемых входов.

8) void GetNumberOutput (int* NumberOut);

Функция, возвращающая количество выходов модели. NumberOut - число используемых выходов.

9) void GetInputInfo (unsigned n, rtS* S);

Функция, возвращающая параметры входных сигналов:

n - номер входного сигнала, параметры которого должны быть получены;

S - структура типа rtS, содержащая информацию о входном сигнале, с номером n.

10) void GetOutputInfo (unsigned n, rtS* R);

Функция, возвращающая параметры выходных сигналов:

n - номер выходного сигнала, параметры которого должны быть получены;

S - структура типа rtS, содержащая информацию о выходном сигнале, с номером n.

В экспортируемых функциях используется структура rtS, предназначенная для получения из Dll параметров входных и выходных сигналов. Она используется как возвращаемое значение в функциях GetInputInfo и GetOutputInfo.

rtS {

int TypeSignal;

int FormatSignal;

int Size [2];

};

Структура, содержащая информацию о входных сигналах:

? TypeSignal - тип используемого сигнала (в соответствии с таблицей 2.1);

? FormatSignal - формат используемого сигнала (в соответствии с таблицей 2.2);

? Size [2] - массив, содержащий информацию о размерности сигнала, первый элемент обозначает количество строк, второй - столбцов. При формате данных Scalar массив имеет размерность [1; 1]. При формате данных Vector одно из значений должно быть равным 1, а другое - быть большим 1. При формате данных Matrix - оба элемента должны быть больше 1. Если массив заполнен нулями, значит, задан несуществующий номер входа или выхода. Выравнивание для структуры равно 8 байтам.

Таблица 2.1 - Соответствие типов данных сигнала в Simulink значениям элемента TypeSignal структуры rtS

Тип данных в С++

Значения, возвращаемые TypeSignal

char

1

unsigned char

2

short

3

unsigned short

4

int

5

unsigned int

6

float

7

double

8

Если возвращаемое значение равно 0, то был задан номер несуществующего сигнала.

Таблица 2.2 - Соответствие форматов сигнала в Simulink значениям элемента FormatSignal структуры rtS

Тип данных в С++

Значения возвращаемые FormatSignal

Scalar

1

Vector

2

Matrix

3

Если возвращаемое значение равно 0, то был задан номер несуществующего сигнала.

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

+ se*1 … + se*(N-1)

a

a

a

где , + se*1, …, + se*(N-1) - адреса элементов вектора;

N - размер вектора;

se - размер одного элемента вектора;

a, a, …, a - элементы вектора.

Размещение элементов матрицы [N; M] в памяти. Первая строчка - адреса, вторая - элементы.

+ 1*se … +(M-1)*se

a

a

a

+ 1*M*se + 1*M*se+1*se … + 1*M*se+(M-1)*se

a

a

a

………………………………………………………

+ (N-1)*M*se + (N-1)*M*se+1*se … + (N-1)*M*se+(M-1)*se

a

a

a

где , + 1*se, …, +(M-1)*se, …, + (N-1)*M*se+(M-1)*se - адреса элементов матрицы;

M - количество столбцов матрицы;

N - количество строк матрицы;

se - размер одного элемента матрицы;

a, a, …, a, … a - элементы матрицы.

Например, матрица размером [2; 2] должна быть размещена в памяти следующим образом:

+1 +2 +3

a

a

a

a

1 строка 2 строка

+(1*M+0)*se

+(0*M+1)*se +(1*M+1)*se

Теперь рассмотрим механизм обмена данными с Dll. Для передачи данных в Dll и приема данных в систему используется функция Operate. В качестве ее параметров используется указатель на массив указателей на первые элементы передаваемых сигналов. В качестве примера на рисунке 2.7 показана передача данных в Dll c тремя входами разных форматов (1-скаляр, 2-вектор, 3-матрица). Пример работы с Dll приведен в приложении Г.

Рисунок 2.7 - Механизм обмена данными с Dll

Проектирование пользовательского интерфейса

Разрабатываемое нами программное средство состоит из трех программ, каждая из которых содержит свой пользовательский интерфейс. При реализации пользовательских интерфейсов каждой из программ необходимо опираться на ряд принципов (В.В. Головач, 2003; ГОСТ Р МЭК 60447-2000; В.М. Мунипов, 2001):

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

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

Пользовательский интерфейс должен соответствовать ожиданиям пользователя. Интерфейс должен соответствовать предыдущему опыту или образованию пользователя. Так, если пользователь хорошо имеет опыт работы с определенными интерфейсами, то рекомендуется создавать новые интерфейсы в похожем стиле. Например, стандартом проектирования интерфейсов является серия продуктов Microsoft Office, они задают стандарт в области меню и элементов управления. Также желательно использовать базовые элементы программного интерфейса, предоставляемого операционной системой семейства Windows (см. приложение Д).

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

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

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

Использование этих принципов при построении пользовательского интерфейса позволяет учитывать психологические особенности пользователей и увеличивать эффективность работы с программой.

2.6. Реализация и эксплуатация программного средства

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

Таблица 2.3 - Минимальные характеристики ПЭВМ для выполнения программы

Параметр

Значение

Тактовая частота процессора, МГц, не менее

350

Место на жестком диске для установки программы, МБ, не менее

30

Объем ОЗУ, МБ, не менее

256

Разрешение, поддерживаемое видеокартой, пиксель,
не менее

800 Х 600

Разрядность цветовой палитры видеокарты, бит, не менее

16

Разрешение, поддерживаемое монитором, пиксель, не менее

800 Х 600

Монитор, не хуже

SVGA/15''/85 Гц

Примечание - Для установки программного обеспечения, рекомендуется оборудовать ПЭВМ устройством чтения компакт-дисков.

На ПЭВМ должна быть установлена операционная система Windows 2000 или XP. Для нормального отображения информации в Windows должно быть установлено разрешение не менее 800Х600 пикселов, цветовая палитра не менее 256 цветов.

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

1. Visual C++ 6.0;

2. Simulink 5.0;

Необходимым условием является инсталляция этих программ (и, следовательно - доступность для операционной системы путей к ним). При нарушении этого условия (например, инсталляция Visual C++ 6.0 без прописывания путей к нему; копирование, а не инсталляция пакета Simulink) утилита не будет иметь доступа к этим программам и не сможет функционировать.

В директории с утилитой должна находиться директория с именем Source_RTW, содержащая файлы cl.exe и rc.exe. Эти файлы входят в состав Visual C++.

Инсталляционный пакет программного средства представлен исполняемым файлом «Setup.exe». Для инсталляции программы необходимо запустить исполняемый файл «Setup.exe» и далее следовать указаниям программы-инсталлятора. По завершению инсталляции на рабочем столе Windows появятся пиктограммы, показанные на рисунке 2.8.

Рисунок 2.8 - Пиктограммы для запуска программ

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

1. Программа КМС

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

Начало выполнения программы определяется запуском из директории инсталляции исполняемого файла «КМС.exe», либо двойным щелчком указателя «Мышь» по пиктограмме «КМС» (см. рисунок 2.8.) на рабочем столе Windows. На монитор ПЭВМ выводится главное окно программы, показанное на рисунке 2.9.

Рисунок 2.9 - Главное окно программы КМС

Главное окно содержит следующие элементы управления:

Кнопка «RTW - код» (позиция 1) предназначена для вывода на экран монитора диалогового окна «Обзор папок», предназначенного для выбора директории с кодом алгоритма математической обработки данных, созданными на основе модели Simulink.

Редактор текстовой строки (позиция 2) предназначен для ввода описания создаваемой математической процедуры.

Кнопка «Параметры…» (позиция 3) предназначена для вывода на экран монитора диалогового диалоговое окно «Параметры», в котором задаются глобальные константы, используемые в программе.

Кнопка «Сигналы…» (позиция 4) вызывает диалоговое окно «Установка параметров сигналов», в котором устанавливаются форматы используемых сигналов и их размерности.

Кнопка «Компиляция» (позиция 5) запускает процесс создания Dll.

Кнопка «Выход» (позиция 6) предназначена для завершения программы.

Редактор текстовой строки (позиция 7) отображает имя создаваемой Dll. По умолчанию, это имя совпадает с именем модели Simulink, которая используется для построения Dll. Желательно изначально называть исходную модель в Simulink таким образом, чтобы ее название совпадало с именем необходимой Dll.

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

Рисунок 2.10 - Окно программы «Установка параметров сигналов»

Окно «Установка параметров сигналов» показано на рисунке 2.10 и содержит следующие элементы управления:

В рамке «Входы» находятся элементы управления, предназначенные для редактирования и отображения информации о входных сигналах (позиции 1-5).

Строка в позиции 1 предназначена для отображения номера входа, параметры которого необходимо установить. Работает в режиме «Только для чтения».

Выпадающий список (позиция 2) дает возможность выбрать формат входного сигнала. Если формат сигнала Scalar, то выпадающий список работает в режиме «Только для чтения» и показывает «Scalar». В этом случае параметры данного входного сигнала заносятся в список (позиция 13) автоматически. Если формат сигнала Vector или Matrix, то оператору нужно выбрать формат сигнала из значений выпадающего списка.

Редактор текстовой строки (позиция 3) отображает тип данных входного сигнала. Работает в режиме «Только для чтения».

Редактор текстовой строки «Строки» (позиция 4) предназначен для отображения значения размерности строки данных входного сигнала. Для формата сигнала Scalar размерность автоматически устанавливается равной единице, для Vector и Matrix - задается оператором.

Редактор текстовой строки «Столбцы» (позиция 5) предназначен для отображения значения размерности столбца данных входного сигнала. Для формата сигнала Scalar размерность автоматически устанавливается равной единице, для Vector и Matrix - задается оператором.

Кнопка «Добавить» (позиция 6) заносит информацию о данном входном сигнале в список (позиция 13).

В рамке «Выходы» находятся элементы управления, предназначенные для редактирования и отображения информации о выходных сигналах (позиции 7-11).

Строка в позиции 7 предназначена для отображения номера выхода, параметры которого необходимо установить. Работает в режиме «Только для чтения».

Выпадающий список (позиция 8) дает возможность выбрать формат выходного сигнала. Если формат сигнала Scalar, то выпадающий список работает в режиме «Только для чтения» и показывает «Scalar». В этом случае параметры данного выходного сигнала заносятся в список (позиция 13) автоматически. Если формат сигнала Vector или Matrix, то оператору нужно выбрать формат сигнала из значений выпадающего списка.

Строка в позиции 9 предназначена для отображения типа данных элементов выходного сигнала. Работает в режиме «Только для чтения».

Редактор текстовой строки «Строки» (позиция 10) предназначен для отображения значения размерности строки данных выходного сигнала. Для формата сигнала Scalar размерность автоматически устанавливается равной единице, для Vector и Matrix - задается оператором.

Редактор текстовой строки «Столбцы» (позиция 11) предназначен для отображения значения размерности столбца данных выходного сигнала. Для формата сигнала Scalar размерность автоматически устанавливается равной единице, для Vector и Matrix - задается оператором.

Кнопка «Добавить» (позиция 12) заносит информацию о данном выходном сигнале в список (позиция 13).

Список (позиция 13) предназначен для вывода на экран информации о входных и выходных сигналах, параметры которых определены.

Кнопка «OK» (позиция 14) - подтверждение выбранных установок.

Кнопка «Отмена» (позиция 15) - отмена выбранных установок.

Для создания Dll необходимо выполнить следующую последовательность действий:

1) Инициировать выполнение исполняемого файла «КМС.exe».

2) Нажать на кнопку «RTW - код».

3) В диалоговом окне «Обзор папок» выбрать папку с файлами, полученными из модели Simulink.

4) Если в модели используются входы или выходы сигналов формата Vector или Matrix - нажать на кнопку «Сигналы…». В окне программы «Установка параметров сигналов» нужно установить необходимые параметры сигналов.

5) При необходимости задать имя модели (если имя модели по умолчанию не приемлемо).

6) Ввести описание модели.

7) Нажать на кнопку «Компиляция». В результате будет создана Dll, которая будет находиться в той же папке, что и исполняемый файл «КМС.exe».

8) Нажать на кнопку «Выход».

2. Программа ТМС

Программа «Тестирование моделей Simulink» предназначена для идентификации и верификации Dll, созданных с помощью программы КМС и содержащих алгоритмы математической обработки данных.

Рисунок 2.11 - Главное окно программы ТМС

Начало выполнения программы определяется запуском из директории инсталляции исполняемого файла «ТМС.exe», либо двойным щелчком указателя «Мышь» по пиктограмме «ТМС» (см. рисунок 2.8.) на рабочем столе Windows. На монитор ПЭВМ выводится главное окно программы, показанное на рисунке 2.11.

Главное окно содержит следующие элементы управления:

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

Строка в позиции 2 предназначена для отображения имени тестируемой Dll.

Графическое изображение (позиция 3) отображает схематичное изображение алгоритма математической процедуры в среде Simulink, реализованной в тестируемой Dll.

Кнопка «Картинка» (позиция 4) вызывает диалоговое окно «Изображение модели» (см. рисунок 2.12), в котором отображается графическое изображение алгоритма математической процедуры в среде Simulink, реализованной в тестируемой Dll.

Кнопка «Загрузка» (позиция 5) вызывает диалоговое окно «Обзор папок», позволяющее выбрать папку с файлами, используемыми для тестирования Dll.

Кнопка «Проверка» (позиция 6) - тестирование Dll.

Кнопка «Выход» (позиция 7) - выход из программы.

Редактор текстовой строки (ссылка 8) выводит описания тестируемой Dll.

В рамке «Выходы» (позиция 9) расположены элементы управления, предназначенные для вывода информации о выходных сигналах.

Таблица (позиция 10) отображает параметры выходных сигналов алгоритма, реализованного в тестируемой Dll. Отображаются следующие параметры: номер сигнала, тип элементов сигнала, формат сигнала, размерность сигнала (для форматов сигнала Vector и Matrix).

Строка в позиции 11 предназначена для отображения количества выходных сигналов в тестируемой Dll.

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

Таблица (позиция 13) отображает параметры входных сигналов модели, реализованной в тестируемой Dll. Отображаются следующие параметры: номер сигнала, тип элементов сигнала, формат сигнала, размерность сигнала (для форматов сигнала Vector и Matrix).

Строка в позиции 14 предназначена для отображения количества входных сигналов в тестируемой Dll.

Рисунок 2.12 - Окно «Изображение модели»

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

1) Инициировать выполнение исполняемого файла «ТМС.exe».

2) В списке (позиция 1 на рисунке 2.11) двойным нажатием левой кнопки манипулятора «Мышь» выбрать Dll для верификации.

3) Нажать на кнопку «Загрузка». В появившемся диалоговом окне «Обзор папок» выбрать папку с файлами для тестирования Dll. Правила создания этих файлов приводятся в приложении Е.

4) Нажать на кнопку «Проверка». Результатом работы программы является сообщение о том, правильно или неправильно математическая процедура, содержащаяся в Dll.

5) Нажать на кнопку «Выход».

3. Программа МОПИ

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

Рисунок 2.13 - Главное окно программы ТМС

Начало выполнения программы определяется запуском из директории инсталляции исполняемого файла «МОПИ.exe», либо двойным щелчком указателя «Мышь» по пиктограмме «МОПИ» (см. рисунок 2.8.) на рабочем столе Windows. На монитор ПЭВМ выводится главное окно программы, показанное на рисунке 2.13.

Главное окно содержит следующие элементы управления:

Меню (позиция 1) предназначено для настроек программы и для вызова справочной информации.

Закладка «Мат. обработка» (позиция 2) предназначена для доступа к функциям математической обработки данных (показана на рисунке 2.13.).

Закладка «Психометрика» (позиция 2) предназначена для доступа к функциям расчета психометрических характеристик тестов (показана на рисунке 2.14.).

Закладка «Результат» (позиция 2) предназначена для отображения результатов выполнения математической обработки и психометрических процедур (показана на рисунке 2.15.).

Кнопки в позициях 6 и 7 предназначены для открытия и закрытия файла с данными для математической обработки. Для представления данных используется текстовый файл с расширением «*.prn» и содержащий один или два столбца данных. При открытии файла, полный путь к нему отображается в строке «Источник данных» (позиция 5).

Редактор текстовой строки «Размер выборки» (позиция 8) предназначен для ввода значения, по которому будет отсекаться данные, если столбцы с данными имеют разный размер.

Поле «Описательная статистика» (позиция 9) предназначено для выбора методов описательной статистике, которые пользователь хочет использовать. Программа предоставляет возможность рассчитывать моду, медиану, математическое ожидание и среднеквадратическое отклонение. Все методы в программе могут рассчитываться одновременно.

Поле «Корреляционный анализ» (позиция 10) предназначено для выбора видов корреляционного анализа, которые пользователь хочет использовать. В программе предоставляет возможность вычислять два самых популярных среди психологов коэффициента корреляции - Пирсона и Спирмена.

Поле «Анализ номинативных данных» (позиция 11) предназначено для выбора метода расчета данных Хи-квадрат Пирсона, который в подавляющее большинство психологов использует, при необходимости обсчета номинативных данных.

Поле «Непараметрические методы» (позиция 12) предназначено для выбора непараметрических критериев Манна-Уитни и Крускала-Уоллиса.

Поле «Параметрические методы» (позиция 13) предназначено для выбора параметрических критериев Фишера и Стьюдента (для независимых выборок).

Кнопка «Пуск» (позиция 14) запускает обсчет данных с помощью выбранных пользователем процедур.

Кнопка «Выход» (позиция 15) предназначена для выхода из программы.

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

Рисунок 2.14 - Закладка «Психометрика»

Закладка «Психометрика» содержит следующие элементы управления:

Кнопки в позициях 2 и 3 предназначены для открытия и закрытия файла с данными для психометрических процедур. Для представления данных используется текстовый файл с расширением «*.prn», содержащий матрицу данных, в которой по горизонтали располагаются номера испытуемых, а по вертикали - номера вопросов. При открытии файла, полный путь к нему отображается в строке «Источник данных» (позиция 1).

Редактор текстовой строки «Размер выборки» (позиция 4) предназначен для ввода значения, по которому будет отсекаться данные, если столбцы и строки с данными имеют разный размер.

Поле «Вычисление описательных статистик» (позиция 5) предназначено для включения вычисления математического ожидания, СКО и дисперсии. То есть тех данных, которые рассчитываются на первом этапе работы с тестами.

Поле «Определение «нормальности» распределения» (позиция 6) предназначено для включения расчета «нормальности» распределения. Эта процедура проводится на втором этапе работы с тестами.

Поле «Вычисление различных видов надежности» (позиция 7) предназначено для выбора видов надежности, которые хочет рассчитать пользователь. Программа предоставляет возможность рассчитать ретестовую надежность (с помощью корреляции Пирсона и Спирмена) и внутреннюю согласованность (с помощью формулы Спирмена-Брауна и коэффициента «альфа» Кронбаха).

Все вычисления в программе производится по нажатию на кнопку «Пуск» и отображаются на закладке «Результаты», представленной на рисунке 2.15.

Рисунок 2.15 - Закладка «Результаты»

2.7 Модернизация программного средства

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

Можно выделить два типа модернизации:

1) Модернизация за счет возможностей системы.

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

2) Изменения, для которых необходимо изменение программного кода.

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

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

3. Безопасность и экологичность проекта

3.1 Анализ безопасности

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

Описание трудового процесса при использовании программного средства

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

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

При использовании готовых математических процедур пользователю необходимо запустить программу МОПИ, выбрать необходимые ему процедуры, нажать на кнопку «Пуск» и скопировать себе полученные результаты.

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

Рисунок 3.1 - Процесс взаимодействия пользователя с программой.

Анализ и оценка напряженности трудового процесса пользователя

Для анализа и последующей оценки напряженности трудового процесса пользователя нашего программного средства рассмотрим комплекс факторов, создающих предпосылки для возникновения неблагоприятных нервно-эмоциональных состояний. Оценка напряженности труда осуществлялась в соответствии с руководством Р2.2.2006-05 «Гигиенические критерии оценки условий труда по показателям вредности и опасности факторов производственной среды, тяжести и напряженности трудового процесса». В соответствие с этим руководством проведен анализ 22 факторов, по каждому из которых определялся класс условий труда. В зависимости от уровня либо величины анализируемого фактора, используются 7 оценок (классов): 1.0 - значение фактора оптимально, 2.0 - допустимо, 3.1, 3.2, 3.3, 3.4 - вредно в той или иной степени, 4.0 - опасно. В соответствии с процессом взаимодействия пользователя с программой мы будем рассматривать два вида трудового процесса - создание математических процедур (СМП) и использование математических процедур (ИМП).

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

Таблица 3.1. Показатели напряженности трудового процесса

Показатели напряжённости трудового процесса

Заключение

Оценка, класс

1. Интеллектуальные нагрузки

Содержание работы

СМП: Решение сложных задач с выбором по известным алгоритмам.

ИМП: Решение простых задач с выбором по инструкции.

3.1

2

Восприятие сигналов (информации) и их оценка

СМП: Восприятие сигналов с последующей коррекцией действий и операций.

ИМП: Восприятие сигналов с последующей коррекцией действий и операций.

2

2

Распределение функций по степени сложности задания

СМП: Обработка, проверка и контроль за выполнением задания

ИМП: Обработка и выполнение задания

3.1

1

Характер выполняемой работы

СМП: Работа по индивидуальному плану

ИМП: Работа по индивидуальному плану

1

1

2. Сенсорные нагрузки

Длительность сосредоточенного наблюдения

СМП: при работе не требуется сосредоточенного наблюдения, т.к. темп и время определяются пользователем самостоятельно.

ИМП: при работе не требуется сосредоточенного наблюдения, т.к. темп и время определяются пользователем самостоятельно.

1

1

Средняя плотность сигналов за 1 час работы

СМП: плотность сигналов низкая, т.к. поведение программы представляет собой реакции на действия пользователя.

ИМП: плотность сигналов низкая, т.к. поведение программы представляет собой реакции на действия пользователя.

1

1

Число производственных объектов одновременного наблюдения

СМП: число объектов невелико (до 5).

ИМП: число объектов невелико (до 5).

1

1

Работа с оптическими приборами при длительности сосредоточенного наблюдения

СМП: При работе не требуется использование оптических приборов

ИМП: При работе не требуется использование оптических приборов

1

1

Наблюдение за экранами видеотерминала

СМП: время работы в среднем не превышает 3 часов.

ИМП: время работы не превышает 1 час за рабочий день.

2

1

Нагрузка на слуховой анализатор

СМП: Разборчивость слов и сигналов от 100% до 90%. Помехи отсутствуют.

ИМП: Разборчивость слов и сигналов от 100% до 90%. Помехи отсутствуют.

1

1

Нагрузка на голосовой аппарат

СМП: При работе с продуктом пользователю не требуется использовать голосовой аппарат.

ИМП: При работе с продуктом пользователю не требуется использовать голосовой аппарат.

1

1

3. Эмоциональные нагрузки

Степень ответственности за результат собственной деятельности. Значимость ошибки

СМП: Несет ответственность за функциональное качество вспомогательных работ (заданий), т.к. результатами будут пользоваться другие исследователи.

ИМП: результат касается только пользователя.

2

1

Степень риска для собственной жизни

СМП: Практически отсутствует.

ИМП: Практически отсутствует.

1

1

Степень ответственности за безопасность других лиц

СМП: Практически отсутствует.

ИМП: Практически отсутствует.

1

1

4. Монотонность нагрузки

Продолжительность выполнения простых производственных заданий или повторяющихся операций

СМП: Работа достаточно долговременна - от 20 до 60 минут. Это может вызвать утомление.

ИМП: Работа кратковременна.

2

1

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

СМП: Не менее 50% времени пользователю приходится решать интеллектуальные задачи.

ИМП: Не менее 25% времени пользователь активен.

1

1

Монотонность производственной обстановки

СМП: Присутствуют повторяющиеся операции, возможна монотонность работы на определенных ее этапах, однако она не превышает 50%

ИМП: Монотонных действий практически нет.

1

1

3. Режим работы

Фактическая продолжительность рабочего дня

СМП: Пользователь самостоятельно выбирает режим работы

ИМП: Пользователь самостоятельно выбирает режим работы

1

1

Сменность работы

СМП: Рабочее время не регламентируется

ИМП: Рабочее время не регламентируется

1

1

Наличие регламентированных перерывов и их продолжительность

СМП: Перерывы не регламентируется

ИМП: Перерывы не регламентируется

1

1

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

Разработка защитных и профилактических мероприятий

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

? Необходимо соблюдать режим труда и отдыха, т.е. обязательным является наличие перерывов в работе. Для испытуемого это могут быть перерывы по 5-10 минут между отдельными методиками (из-за большой напряженности во время тестирования), для психолога и администратора необходимы перерывы в работе каждый час по 10-15 минут.

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

? Соблюдение режима труда и отдыха позволит также избежать монотонности в работе, следовательно, меньше будет утомленность пользователя.

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

Анализ надежности программного средства на этапе эксплуатации

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

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

Отказ программного обеспечения могут возникать по нескольким причинам: из-за ошибок в операционной среды; из-за ошибок в дополнительном программном обеспечении, применяемом вместе с разработанным программным средством; из-за ошибок пользователя или сбоя самого программного средства. Выявленные в результате проведенного анализа причины можно изобразить графически в виде «дерева отказов» (рисунок 3.2).


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

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