- •Введение
- •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.2. Особенности современных программных средств и баз данных как объектов разработки
Программные средства и информационные ресурсы, обеспечивающие их функционирование, включаются в информационные системы после их проектирования, разработки, тестирования и находятся в эксплуатации вплоть до завершающей стадии их жизненного цикла. На стадии применения пользователями они нуждается в сопровождении, модернизации и развитии, что определяет необходимость взаимосвязи с предыдущими стадиями жизненного цикла. Эта особенность заставляет учитывать условия их создания, а также использования и развития. В объектах программной индустрии — комплексах программ и базах данных за последние годы произошли следующие коренные изменения:
резко возросли масштабы или размерность функционально законченных, проблемно-ориентированных программных средств, накоплено, распространяется и применяется огромное количество высококачественных программных компонентов, пакетов прикладных программ и информационных массивов баз данных, готовых к использованию в различных приложениях и сочетаниях;
трудоемкость создания таких комплексов ПС и БД, наполнения информацией и актуализации баз данных зачастую измеряется сотнями человеко-лет, а длительность их жизненного цикла достигает нескольких лет;
многие сложные программные средства и базы данных развиваются длительное время и применяются у пользователей в нескольких версиях, существенно различающихся функциональными характеристиками и качеством;
комплексы взаимодействующих и идентичных по содержанию программных средств и массивов информации баз данных, решающих единую целевую задачу, могут размещаться на различных по архитектуре удаленных аппаратных и операционных платформах и переноситься между ними;
для обеспечения мобильности прикладных программных средств и информации баз данных на иные платформы начинает применяться стандартизация их структуры и интерфейсов их компонент с операционной и внешней средой;
формализуется и фиксируется широкий спектр необходимых конкретных показателей качества, применяемых программных средств и информации баз данных, а также резко возросли требования к их надежности и безопасности функционирования.
Указанные выше тенденции развития ИС, диктуемые потребностями общества в информационном обеспечении всех сторон человеческой деятельности, влекут за собой рост сложности программ и баз данных. Масштабы таких функционально законченных прикладных программных комплексов достигают сотен тысяч и миллионов строк текста, а объемы баз данных — от сотен мегабайт до десятков гигабайт и выше. Трудоемкость создания таких программных комплексов и баз данных измеряется сотнями и тысячами человеко-лет, а длительность жизненного цикла может составлять десяток и более лет.
С другой стороны, динамика общественных процессов требует значительного ускорения разработки прикладных программ и баз данных, снижения трудоемкости и обеспечения возможности их совершенствования в процессе эксплуатации, наращивания или изменения функций при изменении требований к ним со стороны пользователей. Поэтому поиск путей реализации непрерывно растущих требований составляет одно из актуальных направлений современной информатики. В частности, одним из таких путей является повторное использование имеющихся программ и данных.
Для современных ИС характерно развитие и последовательная реализация принципов модульного построения прикладных программных комплексов. В структуре современных ПС выделяются не только подсистемы, реализующие определенные группы функциональных задач, но также и модули/компоненты, которые образуются путем декомпозиции структуры подсистем и которые, по возможности, унифицируются между разными подсистемами. Унифицированные интерфейсы и протоколы взаимодействия модулей позволяют решать задачи развития ПС путем замены отдельных модулей без изменения других частей системы.
Возможности модульного построения прикладного программного обеспечения ИС позволяют пересмотреть традиционно сложившееся дублирование функций покупных готовых программных продуктов, применяемых в ИС, из-за чего они непомерно разрастаются по объему и теряют эффективность. Например, в области обработки данных и текстов для массовых ИС деловой сферы программные продукты, предлагаемые на рынке (текстовые редакторы, настольные издательства, электронные таблицы, системы управления базами данных, средства групповой работы над документами и др.) по ряду функций дублируют друг друга, а иногда и некоторые функции системных программ. С каждой новой версией размеры этих продуктов увеличиваются на 10-15%. В результате в распределенных системах, содержащих десятки и сотни рабочих мест пользователей на персональных компьютерах и несколько серверов локальной сети ИС, избыточность программных кодов возрастает многократно.
Идеология и стандарты открытых систем, направленные на реализацию принципов модульного построения ПС, позволяют более рационально определять структуру ПС и распределение Функций между их компонентами, значительно повышая тем самым эффективность. Такой подход обеспечивает частичную компенсацию избыточных затрат системных ресурсов (производительности и памяти), которыми приходится платить за преимущества открытых систем, в частности, за модульность их построения вместо монолитных прикладных и системных программ.
Использование и развитие «унаследованных» информационных систем и их компонентов представляют одну из наиболее сложных задач для современной программной инженерии. Суть этих задач заключается в том, что «унаследованные», т.е. находящиеся в эксплуатации, системы обычно реализованы на основе разнообразных и большей частью устаревших аппаратно-программных средств. Эти системы создавались и зачастую связывались между собой на основе неунифицированных решений и интерфейсов.
Для решения задач унаследованных систем требуется технология, позволяющая привести эти системы к такому внешнему и крупноблочному структурному представлению, которое соответствовало бы современным требованиям на архитектуру систем данного класса. Такой технологией являются методы и средства реинжиниринга систем. Имея это представление системы, можно проводить постепенную покомпонентную переделку и доработку системы таким образом, чтобы не нарушать ее функционирования. Наиболее подходящим подходом к решению проблем унаследованных систем является объектно-ориентированный подход, использующий принципы:
инкапсуляции, который позволяет при использовании программного объекта полностью абстрагироваться от его реализации;
наследования, полиморфизма и позднего связывания, которые позволяют единообразно использовать семантически эквивалентные объекты, реализованные по-разному.
Для решения задачи отображения моделей, в которых представлены взаимодействующие ресурсы ИС, возможен следующий подход. Он состоит в выработке некоторой общей объектной модели, в которую отображаются модели каждого взаимодействующего ресурса. Практической реализацией этого подхода является методология и соответствующие программные средства CORBA (Common Object Request Broker Architecture), в которой обшей концептуальной моделью служит Core Object Model, представленная в виде языка спецификаций интерфейсов IDL (Interface Definition Language).