Содержание к диссертации
Введение
ГЛАВА 1. Анализ методов и технологий разработки компьютерных социотехнических систем 17
1.1. Формализация структуры компьютерной обучающей системы 17
1.1.1. Структурная схема процесса управления электронным обучением 18
1.1.2. Высокоуровневая модель потоков данных компьютерной обучающей системы 27
1.2. Методы и технологии разработки компьютерных систем для
образовательной сферы 30
1.2.1. Авторские системы разработки 30
1.2.2. Методы и языки программирования компьютерных обучающих систем 35
1.3. Анализ факторов качества компьютерных обучающих систем 37
1.3.1. Классификация факторов качества 37
1.3.2. Анализ ключевых факторов качества 40
1.4. Принципы проектирования семейства приложений для электронного
обучения 45
1.5. Определение проблематики и задач исследования 52
Выводы по главе 1 56
ГЛАВА 2. Стратегии и регламент процесса проектирования компьютерных обучающих систем 58
2.1. Концепция программно-инструментальной платформы разработки компьютерных обучающих систем 58
2.1.1. Методы программной инженерии 58
2.1.2. Унифицированный язык визуального моделирования 61
2.1.3. CASE-средства автоматизации процесса разработки 67
2.2. Базовая модель процесса проектирования компьютерных обучающих систем 71
2.2.1. Сравнительный анализ моделей процессов разработки 72
2.2.2. Требования к процессу проектирования. Ключевые рекомендации 85
2.3. Регламентация процесса проектирования компьютерных обучающих систем 90
2.3.1. Процессное проектирование 90
2.3.2. Рецензирование проекта по контрольным точкам фаз 103
Выводы по главе 2 107
ГЛАВА 3. Визуализация моделей анализа и проектирования компьютерных обучающих систем 108
3.1. Принципы визуализации проектных решений для семейства компьютерных социотехнических систем 108
3.2. Визуализация моделей анализа предметной области
3.2.1. Сущность типовой модели предметной области 114
3.2.2. Визуализация понятий предметной области 116
3.3. Методика идентификации классов и объектов 123
3.3.1. Подходы к декомпозиции системы 123
3.3.2. Синтез методов декомпозиции системы 125
3.4. Стратегия создания визуальных артефактов анализа и
проектирования .компьютерных обучающих систем 139
3.4.1. Визуальное моделирование на начальной и уточняющей фазах разработки 139
3.4.2. Артефакты анализа и проектирования 141
3.4.3. Визуальное моделирование на завершающих фазах 153
Выводы по главе 3 155
ГЛАВА 4. Методы совершенствования архитектурных решений для компьютерных обучающих систем 157
4.1. Стратегии и образцы визуальных моделей с элементами повторного
использования 157
4.1.1. Стратегия повторного использования проектных элементов .157
4.1.2. Образцы объектных моделей для проектирования компьютерных обучающих систем 161
4.2. Метод визуализации анализа и проектирования подсистемы поддержки графического пользовательского интерфейса 166
4.2.1. Визуальный образец объектной модели системы поддержки пользовательского интерфейса 166
4.2.2. Архитектурное проектирование системы поддержки интерфейса с применением модельных каркасов 177
4.3. Оценка эффективности и практичности визуальных моделей анализа и проектирования 184
4.3.1. Оценка эффективности стратегий и визуальных образцов .184
4.3.2. Оценки практичности визуальных моделей прототипа пользовательского интерфейса 191
Выводы по главе 4 207
ГЛАВА 5. Результаты практического применения методов проектирования компьютерных обучающих систем 209
5.1. Пакет адаптивных и расширяемых визуальных моделей компьютерных обучающих систем 209
5.1.1. Описание прецедентов компьютерной обучающей системы 211
5.1.2. Особенности визуализации модели анализа 217
5.2. Визуальные модели анализа и проектирования модуля генерации учебно-тренировочных заданий 226
5.2.1. Интегрированный пакет спецификации требований 226
5.2.2. Документ-концепция модуля 230
5.2.3.Модельное специфицирование 241
5.3.Ввизуализация моделей анализа и проектирования комплекта программных тренажеров 254
Выводы по главе 5 258
Заключение 260
Литература
- Структурная схема процесса управления электронным обучением
- Унифицированный язык визуального моделирования
- Визуализация моделей анализа предметной области
- Оценка эффективности и практичности визуальных моделей анализа и проектирования
Введение к работе
Актуальность работы. В мировой программной индустрии создание компьютерных систем сопровождается ростом трудоемкости их конструирования, по мере того как возрастает их сложность. Программные приложения имеют чрезвычайно много разновидностей, и каждая предметная область предопределяет особые проблемы, отличающиеся собственным уровнем сложности
Электронные средства обучения, представленные разнообразными типами компьютерных обучающих систем, являются важнейшими составляющими компьютерных технологий в сфере образования Специфика предметной области — электронного обучения — такова, что все современные виды компьютерных обучающих систем относятся к социотехническим программным системам и предназначены для реализации основных педагогических задач передачи знаний, умений и навыков, а также для осуществления контроля знаний Поэтому целесообразно рассматривать компьютерные обучающие системы как приложения, принадлежащие к семейству (линейке) программных продуктов социотехнического типа данной предметной области и имеющие функциональную специализацию
Ведущие отечественные специалисты в области компьютерных технологий обучения отмечают, что в современной системе образования при возникновении потребности в качественно новых учебно-методических средствах предпочтение будет отдаваться компьютерным обучающим системам Можно полагать, что по мере развития информационных технологий и совершенствования образовательной сферы компьютерные обучающие системы будут составлять ядро учебно-методического обеспечения
Развитие информационных технологий, в том числе сближение вычислительной и коммуникационной техники, определяет постоянное возрастание сложности программного обеспечения компьютерных технологий обучения Крупные проекты в этой области характеризуют, как правило, большое количество функций, процессов, элементов данных и взаимосвязи между ними, а также наличие совокупности взаимодействующих информационных и программных компонентов, имеющих локальные задачи и цели функционирования Следует отметить, что попытки улучшения существующих компьютерных обучающих систем в целях их адаптации к новейшим технологиям приводит к возникновению ряда технических и организационных проблем, связанных с необходимостью изменения требований и, соответственно, программного кода приложения.
Тенденцией настоящего времени является повышение требований к качеству и эффективности компьютерных обучающих систем, сокращению сроков разработки и трудозатрат
Проблемы создания качественного программного продукта для образовательной сферы носят как инвариантный, так и вариативный характер по отно-
3 Г
шению к процессу разработки Сущностные свойства программного обеспечения (сложность, изменчивость, абстрактность и т д ) порождают инвариантные проблемы их разработки, поскольку программный продукт в значительной степени есть результат творческого ремесла или даже искусства Наличие вариативных проблем разработки обусловлено влиянием человеческого фактора, особенно значимого при создании социотехнических систем, к которым относятся компьютерные обучающие системы Это проблемы адекватного воплощения в компьютерных обучающих системах дидактических, функциональных и технологических требований заказчиков — специалистов в образовательной сфере При этом успешность проекта в значительной степени зависит от их участия в процессе разработки, регламент и визуализация рабочих продуктов которого, должны обеспечить конструктивное взаимодействие всех заинтересованных сторон
Проблема снижения общей стоимости проектов компьютерных обучающих систем и сокращение времени на их разработку и тестирование отражает тенденцию в программной индустрии снижение зависимости разрабатываемой системы от изменяющихся требований и обеспечение ее гибкости для внесения изменений.
Совокупность этих взаимосвязанных проблем отражает проблематику разработки компьютерных систем для образовательной сферы
В настоящее время разработка компьютерных обучающих систем осуществляется традиционным способом программирования или с использованием инструментальных средств — универсальных и специализированных, ориентированных на создание приложений определенного класса Этот инструментарий не решает всей совокупности проблем создания качественных компьютерных обучающих систем, отвечающих требованиям современной программной индустрии
Вопросам технологии разработки программных систем для образовательной отрасли посвящены труды многих специалистов Башмакова А И, Большакова А А, Гавриловен Т А, Гузеева В В , Домрачева В Г, Иванникова А Д, Кривицкого Б X, Кривошеева А О, Красновой Г А, Мельникова А В , Норен-кова И П, Ретинской И В , Романова А Н, Соловова А В , Тихомирова В П, Трапезникова С.Н., Филатовой Н Н и др
Вместе с тем, существующие на сегодняшний день методики и технологии разработки компьютерных обучающих систем значительно отстают от научно-технических достижений в области создания программного обеспечения для других отраслей Сложилось известное противоречие между потребностями образовательного процесса в современных электронных средствах обучения и контроля, отражающих инновации информационных и коммуникационных технологий, с одной стороны, и недостаточной эффективностью традиционных методов и средств их создания (прямого кодирования и автоматизированных систем разработки) — с другой стороны
Следует подчеркнуть, что в соответствии с современными тенденциями мировой программной индустрии особое значение имеет перенос основного акцента в разработке компьютерных систем с программирования на объектно-
ориентированное проектирование. Это обусловливает необходимость развития методологии проектирования компьютерных обучающих систем, обеспеченной соответствующей программно-инструментальной поддержкой
Весомый вклад в развитие теории анализа и практики проектирования автоматизированных информационных систем внесли отечественные и зарубежные ученые Вендров А М, Калянов Г Н, Колесов Ю Б., Липаев В В , Костог-рызов А.И., Новоженов Ю В , Силич М.П, Тельнов Ю Ф , Терехов А Н, Буч Г, Гамма Э , Грэхем И, Йордан Э., Константайн Л., Ларман К, Рамбо Дж., Якобсон А и другие Несмотря на успехи в развитии объектно-ориентированных методов проектирования и инструментария автоматизации (CASE-средств), возможности новых современных технологий программной индустрии недостаточно применяются в области разработки программного обеспечения для образовательной отрасли.
Для решения вышеозначенной проблематики создания компьютерных обучающих систем необходима разработка специализированных методик объектно-ориентированного проектирования с применением системного анализа, как основного методологического инструмента проектирования систем
Таким образом, создание методологии проектирования компьютерных обучающих систем, основанной на системном подходе к использованию современных методов программной инженерии, и совершенствование методов и средств проектирования является для образовательной сферы крупной актуальной научно-технической проблемой.
Цель диссертационной работы и задачи исследования. Для решения указанной научной проблемы в работе развиты принципы системного подхода к анализу и проектированию компьютерных обучающих систем на основе методов программной инженерии, что позволит повысить эффективность процесса разработки и качество программных средств обучения для образовательной сферы
При реализации поставленной цели в работе сформулированы и решены следующие задачи
проведено системное исследование проблем проектирования компьютерных систем для электронного обучения и выполнен анализ технологических процессов проектирования с выявлением механизмов модификации и адаптации для применения в отраслевых интегрированных средах разработки;
разработаны принципы и методы регламентации технологического процесса объектно-ориентированного анализа и проектирования итеративного и инкрементного характера на основе современных технологий программной инженерии,
разработаны принципы полномасштабного отражения функциональных требований к компьютерным обучающим системам в визуальных проектных моделях при формализации всей совокупности исходной информации,
выполнен системный анализ методов идентификации ключевых абстрак-
ций и механизмов области приложения и разработаны на этой основе принципы концептуализации предметной области для визуального моделирования программных систем в образовательной отрасли,
проведен анализ статических моделей компьютерных обучающих систем и идентифицированы проектные образцы для решения задач повторного использования компонентов в широком спектре программных продуктов для образовательной сферы;
проведена апробация разработанных в диссертации принципов, методов и программно-инструментального обеспечения для проектирования конкретных типов компьютерных обучающих систем
Методы исследований. Для решения поставленных задач в работе используются методы системного анализа, теория и методы программной инженерии, методы объектно-ориентированного анализа и проектирования, методы визуального моделирования.
Достоверность и обоснованность диссертационных исследований подтверждается результатами практических разработок широкого спектра электронных средств обучения, которые зарегистрированы в отраслевом фонде алгоритмов и программ Федерального агентства по образованию, а также успешным внедрением разработанных методов и программно-инструментальных средств объектно-ориентированного проектирования компьютерных обучающих систем в различных высших учебных заведениях и организациях
На защиту выносятся:
Методологическая и технологическая концепция проектирования компьютерных систем на основе методов программной инженерии, имеющая междисциплинарный характер и учитывающая как технические аспекты проблемы, так и гуманитарные
Метод идентификации ключевых абстракций и механизмов области приложений на основе синтеза структурного и объектно-ориентированного анализа
Технические решения ускорения процесса проектирования компьютерных обучающих систем за счет включения в их архитектуру визуальных модельных каркасов
Технические решения адаптивности визуальных моделей проектируемых систем к изменениям функциональных требований в течение всего жизненного цикла разработки за счет применения проектных образцов
Структура и принципы формирования устойчивой архитектуры компонентов компьютерных обучающих систем с использованием проектных образцов
Научная новизна. В диссертационной работе работы впервые предложен научно обоснованный подход к созданию компьютерных систем для образовательной сферы на основе объектно-ориентированной методологии визуального моделирования, системного анализа, принципов программной инженерии и
CASE -технологии Решена крупная научно-техническая проблема, имеющая важное значение для развития теории и практики анализа и проектирования компьютерных обучающих систем
Получены следующие основные результаты, обладающие научной новизной
разработана и обоснована новая концепция проектирования компьютерных обучающих систем, базирующаяся на комплексном использовании подходов программной инженерии,
предложено использование рекуррентной технологической модели проектирования компьютерных обучающих систем, которая интегрирует структуры, стратегии и проектные образцы продуктов линейки приложений социотехнического типа и реализуется в рамках регламентированного процесса;
разработаны стратегии моделирования и образцы расширяемых визуальных моделей предметной области, анализа и проектирования компьютерных обучающих систем,
разработана методика идентификации ключевых абстракций и механизмов предметной области на основе синтеза модельного и лингвистического информационного анализа для декомпозиции проектируемых компьютерных систем и визуализации статических моделей,
поставлены и решены задачи стратегии повторного использования элементов моделей анализа и проектирования компьютерных обучающих систем включением в их архитектуру идентифицированных проектных образцов;
предложено и реализовано техническое решение по адаптивности визуальных проектных моделей подсистемы поддержки графического пользовательского интерфейса на основе применения модельных каркасов,
разработаны процедурные и структурные метрики для оценки практичности визуального прототипа графического пользовательского интерфейса компьютерных систем
Практическая значимость работы. Разработанные в диссертации методологический подход, принципы и методы проектирования компьютерных обучающих систем с применением визуального моделирования используются при создании широкого круга программных продуктов для образовательной сферы и корпоративного электронного обучения Применение абстрактных архитектурных конструкций компьютерных обучающих систем существенно сокращают трудоемкость процесса разработки и повышают качество конечного результата за счет использования проектных образцов и трассируемости моделей
Технология проектирования, основанная на предложенных принципах и методах, используется в учебных процессах ряда вузов при изучении студентами дисциплин по компьютерному моделированию программных систем, объектно-ориентированному проектированию и т д
Реализация результатов Разработанные методы проектирования на ос-
нове визуализации моделей компьютерных систем использованы при создании ряда программных продуктов, внедренных в образовании и корпоративном электронном обучении
тренажерно-обучающий комплекс «Моделирование систем автоматического регулирования технологических объектов» для подготовки специалистов по автоматизации технологических процессов и производств,
многофункциональная тестовая оболочка «Модуль-Тест»,
мультимедийный программно-методический комплекс «Автоматизация делопроизводства»,
пакет тестирующих программ по дисциплинам «Делопроизводство» и «Автоматизация делопроизводства»;
мультимедийный программно-методический комплекс «Системы управления химико-технологическими процессами»,
мультимедийный программно-методический комплекс «Интегрированные системы управления делопроизводством»,
программный тренажер «Администрирование операционной системы Windows ХР»,
пакет адаптивных и расширяемых объектно-ориентированных проектных моделей компонентов компьютерных обучающих систем
Апробация работы. Результаты работы докладывались на 15-ти международных, 9-ти всероссийских, 4-х межрегиональных, межвузовских, научно-практических конференциях и семинарах, в том числе VIII, XI - XVI Международных конференциях «Информационные технологии в образовании» (Москва, 1998, 2001 - 2006 гг ), VIII научно-практическом семинаре «Информационное обеспечение науки- новые технологии» (Москва, 1999), II Международной выставке-конференции «Наука и образование» (Москва, 2000); ХПІ—XV Международных научных конференциях «Математические методы в технике и технологиях» (Казань, 2005, Воронеж, 2006, Ярославль, 2007), ХП — XIV Всероссийских научно-методических конференциях «Телематика» (Санкт-Петербург, 2005 — 2007 гг), VI и VII Всероссийских научно-методических конференциях «Теоретические и прикладные вопросы современных информационных технологий» (Улан-Удэ, 2005, 2006 гг), XV и XVI Международных конференциях «Применение новых технологий в образовании» (Троицк, 2005, 2006 гг), IV и V Всероссийских научно-практических конференциях «Технологии Интернет -на службу обществу» (Саратов, 2005, 2006 гг), VI и VII межвузовских научно-практических конференциях «Информационные технологии XXI века» (Москва, 2004, 2005 гг), X Международной научно-практической конференции «Наука - сервису» (Москва, 2005 г), I и II Всероссийских научно-практических конференциях «Информационные технологии в образовании и науке» (Москва, 2006, 2007гг)
Публикации. Основные положения диссертации отражены в 63 публикациях, в том числе в 2 монографиях и 9 свидетельствах на программные продукты отраслевого фонда алгоритмов и программ Государственного координаци-
онного центра информационных технологий Федерального агентства по образованию
Структура и объем диссертации. Диссертационная работа включает введение, пять глав, заключение, библиографический список из 204 наименований, 5 приложений. Основная часть диссертации изложена на 286 страницах, содержит 72 рисунка и 17 таблиц
Связь диссертационной работы с научными программами. Диссертация вьшолнена в рамках Межвузовской комплексной программы «Наукоемкие технологии образования» Министерства образования и науки РФ (2001 — 2005 гг).
Структурная схема процесса управления электронным обучением
В мировой программной индустрии создание компьютерных систем сопровождается ростом трудоемкости их конструирования, по мере того как возрастает их сложность. Программные приложения имеют чрезвычайно много разновидностей и каждая предметная область предопределяет особые проблемы, отличающиеся собственным уровнем сложности.
В соответствие с классификацией систем, введенной П. Чеклэндом [153], особый класс представляют социотехнические системы, в составе которых имеются люди и коллективы, чьи интересы существенно связаны с функционированием системы. Компьютерные обучающие системы относятся к классу социотехнических систем, и проблематика их разработки обусловлена как инвариантными проблемами, определяемыми их программной сущностью, так и вариативными проблемами, порождаемыми социотехническим характером приложений этого класса.
Компьютерные технологии на современном этапе развития образования являются платформой его совершенствования и обеспечивают новые возможности создания перспективных форм обучения. Ведущие отечественные специалисты в области компьютерных технологий обучения отмечают, что в современной системе образования при возникновении потребности в качественно новых учебно-методических средствах предпочтение будет отдаваться компьютерным обучающим системам. Можно полагать, что по мере развития информационных технологий и совершенствования образовательной сферы компьютерные обучающие системы будут составлять ядро учебно-методического обеспечения.
Первые эксперименты по применению компьютеров в образовании относятся к началу 1960-х годов и, несмотря на то, что техническая база ЭВМ и программное обеспечение того времени не соответствовали успешному решению проблемы компьютерной поддержки учебного процесса в целом, исследования в этой области начались во всех развитых странах. За четыре десятилетия в области компьютеризации образования обучающие системы эволюционировали от автоматизированных учебных курсов, представлявших собой системы селективного типа, до интеллектуальных и экспертных систем с применением мультимедия и сценарных моделей. В этот период были заложены дидактические, методические и системотехнические основы создания компьютерных обучающих систем, в развитие которых значительный вклад внесли многие отечественные ученые: Тихомиров В.П., Гузеев В.В., Домрачев В.Г., Иванников А.Д., Кривицкий Б.Х., Кривошеев А.О., Радченко СВ., Ретинская И.В., Романов А.Н., Норенков И.П., Петру-шин В. А., Филатова Н.Н. и др.
Первые два десятилетия разработка автоматизированных обучающих систем характеризовались активной работой по созданию для них специального программного обеспечения, причем основное внИхМание уделялось авторским языкам описания. Следующие этапы характеризуются возрастанием роли инструментальных систем общего назначения для разработки компонентов обучающей программы. Появляется необходимость в инструментарии инженерии знаний для формирования базы предметных знаний, а также реализации моделей обучения и обучаемого.
С 1990-х годов проявляется тенденция создания обучающих программ, объединяющих с общих позиций компьютерной технологии информационные, тренинговые, контролирующие, игровые и обучающие системы, а также их применение в глобальных и корпоративных сетях [10, 33, 46, 48, 61, 65, 69, 76, 98].
Особое значение приобретают исследования в области разработки тренажерных комплексов, обладающих рядом интеллектуальных функций и основанных на моделях поведения и восприятия пользователя (тренажеры 5-го поколения). Здесь следует отметить работы Софиева А.Э. по технологии разработки тренажеров [27, 34, 83], Дозорцева В.М. по методам функционально-информационного структурирования тренажеров [30, 31], Чистяковой Т.Б. по моделям и системам представления знаний [141], Большакова А.А. по учету психофизических характеристик обучаемых и интеллектуализации управления процессом обучения [14-16].
Развитие информационных технологий, в том числе сближение вычислительной и коммуникационной техники, определяет постоянное возрастание сложности программного обеспечения компьютерных технологий обучения. Крупные проекты в этой области характеризуют, как правило, сложность описания (большое количество функций, процессов, элементов данных и взаимосвязи между ними), а также наличие совокупности взаимодействующих информационных и программных компонентов, имеющих локальные задачи и цели функционирования. Следует отметить, что попытки улучшения существующих компьютерных обучающих систем в целях их адаптации к новейшим технологиям приводит к возникновению ряда технических и организационных проблем, связанных с необходимостью изменения требований и, соответственно, программного кода приложения.
Проблемы создания качественного профаммного продукта для образовательной сферы носят как инвариантный, так и вариативный характер по отношению к процессу разработки. Сущностные свойства профаммного обеспечения (сложность, изменчивость, абстрактность и т.д.) порождают инвариантные проблемы их разработки, поскольку профаммный продукт в значительной степени есть результат творческого ремесла или даже искусства.
Наличие вариативных проблем разработки обусловлено влиянием человеческого фактора, особенно значимого при создании социотехпических систем, к которым относятся компьютерные обучающие системы. Это проблемы адекватного воплощения в компьютерных обучающих системах дидактических, функциональных и технологических требований заказчиков — специалистов в образовательной сфере. При этом успешность проекта в значительной степени зависит от их участия в процессе разработки, регламент и визуализация рабочих продуктов которого должны обеспечить конструктивное взаимодействие всех заинтересованных сторон. Тенденцией настоящего времени является повышение требований к качеству и эффективности компьютерных обучающих систем, сокращению сроков разработки и трудозатрат. Проблема снижения общей стоимости проектов компьютерных обучающих систем и сокращение времени на их разработку и тестирование отражает общую тенденцию в индустрии программного обеспечения: снижение зависимости разрабатываемой системы от изменяющихся требований и обеспечение ее гибкости для внесения изменений.
Унифицированный язык визуального моделирования
Модель классов — это краеугольный камень разработки объектно-ориентированной системы. Классы определяют наблюдаемые свойства и поведение системы. Целью идентификации классов — классификации — является нахождение общих свойств объектов, что позволяет объединять их в классы по признакам одинакового строения или одинакового поведения.
В объектно-ориентированном анализе и проектировании классификация затрагивает многие аспекты, например, определение иерархии обобщения, специализации и агрегации. Классификация помогает правильно определить модульную структуру в зависимости от степени схожести объектов, мерой которой являются зацепление и связность.
Трудности классификации в любой пауке обусловлены, в основном, наличием множества равноправных решений, что предопределяет необходи мость системного, последовательного и итеративного подхода. Это становится очевидным при анализе разработки таких компьютерных социотехниче-ских систем, как программные продукты для образовательной сферы: компьютерные учебники, тренажеры, лабораторные практикумы, графические пользовательские интерфейсы.
По мере накопления опыта разработки программных систем для этой сферы систематически изучались, анализировались и программировались удачные решения. Такой подход позволил развить модели, осуществить их автоматическую реализацию и разработать теорию, обобщающую найденные решения для проектирования компьютерных обучающих систем, что в свою очередь совершенствует дальнейшую практику их разработки.
Следует отметить, что итеративный подход к классификации предопределил и процедуру конструирования иерархии классов и объектов при разработке компьютерных обучающих систем. При этом взятая за основу определенная структура классов постепенно совершенствуется в процессе проектирования программной системы. Но только на поздних стадиях разработки, когда уже есть некоторый опыт использования такой структуры, можно критически оценить качество получившейся классификации.
Основываясь на имеющемся опыте, мы можем создать новый подкласс из уже существующих (вывод), или разделить большой класс на несколько (факторизация), или слить несколько существующих классов в один (композиция). В процессе разработки возможно также и нахождение новых общих свойств, ранее не замеченных, что позволяет определить новые классы.
Исторически известны три подхода к классификации объектов [191]: классическая категоризация (классификация по свойствам); концептуальная кластеризация (классификация по понятиям); теория прототипов (классификация по схожести с прототипом). Классическая категоризация и концептуальная кластеризация являются достаточно выразительными методами, применимыми для проектирования сложных программных систем. Однако в сфере обучающих программных систем существуют категории, например, компьютерные ролевые тренажеры, которые не соответствуют классическим образцам, так как нет общих признаков, свойственных всем тренажерам. Их можно объединить так называемой «семейной схожестью» и расширить категорию включением новых видов тренажеров при условии, что они напоминают уже известные компьютерные тренинговые средства. При таком подходе к классификации класс определяется одним объектом-прототипом, а новый объект можно отнести к этому классу при условии существенного его сходства с прототипом.
На практике мы идентифицируем классы и объекты сначала по свойствам, важным в данной ситуации — то есть стараемся выделить и отобрать структуры и типы поведения с помощью словаря предметной области. Потенциально возможных абстракций, как правило, очень много. Если таким путем не удается построить удовлетворительную структуру классов, мы пробуем концептуальный подход, анализируя поведение объектов, когда они взаимодействуют друг с другом. Наконец, мы пробуем выделить прототипы и ассоциировать с ними объекты.
Эти три подхода к классификации целесообразно использовать как теоретическую основу объектно-ориентированного анализа, в процессе которого мы моделируем проблему, выявляя классы и объекты, составляющие словарь проблемной области.
Отсутствие реальных объектно-ориентированных методов, применимых непосредственно к имеющимся при проектировании программных систем проблемам, может разрушить все усилия по достижению конечного результата. Эта проблема касается и метода декомпозиции системы при объектно-ориентированном анализе.
Как неоднократно отмечали эксперты, правильный выбор множества объектов для конкретной области приложения является непременным условием для повторного применения моделей анализа, проектирования и расши рения системы. В то же время, единичное решение декомпозиции системы на объектном уровне не даст возможности разработчикам достигнуть продуктивности этих потенциальных улучшений, присущих объектно-ориентированной парадигме.
Практические исследования ряда успешных разработок компьютерных социотехнических систем для образовательной сферы показали, что при выборе декомпозиции проектируемой системы целесообразно учитывать и алгоритмический, и объектно-ориентированный аспекты. При таком подходе разделение по алгоритмам концентрирует внимание на порядке происходящих событий, а разделение по объектам придает особое значение агентам, которые являются либо объектами, либо субъектами действия. Таким образом, предлагается формальный метод идентификации классов проектируемых компьютерных обучающих систем на основе синтеза структурного и объектно-ориентированного подхода [127].
Следует подчеркнуть, что речь не идет о полном конструировании компьютерных обучающих систем одновременно структурным и объектно-ориентированным методами. Это совмещение недопустимо, поскольку принципы структурного проектирования, которое следует за структурным анализом, полностью ортогональны принципам объектно-ориентированного проектирования.
Визуализация моделей анализа предметной области
Таким образом, для идентификации классов и объектов компьютерной обучающей системы осуществляются следующие этапы: 1. Построение и системный анализ моделей потоков данных. 2. Построение и системный анализ моделей «сущность-связь». 3. Построение и системный анализ моделей «состояние-переход» для всех прецедентов системы. 4. Применение методик лингвистического информационного анализа для уточнения ранее выделенного списка потенциальных объектов и классов.
Дальнейшие действия по идентификации классов осуществляются по методологии объектно-ориентированного анализа, поскольку конечной целью будет построение объектно-ориентированной модели предметной области. Для этого выполняются следующие действия: определяются критерии анализа списка понятий; разрабатывается и заполняется таблица конвертации, идентифицирующая набор элементов и классов для модели объектно-ориентированного анализа компьютерной обучающей системы; проводится анализ таблицы конвертации, идентифицируются объекты и их начальные атрибуты; исключаются избыточные понятия; выявляется набор понятий для идентификации основных претендентов на роли действующих лиц.
В результате системного анализа структурных и объектно-ориентированных моделей идентифицируются объекты и классы предметной области для компьютерных обучающих систем.
Предложенный метод идентификации ключевых абстракций и механизмов области приложений на основе синтеза структурного и объектно-ориентированного анализа позволяет выполнить выбор множества объектов при проектировании компьютерных социотехнических систем, что является непременным условием для повторного применения моделей анализа и проектирования и расширения системы.
В соответствии с концепциями, положенными в основу инженерии программного обеспечения, на технологическом этапе анализа и проектирования компьютерных систем осуществляется перевод системных требований в технические инструкции, указывающие, как реализовать систему. Для этого следует понять требования и преобразовать их в проект системы, выбрав при этом лучшую стратегию реализации.
В соответствии с разработанным регламентом, технологический процесса анализа и проектирования компьютерных систем реализуются в на чальной и уточняющей фазах.
На начальной фазе создания проекта анализируется предметная область с точки зрения проектируемой системы. Свойства системы исследуются на высоком уровне и документируются. Затем определяются действующие лица и прецеденты без детализации потоков событий. Строятся диаграммы прецедентов, показывающих связи между ними, и подлежащие дальнейшему обсуждению и детализации. В этой фазе проекта в основном разрабатывается план последующих итераций, который описывает, какие прецеденты на каких итерациях должны быть реализованы.
В фазе уточнения проекта выполняются планирование, анализ и проектирование архитектуры. Следуя плану итерации, уточнение проводится для каждого варианта использования в текущей итерации. Уточнение включает в себя такие аспекты проекта, как кодирование прототипов, разработка тестовых прецедентов и принятие решений по проекту.
Основная задача фазы уточнения — детализация прецедентов. Предъявляемые к прецедентам требования низкого уровня предусматривают описание потока обработки данных внутри них, выявление действующих лиц, разработку диаграмм взаимодействия (последовательности и кооперации) для графического отображения потока обработки данных, а также определение всех переходов состояний, которые могут иметь место в рамках одного прецедента.
Так как уточнение — это детализация требований к системе, модель прецедентов может потребовать обновления. Диаграммы последовательности и кооперативные диаграммы помогают проиллюстрировать поток обработки данных при его детализации. Кроме того, в этой фазе проектируются диаграммы классов, описывающие объекты, которые необходимо создать.
Фаза уточнения завершается, когда варианты использования полностью детализированы и одобрены пользователями, прототипы завершены настолько, чтобы уменьшить риски, разработаны диаграммы классов. Уточнение предполагает подготовку проекта системы для передачи разработчикам, которые начнут ее конструирование. Иными словами, эта фаза пройдена, когда система спроектирована, рассмотрена и готова для передачи разработчикам.