Разделы



Особенности построения многоуровневых экономических информационных систем на основе структурной и объектно-ориентированной декомпозиции.

Информационные системы экономического характера (ЭИС) при званные осуществлять процессы поддержки принятия и исполнения решений на всех уровнях управления хозяйственным субъектом и ориентированные на одновременное использование несколькими пользователями в литературе получили название многоуровневые ЭИС. Данные системы весьма разнообразны по охвату реализуемых функций, особенностям представления исходных и результатных данных, способам построения и привязки к специфике конкретных предприятий, количественному составу предоставляемых услуг, техническому, программному, лингвистическому методическому обеспечению.

Построение многоуровневых ЭИС характеризуется наличием двух основных подходов. Первый подход называют функционально-модульным или структурным, второй объектно-ориентированным (рис. 1).

В основу структурного подхода проектирования ЭИС положен принцип функциональной декомпозиции, в соответствии с которым производится разделение функций системы на модули по функциональной принадлежности, где каждый модуль выполняет определенную последовательность действий в общем процессе. Рассматриваемая ЭИС делится на подсистемы, подсистемы на комплексы задач и т.п.

Традиционный функционально-модульный подход предусматривает строго последовательный порядок действий и характеризуется лавинообразным нарастанием сложности, что, несомненно, может являться отрицательным фактором при разработке многоуровневой ЭИС, поскольку рассматриваемые и анализируемые информационные потоки имеют тенденцию поступательного движения  “течения” только в одну сторону. Если проблема оказывается "внизу по течению", то часто возникает сильное организационное и методическое противостояние с целью проводить лишь ограниченные исправления и обеспечить решение проблемы без воздействия на предыдущие стадии проекта. Такая обратная связь приводит к подготовке проекта недостаточно высокого качества, а дальнейшее внесение исправлений в проект приводит к существенным отклонениям при реализации. Изменение требований к системе может привести к ее полному перепроектированию , поэтому ошибки, заложенные на ранних этапах, ощутимо сказываются на времени и конечной цене разработки. При разработке многоуровневых ЭИС большой сложности ориентация на данный подход увеличивает вероятность того, что будет утрачен контроль над решением возникающих проблем, что в конечном итоге как правило приводит к банкротству разрабатываемой ЭИС.

Среди методологий, ориентированных на функциональномодульный подход, наиболее распространены следующие: IDEF ; методологии, ориентированные на потоки данных: (Гейн /Сарсон , Йодан ); методологии информационного моделирования, основанные на моделях Джексона, Чена и Варнье /Орра.

п»ї

IDEF ( ICAM DEFininition ) была разработана в середине 70х годов в рамках программы ICAM ( Integrated Computer Aided Manufacturing ) для военнокосмических сил США, а затем была принята как стандарт Ми нистерства обороны США. Она представляет собой семейство независимых, но дополняющих друг друга методологий, основанных на графическом представлении информации и включающая механизмы построения логических и семантических моделей данных, состоящих из методологий: IDEF 0 – метод функционального моделирования, в основе которого лежит методология структурного анализа и проектирования ( SADT ) ( Structured Analysis and Design Technique ) предложенная Дугласом Рос сом в 1973 году; IDEF 1 – метод информационного моделирования, осно ванный на ER ( EntityRelationship ) – моделях Чена ; IDEF 1 X – расширение IDEF 1 на основе дополнения методологиями Т.Кодда, П.Чена ; IDEF 2 – метод создания динамической модели системы, основанный на цветных сетях Петри ( CPN – Colored Petri Nets ).

Модель многоуровневой ЭИС на основе SADT основывается либо на функциях (активностная модель), либо на сущностях предметной области (модель данных). Для полного описания сложной системы необходимо построить множество активностных моделей и моделей данных. Наиболее часто используются активностные модели. Результатом анализа является диаграмма, которая состоит из элементов двух типов: блоки, изображающие активности ЭИС; дуги, связывающие блоки и обозначающие взаимосвязи между ними.

Допускаются обратные входные и управленческие связи; дуги, изображающие наборы предметов, могут разветвляться и соединяться вместе. Таким образом, диаграммы SADT являются предписывающими диа граммами, которые представляют как преобразования между входом и выходом, так и правила этих преобразований.

Модель SADT объединяет диаграммы в иерархические древовидные структуры. Каждый функциональный блок может быть представлен в виде композиции других взаимосвязанных блоков. В свою очередь некоторые из этих блоков могут быть представлены более детально и т.д., то есть чем выше уровень диаграммы, тем менее уровень детализации.

Прогнозирования являются стержнем любой торговой системы, в связи с этим грамотно воспроизведенные прогнозы Форекс могут сделать тебя разительно богатым.

Основным достоинством SADT является простота и удобство в использовании.

В основе IDEF 0 лежит принцип декомпозиции процессов и данных. Функциональная модель отражает архитектуру многоуровневой ЭИС на основе взаимосвязанных модулей и состоит из диаграмм, фрагментов текста и глоссария, имеющих ссылки друг на друга. Диаграммы  главные компоненты модели. Диаграммы состоят из блоков и дуг. Блоки представляют действие, дуги  объекты, обрабатываемые системой. Место соединения дуги с блоком определяет тип интерфейса. Управляющие функцией данные входят в блок сверху, в то время как материалы или информация, которая подвергается операции функции, показаны с левой стороны блока; результаты выхода  с правой стороны. Механизм (человек или автоматизированная система), который осуществляет операцию представляется стрелками, входящими в блок снизу.

п»ї

Метод IDEF 0 характеризуется постепенным введением всё больших уровней детализации по мере создания диаграмм, отображающих модель. Таким образом обеспечивается представление информации, и пользователь располагает хорошо очерченным предметом изучения с приемлемым объемом новой информации на каждой следующей диаграмме.

Модель проектируемой ЭИС начинается с представления всей системы в виде простейшей компоненты  блока и дуг, изображающих интерфейсы с функциями вне системы. Затем данный блок представляющий многоуровневую ЭИС в качестве единого модуля, детализируется на другой диаграмме с помощью нескольких блоков, соединенных интерфейсными дугами. Эти блоки представляют собой основные под функции (подмодули) единого исходного модуля. Данная декомпозиция выявляет полный набор подмодулей, каждый из которых представлен как блок, границы которого определены интерфейсными дугами. Каждый из этих подмодулей декомпозирован подобным образом для более детального рассмотрения. Таким образом рассматриваются все аспекты функционирования ЭИС.

Функциональные блоки должны располагаться на диаграмме в строгой последовательности, что ограничивает разработчика при анализе ЭИС и приводит к загромождению диаграммы (приходится использовать многочисленные и иногда лишние обратные связи). В методе Росса алгоритмическая декомпозиция проявляется при разбиении функций ЭИС (функциональных блоков) на составные части. Следовательно, ему присущи те же недостатки, что и для всех функционально–модульных методов. В частности, для достаточно крупных систем с большим количеством функциональных блоков (которые играют роль либо модулей, либо функций) и обратных связей диаграмма становится чрезвычайно громоздкой и нечитабельной. Незначительные изменения функциональных характеристик многоуровневой ЭИС приведут к модификации диаграмм на верхних уровнях, что лавинообразно повлечет за собой необходимость перестройки всех нижних уровней, то есть, практически, к проведению анализа заново.

IDEF 1 X представляет расширенную версию методологии моделирования IDEF 1, включающую IISS подход, основанный на создании и использовании единого семантического определения данных как ресурса и получившего название “Концептуальной схемы”. Целью данного метода является выработка непротиворечивого интегрированного определения семантических характеристик данных. С помощью IDEF 1 X осуществляется концептуальное проектирование баз данных в форме одной модели или нескольких локальных моделей функционального взгляда, которые относительно легко могут быть отображены в любую систему управления базами данных. IDEF 1 X использует подход “сущность связь ” (сущностей  отношений) к семантическому моделированию дан ных и представляет комбинацию реляционной теории Т.Кодда, методо логии “ EntityRelationship ” и диаграммы “сущности отношения ” П.Ченна . Для улучшения графического представления данных и процедур моделирования IDEF 1 X дополнена отношениями категоризации, называемыми также отношениями обобщения.

Метод IDEF 1 X содержит набор правил и процедур для построения информационной модели. Моделирование IDEF 1 X представляет собой процесс, состоящий из ряда стадий, каждая из которых завершается по дающимися оценке результатами, конкретными проектными материала ми. Такой порядок моделирования в отличие от других подходов обес печивает модульность как процесса, так и его результатов, что позволяет избежать некорректности, неполноты, противоречивости и неточности.

Информационная модель содержит две основные компоненты: диаграммы, отображающие структурные характеристики модели, обеспечивая выразительное представление информации; словари, содержащие смысловое значение каждого элемента модели, выраженное с помощью краткого текста, и обозначения (указателей), которые в совокупности точно определяют информацию, отображенную в модели.

Информационная модель содержит две основные компоненты:

♦       диаграммы, отображающие структурные характеристики модели, обеспечивая выразительное представление информации;

♦       словари, содержащие смысловое значение каждого элемента модели, выраженное с помощью краткого текста, и обозначения (указателей), которые в совокупности точно определяют информацию, отображенную в модели.

Результатом моделирования IDEF 1 X является структурно проработанная информационная модель. Она характеризуется взаимосвязью сущностей (объектов), отношениями (связями между объектами) и атрибутами (характеристиками объектов). В ней каждая сущность представляет не избыточную совокупность информации и каждая пара сущностей, связанная отношением, выражает в модели некоторое не избыточное содержание. Каждая сущность в моделях полностью определена; каждая сущность идентифицирована через её атрибуты, модель характеризуется простыми отношениями и каждая сущность проявляется в мо дели только один раз. Совокупность моделей функциональной и информационной обеспечения, как правило, обеспечивает реальное отображе ние процесса функционирования несложной ЭИС.

В методологиях, ориентированных на потоки данных, центральное место занимают диаграммы потоков данных – ДПД ( DataFlow Diagrams – DFD ). Метод потоков данных получил широкое распространение как в структурных методологиях (методология Гейна /Сарсона , основанная на ДПД и методология Йодана /ДеМарко , где ДПД занимает центральное место), так и в объектно-ориентированных (методология объектно-ориентированного анализа Шлеер /Меллора , где используется расширенный вариант ДПД, и методология OMT (Object Modeling Technique – метод объектного моделирования).

Формально, потоковая диаграмма есть ориентированный граф, на груженный по дугам и вершинам. ДПД описывает асинхронный процесс преобразования данных от их ввода в систему до выдачи потребителю. Внешние сущности – источники информации – порождают информационные потоки. Информационные потоки переносят данные к процессам. Процессы, в свою очередь, преобразуют данные и порождают новые ин формационные потоки, которые переносят данные к другим процессам или подсистемам, накопителям данных или внешним сущностям – потребителям информации.

Модель потоков данных строится при помощи небольшого набора логических абстракций  внешних сущностей, моделирующих источники и приемники данных; процессов, преобразующих данные; накопителей данных, хранящих данные; информационных потоков, связывающих внешние сущности, процессы и накопители.

Отдельно взятый процесс может быть представлен более детализированной диаграммой потоков данных. Подобная декомпозиция продолжается до тех пор, пока не будет достигнут такой уровень, при котором каждый процесс становится элементарным, непригодным для дальнейшей детализации. Следовательно, осуществляется обыкновенная алгоритмическая декомпозиция многоуровневой ЭИС на составные части.

Использование модели потоков данных как центральной в анализе ЭИС непригодно для крупных ЭИС, поскольку при изменений требований или ошибках, совершенных при создании диаграмм верхнего уровня, но обнаруженных при рассмотрении нижнеуровневых диаграмм, приходится по инерции переделывать целые поддеревья со всеми их по дуровнями в иерархии ДПД.

Методологии информационного моделирования предназначены для проектирования схем баз данных и структур данных. Наиболее широкое распространение получил метод ER ( Entity Relationship ) — моделирования П. Чена и методологии, построенные на его основе (методологии, ориентированные на концептуальное моделирование).

При проектировании сложных многоуровневых ЭИС целесообразно использовать объектно-ориентированный подход. Особенность данного подхода заключается в описании взаимодействующих объектов многоуровневой ЭИС. При этом, каждый объект ЭИС обладает собственным поведением, моделирующим поведение реального объекта. Многоуровневая ЭИС рассматривается, как совокупность объектов, взаимодействующих друг с другом путем посылки сообщений. Разделение ЭИС на слабосвязанные части позволяет разрабатывать их практически независимо друг от друга. Таким образом, изменение требований к системе затрагивает лишь некоторую её часть и совершенно не влияет на остальные, чего трудно добиться при традиционном функциональном проектировании. Применение объектно-ориентированной методологии создает большие удобства в планировании и управлении разработкой проекта ЭИС. К основным понятиям объектно-ориентированного подхода следует отнести объект, экземпляр объекта, класс.

Объект – это такая абстракция множества предметов реального мира, что все предметы этого множества (экземпляры объекта) имеют одинаковые характеристики и правила поведения. Объект представляет собой типичный и неопределенный экземпляр некоторого множества предметов реального мира. Иногда вместо термина ”экземпляр объекта” употребляют слово ”объект”, и значение этого понятия можно понять из контекста.

Класс – это множество объектов, связанных общностью структуры и поведения (например, класс расчетноденежных документов). Таким образом, объект – это типичный представитель класса, а экземпляр объекта – конкретный элемент класса. С точки зрения анализа информационной модели понятия “описание класса” и “описание объекта” эквивалентны, так как для описания множества схожих элементов (т.е. класса) достаточно описать его типичный представитель (т.е. объект). Тем не менее в описанных в литературе методологиях понятия “класс”, “объект”, “экземпляр объекта” иногда смешиваются, и смысл того или иного понятия выявляется на основании анализа контекста.

Объекту присущи три основные свойства : инкапсуляция; наследование; полиморфизм. Инкапсуляция – объединение идей абстрагирования данных и алгоритмов для работы с ними. Объекты наделяются некоторой структурой и обладают определенным набором операций (методов), т.е. поведением. Внутренняя структура объекта скрыта от пользователя; манипуляция объектом, изменение его состояния возможны лишь посредством его методов. Таким образом, благодаря инкапсуляции объекты можно рассматривать как самостоятельные сущности, отделенные от внешнего мира. Для того чтобы объект произвел некоторое действие, ему необходимо извне послать сообщение, которое инициирует выполнение нужного метода. Наследование – построение новых классов на основе существующих с наследованием данных и методов и с возможностью добавления новых. Полиморфизм – возможность единообразного обращения к объектам при сохранении уникальности поведения каждого из них. Различные объекты могут получать одинаковые сообщения, но реагировать на них по-разному , в соответствии с тем, как реализованы у них методы, реагирующие на эти сообщения. Например, объект класса “линия” отреагирует на сообщение “нарисовать” рисованием линии, тогда как объект класса “окружность” – рисованием окружности.

Применение объектно-ориентированной методологии охватывает все этапы жизненного цикла многоуровневой ЭИС. В настоящий момент, как правило, используются объектно-ориентированные методоло гии Шлеер / Меллора , Рамбо ( OMT   Object Modeling Technique ), Буча , Кода/Йодана и Якобсона ( OOSE ).

Методология Шлеер –Меллора представляет собой методологию объектно-ориентрованного анализа предметной области, задачи проектирования в ней вынесены на вторичный план и характеризуются созданием независимой от языка нотации OODLE для дальнейшего объектно-ориентированного проектирования.

Процесс анализа в данной методологии включает три самостоятельных этапа:  информационное моделирование; моделирование состояний; моделирование процессов. Первый этап характеризуется диаграммой информационной структуры 1 ; описанием объектов и атрибутов; описанием связей между объектами. В процессе выполнения второго этапа формируются диаграммы перехода состояний; таблицы переходов в состояния; список событий. Результирующими данными третьего этапа являются модель доступа к объектам; диаграммы потоков данных; таблица процессов состояний; описание процессов.

Методология OMT представляет собой методологию анализа и проектирования. В ней выделяют три основных этапа:  анализ, системное проектирование и объектное проектирование. Анализ характеризуется моделью объектов , включающей диаграмму классов (описание классов и отношений между ними), диаграмму объектов (описание связей между экземплярами объектов) и словарь данных (словесное описание предметной области в виде обыкновенного толкового словаря); моделью поведения, включающей диаграммы перехода состояний (описание жизненных циклов объектов всех классов), диаграммы взаимодействия объектов (диаграмма потоков событий); функциональной моделью, включающей диаграммы потоков данных 2 и ограничения функциональной модели.

Системное проектирование характеризуется разбиением системы на подсистемы; проектированием архитектуры программной системы; распределением множества подсистем на множество задач операционной системы; выбором стратегии хранения данных в терминах структур данных, файлов и баз данных (проектирование схемы базы данных); определением глобальных ресурсов и механизма управления доступом к ним.

Объектное проектирование включает детальное описание классов, отношений между классами, событий, состояний, действий, данных, алгоритмов. Это описание используется на этапе кодирования ЭИС. Осуществляется комплектование программных модулей, содержащих реализации классов и отношений между ними.

Методологии анализа Шлеер /Меллора и OMT имеют много общего. Авторы OMT отмечают её сходство с методологией Шлеер /Меллора . В обеих методологиях процесс анализа включает три самостоятельных этапа3: информационное моделирование в методологии Шлеер /Меллора и модель объектов в OMT ; моделирование состояний в методологии Шлеер /Меллора и динамическая модель в OMT ; моделирование процессов в методологии Шлеер /Меллора и функциональная модель в OMT соответственно. Методология Шлеер /Меллора содержит множество прак тических рекомендаций для анализа и проектирования систем. В методологии OMT последовательно на примерах рассмотрены все этапы раз работки системы, приводится их короткий обзор.

В отличие от OMT в методологии Шлеер /Меллора существенное внимание уделяется таким вопросам как анализ динамики связей между объектами; взаимодействие объектов и их параллельное функционирование; выделение отдельных доменов 4 ; разбиение доменов на подсистемы5; преобразование моделей объектно-ориентированного анализа в мо дели объектно-ориентированного проектирования; создание независящей от языка нотации объектно-ориентированного проектирования.

За последний десяток лет на свет появилось множество методологий проектирования и поддерживающих их программ. Несомненный интерес наблюдается в области развития методологий, обеспечивающих проведение объектно-ориентированного анализа. Наиболее ярким достоинством объектно-ориентированного анализа в процессе проектирования многоуровневой ЭИС является наличие единого подхода, распространяющегося на весь жизненный цикл программного обеспечения. Объектная декомпозиция ЭИС состоит из ряда хорошо продуманных этапов, что повышает уверенность в правильности принимаемых решений и сокращает степень риска. В противовес традиционному структур ному подходу (поступательной разработке сверху вниз), для которого, как отмечалось выше, характерно лавинообразное возрастание сложности, применение объектно-ориентированного подхода приводит к по строению многоуровневой ЭИС на основе стабильных промежуточных форм. Это позволяет легко использовать метод возвратного проектирования и дает возможность постепенного развития ЭИС без полной ее переработки в случае существенных изменений исходных требований и обеспечивает создание более открытых для изменения систем. Объектная декомпозиция упрощает распараллеливание разработки, поскольку позволяет представить всю ЭИС в виде слабо связанных друг с другом объектов, обменивающихся сообщениями.

Появление за последнее десятилетие множества программных продуктов, поддерживающих различные методологии проведения объектного анализа характеризовались тем, что используемые в них методологии разрабатывались разрозненно и не обеспечивали целостного описания предметной области как некого результата анализа. Одни из этих методологий акцентировали внимание на потоки данных, другие на структуру объектов или связи между ними. В стане объектно-ориентированных методологий анализа наблюдалась некоторая несогласованность. Обуславливалась она тем, что различные методы анализа акцентировали внимание на различных аспектах построения модели предметной области, в той или иной степени решали определенные вопросы, не давая полной и всесторонней картины анализа. Однако пользователи желали получить такой инструмент объектного моделирования, который бы отвечал их потребностям в той же мере, что и методология SADT в структурном анализе. Так, середина 90х ознаменовалась конкретными шага ми в этом направлении при участии таких известных специалистов в области объектного анализа, как Гради Буч , Джим Рамбо и Айвар Якобсон. Втроем они возглавили разработку специального языка объектного моделирования   UML    ( Unified    Modeling   Language )  в  фирме   Rational Software .

Появление в свет первой версии этого языка 13 января 1997 года стало логическим продолжением развития методологий анализа и проектирования. За время своего существования язык UML стал стандартом дефакто . Интересно отметить, что в октябре 1996 года Rational Software и Microsoft подписали стратегическое соглашение, по которому Microsoft лицензировала некоторые технологии визуального моделирования и использовала их в Visual Modeller for Visual Basic . Со своей стороны Rational лицензировала Visual Basic и Microsoft Repository .

UML представляет собой набор диаграмм, описывающих предмет ную область как в статике (объектные диаграммы), так и в динамике (диаграммы жизненных циклов объектов), а также описывает программ ную среду с помощью диаграмм модулей. С помощью этого языка достаточно просто переложить результаты анализа на конкретную реализацию с помощью понятия модулей или компонент, которые достаточно часто прямо отражают домены предметной области.

Распределенная ЭИС в моделях UML представляется в виде некой совокупности взаимосвязанных диаграмм, описывающих наиболее важные аспекты системы с точки зрения разработчика. Это дает возможность наиболее полно охватить систему, увидеть ее несовершенства, внести необходимые изменения, избежать многих ошибок на ранней стадии создания программного обеспечения. В UML используются все те же диаграммы, что и в других средствах анализа, однако собранные воедино, они дают возможность наиболее полно рассмотреть предметную область и подвергнуть ее более глубокому анализу. Так, из методо логии OOSE Айвара Якобсона были взяты диаграммы прецедентов ( Use Case Diagram ) для анализа предметной области. Для создания иерархи ческой структуры объектов в методе UML применяются диаграмм клас сов ( Class Diagram ). Они отображают взаимосвязи между объектами, классами системы, их атрибуты и поведение. По своей значимости диаграммы классов, пожалуй, являются наиболее весомыми в объектном анализе, так как от качества классификации объектов зависит жизнеспособность будущей системы. Диаграмма поведения системы ( Interaction Diagram ), диаграммы последовательности ( Sequence Diagram ) и взаимодействия ( Collaboration Diagram ) вместе дают трехмерную модель взаимодействия объектов системы относительно времени. С помощью диаграмм состояний ( State Diagram ) описывается структура переходов объектов из одного состояния в другое при возбуждении определенных событий. Также используются диаграммы активности ( Activity Diagram ), с помощью которых описывают алгоритмы выполнения определенных операций. Для того, чтобы описать и спроектировать архитектуру системы, а также обозначить процессы, которые будут выполняться на определенных узлах распределенной системы используются диаграммы размещения ( Deployment Diagram ). Для разбиения системы на отдельные компоненты, выявления возможности повторного использования уже существующих компонент используются диаграммы компонент ( Component Diagram ).

Таким образом, объектно-ориентированная декомпозиция на базе UML поддерживает все стадии жизненного цикла проектов – от анализа требований к системе до проекта на конкретном языке программирования. Средства визуального проектирования, поддерживающие язык UML (такие как, например новое CASE средство Rational Rose ) обеспе чивают генерацию кода и обратное проектирование для множества язы ков программирования и описания интерфейсов (например PowerBuilder , CORBA IDL и др.), а также имеют поддержку моделей ERwin и языка описания данных DDL для большинства СУБД.

Таким образом, достоинствам объектно-ориентированного подхода в построении многоуровневых ЭИС является максимальное задействование возможностей объектно-ориентированных языков программирования, что позволяет создавать программные продукты на основе повторного использования программного кода. Такие ЭИС получаются более компактными, по сравнению с традиционными эквивалентными системами, что позволяет говорить не только об уменьшении объемов исходного кода, но и об удешевлении проекта. Сложность применения объектно-ориентированного подхода полностью перекрывается преимуществами объектно-ориентированной методологии по сравнению с функциональным подходом. Объектно-ориентрованная методология представляет собой не революционный подход, а эволюционный, включающий все лучшее из существующих методологий, и создаваемые на основе данного подхода ЭИС будут обладать этими преимуществами.

Завершая данный раздел, отметим, что в настоящее время существует большое разнообразие инструментальных средств проектирования ЭИС, реализующих как структурный, так и объектно-ориентированный подходы – так называемых CASE – средств.

Читать далее: Логическая трехуровневая архитектура многоуровневой экономической информационной системы.