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

Введение


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

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

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

?повышение эффективности работы психолога, за счет уменьшение времени на обработку результатов экспериментальных процедур;

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

?увеличение точности регистрируемых данных и уменьшение ошибок при их обработке, неизбежных при «ручных» методах сбора и обработки данных;

?увеличение стандартизации условий психодиагностического исследования за счет единообразного инструктирования испытуемых и предъявления заданий вне зависимости от индивидуальных особенностей исследуемого и экспериментатора;

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

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

?большое количество ошибок в популярных пакетах обработки данных (таких как Statistica, SPSS, Stadia и т.д.);

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

?невозможность полностью верифицировать используемые математические алгоритмы;

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

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

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

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

1.разработать простой и наглядный способ создания математических процедур, необходимых для работы психолога;

2.разработать процедуры верификации созданных процедур;

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

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


1. Проблема математического сопровождения психологического исследования

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

1.1 Экспериментальная психология как набор инструментов и принципов психологического исследования


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

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

Термин «экспериментальная психология» имеет, по крайней мере, четыре значения (В.Н. Дружинин, 2005):

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

)Экспериментальную психологию иногда трактуют как систему экспериментальных методов и методик, реализуемых в конкретных исследованиях.

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

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

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

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

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

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

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

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

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

Математическое обеспечение связанно с третьим и четвертым уровнем методологии, т.к. на верхних уровнях методологии не один из научных подходов не отвергает его применение в психологических исследованиях. На уровне конкретно-научной методологии видно резкое разделение: для одних направлений применение математических методов является основой построения исследовательских программ, для других - лишь необходимостью заботится об адекватности данных для дальнейшей обработки данных. Чаще всего это зависит от необходимости формализации данных для их дальнейшего использования в смежных научных областях или в технике. Например, в инженерной психологии и эргономике, некоторых разделах общей психологии одним из основных методов является математическое моделирование, которое используется для создания моделей психических процессов. Адекватность этих моделей важна при проектировании и производстве военной техники, высокотехнологичных приборов, систем безопасности и т.д. В областях, в которых не возможно жестко формализовать окружающую среду и получаемые знания носят менее формальных характер, математические методы применяются только как инструмент для организации данных (В.Н. Дружинин, 1994; Т.В. Корнилова, 2002).

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

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

Человеческое познание принято относить к различным сферам - религии, культуры, науки и т.д. В науки выделяют два основных критерия научного познания (В.Н. Дружинин, 2005):

) объективность как стремление к получению истины (получение такого знания, которое максимально точно описывает, объясняет и предсказывает поведение изучаемой реальности);

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

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

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

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

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

Какое место в каждом из этих подходов к описанию объективности и целей психологической науки занимают математические методы? При первом подходе (который можно назвать философским) субъект рассматривается как «вещь в себе», доступная для изучения только через особенности другого субъекта и их взаимодействие. Поэтому на язык математики человек не может быть спроецирован принципиально. При классическом естественнонаучном подходе субъект - это такая же часть мира, как и стул, поэтому он полностью может быть описан языком математики. Научным признается лишь то, что можно поверить числом. Для третей позиции (которую в целом можно назвать психологической) математика является языком, на котором психологи пытаются описывать изучаемую ими реальность. Но язык математики и язык психологии очень различны, поэтому математика здесь является не критерием истины, а одним из инструментов для ее поиска (Т.Н. Корнилова, 2004).

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

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

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

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


.2 Математическое обеспечение психологического исследования


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

Традиционно выделяют три сферы применения математических методов в психологии: математическая обработка данных, психометрика и моделирование в психологии (Е.Ю. Артемьева, 1975).

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

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

На первом этапе, на основе анализа источников по обработке данных в экспериментальных исследованиях, мы выделяли классы математических методов, решающих задачу обработки данных (Н. Джонсон, 1980; В.В. Налимов, 1981; Д.К. Монтгомери, 1980; Ю.Н. Тюрин, 1995). Были выделены следующие группы методов:

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

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

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

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

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

?Дисперсионный анализ. Это анализ изменчивости признака под влиянием каких-либо контролируемых переменных факторов.

?Многомерные методы. Различные описательные математические модели, применяемые для представления исходных (эмпирических данных) в доступном для интерпретации виде.

На втором этапе в каждом из выделенных классов, на основе анализа источников по применению математических методов в психологии, определяли методы, которые рекомендуются для исследования психологами в своих исследованиях. Было проанализировано 9 книг по использованию математических методов в психологи (Е.Ю. Артемьева, 1975; Дж. Глас, 1975; А.Д. Логвиненко, 1993; А.Д. Наследов, 2004; Т.П. Пухначева, 2001; Е.В. Сидоренко, 2003; Г.В. Суходольский, 1972; С.Г. Тарасов, 1998; З.А. Шакурова, 2000). В результате для каждой группы методов были выделены математические методы, которые описываются в 55% источников. На основе выделенных методов была построена анкета для выявления тех методов, которые реально используют психологии в своих исследованиях (анкета приведена в приложении А).

Анкетирование проводилось на сайте www.virtualexs.ru, предназначенном для проведения анонимного анкетирования. Анкетирование проводилось в течение двух месяцев (с 10.03.07 по 10.05.07). В анкетировании приняло участие 236 человек. Опрос через сеть Интернет был выбран по нескольким причинам (А.Е. Войскунский, 2000; А.Е. Жичкина, 2000):

)Экономия времени и средств, как исследователя, так и испытуемых.

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

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

)Снижение влияния экспериментатора.

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

Помимо преимуществ, исследования через сеть Интернет имеет и ряд недостатков, которые мы пытались компенсировать:

)Неоднократное участие некоторых испытуемых в одном исследовании. Чтобы компенсировать этот недостаток, мы выбрали сайт для тестирования, который идентифицирует IP-адреса компьютера, на котором работает пользователь и не позволяет ему повторно (в течении 5 дней) проходить один и то же опрос.

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

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

Исследование через Интернет показало высокую валидность: «…валидность Интернет-исследований оказывается высокой - большинство результатов совпадает с результатами аналогичных работ, проведенных традиционным способом. Исключение могут составить случаи исследования особенностей восприятия, когда размещение стимульного материала в Интернет сказывается на его видимых размерах. Иногда отмечается, что при проведении опроса в сети Интернет регистрируется большее количество крайних и нелогичных суждений (что, однако, не нарушает сходства результатов сетевого и традиционного тестирования). В остальных случаях результаты исследований в Интернете почти или полностью совпадают с данными, полученными традиционными способами. То есть вероятность фальсификации ответов некоторыми испытуемыми недостаточно высока для того, чтобы значимо исказить результаты работы в целом» (А.Е. Жичкина, 2000).

В результате исследования были выделены математические методы, которые психологи в своих исследованиях использую чаще всего. Частотное распределение методик представлено в приложении Б. Так, сложные виды анализ в среднем применяются от 3% (регрессионный анализ) до 12% (факторный анализ) психологов. Наиболее распространенным является применение мер центральной тенденции (92%), их применяет практически каждый психолог. Самыми популярными способами корреляционного анализа является вычисление коэффициентов корреляции Пирсона (64%) и Спирмена (76%). Среди параметрических критериев сравнения двух выборок чаще всего применяют критерий Стьюдента для анализа независимых выборок (71%) и критерий Фишера (55%). Из непараметрических критериев сравнения выборок психологи чаще всего отдают предпочтение критериям Манна-Уитни (68%) и Крускала-Уоллиса (57%). Анализ номинативных данных большинство психологов делает с помощью критерия Хи-квадрат Пирсона (71%).

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

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

Под валидностью понимается действительная способность теста измерять ту психологическую характеристику, для диагностики которой он заявлен. Количественно валидность теста может выражаться через корреляции результатов, полученных с его помощью, с другими показателями, например, с успешностью выполнения соответствующей деятельности. Выделяется несколько типов валидностей - содержательная, внутренняя (эмпирическая) и понятийная (конструктивная). Под надежностью понимается устойчивость, или согласованность, результатов теста, получаемых при повторном его применении к тем же испытуемым в различные моменты времени, при использовании различных наборов эквивалентных заданий или же при изменении других условий исследования. Существует несколько типов надежности - ретестовая, надежность взаимозаменяемых форм и надежность эквивалентных половин теста (А. Анастази, 2001; П. Клайн, 1994).

Анализ литературы по созданию и адаптации методик, применяемых для психологического тестирования (А. Анастази, 2001; Л.И. Вассерман, 1997; В.А. Дюк, 1994; П. Клайн, 1994; В.П. Устинов, 2004; А.Г. Шмелев, 1984), показал, что в большинстве случаев применяется определенный набор математических процедур. Таким образом, мы можем обозначить основные методы, применяемые при создании тестов:

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

)Сравнение распределения результатов с нормальным распределением. Определение «нормальности» распределения может осуществляться с помощью проверки асимметрии и эксцесса на основе общего неравенства Чебышева.

)Вычисление различных типов надежности.

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

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

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

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

Моделирование психических процессов является основой исследования во многих областях психологии: инженерной психологии, общей психологии, эргономике, социальной психологии, психофизики. Целью таких исследований является построение математической модели исследуемого психического процесса. Примером таких моделей может быть: модель цветового зрения Измайлова (Ч.А. Измайлов, 1989), модели сенсорных процессов (Ю.М. Забродин, 1979), модели социально-психических процессов (А.К. Гуц, 1998). Данная область применения математических методов в психологии наименее формализована. И в большинстве случаев главной проблемой при моделировании является не применение математического аппарата, а построение экспериментальных процедур, позволяющих получать данные для адекватного перевода на язык математики.

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


.3 Обзор существующих аналогов


Анализ литературы по математической обработке данных в психологических исследованиях и результаты анкетирования позволили выделить четыре основных программы, применяемых психологами. К ним относятся такие программные продукты как Statistica, SPSS, Stadia и MS Excel. Такие известные математические программы как MatLab, Maple, Mathematica и Mathcad практические не используются в психологических исследованиях из-за своей сложности. Рассмотрим особенности каждой из программ и выделим ее сильные и слабые стороны.

1)SPSS («Statistical Package for the Social Sciences»)

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

Программа предоставляет полный набор методов анализа данных, начиная с описательной статистики и заканчивая сложными видами анализа (дисперсионный, факторный, спектральный и т.д.). Представление результатов происходит при помощи различных видов диаграмм и гистограмм. При этом пользователя предоставляется возможность самому создавать шаблоны диаграмм. Но главной особенностью SPSS является ее интеграция с большим количеством внешних программ (MS Excel, dBASE, Lotus, SQL, SYSTAT и т.д.) и форматов (XML, HTML, PC, SAS и т.д.). Еще одной важной особенностью программы является поддержка современных программных решений. Так, последняя версия программ SPSS строится на основе клиент-серверной архитектуры, объявлено, что новая версия программы будет полностью совместима с Windows Vista (Ю.Н. Тюрин, 1995).

Системные требования, необходимые для работы SPSS:

?операционная система - Microsoft Windows 98, Me, NT 4.0, 2000 или XP;

?процессор - не менее Pentium 500 МГц;

?место на жестком диске - 200 Мб;

?ОЗУ - не менее 128 Мб.

Цена на SPSS сильно меняется, в зависимости от используемых модулей и количества лицензий. Цены на SPSS приведены на таблице 1.1.


Таблица 1.1 - Цены на различные модули SPSS

Количество пользователей (цены за одного пользователя в $)1-23-45-910-25более 25SPSS Base13901180980740560SPSS Tables750640530400300SPSS Advanced Models690590490370280SPSS Complex Samples690590490370280SPSS Classification Trees690590490370280SPSS Regression Models690590490370280SPSS Categories690590490370280SPSS Trends690590490370280SPSS Conjoint590500420320240SPSS Missing Value Analysis590500420320240SPSS Exact Tests590500420320240SPSS Maps590500420320240SPSS Data Preparation590500420320240

Анализ таблицы позволяет рассчитать минимальную, максимальную и среднюю цену. Максимальная цена полного пакета программ на одного пользователя (с учетом всех скидок) составляет 6000 $ (156 тыс. руб.), на 25 пользователей - 60775 (1580 тыс. руб.). Базовая программа, необходимая для основных расчетов с лицензией на одного пользователя стоит 1390 $ (36 тыс. руб.), на 25 пользователей - 14000 $ (364 тыс. руб.).

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

2)Statistica.

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

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

Программа Statistica продается в двух модификациях - Quick Statistica, которая содержит ограниченную функциональность и стоит 920 $ (24 тыс. руб.), и основной пакет программы, которая стоит 1500 $ (39 тыс. руб.).

Системные требования, необходимые для работы программы Statistica:

?операционная система - Microsoft Windows 98, 2000 или XP;

?процессор - не менее Pentium 300 МГц;

?место на жестком диске - 150 Мб;

?ОЗУ - не менее 128 Мб.

3)Stadia.

Программа Stadia разработана в России и за 12 лет своего развития стала аналитическим инструментом, используемым в различных областях науки, техники, планирования, управления, производства, бизнеса, маркетинга, образования, медицины и др. Программа предоставляет следующие возможности (А.П. Кулаичев, 1999)):

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

?визуализация данных при помощи 2-ух и 3-ех мерных графиков, гистограмм, диаграмм, поверхностей и карт;

?экспорт и импорт данных и результатов;

?интерактивная помощь, советы и интерпретация результатов.

Системные требования, необходимые для работы программы Stadia:

?операционная система - Microsoft Windows 3.11, 98, Me, NT 4.0, 2000 или XP;

?процессор - не менее 286;

?место на жестком диске - не менее 10 Мб;

?ОЗУ - не менее 8 Мб.

Программа Stadia выпускается в трех основных модификациях, отличающихся только объемом обрабатываемых данных (чисел в матрице данных):

?версия для учебных классов на 10 ПЭВМ (до 400 чисел) стоит 3 тыс. руб.;

?базовая версия (до 4000 чисел) стоит 6 тыс. руб.;

?профессиональная версия (до 20000 чисел) стоит 9 тыс. руб.

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

4)MS Excel.

Программа MS Excel входит в пакет программ Microsoft Office и предназначена для работы с электронными таблицами. Не являясь специализированной программой для математической обработки данных, MS Excel предоставляет возможность проводить большое количество преобразований над ячейками таблицы и визуализировать получаемые результаты. Программа позволяет проводить весь набор описательной статистики, использовать критерии сравнения, проводить некоторые виды анализа (регрессионный, дискриминационный).

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

Системные требования, необходимые для работы MS Excel:

?операционная система Windows 95, 98, Me, NT, 2000, XP (в зависимости от версии программы);

?процессор - не менее Pentium II;

?место на жестком диске - не менее 250 Мб;

?ОЗУ - не менее 32 Мб (для MS Excel 2007 не менее 128 Мб).

Различные версии программы (входящие в Microsoft Office) стоят 250-400 $ (6,5-10,5 тыс. руб.). Для ВУЗов существует ограниченная версия ценой 60 $ (1,5 тыс. руб.).

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


Таблица 1.2 - Сравнение различных программ математической обработки данных

Критерий сравненияStatisticaSPSSStadiaMS ExcelВизуализация результатовдадададаНаличие основных статистических методовдадададаНаличие сложных методов анализададачастичночастичноУчет особенностей психологических исследованийнетнетчастичнонет «Открытость» методовнетнетнетдаЦена, в тыс. руб.24-3936-3643-96,5-10,5Наличие скидки для ВУЗовСкидки для образовательных учреждений - 65%Ограниченная версия программы за 500 т.р. на пол года без ограничение на лицензиинетЦена для ВУЗов 1,5 т.р.

Проведенный сравнительный анализ (см. таблицу 1.2) показал, что все используемые программы имеют достаточно маленькие требования к системным ресурсам ПЭВМ. Также все эти программы предоставляют возможность воспользоваться статистическими методами обработки данных и визуализацией полученных результатов. С точки зрения цены предпочтение отдается программам Stadia и MS Excel, в то время как цена программ Statistica и SPSS позиционирует их для использования в коммерческих проектах. Специализацию для использования в психологических исследованиях имеет только программа Stadia, а «открытую» архитектуры только программа MS Excel.

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


.4 Выводы


Проведенный анализ позволил сделать следующие выводы:

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

?Выделяют три сферы применения математических методов в психологии: математическая обработка данных, психометрика и моделирование в психологии.

?Проведенное нами анкетирование выявило основные методы, применяемые в психологических исследованиях: меры центральной тенденции; коэффициенты корреляции Спирмена и Пирсона; критерии Стьюдента (для анализа независимых выборок), Фишера, Манна-Уитни, Крускала-Уоллиса и Хи-квадрат Пирсона.

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

?Проведенный анализ программ, используемых психологами для обработки данных, показал, что в подавляющем большинстве случаев используются четыре программы: Statistica, SPSS, Stadia и MS Excel. По показателям цены лучшими являются программы Stadia и MS Excel, по показателям надежности - SPSS, по учету особенностей психологических исследований - Stadia. При этом все программы обеспечивают наличие основных статистических методов обработки данных и визуализации результатов.


2. Проектирование информационной системы


.1 Постановка технического задания


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

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

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

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

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

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

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

Требования к входным данным и выходным формам программного средства:

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

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

Требования к используемым аппаратным и программным инструментальным средствам: программное средство должно быть работать под ОС Windows 2000 и Windows XP.

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


.2 Используемые программные технологии


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

Во-первых, как можно использовать создаваемые математические процедуры, которые будут работать в различных операционных системах и средах программирования. Самой современной и распространенной технологией унификации создаваемых интерфейсов является COM (Component Object Model). COM - это метод разработки программных компонентов, которые предоставляют необходимые сервисы приложениям, операционным системам и другим приложениям. COM не зависит от языка программирования и от используемой операционной среды. Помимо того, что COM - это метод разработки, СOM - это еще и спецификация, которая определяет правила создания унифицированных интерфейсов. Чаще всего компоненты COM представлены в виде динамически-компонуемых библиотек (далее - Dll) или exe-файлов Windows. Применение COM дает следующие преимущества (Д. Роджерсон, 2000):

)Адаптация приложений. Возможность разрабатывать одну систему на нескольких языках программирования. Это особенно актуально при групповой работе над проектом.

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

)Создание распределенных компонентов. Возможность создания приложений, элементы которого располагаются на разных (но связанных в сеть) ПЭВМ.

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

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

Второй проблемой, является процедура создания математических процедур. Наилучшим решением является использование уже имеющейся и проверенной базы алгоритмов. Анализ возможностей таких профессиональных математических пакетов как MatLab, Maple, Mathematica и Mathcad показал, они не предоставляют доступ к имеющимся у них алгоритмам. Поиск среди дополнительных компонентов этих математических пакетов позволил выделить пакет моделирования Simulink, входящий в состав MatLab.- интерактивный инструмент для моделирования, имитации и анализа динамических систем. Он дает возможность строить графические блок-диаграммы, имитировать динамические системы, исследовать работоспособность систем и отлаживать собственные модели. Simulink интегрирован с MATLAB, обеспечивая немедленным доступом к широкому спектру инструментов анализа и проектирования. Simulink также интегрируется с Stateflow для моделирования поведения, вызванного событиями. Эти преимущества делают Simulink наиболее популярным инструментом для проектирования систем управления и коммуникации, цифровой обработки и других приложений моделирования (В. Дьяконов, 2002).

При моделировании с использованием Simulink реализуется принцип визуального программирования, в соответствии с которым, пользователь на экране из библиотеки стандартных блоков создает модель устройства и осуществляет расчеты. При этом, в отличие от классических способов моделирования, пользователю не нужно досконально изучать язык программирования и численные методы математики, а базовых знаний работы на компьютере и знаний той предметной области, в которой он работает. При работе с Simulinkпользователь имеет возможность модернизировать библиотечные блоки, создавать свои собственные, а также составлять новые библиотеки блоков. При моделировании пользователь может выбирать метод решения дифференциальных уравнений, а также способ изменения модельного времени (с фиксированным или переменным шагом). В ходе моделирования имеется возможность следить за процессами, происходящими в системе. Для этого используются специальные устройства наблюдения, входящие в состав библиотеки Simulink. Результаты моделирования могут быть представлены в виде графиков или таблиц (И.В. Черных, 2003).

Визуальное моделирование и набор открытых библиотек, содержащих различные алгоритмы обработки данных, позволяют быстро создавать необходимые процедуры обработки данных. Самостоятельное создание необходимых методов обработки данных позволяет пользователю понимать логику реализовываемых процедур и верифицировать их средствами Simulink. На рисунке 2.1. представлен пример модели в Simulink, имеющей один вход (In1) и один выход (Out1).

Создав необходимую процедуру обработки данных, пользователь имеет возможность получить код созданной модели с помощью программы Real-Time Workshop (далее - RTW), входящей в Simulink. RTW автоматически генерирует С-коды непосредственно из моделей Simulink, построенных по определенным правилам (см. приложение В). Схема процесса получения алгоритмов математических процедур представлена на рисунке 2.2.


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


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

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


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


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

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

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

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

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

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

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

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

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

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

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

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


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


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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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


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

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

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

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


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

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

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


.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 математическую процедуру:

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

BOOL CreateSystem (System **sys);

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

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

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

void DestroySystem (System *sys);

Параметры:

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

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

class System

{:void __stdcall Initialize() = 0;void __stdcall UnInitialize() = 0;void __stdcall Operate (LPVOID *pin, LPVOID *pout) = 0;void __stdcall Reset() = 0;void __stdcall ModelName (char** MN) = 0;void __stdcall ModelInfo (char** MI) = 0;void __stdcall GetNumberInput (int* NumberIn) = 0;void __stdcall GetNumberOutput (int* NumberOut) = 0;void __stdcall GetInputInfo (unsigned n, rtS* S) = 0;void __stdcall GetOutputInfo (unsigned n, rtS* R) = 0;

};

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

1)void Initialize();

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

)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

Тип данных в С++Значения, возвращаемые TypeSignalchar1unsigned char2short3unsigned short4int5unsigned int6float7double8

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


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

Тип данных в С++Значения возвращаемые FormatSignalScalar1Vector2Matrix3Если возвращаемое значение равно 0, то был задан номер несуществующего сигнала.

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



Похожие материалы:

Политик-реформатор П.А. Столыпин

Правление Александра ІІІ (1881-1894гг.). Контрреформы.

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

Конституционное право

Основы организации бухгалтерского учета

Контрольная работа. Тема Основы организации бухгалтерского учета. Группы Фэк обязательства Заочное отделение.

Воспитательный потенциал семьи

. Влияние семьи на становление личности ребенка. Работа педагога с семьей. Формы взаимодействия педагогов и родителей Рассмотреть работу педагога с семьей. Глава I. Воспитательный потенциал семьи и ее.