На современном этапе развития мирового образовательного пространства компьютерные технологии обучения являются платформой существования и совершенствования парадигмы образования и обеспечивают новые возможности создания перспективных форм обучения. Можно полагать, что по мере развития соответствующих технологий и совершенствования образовательной сферы компьютерные обучающие системы будут составлять ядро учебно-методического обеспечения.
Развитие современных информационных технологий, в том числе сближение вычислительной и коммуникационной техники, обуславливают постоянное возрастание сложности программного обеспечения компьютерных технологий обучения. Создан целый ряд новых технологий, включающих в себя виртуальную реальность и искусственный интеллект, которые в сочетании с универсальной информационной средой – Интернет – предопределили появление и новых видов компьютерных обучающих систем. Инновационный тип развития электронного обучения, ориентированный на максимальное использование достижений научно-технического прогресса, обуславливает актуальность совершенствования методологии разработки компьютерных обучающих систем.
В данной статье рассматриваются некоторые методологические вопросы, связанные с современными методами программной инженерии и инструментарием разработки компьютерных обучающих систем.
Проблемы разработки компьютерных обучающих систем
Компьютерные обучающие системы относятся к классу программных систем, для которых характерны, как правило, сложность описания функций и процессов, а также наличие совокупности взаимодействующих информационных и программных компонентов. Создание таких систем – сложная и трудоемкая работа, требующая применение современных методов и технологий, высокой квалификации всех участников разработки для отражения дидактики не только в учебном материале, но и в моделях и алгоритмах программного обеспечения.
Однако до настоящего времени разработка компьютерных обучающих систем нередко осуществляется на интуитивном уровне неформализованными методами, включающими элементы искусства, практический опыт и отсутствие экспериментальной проверки качества функционирования. Как и 25 лет назад обучающие системы создаются в основном традиционным способом программирования или с использованием инструментальных средств – универсальных и специализированных, ориентированных на создание приложений определенного класса.
Это приводит к возникновению ряда технических и организационных проблем, например, к невозможности адаптации уже существующих электронных средств обучения к новейшим технологиям. Разработки новых проектов в образовательной области зачастую функционально ограничены и не обладают потенциальными возможностями модификации и расширения в соответствии с изменяющимися требованиями к обучающим программам.
Таким образом, одна из важнейших проблем разработки компьютерных обучающих систем – переход на новые современные технологии программной индустрии, которые позволят создавать расширяемые средства электронного обучения, адекватные телекоммуникационной среде.
Вторая крупная проблема в рассматриваемой сфере обусловлена тем, что компьютерные обучающие системы – системы социальные, соответственно успех программного проекта определяется и социальными факторами. Социальный аспект проблемы отразился в существовании до недавнего времени двух полярных мнений по методологии создания компьютерных обучающих систем. Первое из них заключалось в том, что преподаватель, являющийся автором учебных материалов по курсу, может перевести их в компьютерную форму, создав при этом электронный аналог обучающего комплекса. Согласно второму подходу, компьютерную обучающую систему может создать квалифицированный программист, используя при этом учебный материал для традиционной формы обучения.
Результатом являлись электронные обучающие системы, в которых превалировала успешность реализации либо содержательной части, либо программного решения. Приоритетность этих подходов для разработки компьютерных обучающих систем приводит к сдерживанию развития электронного обучения в целом, для которого необходимо создание программной индустрии образовательной отрасли.
В настоящее время пришло осознание того, что для воплощения в компьютерных обучающих системах новых возможностей и преимуществ в дидактическом, функциональном и технологическом отношениях, необходима глубокая компетентность разработчиков (и авторов, и методистов, и программистов) и сотрудничество всех заинтересованных сторон.
Ясно, что авторы при подготовке материалов для компьютерных обучающих систем должны учитывать концептуальные аспекты их планируемой реализации (принципы структуризации информации, схемы пользовательского интерфейса, средства обеспечения интерактивности и т.д.). В то же время, со стороны разработчиков на протяжении всего жизненного цикла создания компьютерных обучающих систем необходимо предоставлять авторам этапные решения в доступной для совместного обсуждения и понимания форме.
Сказанное свидетельствует об острой потребности развития методологии разработки компьютерных обучающих систем, базирующейся на современных методах программной индустрии, и направленной на повышение их качества и эффективности использования в образовательной сфере.
Методы программной инженерии для разработки компьютерных обучающих систем
Предлагаемые решения по программно-технологическому аспекту методологии разработки компьютерных обучающих систем являются результатом научных и практических исследований автора, выполненных в рамках Межвузовской комплексной программы «Наукоемкие технологии образования» в 2000-2005 гг., последующих инструментальных разработок и программных приложений для электронного обучения [1, 2].
Эти решения основываются на методах программной инженерии, поскольку технология разработки программных продуктов, к которым относятся компьютерных обучающих систем, – это по определению одна из областей инженерной науки. В настоящее время программная инженерия представляет собой обширную и хорошо разработанную область компьютерной науки и технологии, включающую в себя многообразные математические, инженерные, экономические и управленческие аспекты.
Учитывая тенденции мировой программной индустрии в переносе основного акцента в разработке систем с программирования на проектирование, особое значение приобретают исследования в области разработки методологии проектирования компьютерных обучающих систем, обеспеченной соответствующей инструментальной поддержкой.
Основополагающими принципами программной инженерии, лежащими в основе современных технологий разработки, являются итеративность процесса разработки, модульная архитектура системы, визуальное моделирование системы и непрерывная качественная оценка продукта в процессе создания [3].
Реализация этих принципов для разработки компьютерных обучающих систем должна осуществляться с использованием современных средств автоматизированной разработки программного обеспечения – CASE-средств (Computer Aided Software Engineering) на основе объектно-ориентированных технологий.
Стержнем технологии создания компьютерных обучающих систем по современным понятиям программной инженерии должен являться процесс разработки, определяющий способы реализации всех его этапов: от формирования видения будущей обучающей системы до передачи заказчикам ее рабочей версии. При выборе процесса разработки компьютерных обучающих систем целесообразно руководствоваться вышеназванными принципами индустрии программных разработок, в соответствии с которыми он должен быть итеративным с пошаговым наращиванием возможностей системы. При таких процессах разработки модели компьютерных обучающих систем уточняются и преобразуются на всех этапах. В результате успешных итераций добавляются новые детали, при необходимости вводятся изменения и усовершенствования. Выпуски программных модулей с наращенными возможностями обеспечивают обратную связь с пользователями, необходимую для продолжения разработки компьютерных обучающих систем.
Методология объектно-ориентированного анализа и проектирования тесно связана с концепцией автоматизированной разработки программного обеспечения. Выбор инструментального средства автоматизированного проектирования компьютерных обучающих систем должен быть продиктован целями, потребностями и ограничениями будущего проекта системы (включая квалификацию специалистов, участвующих в процессе проектирования). Определяющим фактором выбора инструментария являются используемые методы и технологии проектирования.
Для автоматизации разработки компьютерных обучающих систем в рамках процесса Rational Unified Process на основе практических исследований автора предлагается применение объектно-ориентированного CASE-средства IBM Rational Rose. Этот инструментарий в настоящее время является доминирующим на рынке продуктов для объектно-ориентированного анализа, моделирования и проектирования. Следует отметить, что выбор IBM Rational Rose продиктован также соображениями применимости этого инструментария для автоматической генерации программного кода по построенным моделям и осуществления реверсного инжиниринга для повторного использования программных компонентов компьютерных обучающих систем в новых проектах.
Инструментарий IBM Rational Rose основан на унифицированном языке моделирования Unified Modeling Language (UML). Язык моделирования UML, дополненный методологическими основами применения системы обозначений, процедурами для решения вопросов моделирования рассматриваемой предметной области и требований, становится методом анализа и проектирования компьютерных обучающих систем [4].
Целью анализа и проектирования компьютерных обучающих систем является создание устойчивой архитектуры, разработка подробного проекта на основе требований и адаптация проекта к среде реализации. Для наилучшего достижения этой цели в предложенной методологии реализована концепция современной программной инженерии по применению образцов проектирования (паттернов). Выявленные образцы могут прилагаться к существующим элементам проекта, чтобы улучшить прежнее решение архитектуры, или служить основой для создания нового набора элементов на стадии анализа программной системы [5].
Предложенная методология проектирования, основанная на современных концепциях, методах и технологиях программной инженерии, позволяет повысить эффективность процесса создания и качество объектно-ориентированных моделей, что предопределяет совершенствование компьютерных обучающих систем.
Заключение
Развитие методологии разработки компьютерных обучающих систем, основанной на системном подходе к использованию современных методов программной инженерии, является для образовательной сферы актуальной научной проблемой. Предложенная автором методология основана на программно-технологической триаде: процесс, визуальное моделирование, CASE-технологии. Данная методология является платформой для создания инфраструктуры разработки программного обеспечения электронного обучения. Широкий спектр проведенных научных исследований и успешная практическая реализация предложенной методологии подтверждают целесообразность ее применения для повышения эффективности программных разработок в сфере образования.