Содержание к диссертации
Введение
Глава 1. Обзор жизненного цикла программного продукта 11
1.1 Классификация программных продуктов по уровням применения 11
1.2 Стадии жизненного цикла программного продукта 18
1.3 Модели жизненного цикла программного продукта 23
1.4 Анализ последовательности этапов внутри стадий внедрения и сопровождения 33
1.5 Выявленные проблемы внедрения и сопровождения программных продуктов 38
Глава 2. Исследование порядка выполнения этапов стадий внедрения и сопровождения программного продукта в отношении этапа обучения пользователей программного продукта 40
2.1 Классификация компьютерных обучающих программ для обучения пользователей программных продуктов 41
2.2 Анализ временных и материальных затрат различных методов обучения профессиональных пользователей программного продукта 48
2.2.1. Методика расчета временных затрат на обучение профессиональных пользователей 48
2.2.2. Методика оценки материальных затрат на обучение профессиональных пользователей 51
2.3 Метод опережающего обучения профессиональных пользователей программного продукта 54
2.4 Модификация жизненного цикла программного продукта на основе метода опережающего компьютерного обучения профессиональных пользователей 59
2.5 Краткие выводы 60
Глава 3. Разработка алгоритмической модели массового профессионального пользователя 62
3.1. Модель потребности в компетентных пользователях на стадии внедрения программного продукта 62
3.2. Анализ типов пользователей программного продукта 63
3.3. Разработка алгоритмической модели класса массовых профессиональных пользователей программного продукта 69
3.4. Построение формального, объективного количественного критерия качества знаний и умений для массового профессионального пользователя 73
3.5. Метод выбора оптимального пути разрешения ситуации для массового профессионального пользователя на основе формального критерия качества 74
3.6. Краткие выводы 76
Глава 4. Метод построения компьютерных средств обучения массовых профессиональных пользователей на основе автоматической генерации модели эквивалентной программному продукту 78
4.1. Методика преобразования общего графа разрешения ситуаций в разделяемый планарный граф 78
4.2. Эквивалентность программного продукта и компьютерной обучающей программы для набора ситуаций работы массового профессионального пользователя 83
4.3. Обобщенный интерфейс компьютерной обучающей программы 86
4.4. Методика автоматизированного создания компьютерной обучающей программы для массового профессионального пользователя 90
4.5. Разработка методики использования опережающего автоматизированного создания компьютерных обучающих программ для ускорения внедрения, поддержки сопровождения и бета-тестирования программных продуктов 101
4.6. Краткие выводы 105
Глава 5. Экспериментальное исследование разработанного метода построения компьютерных средств обучения массовых профессиональных пользователей на основе автоматической генерации моделей эквивалентных программным продуктам 106
5.1. Методика экспериментального исследования эффективности компьютерных обучающих программ, построенных на основе автоматической генерации моделей эквивалентных программным продуктам 106
5.2. Экспериментальные исследования эффективности компьютерных обучающих программ при обучении пользователей систем ИБС «Гефест» и системы ведения учебных планов 109
5.3. Анализ результатов экспериментальных исследований эффективности компьютерных обучающих программ при обучении массовых профессиональных пользователей 112
5.4. Методика экспериментального исследования возможностей компьютерных обучающих программ, построенных на основе автоматической генерации моделей эквивалентных программным продуктам, для поддержки бета-тестирования интерфейса программного продукта 116
5.5. Экспериментальные исследования возможностей компьютерных обучающих программ, построенных на основе автоматической генерации моделей эквивалентных программным продуктам, для поддержки бета-тестирования интерфейса программного продукта 118
5.6. Анализ результатов экспериментального исследования возможностей компьютерных обучающих программ, построенных на основе автоматической генерации моделей эквивалентных программных продуктов, для поддержки бета-тестирования интерфейса программного продукта 119
5.7. Краткие выводы 120
Заключение 122
Библиография 127
Приложения 141
- Выявленные проблемы внедрения и сопровождения программных продуктов
- Метод опережающего обучения профессиональных пользователей программного продукта
- Метод выбора оптимального пути разрешения ситуации для массового профессионального пользователя на основе формального критерия качества
- Разработка методики использования опережающего автоматизированного создания компьютерных обучающих программ для ускорения внедрения, поддержки сопровождения и бета-тестирования программных продуктов
Введение к работе
Актуальность темы исследования
Во многих отраслях экономики информационные технологии играют все более значимую роль в создании конкурентных преимуществ. Производится огромное количество программных продуктов (ПП), однако, ряд авторов отмечают, что количество неудачных внедрений составляет порядка 30%. Учитывая, что стоимость риска на стадиях внедрения и сопровождения составляет максимальное значение, стадии внедрения и сопровождения новых и модифицированных ПП являются наиболее критичными стадиями для оценки успешности всего проекта разработки. Достаточно часто работы, проводимые на стадии внедрения, включают в стадию сопровождения. В соответствии с российскими и международными стандартами в стадии внедрения выделяется этап «подготовка пользователей», причем работа с пользователями включает в себя различные аспекты от обучения работе до психологических аспектов восприятия новой системы. Исследование проблем повышения эффективности внедрения ПП, существенной частью которого является разработка методов и инструментальных средств обучения пользователей ПП, является актуальной научной задачей.
Значительный вклад в методы и средства, поддерживающие стадии жизненного цикла программного продукта, такие как сопровождение и внедрение, внесли следующие ученые и организации: У. Ройс, Б. Боэм, Дж. Мартин, И.А. Соколов, К.К. Колин, В.В. Липаев, Институт управления проектами (PMI), Технический комитет по стандартизации ТК 22 "Информационные технологии" и другие. Весомый вклад в развитие современного этапа применения информационных технологий в образовании внесли такие ученые как: А.Н. Тихонов, В.П.Тихомиров, А.В. Соловов, Н.Н. Филатова, Г.А. Атанов, Л.С. Лисицына, П.Л. Брусиловский и другие. Эти авторы предложили общие методы подготовки пользователей, однако недостаточное внимание уделено такому большому классу пользователей как массовые профессиональные пользователи, а компетентность пользователей данного класса во многом определяет успешность внедрения.
Подготовка пользователей программного продукта после этапа ввода в эксплуатацию программного продукта существенным образом замедляет стадию внедрения программного продукта. Причем для большого количества пользователей программного продукта эффективность подготовки существенно зависит от выбранного метода подготовки пользователей к работе с программным продуктом. В отечественных и зарубежных материалах недостаточно исследован вопрос отличий требований к подготовке различных классов пользователей, особенно вопрос деятельного компьютерного обучения большого количества пользователей программного продукта с использованием эмуляции внедряемого программного продукта на рабочем месте. В известных методиках обучения недостаточно учтены особенности разных классов пользователей и слабо проведена формализация оценки компетентности пользователя программного продукта при работе с внедряемым программным продуктом.
В связи с этим целью исследования является восполнение пробела в области разработки методов и алгоритмов поддержки процессов жизненного цикла программного продукта с большим количеством профессиональных пользователей.
Объектом исследования является программный продукт с большим количеством профессиональных пользователей и инструментарий его сопровождения.
Предмет исследования определен перечнем задач, решаемых в диссертации, и соответствует областям исследований «Оценка качества, стандартизация и сопровождение программных систем» и «Модели, методы и алгоритмы проектирования и анализа программ и программных систем, их эквивалентных преобразований, верификации и тестирования» в паспорте специальности 05.13.11 «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей».
В соответствии с поставленной целью сформулированы следующие основные задачи:
корреляция во времени этапа подготовки пользователей и стадий тестирования, внедрения и сопровождения жизненного цикла программного продукта;
анализ методов и инструментов подготовки большого числа профессиональных пользователей программного продукта;
разработка математической модели потребности в обученных профессиональных пользователях программного продукта на стадиях внедрения и сопровождения программного продукта;
анализ компетенции различных типов пользователей программного продукта и построение формальной алгоритмической модели работы массовых профессиональных пользователей программного продукта;
разработка методики автоматизированного создания имитационной модели программного продукта для ситуационного обучения пользователей;
разработка и исследование метода опережающей подготовки большого количества профессиональных пользователей программного продукта, на основе имитационной модели программного продукта.
Методы исследования
В диссертационной работе использовались понятия и методы теории графов, теории множеств, методы ситуационного обучения и методы автоматизированного компьютерного обучения, теория баз данных, статистические методы анализа данных.
Обоснованность и достоверность научных положений, теоретических выводов и практических рекомендаций определяются конкретностью математических выкладок, теоретических предпосылок и экспериментальными исследованиями.
Научная новизна работы состоит в том, что в диссертации впервые создана алгоритмическая модель работы массового профессионального пользователя программного продукта, позволяющая разработчикам программных продуктов формально строить набор ситуаций необходимых для обучения класса массовых профессиональных пользователей. Проведен анализ методов обучения большого
количества пользователей программного продукта и построена корреляция между типами пользователей и методами их обучения. Исследованы последовательности этапов в модели жизненного цикла программного продукта и показана возможность переноса этапа деятельного обучения массовых профессиональных пользователей в стадию тестирования на основе использования имитационных моделей программного продукта. В диссертации разработана методика автоматизированного построения эквивалентной имитационной модели программного продукта для цели обучения массовых профессиональных пользователей на стадии тестирования. Предложен метод опережающего обучения массовых профессиональных пользователей на основе методики автоматизированного построения эквивалентной имитационной модели. Предложена методика разработки компьютерных обучающих программ для опережающего обучения массовых профессиональных пользователей. Экспериментально исследованы возможности компьютерных обучающих программ и показана эффективность предложенного метода. Исследован побочный эффект деятельного опережающего обучения в виде бета-тестирования программного продукта.
Практическую ценность работы составляют: Метод опережающего обучения профессиональных пользователей программного продукта. Методика построения компьютерных средств обучения массовых профессиональных пользователей на основе автоматической генерации модели эквивалентной программному продукту. Методика использования опережающего автоматизированного создания компьютерных обучающих программ для ускорения внедрения, поддержки сопровождения и бета-тестирования программных продуктов. Результаты экспериментальных исследований предложенных методов и методик обучения массовых профессиональных пользователей, подтверждающие эффективность предложенных методик обучения массовых профессиональных пользователей и возможностей использования опережающего обучения в качестве побочного бета-тестирования программного продукта.
Апробация работы
Научные положения, выводы и основные результаты диссертационной работы изложены в 16 публикациях, в том числе 4 публикациях в журналах из перечня ВАК, докладывались и обсуждались на 11 научно-методических, научно-технических, научно-практических всероссийских и международных конференциях в 2007-2013 годах, а также на Всероссийском научно-практическом семинаре ФГАУ ГНИИ ИТТ "Информика".
Было получено свидетельство о государственной регистрации программ для ЭВМ: В.К. Григорьев, А.А. Бирюкова. Алгоритм и программа выделения массовых профессиональных пользователей информационно-управляющей системы. Отраслевая регистрация алгоритмов и программ. Государственный фонд неопубликованных документов, ФГНУ «ЦИТиС», Москва, инвентарный номер ВНТИЦ: 50201150478
Предложенная методика автоматизированного создания компьютерной обучающей программы используется в учебном процессе на кафедре «Математического обеспечения и стандартизации информационных технологий» МГТУ МИРЭА и на кафедре «Информационных процессов и систем» при ФГАНУ
ЦИТиС в курсах «Технологии электронного обучения», «Тестирование программного обеспечения» и «Технология программирования». Созданные по авторской методике компьютерные обучающие программы использовались при внедрении программных продуктов для обучения пользователей Государственного банка данных о детях, оставшихся без попечения родителей (ГБД АИСТ) и программного продукта в рамках проекта «Оптимизация системы социального обслуживания в стационарных учреждениях и на дому».
Структура и объем диссертации
Диссертация состоит из введения, пяти глав, заключения, библиографии и приложений. Объем основного текста составляет 165 страниц, 11 таблиц и 55 рисунков.
Выявленные проблемы внедрения и сопровождения программных продуктов
В работе рассматриваются процессы жизненного цикла программного продукта, а именно процессы внедрения и сопровождения проблемно-ориентированных прикладных программных продуктов с большим количеством профессиональных пользователей, т.к. неуспешное завершение этих процессов ставит под сомнение целесообразность разработки программного продукта.
Одной из глобальных проблем стадий внедрения и сопровождения является обучение пользователей, так как оно занимает значительные, по сравнению с другими работами стадии сопровождения, временные и материальные ресурсы [48, 49].
Из рисунка 1.15 и формулы 1.3 видно, что к моменту внедрения программного продукта к обучению пользователей программного продукта предъявляются жесткие требования по скорости обучения в условиях ограниченных возможностей по персоналу, который может заниматься обучением, и по реальным ресурсам, на которых может проводиться деятельное обучение. В то же время в соответствии с рис 1.17 видно, что во многих случаях стадии внедрения и тестирования имеют перекрытия во времени и исследование этого перекрытия позволит проанализировать возможности по ускорению обучения профессиональных пользователей программного продукта.
Наибольший интерес представляет исследование пересечения во времени этапов обучения профессиональных пользователей и бета-тестирования программного продукта, что показано на рисунке 1.17.
Для уменьшения риска провала внедрения программного продукта, а также уменьшения временных и материальных затрат на стадии сопровождения необходимо исследовать следующие аспекты стадий внедрения и сопровождения:
место этапа подготовки профессиональных пользователей в модели жизненного цикла программного продукта;
потребность в обученных профессиональных пользователях программного продукта на стадии внедрения нового или модифицированного программного продукта и потребность в обучении при приеме на работу новых сотрудников [50];
методы и инструменты подготовки профессиональных пользователей. Глава 2. Исследование порядка выполнения этапов стадий внедрения и сопровождения программного продукта в отношении этапа обучения пользователей программного продукта
Первичный процесс обучения профессиональных пользователей проводится на стадии внедрения программного продукта. На стадии сопровождения проводится дообучение пользователей, и обучение новых пользователей, не работающих ранее с программным продуктом. При внедрении обучение проводится после ввода системы в эксплуатацию и оптимизации производительности, таким образом, создается ситуация, что продукт уже прошел ввод в эксплуатацию, а пользователей, умеющих работать с программным продуктом, еще нет.
На этапе обучения пользователей количество специалистов, умеющих работать с системой, обычно ограниченно, т.к. к таким специалистам можно отнести в основном разработчиков, тестестировщиков и технических писателей, в то время как потребность в компетентных пользователях на этом этапе весьма велика. Рассмотрим взаимное расположение во времени пиков интенсивности стадий тестирования, внедрения, сопровождения и рост потребности в компетентных пользователях (рис.2.1).
Поскольку основной задачей обучения является приобретение профессиональными пользователями навыков работы с программным продуктом, то целесообразно обучение с помощью компьютерных обучающих систем.
Классификация компьютерных обучающих программ для обучения пользователей программных продуктов
Из рисунка 2.1 видно, что потребность в компетентных пользователях резко растет в начале стадии сопровождения. Количество и качество подготовленных пользователей существенно определяется выбранными стратегией обучения, методами и инструментами обучения пользователей. Таким образом, от выбранной стратегии обучения пользователей зависят сроки сдачи проекта и материальные затраты на проект.
Традиционное классическое обучение, веками практикуемое во всем мире перестало отвечать современным требованием информационного общества. Если раньше было достаточно один раз получить хорошее образование и в дальнейшем использовать его практически всю жизнь, то в настоящее время во многих отраслях обновление знаний происходит ежегодно, следовательно, учиться необходимо всю жизнь [51, 52].
Академической общественностью системы образования России признано, что важным и перспективным направлением развития системы образования является широкое внедрение методов дистанционного обучения (ДО) на основе использования современных педагогических, перспективных информационных и телекоммуникационных технологий [53, 54].
Дистанционное обучение – это форма образовательного процесса, позволяющая организовать процесс обучения, преодолевая географические расстояния средствами дистанционных технологий, с целью формирования у учащихся необходимых знаний, умений, навыков, развитию мировоззрения [55]. Особую актуальность технологии ДО приобретают в условиях стран, имеющих обширную территорию. К числу таких стран относится и Россия. Создание эффективных систем дистанционного обучения создает условия социальной доступности к качественному образованию для значительной части населения, содействует решению проблемы образования для людей, которые по различным причинам не могут воспользоваться услугами очного обучения.
Метод опережающего обучения профессиональных пользователей программного продукта
Рассмотрим стадию тестирования программного продукта. Цель тестирования – обнаружить и устранить максимально возможное количество ошибок в условиях уменьшающейся отдачи на инвестированный капитал [25, 30].
Выделяют следующие этапы тестирования [23, 25, 26, 32, 34, 94] (рис.2.3):
1) модульное тестирование (тестируется минимально возможный для тестирования компонент, например, отдельный класс или функция);
2) интеграционное тестирование (проверяется, есть ли какие-либо проблемы в интерфейсах и взаимодействии между интегрируемыми компонентами);
3) системное тестирование (тестируется интегрированная система на ее соответствие исходным требованиям);
4) альфа-тестирование – имитация реальной работы с системой потенциальными пользователями/заказчиком на стороне разработчика. Часто альфа-тестирование применяется для законченного продукта в качестве внутреннего приемочного тестирования.
5) Бета-тестирование – в некоторых случаях выполняется распространение версии с ограничениями (по функциональности или времени работы) для некоторой группы лиц тем, чтобы убедиться, что продукт содержит достаточно мало ошибок. Иногда бета тестирование выполняется для того, чтобы получить обратную связь о продукте от его будущих пользователей. 6) Регрессионное тестирование (тестирование, направленное на проверку изменений, сделанных в ПП или окружающей среде, для подтверждения функциональности модулей и ПП в целом).
Для обучения пользователей требуется ПП с реализованным функционалом, т.к. для передачи навыков работы с ПП больше подходит деятельное обучение [86]. А ПП с работающим функционалом и пользовательскими интерфейсами, но не прошедший полного тестирования, появляется между такими стадиями тестирования, как интеграционное тестирование и системное тестирование (рис.2.5).
Таким образом, на этапе системного тестирования есть возможность начать подготовку методических материалов для проведения обучения. За счет этого этап обучения пользователей начинается не на этапе бета-тестирования, а на этапе системного тестирования, что позволяет начать обучение пользователей заранее. Перенос вперед по времени этапа обучения пользователей и специалистов группы поддержки позволяет модифицировать жизненный цикл ПП (рис. 2.6).
Реализованный функционал ПП дает возможность начать опережающее обучение профессиональных пользователей, уже на стадии тестирования до этапов планирования сопровождения, оптимизации производительности, ввода в эксплуатацию, бета-тестирования, планирования внедрения, альфа-тестирования и системного тестирования, что сокращает сроки внедрения ПП и дает возможность выявить проблемы сопровождения уже на этапе системного тестирования.
В начале этапа обучения возникает проблема разрыва знаний, когда знания и умение работать в новых ПП необходимы большому числу людей, а обладают ими крошечное количество людей, в основном разработчики конкретного ПП. Это обуславливает необходимость применения электронных средств обучения. В настоящее время сопровождение системы такими элементами как руководство пользователя и встроенная помощь является стандартом разработки ПП. Однако при внедрении ПП разработчики зачастую сталкиваются с проблемой неумения или боязни пользователей принимать определенные технологические решения разработчиков. При этом руководство пользователя или встроенная помощь зачастую являются достаточно сложным для понимания средством, особенно для человека, не являющегося специалистом в области компьютеров. Помимо этого составление документации непосредственно разработчиками, не являющимися специалистами в области обучения, зачастую опускает важные с точки зрения восприятия пользователем аспекты описания системы.
При обучении работе с ПП наиболее важным является эффективное освоение навыков работы с ПП, поэтому наиболее интересным представляется ситуационной метод обучения, на основе деятельностного подхода, разработанного Выгодским и его учениками [82] . Школа Выгодского считает, что общение ученика с учителем является важным условием усвоения учебного материала, но за обучающим общением всегда стоит деятельность учащегося с предметами действительности или их знаковыми заместителями. Учитель, общаясь с учеником, прежде всего, управляет этой предметной деятельностью учащегося. Новые знания и умения усваиваются сначала в виде сознательно регулируемых актов, т.е., в терминологии Леонтьева [88], действий. Затем они могут автоматизироваться и превращаться в операции, которые сознаются только в случае, если их автоматический ход наталкивается на препятствия. Компьютерное обучение не изменяет традиционной структуры учебно-познавательной деятельности, однако наполняет ее содержание новыми элементами. При таком обучении происходит изменение роли преподавателя путем частичного или полного переложения его функций на компьютерные средства. Компьютерные средства влекут за собой пересмотр психологии взаимодействия преподавателя с обучаемым. Они требуют изменения акцента, в сторону самостоятельного получения знаний и умений.
Следует признать, что ситуационный метод обучения (case method) является наиболее целесообразным методом обучения при подготовке большого числа пользователей ПП, в чьи обязанности входит работа посредством внедряемого ПП. Здесь важно отметить, что все базовые ситуации и их способы разрешения через интерфейсы разрабатываемого ПП имеются уже на начальной стадии создания ПП. Действительно, на этапе системного тестирования занимает от нескольких недель до нескольких месяцев [95] и на этом этапе происходит тестирование пользовательского интерфейса и его функционала, производительности, доступа, пользовательской нагрузки, целостности данных, инсталляционное тестирование, на разных платформах, альфа-тестирование и т.д.. Таким образом, между готовностью пользовательского интерфейса для работы с базовыми ситуациями и готовностью к эксплуатации всего ПП проходит от нескольких недель до нескольких месяцев, в течение которых можно проводить обучение пользователей. Это обучение будет опережающим по отношению к готовности к эксплуатации объекта изучения [100].
Метод выбора оптимального пути разрешения ситуации для массового профессионального пользователя на основе формального критерия качества
Для пользователя ПП процесс разрешения ситуации представляется в виде последовательности интерфейсов и переходов между ними [105]. Причем, после входа в ПП, происходит выбор исходного интерфейса ситуации, последовательности действий внутри интерфейсов и переходов между интерфейсами для разрешения ситуации. Представим одну из ситуаций и процессы ее разрешения в виде однонаправленного графа без циклов, в вершинах которого все возможные состояния интерфейса с точки зрения внешнего вида (картинки), а ребра – возможные переходы между состояниями при возникновении событий (в частности действий пользователя).
На основе количественного критерия и просмотра всех путей разрешения ситуации мы можем описать метод выделения оптимального пути разрешения ситуации для МПП в графе разрешения ситуации (рис.3.8).
НИ – начальный интерфейс разрешения ситуации; КИ – конечный интерфейс разрешения ситуации; Иi – промежуточный интерфейс. В соответствии формальным, объективным количественным критерием качества знаний и умений для МПП для каждой ситуации, разрешаемой МПП, можно выбрать одну последовательность разрешения ситуации для МПП. Такой последовательностью будет та последовательность, которая имеет минимальное значение критерия, что характеризует минимизацию времени выполнения работы: где T}. - реальное время выполнения у-ой операции; s} - время исправления ошибки в Fj операции; т} - среднее время выполнения у-ой операции в ПП; v- частота выполнения у-ой операции в ПП за рабочую смену. Минимальное время выполнения имеет четвертый вариант разрешения ситуации, таким образом, в качестве оптимального пути выбран четвертый путь: НИ(а)-И5-И6(б)-КИ.
В третьей главе построена модель потребности в компетентных пользователях на стадии внедрения, на основе которой показана целесообразность использования электронных средств обучения профессиональных пользователей.
Из профессиональных пользователей выделена специальная группа массовых профессиональных пользователей ( 80% от всех профессиональных пользователей) со следующими характеристиками:
1. работа с программным продуктом, входит в их профессиональные обязанности и занимает существенную часть их рабочего времени;
2. при работе массовый профессиональный пользователь выполняет небольшое число «очень часто» повторяющихся операций;
3. Массовый профессиональный пользователь должен выполнять операции быстро, работа должна быть доведена до автоматизма.
Для этой группы построен и зарегистрирован автором алгоритм формального описания класса массовых профессиональных пользователей (п. 3.3).
Проведенное исследование класса массовых профессиональных пользователей показывает, что
повышение качества обучения массовых профессиональных пользователей существенным образом влияет на повышение эффективности и уменьшение сроков внедрения программного продукта;
наиболее оптимальным для обучения пользователей класса массовых профессиональных пользователей является ситуационный метод обучения.
Проведенное исследование класса массовых профессиональных пользователей позволило:
дать формальный количественный критерий определения качества обучения массовых профессиональных пользователей;
построить оптимальный путь разрешения ситуации для массового профессионального пользователя;
выделить ситуационный метод обучения как оптимальный способ обучения массовых профессиональных пользователей.
Разработка методики использования опережающего автоматизированного создания компьютерных обучающих программ для ускорения внедрения, поддержки сопровождения и бета-тестирования программных продуктов
В результате применения методики можно совместить необходимое качество обучения с минимизацией времени на подготовку сценариев обучения.
Разработка методики использования опережающего автоматизированного создания компьютерных обучающих программ для ускорения внедрения, поддержки сопровождения и бета-тестирования программных продуктов
Рассмотрим подробнее альфа- и бета-тестирование, т.к. данные виды тестирования проводятся перед стадией внедрения. Во многих случаях предполагаемые пользователи хотят наряду с заказчиками участвовать в процессе системного тестирования. Это возможно с помощью альфа- и бета-версий.
Альфа-версия:
внутренние и высоконадежные пользователи;
множественное тестирование;
позволяет улучшить предварительную оценку реакции пользователя;
выгодна разработчикам третьей стороны.
Бета-версия:
избранные заказчики;
множественное тестирование;
позволяет получить реакцию заказчика.
Назначение альфа-версии - предоставить организации-разработчику обратную связь и информацию о дефектах от группы людей, превосходящей тестеров в количестве, без изменения репутации пока не выпущенного продукта. После распространения альфа-версии выпускается бета-версия.
Бета-версии раздаются части сообщества заказчиков с учетом того, что заказчики должны будут докладывать об обнаруженных ошибках. Кроме того альфа- и бета- версии используются для убеждения потенциальных клиентов в том, что помимо обещаний разработчика существует уже почти готовый продукт. Основной мотивацией альфа- и бета-тестирования является получение более полной информации о продукте. Разработчики могут получить информацию о программе (обычно о ее программном интерфейсе), чтобы в будущем иметь возможность начинать разработку программ, использующих эту. Пользователи получают возможность обдумать покупку этой программы.
Альфа-тестирование – тестирование прикладной программы при запуске системы в действие в первый раз на территории разработчика с целью ее тестирования пользователем в момент, когда процесс разработки приближается к завершению. В результате проведения такого тестирования в проект могут вноситься незначительные изменения. Как правило, этот процесс выполняется конечными пользователями или другими лицами, но не программистами или тестерами [25].
Бета-тестирование – тестирование конечными пользователями на территории заказчика в момент, при котором разработка и тестирование по существу завершены и до окончательного выпуска продукта необходимо обнаружить оставшиеся ошибки и проблемы. Как правило, этот процесс выполняется конечными пользователями или другими лицами, но не программистами и тестерами [25].
Затраты на устранение ошибок найденных на стадии внедрения в 5 раз больше чем на стадии кодирования, а на стадии сопровождения в 20 раз больше чем на стадии кодирования [23], что составляет больше половины затрат [33]. Время, затрачиваемое на исправление дефекта, найденного во время внедрения, в 9 раз превышает время, затраченное на исправление на стадии тестирования, причем время на поиски ошибок на стадии внедрения может быть в 3 раза меньше, чем на стадии тестирования [26]. Таким образом, качественно проведенное тестирование способствует успешному внедрению ПП.
Автоматизированное создание компьютерной обучающей программы на стадии тестирования ПП и начало обучения пользователей программного продукта до этапа внедрения дает возможность опережающего бета-тестирования, по сравнению со стандартной схемой тестирования принятой в ЖЦ.
Действительно обучающую программу создают представитель стороны заказчика и разработчики. Таким образом, сторона заказчика не просто знакомится, а выполняет реальную работу по разрешению ситуаций входящих в должные обязанности МПП, в функционале и интерфейсах ПП. Фактически это можно рассматривать как предварительное бета-тестирование функционала и интерфейсов.
Методика использования опережающего автоматизированного создания КОП для ускорения внедрения, поддержки сопровождения и бета тестирования ПП включает следующие пункты: 1. Создание сценария для обучающей программы.
а. Выделение ситуаций, разрешение которых входит в должностные обязанности МПП, исходя из должностной инструкции МПП.
б. Выбор способов разрешения для каждой ситуации, решаемой с помощью программного продукта, исходя из инструкции пользователя к программному продукту.
в. Выбор базовой последовательности разрешения ситуации, для каждой ситуации, разрешаемой МПП с помощью программного продукта, исходя из методики выбора базовых последовательностей разрешения ситуаций для МПП.
г. Разработка разделов сценария компьютерной обучающей программы согласно базовым последовательностям разрешения ситуаций МПП, исходя из методики выбора минимального набора учебных ситуаций для сценария обучения МПП (формула 4.9).
2. Создание элементов для построения эквивалентной модели программного продукта для разработанных разделов, на основе функциональных схем и интерфейсов программного продукта, находящегося на этапе функционального тестирования.
3. Создание компьютерной обучающей программы на основе спроектированных сценариев с использованием программного продукта.
а. Проектирование сценариев компьютерной обучающей программы на основе построенных эквивалентных моделей.
б. Создание скриптов компьютерной обучающей программы.
4. Настройка компьютерной обучающей программы.
а. Утверждение выпускаемой версии компьютерной обучающей программы.
б. Создание списка обучаемых пользователей в компьютерной обучающей программе и настройка прав доступа пользователей к сценариям компьютерной обучающей программы.
5. Обучение конечных профессиональных пользователей, с использованием созданной компьютерной обучающей программы, со сбором данных по времени выполнения шагов сценариев компьютерной обучающей программы и сбором ошибок и пожеланий, замеченных пользователями во время обучения.