Библиотека методов когнитивного анализа задач

 

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

УЛЬЯНОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра: «Вычислительная техника»











Пояснительная записка

к дипломному проекту

Тема «Библиотека методов когнитивного анализа задач»





Дипломник: Давлетбердин А.Х.

Руководитель: Соснин П.И.

Консультанты: Соснин П.И.

Рецензент: Беляева М.А.





Ульяновск 2013


Аннотация


Дипломный проект Давлетбердина Альберта Харисовича на тему:

«Библиотека методов когнитивного анализа задач». Кафедра ВТ УлГТУ, 2013г.

Руководитель дипломного проекта д.т.н., профессор Соснин П.И.

Данный дипломный проект посвящен разработки Библиотеки методов когнитивного анализа задач в среде WIQA.Net

В разделе 1 рассмотрены главные определения когнитивного анализа. Так же предметы и этапы когнитивного анализа. Описаны методы когнитивного анализа используемые в библиотеке методов.

В разделе 2 Рассмотрено техническое задание, расширенное задание.

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

В разделе 4 Организационно-экономическая часть

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



Оглавление


Введение

. Анализ предметной области

.1 Когнитивный анализ

.1.1 Общее понятие когнитивный анализ

.1.2 Предпосылки к применению когнитивного подхода к анализу сложных ситуаций

.1.3 Предмет когнитивного анализа

.1.4 Этапы когнитивного анализа

.1.5 Виды факторов

.2 Методы когнитивного анализа задач

1.2.1 Applied Cognitive Task Analysis (ACTA)

.2.2 The Critical Decision Method (CDM, МКР)

.2.3 PARI Method (Precursor (reason for action), Action, Result, Interpretation (of result)

.2.4 Skill-Based CTA Framework

.2.5 Decompose, Network, and Asses (DNA)

.2.6 Goal-Directed Task Analysis (GDTA)

.2.7 Cognitively Oriented Task Analysis (COTA)

.2.8 Cognitive Function Model (CFM)

.2.9 Task-Knowledge Structures (TKS)

.2.10 Think Aloud technique Problem Solving (TAPPS, Мысли вслух)

2. Техническое задание

.1 Техническое задание

.1.1 Вопросно-ответная модель данных

.1.2 Основные понятия

.1.3 Вопросно-ответная модель данных

.2 Цель проекта и назначение программного средства

.2.1 Условия эксплуатации

.2.2 Требования к качеству

.2.3 Требования к составу и параметрам аппаратно-программных средств

.2.4 Требования к информационной и программной совместимости

.2.5 Требования к программной документации

.2.6 Требования к уровню реализации

.3 Обобщённая постановка задачи

.4 Расширенная постановка задачи

.4.1 Цель проекта и назначение программного средства

.4.2 Назначение и область применения

.4.3 Требования к аппаратно-программным средствам

.4.4 Условия эксплуатации

.4.5 Требования к надёжности программного средства

.4.6 Программная документация

. Проектирование и реализация

.1 Обоснование выбора технологии реализации

.2 Реализация метода когнитивного анализа PARI

.2.1 Реализация метода когнитивного анализа PARI на псевдокодовом языке

.3 Реализация метода когнитивного анализа TAPPS

.3.1 Реализация метода когнитивного анализа TAPPS на псевдокодовом языке

.4 Реализация метода когнитивного анализа GDTA на псевдокодовом языке

.5 Реализация метода когнитивного анализа DNA на псевдокодовом языке

.6 Анализ проделанной работы

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

.1 Исходные данные

.2 Перечень нормативной литературы

.3 Анализ потенциальных опасностей

.3.1 Анализ вредных и опасных производственных факторов

.3.2 Микроклимат

.3.3 Электробезопасность

.3.4 Пожарная безопасность

.4 Мероприятия по обеспечению безопасных условий труда

.4.1 Мероприятия по защите от опасных производственных факторов

.4.2 Мероприятия по защите от чрезвычайных ситуаций

. Организационно-экономическая часть

.1 Оценка технического уровня и качества библиотеки методов когнитивного принятия решения

.2 Расчёт экономической эффективности от разработки библиотеки методов

.3 Выводы

Список литературы

Приложение



Введение


Для того чтобы понять, как люди взаимодействуют с миром вокруг них, необходимо узнать, что происходит внутри их головы. Это особенно важно, когда задачи, поставленные перед человеком сложные, и простое наблюдение за поведением становится недостаточным для понимания процессов, происходящих в мозге. Важно также узнать, как люди думают и что они знают, как организуют структуры информации. Когнитивный анализ задач (СТА) представляет собой семейство методов и инструментов для получения доступа к умственным процессам и их организации, дает объяснения наблюдаемому поведению. CTA методы описывают когнитивные процессы, происходящие при выполнении задач.

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

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

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

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

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

Когнитивные процессы. Эти процессы, обеспечивают моделирование знаний и познавательной деятельности, необходимые для выполнения рабочих задач. Когнитивный анализ задач является частью когнитивного процесса, он направлен на построение модели рабочих знания, а также построение информационной когнитивной модели (CCM), которая поможет провести более детальный анализ, с использованием компьютера. Знания, выявленные в результате компьютерного анализа, обеспечат работу CTA и CCM.

Целью данного дипломного проекта является создание библиотеки методов когнитивного анализа задач, в последующем встроенную в вопросно-ответную среду WIQA.

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



1. Анализ предметной области


1.1 Когнитивный анализ


.1.1 Общее понятие когнитивный анализ

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

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

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

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


1.1.2 Предпосылки к применению когнитивного подхода к анализу сложных ситуаций

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

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

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

·изменчивостью характера процессов во времени и т. д.

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

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

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


1.1.3 Предмет когнитивного анализа

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

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

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

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


.1.4 Этапы когнитивного анализа

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

1.Формулировка цели и задач исследования.

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

.Выделение основных факторов, воздействующих на развитие ситуации.

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

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

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

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

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


.1.5 Виды факторов

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

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

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

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

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

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

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

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

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

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


1.2 Методы когнитивного анализа задач


1.2.1 Applied Cognitive Task Analysis (ACTA)

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

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

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

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

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

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

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

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

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

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

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

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

1.2.2 The Critical Decision Method (CDM, МКР)

МКР имеет свои корни в Технике Критического Инцидента(Critical Incident Technique) Flanagan (1954) и, совсем недавно, в изучении доказательной базы в решении проблем, в авиационном машиностроении. Flanagan использовал структурированные интервью и отчеты пилотов, приведены в рабочем контексте, касающихся критических инцидентов (авиационные происшествия, ошибок пилота). Последнее применение техники критического инцидента, как правило, вовлекают воспоминания специалистов и ретроспективу, ранее встречающиеся случаи. Вариации на тему техники были использованы в анализе человеческих ошибок, а также в оценке эффективности команды.

В своей первоначальной адаптации техники критических инцидентов, Klein, Calderwood, и Clinton-Cirocco (1986) попросили опытных пожарных вспомнить критические инциденты, а затем анализировали подробно их реплики, суждения, решения когнитивного анализа задач, использование аналогов, планы, параметры и так далее. Это исследование породило несколько других, проводимых в городах и диких местностях подверженных пожарам. Эти исследования привели к некоторым уточнениям метода, кульминацией которых стало появление критического метода решения.

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

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

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

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

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

Описание процедур МКР:

Шаг 1: Подготовка

Шаг 2: Выбор инцидента

Шаг 3: Воспоминания инцидента

Шаг 4: Пересказ инцидента

Шаг 5: Проверка хронологии и определение момента принятия решения

Шаг 6: Постепенное углубление

Шаг 7: Вопросы "Что, если?"


1.2.3 PARI Method (Precursor (reason for action), Action, Result, Interpretation (of result)

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

Цель PARI

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

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

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

В процесс PARI описывают как "3-C Модель": Collaborative Cognitive Cartography (Совместная Когнитивная Картография). Карта когнитивных процессов.

Предположения PARI Анализа PARI не подходит для анализа всех видов задач. Он является наиболее полезным для задач устранения неполадок.


1.2.4 Skill-Based CTA Framework

Skill-Based CTA Framework предполагает, что простые когнитивные умения - основа для более сложных умений, и пытается определить иерархию умений, необходимые в рабочей области. Эта иерархия, начиная с самых сложных умений, включает в себя: стратегии, умения принятия решений, изобразительное умения, процедурные умения, а также автоматизированные умения. Эта структура была использована для разработки учебных программ в области управления воздушным движением.

Автоматизированные умения могут быть проанализированы соответствии Consistent Component Method и Verbal Report Method (он же Мысли вслух), процедурные умения могут быть проанализированы PARI, представительские умения (элементы мысленной модели, которые могут предсказать необходимые действия) могут быть проанализированы с помощью диаграмм и рейтинга, умений принятия решения могут быть проанализированы Critical Decision Method, анализа ошибок, и Verbal Report Methods. Стратегии могут быть проанализированы с методом Team Communications и Structured Interview.

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

СТА могут быть использованы в оперативной настройке, если бы там был упрощенный подход к определению ключевых элементов работы, которые могут быть проанализированы небольшим набором методов. Основной вклад в этого Фреймворка, что он предлагает упрощенную иерархию когнитивных типов умений, связывая каждый тип с несколькими установленными методами СТА. Фреймворк наиболее полезен в четко определенных областях, где задачи рутины, а также где необычные задачи были определены путем анализа работы. Признавая широкий спектр когнитивных методов анализа, эти Фреймворк избегает спорных методов, концентрируясь на относительно установленных методах, наиболее подходящих для эффективного анализа определенных типов когнитивных умений.Based CTA Framework имеет три особенности, которые помогают переходу когнитивного анализа задачи из исследовательской лаборатории в условие эксплуатации.

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

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

В-третьих, Skill-Based CTA Framework использует методы, которые являются наиболее практичными в оперативных условиях, где время ограничено и аналитики, могут иметь мало подготовки в области статистики, методов исследования, или когнитивной науки. Сбор данных и методы анализа, используемые в этом Фреймворке, были выбраны и изменены таким образом, что они могут быть легко использованы в условиях эксплуатации. Сосредоточив усилия на одном или нескольких конкретных познавательных умений, Skill-Based CTA Framework может значительно уменьшить время, необходимое для выполнения когнитивного анализа. Однако, Фреймворк поощряет использование нескольких методов для проверки результатов.

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

·Стратегии

·Умения принятия решений

·Изобразительные Умения

·Процедурные Умения

·Автоматизированные Умения

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

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


1.2.5 Decompose, Network, and Asses (DNA)

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

Как упоминалось ранее, для поддержания диалога между экспертом и компьютером, используется "Что, как, почему" (WHW) вопросы, потому что их легко интерпретировать и понять. Graesser и Кларка (1985) разработал эту методику.

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

Представление знаний в DNA

В настоящее время разработаны различные схемы представления знаний, которые могут быть использованы для моделирования различных типов знания и навыков. Например, Merrill (1994) представляет четыре вида знаний: фактов, концепций, процедур и принципов. Это схему можно упростить, описывая три основных категории знаний, объединив первые два типа в один тип знаний:

1.декларативные (что?),

.процедурных (как?),

.концептуальные (почему?).

Каждый имеет свое значение для анализа и оценки.

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

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

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

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


1.2.6 Goal-Directed Task Analysis (GDTA)

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

Ситуационные потребности определяются через Целеориентированный анализ задач (goal-directed task analysis (GDTA)). GTDA фокусируется на основных целях операторов (которые могут меняться динамически), на основных решениях, необходимых для достижения поставленных целей и на ситуационных потребностях для каждого отдельно взятого решения. Средства получения информации не являются предметом данного анализа, так как это может значительно варьироваться в зависимости от человека, системы, момента времени или от развития технологии. Например, в разные периоды времени информация может получаться с дисплеев, в процессе вербальной коммуникации, или создаваться самим оператором.стремится определить, что операторы в идеале хотели бы знать для достижения каждой цели, даже если эту информацию невозможно получить при использовании текущей технологии. Идеальная информация это цель анализа. Базирование ситуационной осведомленности только на текущих технологиях будет вызывать искусственный эффект потолка и будет скрывать от исследователя большую часть информации, необходимой оператору.

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



Рис. 1.


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


Рис. 2.


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


Рис. 3.


1.2.7 Cognitively Oriented Task Analysis (COTA)

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

Сама COTA включает в себя следующие этапы:

·описание выполняемой задачи;

·определение диагностических задач;

·определение знаний, необходимых для выполнения задачи.

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

1.Model-Based Approach - использование общих сведений о работе для решения конкретных вопросов

2.Representative Sampling - использование модели рейтингов экспертов для выборки в процессе решения задачи

3.Cognitive Focus - определение целей, стратегий, распознавание образов. Рассмотрение в интегрированной последовательности.

4.Work Performance in Context - фокусировка анализа задачи непосредственно на тех знаниях, которые являются уникальными

Для применения когнитивно-ориентированного подхода к анализу задач выделяют 5 этапов:

1. Планирование проекта

. Анализ задач

. Определение диагностических задач

. Выявление детализированных знаний о работе

. Представление экспертизы работы

Рассмотрим их подробнее.

1 этап - Планирование проекта.

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

Основные шаги, которые должны быть осуществлены на данном этапе:

·беседа с руководством;

·проектирование версий;

·сотрудничество с экспертами;

·выбор методов разработки.

2 этап - Анализ задач.

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

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

Собеседование с 3-5 экспертами, как правило, достаточны, чтобы придти к сходящемуся набору основных обязанностей.

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

«Что вы будете делать в определённый день?»

«Какие основные цели и мероприятия в вашей работе?»

3 этап - Определение диагностических задач.

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

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

4 этап - Выявление детализированных знаний о работе.

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

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

Применяют 3 вида сбора протоколов:

1.Протокол анализа (Эриксон и Симон, 1984). Применяется для выявления «мыслей вслух».

2.Коучинг (Гельман и Галистел, 1978). Это система реализации совместного социального, личностного и творческого потенциала участников процесса развития с целью получения максимально возможного эффективного результата.

.Коммуникации (Оранасу и Фишер, 1992). Осведомлённость членов команды о работе друга может влиять на их поведение и работу.

5 этап - Представление связей между задачами на план-графике.

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

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


1.2.8 Cognitive Function Model (CFM)

Методика называется когнитивной функции моделирования (CFM). Было обусловлено в основном необходимостью «сократить комплектование" на комплекс систем, предназначенных для военных, таких как следующее поколение военно-морского флота авианосец (CVX) и крейсер (SC-21).

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

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


1.2.9 Task-Knowledge Structures (TKS)

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

В теории TKS задачи определяется как деятельность, осуществляется агентами, которая приводит к изменению состояния в данной исследуемой области (Johnson, 1989).

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

Существуют две различных части Целевая структура знаний (TKS), цельная структура и таксономичная структура. Цельная структура представляет собой последовательность задач деятельности, и таксономическая структура содержит обширных знаний об объектах, их взаимоотношениях и их поведение. Существует предположение, что знания моделируемые в TKS имеют не равный статус, некоторые является более важным для успешного выполнения задачи, чем другие.являются моделями задач интересующей нас области. Эти модели используются в рамках процесса разработки, чтобы содействовать большей интерактивностью разрабатываемой системы. Часто целью таких систем может быть желание изменить способ, которым пользователи выполняют свои задачи, например, для улучшения эффективности их решения. Однако, с изменением характера задач пользователей, появляется проблема в обучении. Мы пытаемся спрогнозировать, с какими трудностями столкнется пользователь, при использовании новой системы путем сравнения знаний, которые он в настоящее время имеет; необходимые для эффективного взаимодействия с системой, предназначенной для поддержки своих целей в данной области.


1.2.10 Think Aloud technique Problem Solving (TAPPS, Мысли вслух)

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

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

Метод «Мысли вслух» означает, что субъект при решении задачи говорит вслух все приходящие на ум мысли.

Нет никаких прерываний, наводящих вопросов - чтобы избежать интерпретации для объяснения процесса решения задачи.

Концентрация субъекта на непосредственно на решении задачи.

Весь процесс решения задачи записывается на устройства записи информации (формируется протокол «Мыслей вслух»).

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


Таблица 1. Методы когнитивного анализа

№Название методаКраткое описаниеСпособ применения1Applied Cognitive Task Analysis (ACTA)Метод для выполнения CTA, который состоит из серии трех структурированных шагов. На первом шаге порождается Диаграмма задачи. На втором происходит аудит знаний. На 3 шаге происходит моделирование когнитивного процесса. На выходе получается таблица когнитивных требований, которая представляет результаты так, чтобы они могли быть применены к конкретному проекту.Индивидуальный2The Critical Decision Method (CDM)Метод позволяющий оценить ситуацию и принять решение при неожиданной ситуации.Индивидуальный3PARI MethodМетод, разработанный в основном для выявления когнитивных и поведенческих требования для устранения неисправностей в сложных системах. Этот метод особенно подходит для разработки программ подготовки кадров. Подход состоит из структурированных интервью, в котором новичок и эксперт по устранению неполадок диагностируют неисправность в задаче, связанной с другим экспертом.Коллективный4Skill-Based CTA FrameworkСтруктура для проведения анализа предполагает простые когнитивные навыки, основанные на более сложных навыках; производятся попытки определить иерархию навыков, необходимых для работыИндивидуальный5Decompose, Network, and Asses (DNA)DNA представляет собой автоматизированный набор инструментов, созданный для оказания помощи в выявление знаний, в первую очередь необходим для разработки интеллектуальных обучающих систем. DNA помогает разложить области на составные элементы, сетевые элементы в иерархии наследования, а также оценить структуру знаний обеспечить обоснованности и надежности. Коллективный6Goal-Directed Task Analysis (GDTA)Когнитивная методика анализа задач, которая фокусируется на раскрытии ситуацией (SA) требования, связанные с работой. По Endsley, SA является "восприятие элементов в окружающую среду в пределах объема пространства и времени, понимание их смысла, проекция их статуса в ближайшем будущем, и предсказания о том, как различные действия влияют на выполнение своих целей ". Коллективный7Cognitively Oriented Task Analysis (COTA)коллекция процедур, разработанные DuboisandShalin улучшить оценку опыта работы и производительность. COTA использует словесные методики анализа протоколов для определения стандартных методов, используемых для решения задач, как эти методы будут выбраны, инициировал и завершил, и как эти методы будут приняты к новым ситуациям.Индивидуальный8CognitiveFunctionModel (CFM)методика, разработанная, чтобы преодолеть разрыв между оператором функций модели и когнитивного анализа задач. Целью является выявление узлов в модели функция оператора, которые высоко сложные когнитивные задачи, которые должны осуществляться более глубоко с CTA. Приложение, разработанное Klein Associates and Aptima <#"justify">2. Техническое задание


2.1 Техническое задание


.1.1 Вопросно-ответная модель данных

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


.1.2 Основные понятия

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

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

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

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

Одной из наиболее важных проблем существующего отношения между составляющими опыта, используемого в человеко-компьютерном решении задач, считается чрезвычайно низкая успешность разработок систем, интенсивно использующих программное обеспечение (Software Intensive Systems - SIS, в российской терминологии «автоматизированных систем» - АС).

В попытках изменить положение дел акцент в программировании смещён на разработку концептуальных методов и средств программирования, в результате чего созданы унифицированный язык моделирования UML, объектно-ориентированные технологии разработок SIS (например, технология Rational Unified Process - RUP), ряд нормативных концептуальных схем и стандартов (например,) и многое-многое другое.

К числу таких средств относятся и вопросно-ответные инструментальные среды, разработанные на кафедре «Вычислительная техника» Ульяновского государственного технического университета и получившие общее название WIQA (Working In Questions and Answers). Потенциал последней версии комплекса средств WIQA (WIQA.Net) доведён до состояния, когда его можно использовать для программирования человеческих составляющих ЧКД, согласованных и объединенных с компьютерными составляющими такой деятельности. Для программирования задач в вопросно-ответных средах, сущность и механизмы которого раскрываются ниже, введено название вопросно-ответное программирование (или, короче, QA-программирование)


2.1.3 Вопросно-ответная модель данных

Начнём раскрывать идеи QA-программирования с введения и определения вопросно-ответной модели данных. В разработках вопросно-ответных приложений используется полезная модель данных (Рис. 1), состоящая из иерархической совокупности пар записей, представляющих вопросы и ответы, с набором операций над ними.

К специфике такой модели данных (обладающей богатой атрибутикой) относится следующее:

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

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

автоматическая регистрация изменений во времени с сохранением изменённых версий;

персонификация с указанием ответственного лица и группы «поддержки»;

визуализация на экране монитора;

возможность объявления подтипов;

возможность использования наследования;

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

наличие «черновика» для присоединения полезной текстовой информации;

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

серверная форма размещения с клиентским доступом в корпоративной сети, с возможностью санкционирования доступа из Интернета;

другие полезные возможности.


Рис. 4. Вопросно-ответная модель данных.


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

Проясним использование вопросно-ответной модели данных в её простейшей версии, приведённой на рис. 4. и представляющей собой именованный блок В совокупности пар вопросов и ответов {Qn, An}, в которой за каждым элементом пары стоит запись с отмеченными выше характеристиками.модель данных позволяет (визуально) моделировать объявления переменных в том плане, в котором объявления используется в языках программирования. Образцы форм визуализации приведены на рис. 5.



Рис. 5. Примеры визуализации QA-данных


Рассмотрим ещё одну интерпретацию совокупности пар данных, для которой вопросно-ответная интерпретация может рассматриваться как частный случай. Первую составляющую каждой пары можно рассматривать как «условие», а вторую составляющую - как «следствие». В такой версии интерпретации каждая пара записей модели, представленной на рис. 1.4.1, кодирует импликацию: Если «условиеi», то «следствиеk» причём, с богатой атрибутикой, как для «условия», так и для «следствия».

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

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

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

Ещё одну версию интерпретации QA-данных переведём на уровень «абстракции данных», в их следующих версиях:

«вопрос» -> "имя переменной для простого типа данных, используемого в традиционном программировании" и "ответ" -» "значение этой переменной";

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

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

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


Таблица 2.

№ п/пФункцииWIQAБазис1Защита++2Восстановление/резервное копирование-+3Индексы++4Представления (Views)++5Обеспечение целостности-+6Параллелизм++7Транзакции/Журналы+/-+8Репликации-+9Масштабирование-+10Выборка и модификация данных++

2.2 Цель проекта и назначение программного средства


Целью данного проекта является создание библиотеки методов когнитивного анализа задач.


.2.1 Условия эксплуатации

Среда рассчитана на круглосуточную работу с поддержкой сетевых подключений к общей базе данных.

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

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

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

·обладание навыками работы в среде NetWIQA, понимание её внутренней структуры и умение обращаться с плагинами, которые составляют значительную часть функциональности среды;

·понимание системы прав NetWIQA и умение их настраивать;


2.2.2 Требования к качеству

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

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

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

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

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

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

Свести к минимуму время поиска необходимой информации и навигации по программе.

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

Программная среда должна иметь полную сетевую поддержку пользователей при физическом соединении компьютеров на скорости менее 10 мБит/сек;

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

Сопровождаемость. Набор атрибутов, относящихся к объёму работ, требуемых для проведения конкретных модификаций.

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

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

Обеспечить независимость приложения от аппаратных средств и посторонних программных средств;

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


2.2.3 Требования к составу и параметрам аппаратно-программных средств

Проект должен быть реализован на языке программирования C#, а также в встроенном псевдокодовом языке в вопросно-ответной среде WIQA.Среда разработки -Visual Studio 2010. Допускается использование библиотек, функций, компонентов и алгоритмов других разработчиков.

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

Гарантированная работа среды рассчитана на основе среды NetWIQA версии не ниже 3.3. Для установки вопросно-ответного процессора NetWIQA требуется наличие операционной системы Windows 2000/NT/XP/2003 и примерно 75 Мб свободного дискового пространства (при полной установке системы). Кроме того, необходимо выделить дополнительное дисковое пространство на компьютере с серверной частью системы, необходимое для записи данных в базу данных и складирования файлов с дополнительной информацией о единицах QA-протокола и других элементах вопросно-ответной базы данных. Для работы с подсистемами тестирования и предикации на компьютере должна быть установлена BDE (Borland Database Engine). Для работы с подсистемой документирования и экспорта данных вопросно-ответного протокола в doc-формат на компьютере с клиентским местом должен быть установлен Microsoft Word.

Минимальная диагональ монитора - 15 с рабочим разрешением 800x600 пикселей при частоте вертикальной развёртки 85 Гц.

Рекомендованная диагональ монитора - 17 с рабочим разрешением от 1024x768 пикселей и выше при частоте вертикальной развёртки от 100 Гц.


2.2.4 Требования к информационной и программной совместимости

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


2.2.5 Требования к программной документации

В документации к разработанной системе должны быть отражены этапы:

·описание процесса установки подсистемы в среде NetWIQA;

·описание процесса первоначального конфигурирования подсистемы;

·процесс работы подсистемы;

·удаление подсистемы из среды NetWIQA;

·дополнительные возможности подсистемы.

Допускается расширение указанного списка, а также создание своих глав и слияние нескольких пунктов в один.

2.2.6 Требования к уровню реализации

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

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

Интерфейс реализован на русском языке.

Для стандартных операций работы с текстом (вырезать, копировать, вставить, выделить всё, удалить) обеспечить их выполнение по нажатию горячих клавиш. Соответствие комбинаций клавиш операциям производить в соответствии с традиционными комбинациями (Ctrl+C, Ctrl+V, и т. п.).

2.3 Обобщённая постановка задачи


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


2.4 Расширенная постановка задачи


.4.1 Цель проекта и назначение программного средства

Целью данного проекта является доработка вопросно-ответной системы NetWIQA, создание библиотеки методов когнитивного анализа решения задач.


2.4.2 Назначение и область применения

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


2.4.3 Требования к аппаратно-программным средствам

Проект должен быть реализован на языке высокого уровня C# и на языке псевдокодирования, реализованного в вопросно-ответной среде WIQA.

Требования к аппаратной части должны соответствовать требованиям вопросно-ответного процессора NetWIQA. Для установки вопросно-ответного процессора NetWIQA требуется наличие операционной системы Windows 2000/NT/XP/2003 и примерно 75 Мб свободного дискового пространства (при полной установке системы). Кроме того, необходимо выделить дополнительное дисковое пространство на компьютере с серверной частью системы, необходимое для записи данных в базу данных и складирования файлов с дополнительной информацией о единицах QA-протокола и других элементах вопросно-ответной базы данных. Для работы с подсистемами тестирования и предикации на компьютере должна быть установлена BDE (Borland Database Engine). Для работы с подсистемой документирования и экспорта данных вопросно-ответного протокола в doc-формат на компьютере с клиентским местом должен быть установлен Microsoft Word. Для нормальной работы с клиентским рабочим местом монитор должен поддерживать разрешение не менее чем 1024x768 пикселей.

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

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

§возможность записи в системный каталог операционной системы;

§возможность записи в системный реестр;

§возможность регистрации COM-серверов.


2.4.4 Условия эксплуатации

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

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

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

§знание основ и принципов работы персонального компьютера;

§знание основ и принципов функционирования вопросно-ответной среды NetWIQA;

§пользователь операционной системы Windows 98/ME/2000/XP.

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

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


.4.5 Требования к надёжности программного средства

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

§программа не должна во время работы порождать конфликты с иными плагинами, работающими параллельно с базой вопросно-ответной среды NetWIQA;

§установка программы и её начальное конфигурирование должно быть несложным, а сам процесс установки должен быть документирован;

§записи, производимые программой в базу не должны приводить к её повреждению, и не должны повреждать или удалять данные, которые используются в работе другими плагинами NetWIQA;



2.4.6 Программная документация

Данное программное средство должно иметь документацию, содержащую следующую информацию:

§описание назначения и возможностей программы;

§описание минимальных требований к аппаратным средствам компьютера;

§руководство по установке программы;

§описание всех инструментов и возможностей программы;

§руководство по использованию программы.

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

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



3. Проектирование и реализация


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


Для программной реализации задачи проекта отдано предпочтение среде разработки Visual Studio2010, а также встроенный язык псевдокода в вопросно-ответной среде WIQA. Выбор среды разработки Visual Studio2010 был неслучаен. Дело в том, что реализация подсистемы для инструментально-технологической среды WIQAможет быть осуществлена только с использованием С#. Это связано с тем, что сама среда скомпилирована именно C# компилятором, и все её расширения должны быть скомпилированы точно также. Реализация же подсистемы на ином языке программирования, нежели С#, значительно затруднена из-за особенностей реализации доступа подсистемы к параметрам среды во время работы программы.

Последнее время С и C++ являются наиболее используемыми языками для разработки коммерческих и бизнес приложений. Эти языки устраивают многих разработчиков, но в действительности не обеспечивают должной продуктивности разработки. К примеру, процесс написания приложения на C++ зачастую занимает значительно больше времени, чем разработка эквивалентного приложения, скажем, на VisualBasic. Сейчас существуют языки, увеличивающие продуктивность разработки за счет потери в гибкости, которая так привычна и необходима программистам на C/C++. Подобные решения являются весьма неудобными для разработчиков и зачастую предлагают значительно меньшие возможности. Эти языки также не ориентированы на взаимодействие с появляющимися сегодня системами и очень часто они не соответствуют существующей практике программирования для Web. Многие разработчики хотели бы использовать современный язык, который позволял бы писать, читать и сопровождать программы с простотой VisualBasicи в то же время давал мощь и гибкость C++, обеспечивал доступ ко всем функциональным возможностям системы, взаимодействовал бы с существующими программами и легко работал с возникающими Webстандартами.

Учитывая все подобные пожелания, Microsoft разработала новый язык - С#. В него входит много полезных особенностей - простота, объектная ориентированность, типовая защищенность, "сборка мусора", поддержка совместимости версий и многое другое. Данные возможности позволяют быстро и легко разрабатывать приложения, особенно СОМ+ приложения и Webсервисы. При создании С#, его авторы учитывали достижения многих других языков программирования: C++, С, Java, SmallTalk, Delphi, VisualBasicи т.д. Надо заметить что по причине того, что C# разрабатывался с чистого листа, у его авторов была возможность (которой они явно воспользовались), оставить в прошлом все неудобные и неприятные особенности (существующие, как правило, для обратной совместимости), любого из предшествующих ему языков. В результате получился действительно простой, удобный и современный язык, по мощности не уступающий C++, но существенно повышающий продуктивность разработок.

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


3.2 Реализация метода когнитивного анализа PARI


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

Структура элемента PARI - анализа

Для создания структуры элемента был разработан класс Pari_Variant


Рис. 6.


Он содержит следующие атрибуты:

SomeAction - описание действия для решения проблемы

SomePrecursor - описание предпосылок к действию

SomeResult - описание результата действия

SomeInterpretation - интерпретация результата

Theme - детальное описание проблемы

Атрибуты объединяются в единое целое при помощи списка List<string>methods

Для работы с ними были написаны методы:

publicstringGetMethod(intindex) - получение определенного атрибута списка по индексу.Serialize() - получает строчку в удобном для дальнейшей обработке виде. Она объединяет атрибуты объекта класса, разделенные определенными символами.

publicvoidSetMethod(intindex, stringmethod)- задает значение определенному атрибуту списка.

Так же было создано несколько конструкторов класса Pari_VariantPari_Variant() - для создания нового объекта класса

publicPari_Variant(stringserialized) - для создания нового объекта класса, и задания его элементов из сериализованной строки.

public Pari_Variant(string theme, string action, string precursor, string result, string interpretation) - для создания нового объекта и задания его элементов

Форма ввода элемента PARI - анализа

Для ввода элемента и обработки результата была разработана форма Pari_AnalysisForm


Рис7.


В ней создается объект класса Pari_Variant

Класс Pari_Analysis

Этот класс создан для обработки всех вариантов решения проблемы метода PARI


Рис. 8.


Он содержит:

Variants - список вариантов типа PariVariant

Problem - описание проблемы

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

publicvoid AddVariant(Pari_Variant variant) - добавление нового вариантаRemoveVariant(int index), publicvoid RemoveVariant(string theme) - удаление варианта по индексу или темеReplaceVariant(int index, string theme, string action, string precursor, string result, string interpretation) - перемещение варианта

publicstring Serialize() - получает строчку в удобном для дальнейшей обработке виде. Она объединяет атрибуты объекта класса, разделенные определенными символами.

Конструкторы класса Pari_Analysis

publicPari_Analysis () - для создания нового объекта класса

publicPari_Analysis(stringconstructionString) - для создания нового объекта класса, и задания его элементов из сериализованной строки.

Основная форма PARI - анализа


Рис. 9.


Форма нужна для обработки объектов класса Pari_Analysis

Для работы с вариантами был разработан элемент Pari_VariantUserControl

Рис. 10.


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

3.2.1 Реализация метода когнитивного анализа PARI на псевдокодовом языке


Z 1 PARI-Анализ

Q 1.1 &branch_qaid&

Q 1.1.1 0

Q 1.2 &history_branch_qaid&

Q 1.2.1 0

Q 1.3 PROCEDURE &PARI_CreateStructure&

Q 1.3.1 PARI dummy

Q 1.3.2 &t_int& := QA_GetQAId(&current_project&, "PARI dummy")

Q 1.3.3 &t_int& := QA_GetParent(&current_project&, &t_int&)

Q 1.3.4 &branch_qaid& := QA_GetParent(&current_project&, &t_int&)

Q 1.3.5 &history_branch_qaid& := QA_CreateNode(&current_project&, &branch_qaid&, 3, "")

Q 1.3.6 ENDPROC &PARI_CreateStructure&

Q 1.4 PROCEDURE &PARI_main&

Q 1.4.1 &t_str& := QA_GetQAText(&history_branch_qaid&)

Q 1.4.2 SETHISTORYENTRIES(&t_str&)

Q 1.4.3 CALL &ShowHistory&

Q 1.4.4 IF &LastHistoryFormResult& == -1 THEN RETURN

Q 1.4.5 IF &LastHistoryFormResult& == 0 THEN &current_action_qaid& := QA_CreateNode(&current_project&, &history_branch_qaid&, 3, "") ELSE &current_action_qaid& := &LastHistoryFormResult&

Q 1.4.6 &t_str& := QA_GetQAText(&current_action_qaid&)

Q 1.4.7 PARI_DESERIALIZE(&t_str&)

Q 1.4.8 &t_int& := PARI_SHOWMAINFORM()

Q 1.4.9 &t_str& := PARI_GETSERIALIZED()

Q 1.4.10 IF &t_int& == 0 THEN QA_UpdateNode(&current_project&, &current_action_qaid&, &t_str&)

Q 1.4.11 IF &t_int& != 0 RETURN

Q 1.4.12 IF &LastHistoryFormResult& == 0 THEN QA_UpdateNode(&current_project&, &history_branch_qaid&, ADDTOHISTORY(QA_GetQAText(&history_branch_qaid&), &t_str&, &current_action_qaid&))

Q 1.4.13 IF &LastHistoryFormResult& != 0 THEN QA_UpdateNode(&current_project&, &history_branch_qaid&, TRYUPDATETOPICINHISTORY(QA_GetQAText(&history_branch_qaid&), &t_str&, &current_action_qaid&))

Q 1.4.14 FINISH

Q 1.5 &t_int&

Q 1.5.1 0

Q 1.6 &t_str&

A 1.6.1 ""

Q 1.7 &LastHistoryFormResult&

Q 1.7.1 -1

Q 1.8 PROCEDURE &ShowHistory&

Q 1.8.1 &LastHistoryFormResult& := SHOWHISTORYFORM()

Q 1.8.2 LABEL &SH_deletedLoopStart&

Q 1.8.3 &t_int& := GETDELETEDHISTORYENTRIESCOUNT()

Q 1.8.4 IF &t_int& == 0 THEN GOTO &SH_deletedEnd&

Q 1.8.5 &t_int& := POPONEDELETEDHISTORYENTRY()

Q 1.8.6 QA_DeleteNode(&current_project&, &t_int&)

Q 1.8.7 GOTO &SH_deletedLoopStart&

Q 1.8.8 LABEL &SH_deletedEnd&

Q 1.8.9 ENDPROC &ShowHistory&

Q 1.8.10 QA_UpdateNode(&current_project&, &history_branch_qaid&, GETHISTORYENTRIES())

Q 1.9 &LastHistoryFormResult&

Q 1.9.1 0

Q 1.10 &current_action_qaid&

Q 1.10.1 0&PARI_CreateStructure& - создает структуру анализа&PARI_main& - запускает форму PARI - анализа&ShowHistory& - запускает форму создания, редактирования и удаления PARI анализа.


3.3 Реализация метода когнитивного анализа TAPPS


Структура элемента TAPPS - анализа

Для создания структуры элемента был разработан класс TAPPS_Variant


Рис. 11.


Он содержит следующие атрибуты:

Steps- список шагов метода

StepsSum- сумма шагов

NAME - имя участника

Для работы со списком шагов были разработаны методы:

publicstaticintCompare(TAPPS_Varianta, TAPPS_Variantb) - сравнение значений сумм шагов двух вариантов анализа

publicstringGetConstructionString() - получение строки, объединяющей в себе атрибуты элемента класса, использует функцию GetString

privatestring GetString(List<string> list) - вспомогательная функция для GetConstructionString

privateList<string>GetRecordsList(stringinput) - получает список записей данного класса из строки

publicList<string> GetSteps() - возвращает список шаговGetSumm() - возвращает сумму шагов(stringsteps), publicvoidSetSteps(List<string>steps)- задет значение списка шагов, полученных из строки или списка

Конструкторы класса TAPPS_Variant:

publicTAPPS_Variant(stringconstructionString) - для создания нового объекта класса, и задания его элементов из сериализованной строки.

publicTAPPS_Variant(stringname, List<string>steps) - для создания нового объекта и задания его элементов из списка

publicTAPPS_Variant(stringname, stringsteps) - для создания нового объекта и задания его элементов из строки

Форма ввода элемента TAPPS - анализа

Для ввода элемента и обработки результата была разработана форма TAPPS_AnalysisForm



Рис. 12.


В ней создается объект класса TAPPS_Variant

Класс TAPPS_Analysis

Этот класс создан для обработки всех вариантов решения проблемы метода TAPPS


Рис. 13.

Он содержит:

Variants - список вариантов типа TAPPS_Variant

Problem - описание проблемыAddVariant(string name, List<string> steps), publicvoid AddVariant(string name, string steps), publicvoid AddVariant(TAPPS_Variant variant) - добавление нового вариантаRemoveVariant(int index), publicvoid RemoveVariant(string name) - удаление варианта по индексу или имени участникаReplaceVariant(int index, string name, string steps) - перемещение варианта

publicvoid Order Variants() - сортировка вариантовSerialize() - получает строчку в удобном для дальнейшей обработке виде. Она объединяет атрибуты объекта класса, разделенные определенными символами.

Конструкторы класса TAPPS_Analysis

publicTAPPS_Analysis () - для создания нового объекта класса

publicTAPPS_Analysis(string construction String) - для создания нового объекта класса, и задания его элементов из сериализованной строки.

Основная форма TAPPS - анализа


Рис14.


Форма нужна для обработки объектов класса TAPPS_Analysis

Для работы с вариантами был разработан элемент TAPPS_VariantUserControl


Рис15.


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

Универсальная форма истории анализа

Эта форма разработана для хранения результатов проведенных анализов


Рис. 16.


Она содержит:

List<Tuple<string, int>>history, deleted - списки текущих и удаленных элементовDeletedEntries - удаление элемента из историиLeftEntries - добавление нового элемента в историю

public HistoryEntriesForm(string history Entries) - конструктор формы

Разработка модуля для работы с WIQA

В соответствии с требованиями работы функций в WIQA был разработан класс ExtFunctions

Он содержит объекты классов Pari_Analysis и TAPPS_Analysis

Были написаны следующие функции:

, STRING, string GetDeletedHistoryEntries() - Получает строку со списком удаленных записей из истории мероприятий. Формат списка: \"Имя1#QAID1#Имя1#QAID2#...ИмяN#QAIDN\",INTEGER,int PopOneDeletedHistoryEntry() - Получает QAID первой удаленной из истории записи и удаляет её из списка удалённых, уменьшая тем самым количество удаленных записей.,INTEGER,int GetDeletedHistoryEntriesCount() - Получает количество удаленных записей из истории.

SETHISTORYENTRIES, STRING, string SetHistoryEntries(string entries) - Задает список записей истории. Возвращает старое значение., STRING, string GetHistoryEntries(string entries) - Получает список записей истории., INTEGER, intShowHistoryForm() - Показывает модальное окно, через которое можно запросить создание нового мероприятия, редактирование, просмотр или удаление уже созданного из истории.

ADDTOHISTORY, STRING, string AddToHistory(string history, string content, int qaid) - Добавляет запись к истории записей мероприятий., STRING, string TryUpdateTopicInHistory(string history, string content, int qaid) - Изменяет тему в истории мероприятий для только что отредактированного мероприятия.", STRING, string ShowMessage(string msg) - показывает сообщение., STRING, string ConcatStrings(string s1, string s2) - сливает содержимое двух строк в одну и возвращает её как результат._SHOWMAINFORM, INTEGER, int PARI_ShowMainForm() - показывает модальную форму редактирования PARI-анализа. Возвращает 0, если была нажата клавиша ОК. Возвращает 1, если была нажата Отмена.

PARI_GETSERIALIZED, STRING, string PARI_GetSerialized() - получает сериализованный экземпляр PARI-анализа._DESERIALIZE, STRING, string PARI_Deserialize(string serializedPari) - десериализует строку в экземпляр PARI-анализа. Возвращает пустую строку, если всё прошло в штатном режиме. В случае возникновения исключения возвращает строку с исключением._SETNEW, STRING, string PARI_SetNew() - задает новый экземпляр текущего PARI-анализа._SHOWMAINFORM, INTEGER, int TAPPS_ShowMainForm() - показывает модальную форму редактирования TAPPS-анализа. Возвращает 0, если была нажата клавиша ОК. Возвращает 1, если была нажата Отмена.

TAPPS_GETSERIALIZED, STRING, string TAPPS_GetSerialized() - получает сериализованный экземпляр TAPPS-анализа._DESERIALIZE, STRING, string TAPPS_Deserialize(string serializedTapps) - десериализует строку в экземпляр TAPPS-анализа. Возвращает пустую строку, если всё прошло в штатном режиме. В случае возникновения исключения возвращает строку с исключением._SETNEW, STRING, string TAPPS_SetNew() - задает новый экземпляр текущего TAPPS-анализа.


3.3.1 Реализация метода когнитивного анализа TAPPS на псевдокодовом языке


Z 2 Техника "Мысли вслух"

Q 2.1 &branch_qaid&

Q 2.1.1 0

Q 2.2 &history_branch_qaid&

Q 2.2.1 0

Q 2.3 PROCEDURE &TAPPS_CreateStructure&

Q 2.3.1 TAPPS dummy

Q 2.3.2 &t_int& := QA_GetQAId(&current_project&, "TAPPS dummy")

Q 2.3.3 &t_int& := QA_GetParent(&current_project&, &t_int&)

Q 2.3.4 &branch_qaid& := QA_GetParent(&current_project&, &t_int&)

Q 2.3.5 &history_branch_qaid& := QA_CreateNode(&current_project&, &branch_qaid&, 3, "")

Q 2.3.6 ENDPROC &TAPPS_CreateStructure&

Q 2.4 PROCEDURE &TAPPS_main&

Q 2.4.1 &t_str& := QA_GetQAText(&history_branch_qaid&)

Q 2.4.2 SETHISTORYENTRIES(&t_str&)

Q 2.4.3 CALL &ShowHistory&

Q 2.4.4 IF &LastHistoryFormResult& == -1 THEN RETURN

Q 2.4.5 IF &LastHistoryFormResult& == 0 THEN &current_action_qaid& := QA_CreateNode(&current_project&, &history_branch_qaid&, 3, "") ELSE &current_action_qaid& := &LastHistoryFormResult&

Q 2.4.6 &t_str& := QA_GetQAText(&current_action_qaid&)

Q 2.4.7 TAPPS_DESERIALIZE(&t_str&)

Q 2.4.8 &t_int& := TAPPS_SHOWMAINFORM()

Q 2.4.9 &t_str& := TAPPS_GETSERIALIZED()

Q 2.4.10 IF &t_int& == 0 THEN QA_UpdateNode(&current_project&, &current_action_qaid&, &t_str&)

Q 2.4.11 IF &t_int& != 0 RETURN

Q 2.4.12 IF &LastHistoryFormResult& == 0 THEN QA_UpdateNode(&current_project&, &history_branch_qaid&, ADDTOHISTORY(QA_GetQAText(&history_branch_qaid&), &t_str&, &current_action_qaid&))

Q 2.4.13 IF &LastHistoryFormResult& != 0 THEN QA_UpdateNode(&current_project&, &history_branch_qaid&, TRYUPDATETOPICINHISTORY(QA_GetQAText(&history_branch_qaid&), &t_str&, &current_action_qaid&))

Q 2.4.14 FINISH

Q 2.5 &t_int&

Q 2.5.1 0

Q 2.6 &t_str&

A 2.6.1 ""

Q 2.7 &LastHistoryFormResult&

Q 2.7.1 0

Q 2.8 PROCEDURE &ShowHistory&

Q 2.8.1 &LastHistoryFormResult& := SHOWHISTORYFORM()

Q 2.8.2 LABEL &SH_deletedLoopStart&

Q 2.8.3 &t_int& := GETDELETEDHISTORYENTRIESCOUNT()

Q 2.8.4 IF &t_int& == 0 THEN GOTO &SH_deletedEnd&

Q 2.8.5 &t_int& := POPONEDELETEDHISTORYENTRY()

Q 2.8.6 QA_DeleteNode(&current_project&, &t_int&)

Q 2.8.7 GOTO &SH_deletedLoopStart&

Q 2.8.8 LABEL &SH_deletedEnd&

Q 2.8.9 ENDPROC &ShowHistory&

Q 2.8.10 QA_UpdateNode(&current_project&, &history_branch_qaid&, GETHISTORYENTRIES())

Q 2.9 &LastHistoryFormResult&

Q 2.9.1 0

Q 2.10 &current_action_qaid&

Q 2.10.1 0&TAPPS_CreateStructure& - создает структуру анализа&TAPPS_main& - запускает форму TAPPS - анализа&ShowHistory& - запускает форму создания, редактирования и удаления TAPPS - анализа.


3.4 Реализация метода когнитивного анализа GDTA на псевдокодовом языке

псевдокодовый когнитивный моделирование библиотека

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

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

Q 1.1.1 Идентификация ключевых лиц, принимающих решение

Q 1.1.2 Идентификация главных целей и связанных с ней подцелей для каждого лица принимающего решение

Q 1.1.2.1Определите цель высшего порядка (основную)

Цель высшего уровня отражает полную цель лица, принимающего решения.

Q 1.1.2.1.1 Главная цель

Q 1.1.2.1.1.1 &Cel_id& := QA_GetQaId(&Current_Project&, "Главная цель")

A 1.1.2.1.1.1.1 35255

Q 1.1.2.1.1.2 INPUT &s&

Введите главную цель

A 1.1.2.1.1.2.1 "Glavnaya chel"

Q 1.1.2.1.1.3 QA_CreateNode (&current_project&, &Cel_id&, 3, &s&)

Q 1.1.2.1.1.4 GOTO &L1&

A 1.1.2.1.1.1 gl

Q 1.1.2.1.2 LABEL &L1&

Q 1.1.2.2Определите ряд главных целей, которые должны быть выполнены, чтобы достигнуть полной цели

Как правило 3-6 главными целями можно описать полную

Q 1.1.2.2.1 INPUT &count_cel&

Введие число вспомогательных целей

A 1.1.2.2.1.1 1

Q 1.1.2.2.2 Вспомогательные цели

Q 1.1.2.2.2.1 &current_count_cel& := 0

A 1.1.2.2.2.1.1 0

Q 1.1.2.2.2.2 &Cel_id1& := QA_GetQaId(&Current_Project&, "Вспомогательные цели")

A 1.1.2.2.2.2.1 35258

Q 1.1.2.2.2.3 LABEL &L2&

Q 1.1.2.2.2.4 INPUT &s1&

Введите вспомогательную цель, которая поможет вам для достижения главной

A 1.1.2.2.2.4.1 "vspom chel"

Q 1.1.2.2.2.5 QA_CreateNode (&current_project&, &Cel_id1&, 3, &s1&)

Q 1.1.2.2.2.6 &current_count_cel& := &current_count_cel& + 1

Q 1.1.2.2.2.7 IF &current_count_cel&<&count_cel& THEN GOTO &L2&

Q 1.1.2.2.2.8 GOTO &L3&

A 1.1.2.2.2.1 vspom chel

Q 1.1.2.2.3 LABEL&L3&

Q 1.1.2.3Определите список подцелей для каждой из главных целей

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

Q 1.1.2.4Для более сложных областей у подцелей также может быть любое число связанных подцелей

Q 1.1.3 Выделение первичного решения для каждой подцели

Q 1.1.3.1 Принимающее решение лицо, должно разработать решения для достижения определенной цели.

Эти решения - по существу вопросы

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

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

Q 1.1.3.3 Ответы на цели

Q 1.1.3.3.1 &Cel_id2& := QA_GetQaId(&Current_Project&, "Ответы на цели")

A 1.1.3.3.1.1 0

Q 1.1.3.3.2 &current_count_ans& := 0

A 1.1.3.3.2.1 0

Q 1.1.3.3.3 LABEL &L5&

Q 1.1.3.3.4 INPUT &s5&

Введите ответ на подцель

A 1.1.3.3.4.1

Q 1.1.3.3.5 QA_CreateNode (&current_project&, &Cel_id2&, 3, &s5&)

Q 1.1.3.3.6 &current_count_ans& := &current_count_ans& + 1

Q 1.1.3.3.7 &current_count_ans&<&count_cel& THEN GOTO &L5&

Q 1.1.3.3.8 GOTO &L6&

Q 1.1.3.4 LABEL &L6&

Q 1.1.4 Получение информации об SA требовании для принятия этих решений и выполнения каждой подцели

Q 1.1.4.1 Необходимо понять исходные данные

Q 1.1.4.2Выполните интеграцию элементов исходных данных

Q 1.1.4.3 Проектирование

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

Q 1.1.5 FINISH



Рис. 17. UMLмодель метода GDTA


.5 Реализация метода когнитивного анализа DNA на псевдокодовом языке

Network-Assess (DNA)

Общая цель метода познавательного анализа задач состоит в том, чтобы обеспечить легкую процедуру для того, чтобы она выявила элементы знаний и умений от экспертов, и представить разнообразные виды знания, требующих рассуждать и функционировать в любом домене. Метод DNA предназначается, чтобы идентифицировать иерархически структурированную базу знаний элементов программы в учебных целях (Shute, Torreano, & Willis, в нажатии). Его основная цель состоит в том, чтобы произвести опытную модель для интеллектуальных учебных систем. Программа DNA все еще усовершенствуется. Предполагается, что это будет стоящий инструмент для того, чтобы проанализировать учебные требования для другого, а также более общие цели.

Q 1.2.1 Настройка

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

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

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


Q 1.2.1.4 Письмо

Q 1.2.1.4.1 &Pozn_id& := QA_GetQaId(&Current_Project&, "Письмо")

A 1.2.1.4.1.1 34320

Q 1.2.1.4.2 INPUT &s3&

Напишите краткое рекомендательное письмо

A 1.2.1.4.2.1 ""

Q 1.2.1.4.3 QA_CreateNode (&current_project&, &Pozn_id&, 3, &s3&)

Q 1.2.2 Анализ

Q 1.2.2.1 &Pozn_Iter& := 0

A 1.2.2.1.1 2

Q 1.2.2.2 INPUT &Pozn_isConsensus&

Эксперты получают вопросы сформулированные в письме

Введите количество вопросов

A 1.2.2.2.1 2

Q 1.2.2.3 Эксперты последовательно отвечают на вопросы "Что?", "Как?" и "Почему?"

Q 1.2.2.4 LABEL &Pozn_IterStart&

Q 1.2.2.5 Ответы экспертов

Q 1.2.2.5.1 &Pozn_id1& := QA_GetQaId(&Current_Project&, "Ответыэкспертов")

A 1.2.2.5.1.1 34324

Q 1.2.2.5.2 INPUT &s4&

Введите ответ на вопрос

Q 1.2.2.5.3 QA_CreateNode (&current_project&, &Pozn_id1&, 3, &s4&)

Q 1.2.2.5.4 GOTO &L4&

Q 1.2.2.6 LABEL &L4&

Q 1.2.2.7 &Pozn_Iter& := &Pozn_Iter& + 1

Q 1.2.2.8 IF &Pozn_Iter&<&Pozn_isConsensus& THEN GOTO &Pozn_IterStart&

Q 1.2.2.9 Ответы полученные от эксперта формируют концептуальные графики

Q 1.2.3 Сеть

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

Q 1.2.3.2 DNA позволит экспертам распознать разрывы в знании и навыках, которые они обеспечили в их разложении.

Q 1.2.4 Оценка

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

1.2.5 FINISH


Рис18. UML модель метода DNA

3.6 Анализ проделанной работы


Было выполнено задание по данному дипломному проекту, создана библиотека методов когнитивного анализа задач. Было запрограммировано 4 метода, которые представлены в таблице 3.



Таблица 3.

Название методаКоличество строк на C#Количество строк на псевдокодеDecompose, Network, and Asses (DNA)55 строкGoal-Directed Task Analysis (GDTA)76 строкPARI Method (Precursor (reason for action), Action, Result, Interpretation (of result)34562Think Aloud technique Problem Solving (TAPPS)45458


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


4.1 Исходные данные


Таблица 4. Исходные данные

№п/пНаименованиеФактическое значение1Тема дипломного проектаБиблиотека методов когнитивного анализа задач.2Фамилия И.О. студента, учебная группаДавлетбердин А.Х., ЭВМду-413Вид технологического процессаЭксплуатация ПЭВМ4Вид оборудования, паспортные данныеПЭВМ5Напряжение, режим нейтрали электрической сетиЭлектропитание осуществляется от трехфазной сети с частотой 50 Гц и напряжением 220 В. Сеть трехфазная с заземленной нейтралью.6Характеристика производственного помещения по электроопасностиПо степени опасности относится к допустимым условиям труда в соответствии с ГОСТ 12.1.030-817Характеристика среды помещения? Температура помещения в переходный период 18-220С, в холодный период 20-220С, в теплый период 23-250С. ? Подвижность воздуха от 0,1 до 0,2 м/с. ? Влажность воздуха 50-65%. ? Воздействие химических веществ отсутствует. ? Запыленности и загазованности воздуха нет. Выполняются легкие физические работы (I категория)8Признаки отнесения объекта проектирования к опасным объектамНет9Категория производства по взрывопожарной опасностиВ соответствии с НПБ 105-03 помещение относится к категории В (помещение содержит горючие и трудногорючие жидкости, твердые горючие и трудногорючие вещества в малом количестве и материалы, способные только гореть при взаимодействии с кислородом воздуха)10Характеристика взрыво-, пожароопасных зонКласс пожароопасных зон относится к П-2-А (зона, в которой обращаются твердые горючие вещества) согласно ПУЭ (правила устройства электроустановок).11 Категория взрывоопасных смесейНет 12Профессия рабочего, эксплуатирующего объект проектированияОператор ПЭВМ13Классы условий труда в соответствии с картой аттестации рабочего места: по вредности по травмоопасности2 класс - допустимый (факторы среды и трудового процесса не превышают установленных норм, а возможные изменения функционального состояния организма, вызванные усталостью, утомлением,)

.2 Перечень нормативной литературы


. Санитарные правила и нормы. СанПиН 2.2.2./2.4.1340-03 Гигиенические требования к персональным электронно-вычислительным машинам и организации работы.

. «Руководство по гигиенической оценке факторов рабочей среды и трудовых процессов. Критерии и классификация условий труда». Р 2.2.2006-05.

. ГОСТ 12.0.003-74.ССБТ. (СТ СЭВ 790-77) Опасные и вредные производственные факторы. Классификация. М.: Изд-во стандартов, 1996.

. ГОСТ 12.1.003-83.ССБТ. Шум. Общие требования безопасности. М.: Изд-во стандартов.1996.

. ГОСТ 12.1.004-91.ССБТ. Пожарная безопасность. Общие требования. М.: Изд-во стандартов, 1996.

. ГОСТ 12.1.005-88.ССБТ. Общие санитарно-гигиенические требования к воздуху рабочей зоны. М.: Изд-во стандартов, 1996.

. ГОСТ 12.1.006-88.ССБТ. Электромагнитные поля радиочастот. Допустимые уровни на рабочих местах и требования к проведения контроля. М.: Изд-во стандартов, 1998.

. ГОСТ 12.1.019-79.ССБТ (СТ СЭВ 4880-84). Электробезопасность. Общие требования. М.: Изд-во стандартов, 1996.

. ГОСТ 12.1.030-81.ССБТ. Электробезопасность. Защитное заземление зануление. М.: Изд-во стандартов, 1996.

. ГОСТ 12.1.038-82.ССБТ. Электробезопасность. Предельно-допустимые значения напряжений прикосновения и токов. М.: Изд-во стандартов, 1996.

. Правила устройства электроустановок. М.: Энергия, 1987.

. Общесоюзные нормы технологического проектирования ОНТП 24-86., М.: МВД СССР, 1986.

. СНиП 2.01.02-85. Противопожарные нормы. М.: Стройиздат,1986.

. СНиП 2.04.05-86. Отопление, вентиляция, кондиционирование воздуха. М.: Стройиздат, 1988.

. СНиП 23-05-95. Естественное и искусственное освещение. Анализ проектирования. М.: Энерго, 1996.

. Р 2.2.013-94. Гигиена труда. М.: Госкомсанэпиднадзор России, 1994.

. Правила пожарной безопасности в Российской Федерации - ППБ 01 03.

. Нормы пожарной безопасности - НПБ 88-2001. Установки пожаротушения и сигнализации. Нормы и правила проектирования.


.3 Анализ потенциальных опасностей


На рис. 19 приведена принципиальная блок-схема обеспечения безопасности объекта проектирования.



Рис. 19. Принципиальная блок-схема обеспечения безопасности объекта проектирования


4.3.1Анализ вредных и опасных производственных факторов

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

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

Классификация опасных и вредных производственных факторов (ГОСТ 12.0.003-74). Опасные и вредные производственные факторы подразделяются по природе действия на следующие группы:

физические;

химические;

биологические;

психофизические.

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

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

При работе с ПЭВМ на пользователя оказывают влияние следующие физические опасные и вредные производственные факторы:

повышенный уровень шума на рабочем месте;

повышенная или пониженная влажность;

повышенное значение напряжения в электрической цепи;

повышенный уровень электромагнитных излучений;

отсутствие или недостаток естественного света;

недостаточная освещенность рабочей зоны;

повышенная яркость света;

пониженная контрастность;

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

повышенный уровень статического электричества;

повышенная напряженность электрического поля;

повышенная напряженность магнитного поля;

прямая и отраженная блесткость;

повышенный уровень ультрафиолетовой радиации;

повышенный уровень инфракрасной радиации.

Психофизические опасные и вредные производственные факторы по характеру действия подразделяются:

физические перегрузки (статические и динамические);

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


4.3.2Микроклимат

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

температура воздуха;

относительная влажность воздуха;

скорость движения воздуха;

интенсивность теплового излучения.

В помещениях с вычислительной техникой при выполнении работ операторского типа, связанных с нервно-эмоциональным напряжением, по ГОСТ 12.1.005-88 необходимо соблюдать оптимальные величины показателей, приведенные в табл. 4.


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

ПериодТемпература воздуха, °СОтносительная влажность, %Скорость движения воздуха, м/сХолодный21-2340-650.1Теплый22-2440-600.2

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



Таблица 6.

Характеристика помещенияОбъемный расход подаваемого в помещение свежего воздуха, м3 /на одного человека в часОбъем до 20м3 на человека 20…40м3 на человека Более 40м3 на человекаНе менее 30 Не менее 20 Естественная вентиляция

Колебания температуры воздуха допускаются до 4%.

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

потери рабочего времени из-за увеличенного числа ошибок в работе,

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

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

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

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

В ГОСТ 12.1.005-88 указаны оптимальные и допустимые показатели микроклимата в производственных помещениях. Оптимальные показатели распространяются на всю рабочую зону, а допустимые устанавливают раздельно для постоянных и непостоянных рабочих мест в тех случаях, когда по технологическим техническим или экономическим причинам невозможно обеспечить оптимальные нормы.

Мероприятия по обеспечению оптимальных метеоусловий соответствуют ГОСТ 12.1.005-88 и СНиП 2.04.05-86 и других мероприятий по обеспечению микроклимата не требуется.


4.3.3Электробезопасность

Электробезопасность на рабочем месте ПЭВМ обеспечивается:

А.Соответствием конструкцией электроустановок

Б. применением технических средств и способов защиты;

В. организационными и техническими мероприятиями (ГОСТ 12.1.009-76)

А. Конструкция должна соответствовать условиям эксплуатации и обеспечивать защиту персонала от соприкосновения с токоведущими и движущимися частями, оборудования - от попадания внутрь посторонних твердых тел и воды.(ПУЭ)

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

защитное заземление

зануление

выравнивание потенциалов

малое напряжение(~42В,=110В)

электрическое разделение сетей

защитное отключение

изоляция токоведущих частей (рабочая, дополнительная, усиленная, двойная);

компенсация токов замыкания на землю;

оградительные устройства;

изолирующие защитные и предохранительные приспособления.

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

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

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

Защитное заземление или зануление выполняют:

во всех помещениях при переменном напряжении 380В, постоянном 440В

в помещениях с повышенной опасностью, особо опасных и в наружных установках при переменном напряжении от42 до380В, и постоянном 110-440В

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

Областью применения защитного заземления является 3-х фазные 3-х проводные сети …до 1000в с изолированной нейтралью и сети ….выше 1000в с любым режимом нейтрали.

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

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

Защитным отключением называется быстродействующая защита, обеспечивающая автоматическое отключение ЭУ при возникновении в ней опасности поражения …(ГОСТ 12.1.009-76). Принцип защиты заключён в ограничении времени протекании через тело человека опасного тока. Устройство защитного отключения (УЗО) непрерывно контролирует сеть и при изменении её параметров, вызванным подключением человека в сеть, отключает сеть или её участок.

В организационные и технические мероприятия по обеспечению ЭБ(ГОСТ 12.1.019-79) заключается в:

соответственном обучении, инструктаже и допуске к работу ЭУ лиц, прошедших медосвидельствование;

выполнение ряда технических мер при проведении работ с отключением напряжения действующих ЭУ или вблизи их (запирание приводов, снятие предохранителя, отсоединение концов питающих линий);

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

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

рода и величины напряжения и тока;

частоты электрического тока;

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

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

условий внешней среды.

Нормы на допустимые токи и напряжения прикосновения в электроустановках должны устанавливаться в соответствии с предельно допустимыми уровнями воздействия на человека токов и напряжений прикосновения и утверждаться в установленном порядке согласно ГОСТ 12.1.038-82.

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


Таблица 7. Воздействие постоянного и переменного тока на человека

Значение тока, проходящего через человека, мAХарактер воздействияПеременный ток, 50 ГцПостоянный ток0,5 - 1,5Начало ощущения, легкое дрожание пальцев рукНе ощущается2,0 - 3,0Сильное дрожание пальцев рук, ощущение доходит до запястьяНе ощущается5,0 - 7,0Легкие судороги в руках, болевые ощущения в рукахЗуд, ощущение нагрева8,0 - 10,0Руки трудно, но еще можно оторвать от электродов, сильные боли в пальцах, кистях рук и предплечьяхУсиление ощущения нагрева20 - 25Паралич рук, оторвать их от электродов невозможно, очень сильные боли, дыхание затрудненоЕщё большее усиление нагрева, незначительное сокращение мышц рук50 - 80Остановка дыхания. Начало фибрилляции сердцаСильное ощущение нагрева, сокращение мышц рук, судороги, затруднение дыхания90 - 100Остановка дыхания, при длительности3 сек.и более остановка сердцаОстановка дыхания

Согласно ГОСТ 12.1.038-82, человек начинает ощущать протекающий через него ток в 0,3 мА (50 Гц), 0,4 мА (400 Гц) и 1 мА (постоянный). Это пороговый ощутимый ток. Ток 10 - 15 мА (50 Гц) называется пороговым неотпускающим.

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

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

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

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

Любое нарушение правил электробезопасности может привести к электротравме.


.3.4 Пожарная безопасность

Мероприятия по обеспечению пожарной безопасности ППБ-01-03.

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

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

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

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

пламя и искры;

повышенная температура окружающей среды;

токсичные продукты горения и термического разложения;

дым;

пониженная концентрация кислорода.

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

осколки, части разрушившихся аппаратов, агрегатов, установок, конструкций;

радиоактивные и токсичные вещества и материалы, вышедшие из разрушенных аппаратов и установок;

электрический ток, возникший в результате выноса высокого напряжения на токопроводящие части конструкций, аппаратов, агрегатов;

опасные факторы взрыва по ГОСТ 12.1.010, происшедшего вследствие пожара;

огнетушащие вещества.

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

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

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

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

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

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

достаточной концентрацией флегматизатора в воздухе защищаемого объема (его составной части);

поддержанием температуры и давления среды, при которых распространение пламени исключается;

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

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

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

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

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

применением электрооборудования, соответствующего пожароопасной и взрывоопасной зонам, группе и категории взрывоопасной смеси в соответствии с требованиями ГОСТ 12.1.011 и Правил устройства электроустановок;

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

применением технологического процесса и оборудования, удовлетворяющего требованиям электростатической искробезопасности по ГОСТ 12.1.018;

устройством молниезащиты зданий, сооружений и оборудования;

устранением контакта с воздухом пирофорных веществ;

уменьшением определяющего размера горючей среды ниже предельно допустимого по горючести;

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

применением средств пожаротушения и соответствующих видов пожарной техники;

применением автоматических установок пожарной сигнализации и пожаротушения;

устройствами, обеспечивающими ограничение распространения пожара;

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

Организационно-технические мероприятия должны включать:

организацию пожарной охраны,

организацию ведомственных служб пожарной безопасности


4.4 Мероприятия по обеспечению безопасных условий труда


.4.1 Мероприятия по защите от опасных производственных факторов

Для защиты персонала от попадания под опасное напряжение при неисправной изоляции необходимо предусмотреть защитное заземление, выполняемое в соответствии с ГОСТ 12.1.019-79.

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

Согласно ГОСТ 12.1.019-79, электрооборудование помещения относится к 01 классу защиты от поражения электрическим током, т.е. имеется рабочая изоляция, элемент для заземления и провод без зануляющей шины для подсоединения к источнику питания.

Для защиты от различного рода излучений пользователь должен обладать рабочей зоной при работе со своей ПЭВМ, в которой не должны оказываться рабочие части других ПЭВМ. В соответствии с СанПиН 2.2.2./2.4.1340-03 площадь на одно рабочее место пользователей ПЭВМ с ВДТ должна составлять не менее 6 м2. При размещении рабочих мест с ПЭВМ расстояние между рабочими столами с видеотерминалами должно быть не менее 2 м, а расстояние между боковыми поверхностями видеотерминалов - не менее 1,2 м.

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

Для отключения электроснабжения помещения применять рубильник.

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

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


.4.2 Мероприятия по защите от чрезвычайных ситуаций

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

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

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

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

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

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



5. Организационно-экономическая часть


5.1 Оценка технического уровня и качества библиотеки методов когнитивного принятия решения


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

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

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

Определяется относительный единичный показатель качества по формуле


или


- относительный i-й единичный показатель качества изделия по сравнению с j-ым образцом;

- абсолютное значение i-го единичного показателя у аналогичного j-ого образца;

- абсолютное значение i-го единичного показателя у выпускаемого изделия.

Принимается к расчету та формула, по которой увеличение относительного показателя соответствует улучшению качества.

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



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

Уровень качества выпускаемого изделия (УК) по сравнению с каким-либо j-м образцом определяется по формуле:



где mk - коэффициент весомости k-го обобщающего показателя качества;- число обобщающих показателей качества в системе.

Если > 1, то выпускаемое изделие превосходит по качеству j-й аналог (образец).

Оценка технического уровня и качества библиотеки методов(сравнивается с аналогом).

Таблица 8.

НаименованиеКоэфф. весомостиАбс. значенияОтнос. показ.Интегр. показ.обобщ.един.проектаналогедин.обобщ.1. Возможности0,300,37 1.1 Варианты представления данных0,1060401,500,15 1.2 Встроенные функции0,5065501,300,65 1.3 Возможность расширенного использования 0,2080701,140,23 1.4 Организация доступа к базе0,2055551,000,20 1,001,232. Удобство0,200,24 2.1 Интерфейс0,3060451,330,40 2.2 Удобство работы с данными0,3050351,430,43 2.3 Функциональность0,4070501,400,56 1,001,393. Экономичность0,100,08 3.1 Экономичность проекта1,0060800,750,754. Безопасность0,150,23 4.1 Безопасность операций0,6085451,891,13 4.2 Общая безопасность проекта0,4060601,000,40 1,001,535. Системные требования0,250,21 5.1 Требования к аппаратным средствам0,3080701,140,34 5.2 Требования к программным средствам0,6040700,570,34 5.3 Объём свободного места на НЖМД0,1090601,500,15 1,000,84 1,001,16

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



5.2 Расчёт экономической эффективности от разработки библиотеки методов


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

Приведённые затраты (П3) представляют собой сумму себестоимости продукции (С) и капитальных затрат (К), приведенных к одному году с помощью нормативного коэффициента эффективности капитальных вложений (Ен), который отражает нижний допустимый уровень эффективности:


П3 = С + К * Ен


Для информационных технологий Ен=0,3 что характеризует максимально допустимый нормативный срок окупаемости (Тн)


Тн=1/Ен=1/0,3=3,3 года


При определении годового экономического эффекта должна быть обеспечена сопоставимость базового и нового вариантов по:

объему производимой продукции (работы);

качественным параметрам;

фактору времени;

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

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

капитальные затраты или стоимость основных производственных фондов и оборотных средств с учетом затрат на НИОКР (проектные работы) и остаточной стоимости заменяемого оборудования;

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

Годовой экономический эффект рассчитывается по формуле:


Э=(С11Ен)?-(С22Ен),


где С1, С2 - себестоимость годового объема производства по базовому варианту и по проекту, руб.;

К1, К2 - капитальные вложения по базовому варианту и по проекту, руб.;

Ен - нормативный коэффициент эффективности капитальных вложений, принимается 0,3;

? - коэффициент эквивалентности для приведения показателей базового варианта к сопоставимому с проектом виду по объему производства (?а, качественным параметрам (?кач), фактору времени (?t)


? = ?а* ?кач* ?t

?а21; ?качкач2кач1; ?t=(1+Е)t;


где А1, А2 - годовые объемы производства по базовому варианту и по проекту;

Пкач1, Пкач2 - показатели качества;

Е - норматив приведения, принимается 0,1;- число лет от момента, когда были осуществлены

вложения, до расчетного года, принимается 0,5.

?а - коэффициент эквивалентности по объему производства - объем выполняемых работ не изменился, следовательно ?а принимается равным 1.

?кач - коэффициент эквивалентности по качественным параметрам (таблица 6.1) ?кач= 1,16

?t - коэффициент эквивалентности фактора времени - (1+0,1)1 = 1,1.

Следовательно, коэффициент эквивалентности ? = 1*1,16*1,1 = 1,276

Капитальные затраты рассчитываются отдельно по базовому и проектному вариантам:

) Стоимость оборудования - оборудование, на котором разрабатывается и вводится в эксплуатацию данный дипломный проект, является персональным компьютером, его параметры указании в таблице 10:


Таблица 9. Параметры и цены персонального компьютера

НаименованиеТипКол-во (шт.)Цена (руб.)МониторAser 17"14000Материнская платаASUS A7N8X Socket A12000ПроцессорAMD Sempron(tm) 2200+11700ОЗУSamsung DDR PC3200 - 512 MB1850Жёсткий дискSeagate 120Gb11500Флоппи дисководFDD 3.5" 1,44 Mb1250Видеокарта AGP ATI (Sapphire) Radeon 9550 128Mb11500КорпусMidiTower 300W11000ПринтерEpson Stylus C4812500Клавиатура Win 95/2000 PS/21150МышьGenius150

Суммарная стоимость оборудования по дипломному проекту составляет -15500 руб. По базовому варианту для выполнения работы требуется более мощный компьютер стоимостью 19500 руб.

Цены на оборудование принимаются по прайс-листам фирмы «SiM».

2) Затраты на приобретение программного обеспечения- в данном дипломном использовалось программное обеспечение описанное в таблице 10:


Таблица 10. Программное обеспечение

НаименованиеЦена (руб.)Microsoft Windows 711100Microsoft Word XP4500

Суммарная стоимость программного обеспечения по дипломному проекту составляет 11100 руб.

Для базового варианта необходимо приобрести программное обеспечение указанное в таблице 11:


Таблица 11. Программное обеспечение

НаименованиеЦена (руб.)Microsoft Windows XP5000Microsoft Word XP1500Microsoft Visual Studio 201013000

Суммарная стоимость программного обеспечения по базовому варианту составляет - 19500 руб.

3) Оборотные средства - капитальные затраты в оборотные средства, берутся из расчета 0,5-0,7 от капитальных затрат в основные производственные фонды. Копф = 19500 руб. (для базового варианта) и 15500 руб. (для проектного варианта), следовательно:

Кос(проект) = 0,5*15500 = 7750 руб.

Кос(базовый вариант) = 0,5* 19500 = 9750 руб.

Сведем все полученные данные в таблице 12.


Таблица 12. Капитальные затраты, в руб.

Наименование затратПроектБазовый вариантСтоимость оборудованияКоб = 15500Коб = 19500Затраты на приобретение программного обеспеченияКпо = 11100Кпо = 19500Итого ОПФ КопфобпоКопф=26600Копф=39000Оборотные средства Кос = 0,5 ¸ 0,7 КопфКос = 7750Кос = 9750Всего капитальные затраты К = Копф + КосК =34350К =48750Себестоимость продукции (работы) определяется по следующим статьям расходов:

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


Таблица 13. Расходные материалы

НаименованиеКол-воЦена (руб.)Кол-воЦена (руб.)Проектный вариантБазовый вариантБумага1 пачка1501 пачка150Картридж1 шт.4001 шт.400Прочий расходный материал_100_100

Суммарная стоимость расходные материалы по проектному варианту составляет - 650 руб.

Суммарная стоимость расходные материалы по базовому варианту составляет - 650 руб.

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

Зт = 0,5 КВт * 960 часов * 2,16 руб. = 1037 руб. - проект;

Зт = 0,5 КВт * 720 часов * 2,16 руб. = 778 руб.- базовый проект;

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

)Дополнительная заработная плата - дополнительная заработная составляет 10% от основной заработной планы, следовательно:

Здоп = 0,1 * 9000 руб. = 900 руб. - проект;

Здоп = 0,1 * 9000 руб. = 900 руб. - базовый вариант;

)Начисления на заработную плату (единый социальный налог) - учитывая размер оплаты труда работника рассчитывается размер отчислений на социальное страхование, куда входит единый социальный налог и отчисления в фонд социального страхования (от несчастных случаев). В сумме отчисления на социальное страхование составляют 29,6%, что равно:

првн = 9900 руб. * 0,296 = 2930,4 руб. - проект;

првн= 9900 руб. * 0,296 = 2930,4 руб. - базовый вариант;

) Амортизация оборудования - в ходе изготовления программного продукта использовалось оборудование общей стоимостью 26600 руб. Расчёт амортизации на одно изделие (программный продукт) ведём по формуле:


Рауд*(На/100)


где Ра - расходы на амортизацию, руб.,

На- норма амортизации (На = 25%)


Куд=(К/Тшт) *Фэ


где К - общая стоимость оборудования, руб.,

Фэ - эффективный фонд использования оборудования, ч,

Тшт - суммарное время использования оборудования и аппаратуры.

Примем следующие исходные данные: что Фэ = 2016ч (количество рабочих часов за 1 год, если принимать рабочий день восьми часовой), Тшт = 960 ч, К = 26600 руб. Учитывая исходные данные и формулы (1) и (2) получим следующие величины:

Куд= (26600 / 2016) *960 = 12666 руб. - проект;

Куд= (39000 / 2016) *720 = 13928 руб. - базовый вариант;

Ра = 12666 руб. * 0,25 = 3166 руб. - проект;

Ра = 13928 руб. * 0,25 = 3482 руб. - базовый вариант;

Для подсчёта себестоимости продукта необходимо все предыдущие.

Расчётные данные объединить в таблице 14.


Таблица 14. Расчёт себестоимости работ

Наименование затратПроектБазовый вариантЗатраты на сырьё, материалы и покупные изделия650650Затраты энергии на технологические цели1037778Основная заработная плата (с учётом времени разработки)4500045000Дополнительная заработная плата (с учётом времени разработки)35002625Начисления на заработную плату (с учётом времени разработки)1465011546Амортизация оборудования31663482Полная себестоимость6800364081

Итоговые данные для вычисления экономического эффекта представлены на табл. 15.


Таблица 15. Итоговые данные

ПеременнаяПроектБазовый вариантСебестоимость работ, C6800364081Капитальные вложения, K3435048750Нормативный коэффициент эффективности капитальных вложений, Ен0,3Коэффициент эквивалентности, ?-1,276

Оценка экономического эффекта, получаемого за годовое функционирование:

Э = (68003 + 34350 * 0,3) * 1,276 - (64081 + 48750 * 0,3) = 99921 - 78706 =21215


.3 Выводы


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

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



Список литературы


1.Chipman, S. F., Schraagen, J. M., & Shalin, V. L. (2000) Introduction to cognitive task analysis. In J. M Schraagen, S. F. Chipman & V. J. Shute (Eds.), Cognitive Task Analysis (pp. 3-23). Mahwah, NJ: Lawrence Erlbaum Associates.

2.Clark, R. E. (2006). Training aid for cognitive task analysis. Technical report produced under contract ICT 53-0821-0137-W911NF-04-D-0005 from the Institute for Creative Technologies to the Center for Cognitive Technology, University of Southern California.

.Clark, R. E., & Estes, F. (1996) Cognitive task analysis, International Journal of Educational Research, 25, 403-417.

.Feldon, D. F., & Clark, R. E. (2006). Instructional implications of cognitive task analysis as a method for improving the accuracy of experts self-report. In G. Clarebout & J. Elen (Eds.), Avoiding simplicity, confronting complexity: Advances in studying and designing (computer-based) powerful learning environments (pp. 109-116). Rotterdam, The Netherlands: Sense Publishers.

.#"justify">.Shute, V., Sugrue, B., & Willis, R. E. "Automating Cognitive Task Analysis." In Cognitive Technologies for Knowledge Assessment Symposium Proceedings, AERA, Chicago, IL: 1997.

.Shute, V. J. & Torreano, L. A. "Formative Evaluation of an Automated Knowledge Elicitation and Organization Tool." In Authoring Tools for Advanced Technology Learning Environments: Toward Cost-Effective Adaptive, Interactive, and Intelligent Educational Software. T. Murray, S. Blessing, & S. Ainsworth, Eds. Kluwer: 2002.

.Shute, V. J., Torreano, L. A., & Willis, R. E. DNA: Providing the Blueprint for Instruction. In Chipman, Shalin & Schraagen, Eds. Cognitive Task Analysis. New Jersey: Lawrence Erlbaum, 2000. 71-86.

.#"justify">.Hamilton, F. "Predictive Evaluation Using Task Knowledge Structures." In Proceedings of CHI '96 (1996).

.Hourizi, R. & Johnson, P. "Unmasking Mode Errors: A New Application of Task Knowledge Principles to the Knowledge Gaps in Cockpit Design." Proceedings of Interact '01, The Eighth IFIP Confernece on Human Computer Interaction, Tokyo (2001).

.Johnson, H. & Johnson, P. "Task Knowledge Structures: Psychological Basis and Integration into System Design." Acta Psychologica Vol 78 (1991): 3-26.

.Johnson, P., Johnson, H., and Hamilton, F. Getting the Knowledge into HCI: Theoretical and Practical Aspects of Task Knowledge Structures. In Chipman, Shalin & Schraagen, Eds. Cognitive Task Analysis. New Jersey: Lawrence Erlbaum, 2000. 201-214.

.Keep, J. & Johnson, H. "HCI and Requirements Engineering - Generating Requirements in a Courier Despatch Management System." SIGCHI Vol 29.1 (1997).

.Wild, P. J., Johnson, P., & Johnson, H. "An Hour in the Life: Towards Requirements for Modeling Multiple Task Work." To appear in Proceeding of CHI 2003. TKS is used to understand multi-tasking.

.#"justify">.Aiken, L. R. (1982). Writing multiple choice items to measure higher order educational objcctivcs. Educational and Psychological Measurement, 42, 3, 803-806.

.Aiken, L. R. (1994). Psychological testing and assessment (8th edition). Boston, MA: Allynand Bacon.

.Bejar, I. I., Chaffin, R. & Embretson, S. E. (1991). Cognitive and psychometric analysis of analogical problem solving. New York, NY: Springer-Verlag.

.Berk, R.A. (Ed., 1984). A guide to criterion-referenced test construction. Baltimore, MD: The Johns Hopkins University Press.

.Canot, J. A. (1987). Developing multiple choice test items. Training and Development Journal, 41,5,85-88.

22.Ellis, J. A., & Wulfcck, W. H. (1982). Handbook for testing in Navy schools (NPRDC SR 83-2). San Diego, CA: Navy Personnel Research and Development Center.

.Embretson, S. E. (1985). Test design: Developments in psychology andpsychometrics. Orlando, FL: Academic Press, Inc.

24.Goldstein, I. L., Zedeck, S., & Schneider, B. (1992). An exploration of the job analysis- content validity process. In N. Schmitt and W. C. Borman (Eds), Personnel Selection in Organizations. San Francisco, CA: Jossey-Bass Publishers, (pp. 3-34).

.Gronlund, N. E. (1993). How to make achievement tests and assessments (5th edition). Boston, MA: Allyn and Bacon.

.Haladyna, Т. M. (1994). Developing and validating multiple-choice test items. Hillsdale, NJ: Lawrence Erlbaum Associates.

.Susan G. Hutchins, Peter L. Pirolli, and Stuart K. Card. A NEW PERSPECTIVE ON USE OF THE CRITICAL DECISION METHOD WITH INTELLIGENCE ANALYSTS. // URL:. #"justify">.Flanagan, J.C. (1954), The critical incident technique, Psychol. Bull., 51, 327-358.

.Hoffman, R.R. (1987), The problem of extracting the knowledge of experts from the perspective of experimental psychology, AI Mag., 8, 53-67.

.Hoffman, R.R., Crandall, B.W., and Shadbolt, N.R. (1998), Use of the critical decision method to elicit expert knowledge: a case study in cognitive task analysis methodology, Hum. Factors, 40, 254-276.

.Hutton, R.J.B. and Militello, L.G. (1996), Applied cognitive task analysis (ACTA): a practitioner's window into skilled decision making, in Engineering Psychology and Cognitive Ergonomics: Job Design and Product Design, Vol. 2, Harris, D., Ed., Ashgate, Aldershot, U.K., pp. 17-23.

.Klein, G. (1998), Sources of Power: How People Make Decisions, MIT Press, Cambridge, MA. 35-8 Handbook of Human Factors and Ergonomics Methods

.Klein, G. and Militello, L. (in press), The knowledge audit as a method for cognitive task analysis, in How Professionals Make Decisions, Brehmer, B., Lipshitz, R., and Montgomery, H., Eds., Lawrence Erlbaum Associates, Mahwah, NJ.

34.ДОРОФЕЮК А.А., ПОКРОВСКАЯ И.В., ЧЕРНЯВСКИЙ А.Л. Экспертные методы анализа и совершенствования систем управления // Автоматика и телемеханика. 2004. №10. С. 172 - 188.

.МАКСИМОВ В.И., КОРНОУШЕНКО Е.К., РАЙКОВ А.Н. Информационные системы и когнитивные модели интеллектуальной поддержки принятия государственных решений/ В монографии: Новая парадигма развития России (Комплексное исследование проблем устойчивого развития). - М.: Издательства «Академия», МГУК, - 1999. - С. 328-340.

.АНИСИМОВ О.С., ЖИРКОВ О.А., ЕФРЕМОВ В.А. От когнитивного ситуационного центра к электронному деловому театру (тезисы доклада) / Элект. СASC-2006, Шестая Международная конференция Когнитивный анализ и управление развитием ситуацией. Институт проблем управления РАН, М.: 11-12 октября, 2006, www.mtas.ru.

37.ЖИРКОВ О.А. Электронный деловой театр для обучения коллективному принятию решений в условиях неопределенности. Конгресс Информационные технологии в образовании ИТО-2006, М.: 6-10 ноября, 2006, www.ito.su.

38.David H. Jonassen, Martin Tessmer, Wallace H. Hannum. Task analysis methods for instructional design. - Routledge, 1999. - 275 pp.

39.Gitomer, D. H., Steinberg, L. S., & Mislevey, R. J. (1994). Diagnostic assessment of troubleshooting skill in an intelligent tutoring system. Tech Report RR-94-21-ONR. Arlington, VA: Office of Naval Research.

40.Halt, E. P., Gott, S. P., & Pokorny, R. A. (1995). A procedural guide to cognitive task analysis: The PARI methodology. Tech. Report AL/HR-TR-1995-0108. Brooks Air Force Base, TX: Human Resources Directorate.

.Jonassen, D. H. (1997). Instructional design model for well-structured and ill-structured problem-solving learning outcomes. Educational Technology: Research and Development 45 (1).

42.Lajoie, S. P., & Lesgold, A. (1992). Apprenticeship training in the workplace: Computer-coached practice environment as a new form of apprenticeship. In M. J. Farr & J. Psotka (Eds.), Intelligent instruction by computer: Theory and practice, pp. 15-36.. Washington, DC: Taylor & Francis.

43.Means, В., & Gott, S. P. (1988). Cognitive task analysts as a basis for tutor development: Articulating abstract knowledge representations. In J. Psotka, L. D. Massey, & S. A. Mutter (Eds.), Intelligent tutoring systems: Lessons learned. Hillsdale, NJ: Lawrence Erlbaum Associates.

44.Munsie, S. D., & LaJoie, S. P. (1997, March). A collaborative approach to cognitive task analysis: Extracting expert knowledge using PARI-RT. Paper presented at the annual meeting of the American Educational Research Association, Chicago, IL.



Приложение


Pari.Analysis.cs

using System.Linq;System.Text;SupportLibrary.PARI {_Analysis {Problem{ get; set; }<Pari_Variant> variants = newList<Pari_Variant>();Pari_Analysis () {

}Pari_Analysis(string constructionString) {[] parts = constructionString.Split(newchar[] { '|' });= parts[0];(int i = 1; i < parts.Length; i++).Add(newPari_Variant(parts[i]));

}Serialize() {result = Problem + '|';(int i = 0; i < variants.Count; i++)+= variants[i].Serialize() + '|';= result.Remove(result.Length - 1);result;

}<Pari_Variant> Variants { get { returnnewList<Pari_Variant> (variants.ToArray()); } }AddVariant(string theme, string action, string precursor, string result, string interpretation) {.Add(newPari_Variant(theme, action, precursor, result, interpretation));

}AddVariant(Pari_Variant variant) {.Add(variant);

}RemoveVariant(int index) {.RemoveAt(index);

}RemoveVariant(string theme) {_Variant variant = (from v in variants where v.Theme == theme select v).FirstOrDefault();.Remove(variant);

}ReplaceVariant(int index, string theme, string action, string precursor, string result, string interpretation) {(index);.Insert(index, newPari_Variant(theme, action, precursor, result, interpretation));

}

}

}

Pari.AnalysisForm.cs

using System;System.Windows.Forms;SupportLibrary.PARI {_AnalysisForm : Form {_Variant PariVariant;_Variant Variant

{ get { return PariVariant; } }Pari_AnalysisForm(Pari_Variant PariVariant) {();.PariVariant = PariVariant;= System.Windows.Forms.DialogResult.Cancel;_textBox.Text = PariVariant.Theme;();

}Fill() {_textBox.Text = PariVariant.SomeAction;_textBox.Text = PariVariant.SomeResult;_textBox.Text = PariVariant.SomePrecursor;_textBox.Text = PariVariant.SomeInterpretation;

}_Variant Pari_Variant {{ return PariVariant; }

}IsFilled() {((PariVariant.Theme == "") || (PariVariant.SomeAction == "") || (PariVariant.SomeResult == "") ||

(PariVariant.SomePrecursor == "") || (PariVariant.SomeInterpretation == ""));;

}ok_button_Click(object sender, EventArgs e) {(!IsFilled()) {.Show(this, "Заполните, пожалуйста, всеполя", "Ошибка!");;

}= System.Windows.Forms.DialogResult.OK;();

}cancel_button_Click(object sender, EventArgs e) {();

}variantText_textBox_Leave(object sender, EventArgs e) {.Theme = variantText_textBox.Text;

}action_textBox_Leave(object sender, EventArgs e) {.SomeAction = action_textBox.Text;

}precursor_textBox_Leave(object sender, EventArgs e) {.SomePrecursor = precursor_textBox.Text;

}result_textBox_Leave(object sender, EventArgs e) {.SomeResult = result_textBox.Text;

}interpretation_textBox_Leave(object sender, EventArgs e) {.SomeInterpretation = interpretation_textBox.Text;

}

}

}

Pari.Variant.cs

using System;System.Collections.Generic;System.Linq;System.Text;SupportLibrary.PARI {_Variant {Theme { get; set; }methodsCount = 4;<string> methods = newList<string>(newstring[4] { "", "", "", ""});Pari_Variant() {

}Pari_Variant(string serialized) {[] parts = serialized.Split(newchar[] { '@' });(parts.Count() != 5)("Количество строковых описаний методов изменения идеи должно быть равно " + methodsCount.ToString() + ". Методам должно предшествовать строка с подробным описанием проблемы", "serialized");

Theme = parts[0];

for (int i = 1; i < parts.Length; i++)[i - 1] = parts[i];

}Pari_Variant(string theme, string action, string precursor, string result, string interpretation)

{= theme;[0] = action;[1] = precursor;[2] = result;[3] = interpretation;

}GetMethod(int index) {methods[index];

}SetMethod(int index, string method) {

methods[index] = method;

}

///<summary>

///Что вы сделаете для решения проблемы?

///</summary>SomeAction {{ return methods[0]; }

set { methods[0] = value; }

}

///<summary>

///Почему вы выполните данное действие? Введите предпосылки.

///</summary>SomePrecursor {{ return methods[1]; }{ methods[1] = value; }

}

///<summary>

///Что принесет результат в отношении определения места повреждения?

///</summary>SomeResult {{ return methods[2]; }

set { methods[2] = value; }

}

///<summary>

///Что результат говорит о проблеме?

///</summary>SomeInterpretation {{ return methods[3]; }{ methods[3] = value; }

}Serialize() {result = Theme + '@';(int i = 0; i < methods.Count; i++)+= methods[i] + '@';= result.Remove(result.Length - 1);result;

}

}

}

Pari.VariantEditForm.cs

using System;System.Collections.Generic;System.Windows.Forms;SupportLibrary.PARI {(int index);(int index);_VariantEditForm : Form {_Analysis pari;<Pari_VariantUserControl> variantUCs;Pari_VariantEditForm(Pari_Analysis pari) {();.pari = pari;= System.Windows.Forms.DialogResult.Cancel;_textBox.Text = pari.Problem;();

}_Analysis PARI

{ get { return pari; } }FillVariants() {<Pari_Variant> variants = pari.Variants;= newList<Pari_VariantUserControl>(variants.Count);(int i = 0; i < variants.Count; i++).Add(newPari_VariantUserControl(variants[i], i, DeleteVariant, EditVariant));_panel.Controls.Clear();_panel.Controls.AddRange(variantUCs.ToArray());

}ok_button_Click(object sender, EventArgs e) {(pari.Problem == "") {.Show(this, "Заполните, пожалуйста, проблему.", "Ошибка!");;

}= System.Windows.Forms.DialogResult.OK;();

}cancel_button_Click(object sender, EventArgs e) {();

}DeleteVariant(int index) {result = MessageBox.Show("Вы действительно хотите удалить этот вариант?", "Подтверждение удаления", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);(result == System.Windows.Forms.DialogResult.Yes) {.RemoveVariant(index);();

}

}EditVariant(int index) {_AnalysisForm analysisForm = newPari_AnalysisForm(pari.Variants[index]);(analysisForm.ShowDialog() == System.Windows.Forms.Dialog Result.OK)();

}add_button_Click(object sender, EventArgs e) {_AnalysisForm analysisForm = newPari_Analysis Form(newPari_Variant("", "", "", "", ""));(analysisForm.ShowDialog() == System.Windows.Forms.Dialog Result.OK) {.AddVariant(analysisForm.Variant);();

}

}problem_textBox_Leave(object sender, EventArgs e) {.Problem = problem_textBox.Text;

}

}

}

Pari.VariantUserControl.cs

using System;System.Windows.Forms;SupportLibrary.PARI {_VariantUserControl : UserControl {Index { get; set; }_Variant variant;delete;edit;Pari_VariantUserControl(Pari_Variant variant, int index, DeleteVariant deleteAction, EditVariant editAction) {();.Text = variant.Theme;.variant = variant;= index;= deleteAction;= editAction;

}edit_button_Click(object sender, EventArgs e) {(Index);.Text = variant.Theme;

}remove_button_Click(object sender, EventArgs e) {(Index);

}

}

TAPPS.Form.cs

using System;System.Collections.Generic;System.Windows.Forms;SupportLibrary.TAPPS {(int index);(int index);_Form : Form {_Analysis tapps;<TAPPS_VariantUserControl> variantUCs;TAPPS_Form(TAPPS_Analysis tapps) {();.tapps = tapps;= System.Windows.Forms.DialogResult.Cancel;_textBox.Text = tapps.Problem;();

}_Analysis TAPPS { get { return tapps; } }FillVariants() {<TAPPS_Variant> variants = tapps.Variants;= newList<TAPPS_VariantUserControl>(variants.Count);(int i = 0; i < variants.Count; i++).Add(newTAPPS_VariantUserControl(variants[i], i, Delete Variant, EditVariant));_panel.Controls.Clear();_panel.Controls.AddRange(variantUCs.ToArray());

}ok_button_Click(object sender, EventArgs e) {(tapps.Problem == "") {.Show(this, "Заполните, пожалуйста, проблему.", "Ошибка!");;

}= System.Windows.Forms.DialogResult.OK;();

}cancel_button_Click(object sender, EventArgs e) {();

}order_button_Click(object sender, EventArgs e) {.OrderVariants();();

}DeleteVariant(int index) {result = MessageBox.Show("Вы действительно хотите удалить этот вариант?", "Подтверждение удаления", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);(result == System.Windows.Forms.DialogResult.Yes) {.RemoveVariant(index);();

}

}EditVariant(int index) {_AnalysisForm editForm = newTAPPS_AnalysisForm tapps.Variants[index]);(editForm.ShowDialog() == System.Windows.Forms.DialogResult.OK)();

}add_button_Click(object sender, EventArgs e) {_AnalysisForm editForm = newTAPPS_AnalysisForm(newTAPPS_Variant("", newList<string>()));(editForm.ShowDialog() == System.Windows.Forms.DialogResult.OK) {.AddVariant(editForm.Variant);();

}

}problem_textBox_Leave(object sender, EventArgs e) {.Problem = problem_textBox.Text;

}

}

}

TAPPS.Variant.cs

using System;System.Collections.Generic;System.Linq;System.Text;SupportLibrary.TAPPS {_Variant {<string> Steps;Name { get; set; }StepsSum;TAPPS_Variant(string constructionString) {= newList<string>();[] parts = constructionString.Split(newchar[] { '@' });= parts[0];(int i = 1; i < parts.Length; i++).Add(parts[i]);= Steps.Count;

}GetConstructionString() {result = Name + '@' + GetString(Steps);result;

}GetString(List<string> list) {result = "";(list.Count == 0)result;(int i = 0; i < list.Count; i++)+= list[i] + "@";= result.Remove(result.Length - 1);result;

}TAPPS_Variant(string name, string steps)

{= name;(steps);

}TAPPS_Variant(string name, List<string> steps)

{= name;(steps);

}SetSteps(List<string> steps) {.Steps = steps;.StepsSum = Steps.Count;

}SetSteps(string steps) {.Steps = GetRecordsList(steps);.StepsSum = Steps.Count;

}<string> GetRecordsList(string input) {[] lines = input.Split(newchar[] { '@' });<string> result = newList<string>();(int i = 0; i < lines.Length; i++).Add(lines[i]);result;

}<string> GetSteps() {Steps;

}GetSumm() {Steps.Count;

}Compare(TAPPS_Variant a, TAPPS_Variant b) {b.StepsSum - a.StepsSum;

}

}

}

TAPPS.Analysis.csSystem;System.Collections.Generic;System.Linq;System.Text;SupportLibrary.TAPPS {_Analysis {Problem { get; set; }<TAPPS_Variant> variants = newList<TAPPS_Variant>();TAPPS_Analysis () {

}TAPPS_Analysis(string constructionString) {[] parts = constructionString.Split(newchar[] { '|' });= parts[0];result = "";(int i = 1; i < parts.Length; i++)+= parts[i];.Add(newTAPPS_Variant(result));

}Serialize() {result = Problem + '|';(int i = 0; i < variants.Count; i++)+= variants[i].GetConstructionString() + '|';= result.Remove(result.Length - 1);result;

}<TAPPS_Variant> Variants { get { returnnewList<TAPPS_Variant>(variants.ToArray()); } }AddVariant(string name, List<string> steps) {.Add(newTAPPS_Variant(name, steps));

}AddVariant(string name, string steps) {.Add(newTAPPS_Variant(name, steps));

}AddVariant(TAPPS_Variant variant) {.Add(variant);

}RemoveVariant(int index) {.RemoveAt(index);

}RemoveVariant(string name) {_Variant variant = (from v in variants where v.Name == name select v).FirstOrDefault();.Remove(variant);

}ReplaceVariant(int index, string name, string steps) {(index);.Insert(index, newTAPPS_Variant(name, steps));

}OrderVariants() {<TAPPS_Variant> variantComparer = newComparison <TAPPS_Variant> (TAPPS_Variant.Compare);.Sort(variantComparer);

}

}

TAPPS.AnalysisForm.csSystem;System.Collections.Generic;System.Windows.Forms;SupportLibrary.TAPPS {_AnalysisForm : Form {_Variant variant;oldCellValue;_Variant Variant

{ get { return variant; } }TAPPS_AnalysisForm(TAPPS_Variant variant) {();.variant = variant;();= System.Windows.Forms.DialogResult.Cancel;

}FillDataGrid(DataGridView grid, List<string> list) {(int i = 0; i < list.Count; i++) {.Rows.Add(newDataGridViewRow());.Rows[i].Cells[0].Value = list[i];

}

}FillGrids() {_textBox.Text = variant.Name;(steps_dataGridView, variant.GetSteps());

}<string> GetDataFromGrid(DataGridView grid) {.Focus();<string> result = newList<string>();(int i = 0; i < grid.Rows.Count - 1; i++) {.Add(grid[0, i].Value.ToString());

}result;

}ok_button_Click(object sender, EventArgs e) {(variantText_textBox.Text == "") {.Show(this, "Заполните, пожалуйста, имяучастника.", "Ошибка!");;

}.Name = variantText_textBox.Text;.SetSteps(GetDataFromGrid(steps_dataGridView));= System.Windows.Forms.DialogResult.OK;();

}cancel_button_Click(object sender, EventArgs e) {= System.Windows.Forms.DialogResult.Cancel;();

}steps_dataGridView_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e) {(e.ColumnIndex == 1) {value = ((DataGridView)sender)[e.ColumnIndex, e.RowIndex].Value;= (value == null) ? "" : value.ToString();

}

}steps_dataGridView_CellEndEdit(object sender, DataGridViewCellEventArgs e) {parseResult = 0;(e.ColumnIndex == 1) {(!Int32.TryParse((string)((DataGridView)sender)[e.ColumnIndex, e.RowIndex].Value, out parseResult)) {

((DataGridView)sender)[e.ColumnIndex, e.RowIndex].Value = oldCellValue;

}

}

}System;System.Collections.Generic;System.Windows.Forms;SupportLibrary.TAPPS {_AnalysisForm : Form {_Variant variant;oldCellValue;_Variant Variant

{ get { return variant; } }TAPPS_AnalysisForm(TAPPS_Variant variant) {();.variant = variant;();= System.Windows.Forms.DialogResult.Cancel;

}FillDataGrid(DataGridView grid, List<string> list) {(int i = 0; i < list.Count; i++) {.Rows.Add(newDataGridViewRow());.Rows[i].Cells[0].Value = list[i];

}

}FillGrids() {_textBox.Text = variant.Name;(steps_dataGridView, variant.GetSteps());

}<string> GetDataFromGrid(DataGridView grid) {.Focus();<string> result = newList<string>();(int i = 0; i < grid.Rows.Count - 1; i++) {.Add(grid[0, i].Value.ToString());

}result;

}ok_button_Click(object sender, EventArgs e) {(variantText_textBox.Text == "") {.Show(this, "Заполните, пожалуйста, имяучастника.", "Ошибка!");;

}.Name = variantText_textBox.Text;.SetSteps(GetDataFromGrid(steps_dataGridView));= System.Windows.Forms.DialogResult.OK;();

}cancel_button_Click(object sender, EventArgs e) {= System.Windows.Forms.DialogResult.Cancel;();

}steps_dataGridView_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e) {(e.ColumnIndex == 1) {value = ((DataGridView)sender)[e.ColumnIndex, e.RowIndex].Value;= (value == null) ? "" : value.ToString();

}

}steps_dataGridView_CellEndEdit(object sender, DataGridViewCellEventArgs e) {parseResult = 0;(e.ColumnIndex == 1) {(!Int32.TryParse((string)((DataGridView)sender)[e.ColumnIndex, e.RowIndex].Value, out parseResult)) {

((DataGridView)sender)[e.ColumnIndex, e.RowIndex].Value = oldCellValue;

}

}

}

TAPPS_VariantEditUserControl.cs

using System;System.Windows.Forms;SupportLibrary.TAPPS {_VariantUserControl : UserControl {Index {get; set;}_Variant variant;delete;edit;TAPPS_VariantUserControl(TAPPS_Variant variant, int index, DeleteVariant deleteAction, EditVariant editAction)

{();.Text = variant.Name;.variant = variant;= index;= deleteAction;= editAction;_label.Text = "S: " + variant.GetSumm().ToString();

}edit_button_Click(object sender, EventArgs e)

{(Index);.Text = variant.Name;

}remove_button_Click(object sender, EventArgs e)

{(Index);

}

}

}


Остальной код библиотеки

.cs

using System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;DecisionSupportLibrary

{: Form

{result = -1;Result { get { return result; } }DeletedEntries

{

{(deleted.Count == 0)"";result = "";(int i = 0; i < deleted.Count; i++)+= deleted[i].Item1 + '#' + deleted[i].Item2.ToString() + '#';= result.Remove(result.Length - 1);result;

}

}LeftEntries

{

{(history.Count == 0)"";result = "";(int i = 0; i < history.Count; i++)+= history[i].Item1 + '#' + history[i].Item2.ToString() + '#';= result.Remove(result.Length - 1);result;

}

}<Tuple<string, int>> history, deleted = newList<Tuple<string,int>>();HistoryEntriesForm(string historyEntries)

{();[] parts = historyEntries.Split(newchar[] { '#' });= newList<Tuple<string, int>>(parts.Length / 2);(int i = 0; i < parts.Length / 2; i++).Add(newTuple<string,int>(parts[2 * i], Convert.ToInt32(parts[2 * i + 1])));(int i = 0; i < history.Count; i++)_listBox.Items.Add(history[i].Item1);

}addNew_button_Click(object sender, EventArgs e)

{= 0;();

}edit_button_Click(object sender, EventArgs e)

{(historyEntries_listBox.SelectedIndex >= 0)

{= history[historyEntries_listBox.SelectedIndex].Item2;();

}

}delete_button_Click(object sender, EventArgs e)

{index = historyEntries_listBox.SelectedIndex;(index >= 0)

{(MessageBox.Show(this, "Вы действительно хотите удалить эту запись из истории?", "Запрос подтверждения", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)

{.Add(history[index]);_listBox.Items.RemoveAt(index);.RemoveAt(index);

}

}

}historyEntries_listBox_SelectedIndexChanged(object sender, EventArgs e)

{(historyEntries_listBox.SelectedIndex != -1)

{_button.Enabled = true;_button.Enabled = true;

}

{_button.Enabled = false;_button.Enabled = false;

}

}

}

}

ExtFunctions.cs

using System;System.Text;SupportLibrary;SupportLibrary.PARI;SupportLibrary.TAPPS;FuncLib {{_Analysis pari = newPari_Analysis();_Analysis tapps = newTAPPS_Analysis();deletedHistoryEntries;historyEntries;[,] functions = {

{"GETDELETEDHISTORYENTRIES", "STRING", "string GetDeletedHistoryEntries() - Получает строку со списком удаленных записей из истории мероприятий. Формат списка: \"Имя1#QAID1#Имя1#QAID2#...ИмяN#QAIDN\""},

{"POPONEDELETEDHISTORYENTRY", "INTEGER", "int PopOneDeletedHistoryEntry() - Получает QAID первой удаленной из истории записи и удаляет её из списка удалённых, уменьшая тем самым количество удаленных записей."},

{"GETDELETEDHISTORYENTRIESCOUNT", "INTEGER", "int GetDeletedHistoryEntriesCount() - Получает количество удаленных записей из истории."},

{"SETHISTORYENTRIES", "STRING", "string SetHistoryEntries(string entries) - Задает список записей истории. Возвращает старое значение."},

{"GETHISTORYENTRIES", "STRING", "string GetHistoryEntries(string entries) - Получает список записей истории."},

{"SHOWHISTORYFORM", "INTEGER", "int ShowHistoryForm() - Показывает модальное окно, через которое можно запросить создание нового мероприятия, редактирование, просмотр или удаление уже созданного из истории."},

{"ADDTOHISTORY", "STRING", "string AddToHistory(string history, string content, int qaid) - Добавляет запись к истории записей мероприятий."},

{"TRYUPDATETOPICINHISTORY", "STRING", "string TryUpdateTopicInHistory(string history, string content, int qaid) - Изменяет тему в истории мероприятий для только что отредактированного мероприятия."},

{"SHOWMESSAGE", "STRING", "string ShowMessage(string msg) - показывает сообщение."},

{"CONCATSTRINGS", "STRING", "string ConcatStrings(string s1, string s2) - сливает содержимое двух строк в одну и возвращает её как результат."},

{"PARI_SHOWMAINFORM", "INTEGER", "int PARI_ShowMainForm() - показывает модальную форму редактирования PARI-анализа. Возвращает 0, если была нажата клавиша ОК. Возвращает 1, если была нажата Отмена."},

{"PARI_GETSERIALIZED", "STRING", "string PARI_GetSerialized() - получает сериализованный экземпляр PARI-анализа."},

{"PARI_DESERIALIZE", "STRING", "string PARI_Deserialize(string serializedPari) - десериализует строку в экземпляр PARI-анализа. Возвращает пустую строку, если всё прошло в штатном режиме. В случае возникновения исключения возвращает строку с исключением."},

{"PARI_SETNEW", "STRING", "string PARI_SetNew() - задает новый экземпляр текущего PARI-анализа."},

{"TAPPS_SHOWMAINFORM", "INTEGER", "int TAPPS_ShowMain Form() - показывает модальную форму редактирования TAPPS-анализа. Возвращает 0, если была нажата клавиша ОК. Возвращает 1, если была нажата Отмена."},

{"TAPPS_GETSERIALIZED", "STRING", "string TAPPS_GetSerialized() - получает сериализованный экземпляр TAPPS-анализа."},

{"TAPPS_DESERIALIZE", "STRING", "string TAPPS_Deserialize(string serializedTapps) - десериализует строку в экземпляр TAPPS-анализа. Возвращает пустую строку, если всё прошло в штатном режиме. В случае возникновения исключения возвращает строку с исключением."},

{"TAPPS_SETNEW", "STRING", "string TAPPS_SetNew() - задает новый экземпляр текущего TAPPS-анализа."},

};LibName = "SupportLib";SHOWMESSAGE(string msg) {.Windows.Forms.MessageBox.Show(msg);"";

}GetExceptionString(Exception exc) {exc.Message + "\r\n" + exc.StackTrace;

}GetLibName() {LibName;

}[,] GetFunctions() { functions;

}

///<summary>

/// Сливает содержимое двух строк в одну и возвращает её как результат.

///</summary>CONCATSTRINGS(string s1, string s2) {s1 + s2;

}

#region history

///<summary>

/// Получает строку со списком удаленных записей из истории мероприятий.

/// Формат списка: "Имя1#QAID1#Имя1#QAID2#...ИмяN#QAIDN"

///</summary>

///<returns></returns>GETDELETEDHISTORYENTRIES() {;

}

///<summary>

/// Получает QAID первой удаленной из истории записи и удаляет её из списка удалённых, уменьшая тем самым количество удаленных записей.

///</summary>

///<returns></returns>POPONEDELETEDHISTORYENTRY() {= deletedHistoryEntries.Remove(0, deletedHistoryEntries.IndexOf('#') + 1);index = deletedHistoryEntries.IndexOf('#');(index == -1) {result = Convert.ToInt32(deletedHistoryEntries);= "";result;

} else {QA_index = deletedHistoryEntries.Substring(0, index);= deletedHistoryEntries.Remove(0, index + 1);result = Convert.ToInt32(QA_index);

return result;

}

}

///<summary>

/// Получает количество удаленных записей из истории.

///</summary>

///<returns></returns>GETDELETEDHISTORYENTRIESCOUNT() {count = (deletedHistoryEntries.Split(newchar[] { '#' }).Length / 2);

return count;

}

///<summary>

/// Задает список записей истории мероприятий.

///</summary>

///<param name="entries"></param>SETHISTORYENTRIES(string entries) {result = historyEntries;= entries;result;

}

///<summary>

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

///</summary>

///<returns>Возвращает -1 в случае отмены, возвращает 0 в случае выбора кнопки создания нового мероприятия, возвращает значение >0 с индексом QA-единицы, в которой хранятся данные истории.</returns>

publicstaticint SHOWHISTORYFORM() {historyForm = newHistoryEntriesForm(historyEntries);.ShowDialog();= historyForm.DeletedEntries;= historyForm.LeftEntries;historyForm.Result;

}

///<summary>

/// Получает список записей истории мероприятий.

///</summary>

///<returns>Возвращает список записей истории мероприятий</returns>

publicstaticstring GETHISTORYENTRIES() {historyEntries;

}

///<summary>

/// Добавляет запись к истории записей мероприятий.

///</summary>

///<param name="history"></param>

///<param name="content"></param>

///<param name="qaid"></param>

///<returns></returns>ADDTOHISTORY(string history, string content, int qaid)[] parts = content.Split(newchar[] { '|' });history + (history == "" ? "" : "#") + parts[0] + '#' + qaid;

}

///<summary>

/// Изменяет тему в истории мероприятий для только что отредактированного мероприятия.

///</summary>

///<param name="history"></param>

///<param name="content"></param>

///<param name="qaid"></param>

///<returns></returns>TRYUPDATETOPICINHISTORY(string history, string content, int qaid) {result = newStringBuilder();[] parts = history.Split(newchar[] { '#' });(int i = 0; i < parts.Length / 2; i++) {(i != 0).Append('#');(int.Parse(parts[i * 2 + 1]) == qaid) {[] p = content.Split(newchar[] { '|' });.Append(result.ToString() == "" ? "" : "#");.Append(p[0] + '#');.Append(qaid);

} else {.Append(parts[i * 2]);.Append('#');.Append(parts[i * 2 + 1]);

}

}result.ToString();

}

#endregion;

#region PARI

///<summary>

/// Показывает модальную форму редактирования PARI-анализа.

///</summary>

///<returns>Возвращает 0, если была нажата клавиша ОК. Возвращает 1, если была нажата Отмена.</returns>

publicstaticint PARI_SHOWMAINFORM() {_VariantEditForm form = newPari_VariantEditForm(pari);(form.ShowDialog() == System.Windows.Forms.DialogResult.OK)0;1;

}

///<summary>

///Получает сериализованный экземпляр PARI-анализа.

///</summary>

///<returns></returns>PARI_GETSERIALIZED() {pari.Serialize();

}

///<summary>

///Десериализует строку в экземпляр PARI-анализа.

///</summary>

///<param name="serializedPari">Строка с сериализованным экземпляром</param>

///<returns>Возвращает пустую строку, если всё прошло в штатном режиме. В случае возникновения исключения возвращает строку с исключением.</returns>

publicstaticstringPARI_DESERIALIZE(stringserializedPari) {

try {((serializedPari == "") || (serializedPari == null))= newPari_Analysis();= newPari_Analysis(serializedPari);"";

} catch (Exception exc) {GetExceptionString(exc);

}

}

///<summary>

/// Получает текущее количество вариантов-альтернатив в текущем PARI-анализе

///</summary>

///<returns></returns>PARI_GETVARIANTSCOUNT() {pari.Variants.Count;

}

///<summary>

/// Задаёт проблему PARI-анализа

///</summary>

///<returns>Возвращает старую проблему</returns>

publicstaticstring PARI_SETNEWPROBLEM(string problem) {result = pari.Problem;.Problem = problem;result;

}

///<summary>

///Получает проблему PARI-анализа

///</summary>

///<returns>Возвращает старую тему</returns>SWOT_GETPROBLEM() {pari.Problem;

}

///<summary>

///Создает новый PARI-анализ

///</summary>

///<returns></returns>PARI_SETNEW() {= newPari_Analysis();"OK";

}

#endregion

#region TAPPS

///<summary>

/// Показывает модальную форму редактирования TAPPS-анализа.

///</summary>

///<returns>Возвращает 0, если была нажата клавиша ОК. Возвращает 1, если была нажата Отмена.</returns>

publicstaticint TAPPS_SHOWMAINFORM() {_Form form = newTAPPS_Form(tapps);(form.ShowDialog() == System.Windows.Forms.DialogResult.OK)0;1;

}

///<summary>

///Получает сериализованный экземпляр TAPPS-анализа.

///</summary>

///<returns></returns>TAPPS_GETSERIALIZED() {tapps.Serialize();

}

///<summary>

///Десериализует строку в экземпляр TAPPS-анализа.

///</summary>

///<param name="serializedTapps">Строка с сериализованным экземпляром</param>

///<returns>Возвращает пустую строку, если всё прошло в штатном режиме. В случае возникновения исключения возвращает строку с исключением.</returns>

publicstaticstringTAPPS_DESERIALIZE(stringserializedTapps) {

try {((serializedTapps == "") || (serializedTapps == null))= newTAPPS_Analysis();= newTAPPS_Analysis(serializedTapps);"";

} catch (Exception exc) {GetExceptionString(exc);

}

}

///<summary>

/// Получает текущее количество вариантов-альтернатив в текущем TAPPS-анализе

///</summary>

///<returns></returns>TAPPS_GETVARIANTSCOUNT() {tapps.Variants.Count;

}

///<summary>

/// Задаёт проблему TAPPS-анализа

///</summary>

///<returns>Возвращает старую проблему</returns>

publicstaticstring TAPPS_SETNEWPROBLEM(string problem) {result = tapps.Problem;.Problem = problem;result;

}

///<summary>

///Получает проблему TAPPS-анализа

///</summary>

///<returns>Возвращает старую тему</returns>TAPPS_GETPROBLEM() {tapps.Problem;

}

///<summary>

///Создает новый TAPPS-анализ

///</summary>

///<returns></returns>TAPPS_SETNEW() {= newTAPPS_Analysis();"OK";

}

#endregion

}

}


ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ УЛЬЯНОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Кафедра: «Вычислительная техника»

Больше работ по теме:

Предмет: Информационное обеспечение, программирование

Тип работы: Диплом

Новости образования

КОНТАКТНЫЙ EMAIL: MAIL@SKACHAT-REFERATY.RU

Скачать реферат © 2018 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ