
- •Введение
- •1. Основы обеспечения мобильности программ и данных в информационных системах
- •1.1. Особенности современных информационных систем как объектов разработки
- •1.2. Особенности современных программных средств и баз данных как объектов разработки
- •1.3. Особенности современной методологии программной инженерии
- •1.4. Особенности современных технологий программной инженерии
- •2. Задачи и направления развития концепции открытых систем
- •2.1. Цели и задачи развития концепции открытых систем
- •2.2. Направления развития и модели концепции открытых систем
- •2.3. Стандартизация и стандарты
- •2.4 Направления стандартизации в области открытых систем
- •3. Профили открытых информационных систем и жизненного цикла программных средств
- •3.1. Цели и принципы формирования профилей открытых информационных систем
- •3.2. Структура и содержание профилей информационных систем
- •3.3. Технологический цикл построения открытых систем
- •4. Стандартизация систем дистанционного образования
- •4.1. Технологии электронного обучения
- •4.2. Стандарты в электронном обучении
- •4.3. Модель обмена учебными материалами (scorm)
- •4.4. Модель Накопления Содержания (cam) scorm
- •4.6. Scorm упорядочение и навигация (sn)
- •Заключение
- •Библиографический список
- •Оглавление
1.3. Особенности современной методологии программной инженерии
Перечисленные выше изменения объектов и проблемы обеспечения их жизненного цикла вызнал» ряд принципиальных изменений в методологии их создания и развития [2]:
на смену индивидуальному программированию относительно небольших законченных прикладных программ приходит методология коллективной, индустриальной разработки особенно сложных комплексов программ и баз данных с профессиональным разделением труда при централизованном управлении коллективами;
коллективная работа многих специалистов над единым проектом ПС или БД вызвала необходимость развития и применения автоматизированных методов и средств управления сложными проектами и коллективами;
высокая стоимость и большие ресурсы, используемые при создании сложных ПС и БД привели к необходимости детального технико-экономического анализа и обоснования проектов ИС до начала их осуществления;
создание ПС и БД не завершается после первичных испытаний и сертификации первой версии, а, как правило, длительное время они развиваются и модифицируются, воплощаясь в серию версий;
для согласования эффективного взаимодействия многих разнородных программных компонентов и массивов данных единого проекта с операционной и внешней средой и обеспечения их мобильности созданы и начали применяться концепция и комплексы стандартов открытых систем;
накопление высококачественных программных компонентов и массивов данных при широком спектре операционных и аппаратных платформ резко повысит актуальность развития и применении методов и средств автоматизации их переноса на различные платформы и конфигурационного управления ими в распределенных системах;
приведенные изменения методологии обеспечения жизненного цикла ПС и БД отразились на модификации и повышении требований к профессиональной квалификации специалистов по информационным системам, значительно возросла роль и потребность в специалистах — интеграторах ИС на базе готовых компонентов и снизилась потребность в разработке и программировании таких компонентов.
Успешное создание, сопровождение и развитие современных ИС, обладающих всеми или частью свойств, которые были рассмотрены выше, связано с применением всего арсенала методов и средств, созданных в процессе эволюции программной инженерии. Эволюция методологии программной инженерии за 20 лет создала возможности, достаточные для того, чтобы обеспечить автоматизацию и поддержку практически всех процессов и стадий жизненного цикла программного обеспечения.
Можно выделить следующие этапы эволюции программной инженерии [2] с точки зрения полноты поддержки стадий жизненного цикла ПО методами и средствами автоматизации. На первом этапе поддерживалась только разработка программ с помощью языков программирования второго и третьего поколений. Методологии и технологии программирования, связанные с парадигмами выбранных языков, поддерживались минимальными инструментальными системами программирования, включавшими в себя компиляторы, отладчики и вспомогательные средства.
На втором этапе главное внимание уделялось стадии проектирования программ и программных комплексов. Были разграничены работы, выполняемые постановщиками задач, системными аналитиками и прикладным» программистами. Были созданы инструментальные средства, реализующие языки спецификаций и методы контроля выполнения требований, описанных в виде спецификаций. Совокупность методов проектирования, разработки и сопровождения программ, полученная в результате первого и второго этапов, и соответствующие им инструментальные средства составили методологию и технологию как основной раздел программной инженерии.
Третий этап характеризовался созданием первого поколения CASE-технологий и CASE-систем, в которых обеспечивались: поддержка технологий программирования, поддержка управления коллективной работой специалистов нал общим проектом, автоматизация выпуска проектной документации, использование базы данных проекта (получившей в дальнейшем развитие как репозиторий проекта). Автоматический переход от проектирования к разработке в этих системах не обеспечивался.
На четвертом этапе появились CASE-технологии и CASE-системы, в которых предусматривается генерация прикладных программ на основе проектных спецификаций, обеспечиваются методы и средства автоматизации тестирования создаваемых программ, интегрируются инструментальные средства предыдущих этапов. Происходит специализация технологий проектирования, связанная с использованием различных информационных моделей предметных областей. В CASE-системы вводятся средства адаптации к проблемному применению, обеспечивающие: разработку новых структур и типов данных, сценариев диалога с пользователем, моделей и имитаторов внешней среды.
Особенностью современных CASE-систем является обеспечение возможности накапливать различные информационные модели предметных областей с тем, чтобы использовать их при развитии ИС, сводя задачу не к построению новых моделей, а к идентификации и быстрому применению уже имеющихся. Дальнейшее развитие CASE-технологий ожидается в направлении использования экспертных систем в сочетании с технологиями традиционного программирования, что должно помочь в преодолении трудностей традиционного программирования, снижая длительность и стоимость разработки приложений, а также стоимость сопровождения сложных ИС. Эволюция методологии программной инженерии охватывает все направления методов и средств, о которых было сказано выше. Они совершенствуются по каждому из указанных аспектов, составляя общий арсенал и обеспечивая возможность их интеграции в комплексные инструментальные системы.
Таким образом, современные интегрированные CASE-системы реализуют информационные технологии, применяемые для создания и сопровождения современных информационных систем. Конкретные инструментальные средства, реализующие названные группы функций, включаются в состав CASE-системы в зависимости от того, на какую методологию анализа и проектировании преимущественно ориентирован проект (выбран структурный или объектно-ориентированный подход). Применяемые инструментальные средства должны поддерживать интерфейсы прикладного программирования (API) для того, чтобы обеспечить переносимость создаваемых с их помощью программ.
Учитывая, что подмножество инструментальных средств, применяемых при проектировании и программировании ПС с помощью CASE-системы, должно быть перенесено на целевую платформу ИС. Чтобы обеспечить сопровождение ПС в эксплуатации и его разлитие, целесообразно обеспечивать переносимость этих инструментальных средств с платформы CASE-системы на целевую платформу.
Большинство отмеченных выше свойств современных информационных систем, связаны с повторного использования существующих программ и данных. Эти задачи подлежат решению в каждом конкретном случае: интеграции существующих автономных систем в единую корпоративную систему, миграции «унаследованных» систем, проектирования распределенных систем. По некоторым оценкам, только 10-15 % прикладных программ современных ИС необходимо создавать вновь в связи с постановкой новых задач, требующих решения. Остальные прикладные программы и данные могут быть заимствованы из предшествующих проектов, приобретены как готовые покупные продукты или получены для использования путем доступа к информационным ресурсам внешних систем или сетей.
В результате внедрения современных, прогрессивных методологий и технологий происходит значительное повышение производительности труда и заметное сокращение сроков создания сложных комплексов программ и баз данных. Однако не менее важное значение имеет обеспечение высокого качества ПС и БД. Номенклатура и требуемые значения показателей качества определяются, прежде всего, функциональным назначением конкретных ПС и БД. Это приводит к широкому спектру показателей качества в спецификациях требований. Эти показатели должны четко формулироваться в документации и спецификациях готовых, покупных программных продуктах широкого применения или отрабатываться в процессах жизненного цикла оригинальных и уникальных систем.