Средства, реализующие языки и методы визуального моделирования, бывают двух видов - универсальные и предметно-ориентированные.
Универсальные инструменты являются коробочными и многофункциональными пакетами, предназначенными для анализа и проектирования ПО "вообще", то есть без какой-либо специализированной ориентации. Как правило, сегодня такие пакеты строятся на базе языка UML и называются CASE-пакетами. Самыми известными CASE-пакетами являются IBM Rational Rose, Borland Together, Telelogic Tau, Microsoft Visio/UML Add-on.
Эти средства поддерживают различные виды диаграмм, удобную среду их разработки с такими функциями, как печать и копирование диаграмм, различные способы редактирования графических символов, средства просмотра и поиска в визуальной модели, различные режимы отображения диаграмм и многое другое. Они также обеспечивают генерацию программного кода в разные целевые платформы программирования, версионный контроль визуальных моделей, часто являются кросс-платформенными (например, работают под управлением операционных систем Windows и Linux), обеспечивают интеграционные "мосты" с другими средствами разработки ПО, например, со средствами управления требованиями. Как правило, все современные CASE-пакеты имеют открытые программные интерфейсы и позволяют расширять свою базовую функциональность.
Термин CASE (Computer Aided Software Engineering) появился в индустрии разработки ПО в начале 1980-х годов. Довольно быстро он стал обозначать графические средства анализа и проектирования ПО, отражая надежды и упования создать на основе визуального моделирования универсальный процесс разработки ПО. Пик развития этих средств приходится на начало 1990-х годов, когда они стали использоваться на базе платформы IBM Mainframe для автоматизации бизнеса крупных компаний. CASE-системы предоставляли мощные средства генерации кода, являясь не только инструментами анализа и проектирования, но и средами разработки ПО. CASE-средства интегрировали многообразные и разрозненные средства разработки под Mainframe-платформой - инструменты разработки пользовательского интерфейса и баз данных, средства взаимодействия основного приложения с операционной системой и пр. Типичное крупное Mainframe-приложение состояло из тестов примерно на 3-5 разных языках программирования, для которых существовало (и активно использовалось в других приложениях) множество альтернативных вариаций. Одна из самых известных систем такого рода - ADW (Application Developing Workbench). В итоге было разработано много промышленных информационных систем с использованием этих CASE-средств, успешно работающих и по сей день. В результате данные CASE-системы, многие из которых сменили не по одной компании-хозяину, до сих пор поддерживаются и развиваются, чтобы созданные на их основе информационные системы могли успешно функционировать и модернизироваться под современные бизнес-потребности.
С середины 1990-х годов, в связи с прекращением распространения Mainframe-платформ, развитие этих CASE-систем прекратилось, и стали появляться CASE-системы для персональных компьютеров. Их эволюция происходила и продолжает происходить уже по иному сценарию. Современные CASE-пакеты не являются комплексными средами разработки, а заняли нишу средств анализа и проектирования, и в основном используются без средств кодогенерации, а лишь как инструменты для построения проектных спецификаций.
Предметно-ориентированные (domain-specific) программные инструменты поддержки визуального моделирования предназначены для определенных областей разработки ПО и тоже могут быть коробочными, как, например, пакет WebRatio для моделирования web-приложений.
Однако предметно-ориентированные инструменты могут создаваться и отдельными компаниями для своих собственных проектов, особенно в рамках линеек программных продуктов (product lines). Это особенно удобно, поскольку во-первых, такие средства могут хорошо решать задачи именно того процесса, той компании, для которых они создаются. А во-вторых, сейчас на рынке имеются развитые среды для разработки средств визуального моделирования, самые известные из которых - Microsoft Visio, Microsoft DSL Tools и Eclipse/GMF.
Эти и другие пакеты делают задачу создания собственного графического редактора посильной для обычных, рядовых компаний-разработчиков.
Идея автоматической генерации программного кода по визуальным моделям понятна и притягательна. Диаграммы являются более близкими к предметной области, чем программный код, понятны инженерам, менеджерам, заказчикам и т.д. Долгое время считалось, что визуальное моделирование является следующим шагом эволюции средств программирования, вслед за алгоритмическими языками высокого уровня (рис. 6).
В этой цепочке каждый следующий шаг практически вытеснял предыдущий: в кодах целевых ЭВМ перестали массово программировать, когда появились ассемблер-языки и их реализации для разных платформ. Целевые коды стали генерироваться по ассемблер-спецификациям автоматически. Далее, алгоритмические языки высокого уровня столь же радикально вытеснили программирование на ассемблере, и целевой код автоматически генерировался теперь уже по текстам на этих языках. При желании генерируется и текст на ассемблере, если есть необходимость проанализировать результаты генерации (ведь тексты на ассемблере, с одной стороны, существенно легче воспринимаются, чем целевой код, с другой стороны, они очень близки к нему).
Рис. 6. Эволюция средств программирования
Эволюция средств программирования двигалась от вычислителя к человеку с сохранением связи с вычислителем. Ведь, с одной стороны, программы ориентированы на вычислитель, который их должен исполнять. Поэтому они должны содержать максимально точную и полную информацию о том, как именно вычислитель должен их выполнять. С другой стороны, программы должны быть удобны для разработки человеком. Ведь держать в уме причудливо ветвящийся, пересекающий, сходящийся и расходящийся вновь поток управления с сотнями операций, переменных человеку очень трудно.
Очевидно, что после достижения определенного уровня сложности наступает предел. А если в программировании участвует несколько человек, то им для общения необходимы абстракции, более удобные, чем машинные команды. Наконец, программы часто передаются на сопровождение другим людям, а в коллективе разработчиков появляются новые сотрудники. И даже сами программисты, обращаясь к своим программам после перерыва, часто с трудом в них разбираются.
Таким образом, программы должны быть максимально доступны для человека - как для самого автора, чтобы упростить процесс его работы, так и для других людей, чтобы сделать работу одного более понятной другим (рис. 7).
Рис. 7. Отношения программы с вычислителем и программистом
Ожидалось, что визуальные модели станут следующим этапом, заменив собой алгоритмические языки и предоставив более широкие возможности программистам.
Однако оказалось, что визуальные модели, действительно удобные в работе, "склонны" терять исполняемую семантику. Другими словами, информация, которая в них содержится, оказывается недостаточно полной и детальной, чтобы по ней вычислитель мог бы выполнить свою работу. Ведь никакая "умная" генерация не может добавить то, что отсутствует изначально.
Если же визуальные модели усложнять, чтобы они были пригодны для использования вычислителем, то очень часто они теряют наглядность и становятся бесполезными.
Таким образом, существует семантический разрыв между визуальными моделями и программами (рис. 8). Этот разрыв препятствует автоматической генерации программного кода по визуальным моделям в общем случае, не позволяя визуальному моделированию стать следующим шагом в развитии средств программирования, вслед за алгоритмическими языками высокого уровня.
Рис. 8. Семантический разрыв между моделями и программами
Неудача решения вопроса с генерацией "в общем виде" не говорит о том, что это невозможно в частных случаях. Необходимо лишь понизить степень общности ситуации. Это можно сделать, создавая кодогенерационные решения для ПО отдельных видов. Генерация кода по визуальным моделям успешно применяется в промышленности в следующих областях:
в разработке схем реляционных баз данных;
при создании событийно-ориентированных систем реального времени;
при формализации бизнес-процессов компаний.
СОВРЕМЕННОЕ СОСТОЯНИЕ И ПЕРСПЕКТИВЫ РАЗВИТИЯ КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ
В ОБРАЗОВАНИИ
4.1. Нормативные документы по информационно-коммуникационным технологиям в образовании
4.1.1. ГОСТ Р 53626-2009. Технические средства обучения
Применение ИКТ в сфере образования способствует появлению широкого спектра дистанционных образовательных технологий и различных форм электронного обучения.
Технические средства обучения представлены широкой номенклатурой разнородной продукции, характеризующейся конструктивной сложностью и предназначенной для реализации современных технологий обучения преимущественно в ИКТ-насыщенной среде.
В ГОСТ Р 53626-2009 определено функциональное назначение, принципы классификации, основные характеристики технических средств обучения.
Технические средства обучения (ТСО) – специализированные технические средства, предназначенные для использования в образовательном процессе в целях повышения качества и эффективности обучения.
ТСО могут быть в виде устройства, аппаратуры, оборудования, информационно-программного обеспечения или комбинации этих средств с учетом их функционального назначения в образовательном процессе.
Основные функции ТСО в образовательном процессе следующие:
- передача информации обучаемым;
- подготовка обучаемых к выполнению заданий и организация их выполнения;
- получение обратной связи в процессе восприятия и усвоения информации, коррекция этих процессов;
- хранение, документализация и систематизация учебной и учебно-методической информации;
- преобразование получаемой с помощью ТСО информации обучаемыми с исследовательской целью.
Классификация ТСО ведется по следующим признакам:
- по функциональному назначению;
- по принципу действия;
- по способу организации процесса обучения;
- по степени интерактивности;
- по характеру воздействия на органы чувств;
- по способу представления информации;
- по уровню образования.
По функциональному назначению ТСО подразделяются на:
- технические средства передачи учебной информации;
- технические средства контроля знаний;
- тренажеры;
- технические средства обучения и самообучения;
- вспомогательные;
- комбинированные.
По принципу действия ТСО подразделяются на:
- механические;
- электромеханические;
- оптические;
- звукотехнические;
- электронные;
- комбинированные.
По способу организации процесса обучения ТСО подразделяются на:
- индивидуальные;
- индивидуально-групповые;
- коллективные.
По степени интерактивности ТСО подразделяются на:
- без обратной связи;
- с обратной связью.
По характеру воздействия на органы чувств ТСО подразделяются на:
- визуальные;
- аудиосредства;
- аудиовизуальные.
По способу представления информации ТСО подразделяются на:
- экранные;
- звуковые;
- экранно-звуковые.
По уровню образования ТСО подразделяются на:
Общеобразовательные:
- для дошкольного образования;
- для начального общего образования;
- для основного общего образования;
- для среднего (полного) общего образования.
Профессиональные:
- для профессиональной подготовки (для лиц, не имеющих основного общего образования);
- для начального профессионального образования;
- для среднего профессионального образования;
- для высшего профессионального образования;
- для послевузовского профессионального образования.
Основные характеристики ТСО подразделяются на четыре группы:
- функциональные, которые определяют способность обеспечивать необходимый режим работы (громкость и качество звучания; вместимость кассет аудиовизуальных средств, достаточная для проведения занятия с минимумом перезарядок; универсальность прибора);
- педагогические, которые определяют соответствие возможностей ТСО формам и методам образовательного процесса, установленным в федеральных образовательных стандартах и учебных программах по дисциплинам;
- эргономические, которые определяют удобство и безопасность эксплуатации; минимальное количество операций при подготовке и работе с устройством; уровень шума; удобство осмотра, ремонта, транспортирования;
- эстетические, которые определяют гармонию формы (наглядное выражение назначения, масштаб, соразмерность); целостность композиции, товарный вид.