РАЗДЕЛ 2
Разработка моделей модульной распределенной моделирующей среды на базе объектно-ориентированного анализа
2.1. CASE-методы и технология UML как основной инструмент моделирования РМС
Традиционный подход к моделированию включает в себя три этапа: анализ объекта исследования, построение (синтез) модели, получение результата и его оценка путем сравнения с объектом моделирования [79] (рис 2.1).
Процесс создания модели для информационной системы, к классу которых относится и РМС, несколько отличается от приведенной схемы и включает в себя этапы анализа и проектирования (рис 2.2) [55, 67]. Под моделированием в данной работе понимается построение последовательности представлений - моделей, позволяющих анализировать систему с разных точек зрения. Эти представления позволяют путем постепенной детализации перейти от начальных описаний системы к ее реализации.
Общий цикл разработки программного обеспечения информационной системы достаточно редко проходит последовательно. В настоящее время принята модель так называемой быстрой прототипизации, в которой возвраты к началу основной последовательности происходят регулярно, с каждым циклом проектирования. Другими словами, требуется одновременное выполнение всех задач всех фаз жизненного цикла, что не отменяет разделение действий в соответствии с фазами процесса проектирования. Такая возможность появилась с использованием CASE-средств.
На этапах анализа и проектирования принимаются решения, которые оказывают решающее влияние на конечный продукт. Поэтому обычно CASE-средства применяют, прежде всего, на этих этапах.
Основной частью этапа проектирования является построение информационной модели объекта. При разработке прикладной системы по схеме "сверху - вниз", информационная модель постепенно дополняется и детализируется.
Для описания моделей в данной работе используется язык моделирования UML [66-69], являющийся подклассом CASE-средств и предназначенный для моделирования информационных систем, в том числе распределенных Web-приложений. Полученные модели впоследствии могут быть воплощены в работоспособный код на практически любом языке программирования.
2.2. Компонентный подход к проектированию РМС
При разработке РМС наиболее целесообразным является реализация компонентной (модульной) архитектуры. Компонентой обычно называют независимый элемент ПО, скрывающий свою реализацию и взаимодействующий с внешним миром через интерфейсы. Компонента может быть многократно использована в различных приложениях и развиваться независимо от использующего ее окружения. Кроме того, она может заменяться другими компонентами, имеющими тот же внешний интерфейс.
Распределенная моделирующая среда, построенная по модульному принципу, представляется в виде совокупности компонент с простыми и четко специфицированными интерфейсами. Этот подход позволяет разрабатывать каждую компоненту независимо, реализовывать компоненты так, чтобы они могли работать в распределенной среде, модифицировать любую из компонент РМС, оставляя неизменными все остальные, и т.д.
Понятие компоненты широко используется при создании распределенных сетевых приложений. Программное обеспечение удобно представлять в виде набора взаимодействующих компонент, работающих на разных компьютерах и на разных платформах (Windows, Unix/Linux и т.д.);
Концепцию модульного программирования можно сформулировать в виде нескольких понятий и положений:
- Функциональная декомпозиция задачи - разбиение большой задачи на ряд более мелких, функционально самостоятельных подзадач - модулей. Модули связаны между собой только по входным и выходным данным.
- Модуль - основа концепции модульного программирования. Каждый модуль в функциональной декомпозиции представляет собой "черный ящик" с одним входом и одним выходом. Модульный подход позволяет производить модернизацию программы в процессе ее эксплуатации и облегчает ее сопровождение. Дополнительно модульный подход позволяет разрабатывать части программ одного проекта на разных языках программирования, после чего с помощью компоновочных средств объединять их в единый загрузочный модуль.
- Реализуемые решения в конечном итоге должны выглядеть простыми и ясными, иначе декомпозиция начальной или промежуточной задачи была проведена недостаточно качественно. В этом случае проводится повторный анализ и, возможно, дополнительное разбиение на подзадачи.
2.3. Модели распределенной моделирующей среды
Первой стадией создания модели распределенной моделирующей среды согласно рисунку 2.2 является анализ требований к создаваемой системе. Для этого на основе экспертных запросов выявляются наиболее актуальные и потенциальные потребности, которые должны удовлетворяться проектируемой информационной системой, определяются потоки данных и объемы информации, которые должны поддерживаться и обрабатываться и т.д. Тот факт, что в данной работе проектируется распределенная моделирующая среда на базе унаследованной (legacy) системы DIVA, вносит свои коррективы при анализе требований к новой среде.
Заключительным этапом создания модели является описание в нотации UML всех необходимых структур, операций, диаграмм взаимодействия и т.д. для полного и однозначного определения всех свойств будущей системы.
2.3.1. Разработка модели РМС на базе технологии "клиент-сервер"
Практически любую систему моделирования сложных технологических процессов можно рассматривать, по меньшей мере, с двух позиций: позиции разработчика модельного обеспечения и конечного пользователя, обычно технолога соответствующего моделируемого технологического процесса, являющегося экспертом в данной предметной области. Одним из основных препятствий на пути успешного использования подобного рода систем на производстве является сложная процедура взаимодействия между пользователем и системой. Часто от технолога требует