- •Теория систем и системный анализ
- •Предисловие
- •Содержание
- •1.1. Структура самостоятельного научного направления
- •1.2. Структура системных исследований
- •1.3. Эволюция системного подхода
- •Вопросы для повторения
- •Резюме по теме
- •Тема 2. Моделирование и анализ систем. Основные подходы
- •2.1. Традиционный системный подход
- •2.1.1. Особенности и проблемы традиционного системного подхода и системного анализа
- •2.1.2. Причины существования проблем традиционного системного подхода и системного анализа
- •2.2. Объектно-ориентированный подход
- •2.2.1. Особенности объектно-ориентированного подхода
- •2.2.2. Необходимость интеграции объектного и системного подходов
- •2.3. Системология – системный подход ноосферного этапа развития науки
- •2.3.1. Основные понятия
- •2.3.2. Системология – язык теории организации, логистики и инжиниринга бизнеса
- •2.3.3. Системологический и объектно-ориентированный подход
- •Вопросы для повторения
- •Резюме по теме
- •Тема 3. Технологии системного моделирования
- •3.1. Технология системно-структурного моделирования и анализа «3-ViewModeling»
- •3.1.1. Диаграммы потоков данных: нормативная система; построение модели; словарь данных; спецификация процесса
- •Нормативная система
- •Построение модели
- •Словарь данных
- •3 {Болт} 7 – от 3 до 7 итераций
- •1 {Болт} – 1 и более итераций
- •Спецификация процесса
- •3.1.2. Диаграммы «сущность-связь»: нотация Чена; нотация Баркера; построение модели
- •Нотация Чена
- •Нотация Баркера
- •Построение модели
- •3.1.3. Диаграммы переходов состояний
- •3.2. Стандарты системного моделирования и анализа серии «IcamDeFinition»
- •3.2.1. Стандарт функционального моделированияIdef0
- •3.2.2. Стандарт информационного моделированияIdef1
- •3.2.3. Стандарт моделирования баз данных idef1x
- •3.2.4. Стандарт моделирования сценариев idef3.
- •3.2.5. Стандарт моделирования онтологий idef5
- •3.3. Case-инструментарий системного моделирования и анализа
- •3.3.1. Назначение и возможности «AllFusionProcessModeler/bPwin»
- •3.3.2. Особенности «bPwin»
- •3.3.3. Недостатки инструментария системного моделирования
- •Вопросы для повторения
- •Резюме по теме
- •Тема 4. Технология объектного моделирования и анализа
- •4.1.Uml– язык объектного моделирования
- •4.1.1. Сущности: структурные; поведенческие; группирующие; аннотационные
- •Структурные сущности
- •Поведенческие сущности
- •Группирующие сущности
- •Аннотационные сущности
- •4.1.2. Отношения
- •4.1.3. Диаграммы
- •4.1.4. Процесс объектно-ориентированного моделирования/проектирования: начальная фаза; исследование; построение; внедрение; дополнительные средства
- •Начальная фаза проекта (Inception)
- •Исследование (Elaboration)
- •Построение (Construction)
- •Внедрение (Transition)
- •Дополнительные средства
- •4.2. Требования к объектному моделированию бизнес-систем
- •4.2.1. Внешняя модель бизнес-системы
- •4.2.2. Внутренняя модель бизнес-системы
- •4.2.3. Пример uml-модели бизнес-системы
- •4.2.4. Пример модели информационного обеспечения бизнеса
- •4.3. Case-инструментарий объектного моделирования и анализа
- •4.3.1. Назначение и возможности «ibm Rational Software Architect»
- •4.3.2. Интерфейс «ibm Rational Software Architect»
- •4.3.3. Представление модели в «ibm Rational Software Architect»: представление вариантов использования; логическое представление; представление компонент; представление размещения
- •Представление вариантов использования
- •Логическое представление
- •Представление компонент
- •Представление размещения
- •4.3.4. Недостатки инструментария объектного моделирования
- •Вопросы для повторения
- •Резюме по теме
- •Тема 5. Технология системно-объектного моделирования и анализа
- •5.1. Методология системно-объектного моделирования и анализа
- •5.1.1. Системологический подход «Узел-Функция-Объект»
- •5.1.2. Адаптивная нормативная система уфо-анализа
- •5.1.3. Классификация бизнес-систем
- •5.2. Процедура системно-объектного моделирования и анализа
- •5.2.1 Алгоритм уфо-анализа.
- •5.2.2. Примеры уфо-моделей.
- •5.3. Case-инструментарий системно-объектного моделирования и анализа
- •5.3.1. Назначение и возможности «ufo-toolkit»
- •5.3.2. Особенности функционирования «ufo-toolkit»
- •5.3.3 Технология представление моделей в «ufo-toolkit»
- •Торгово-закупочная деятельность
- •Вопросы для повторения
- •Резюме по теме
- •Вместо заключения
- •Представление dfd-диаграммы с помощью уфо-модели
- •Представление idef0-диаграммы с помощью уфо-модели.
- •Представление bpmn-диаграммы с помощью уфо-модели.
- •Глоссарий
- •Список литературы
4.3. Case-инструментарий объектного моделирования и анализа
Существует несколько CASE-средств, поддерживающих язык UML. Наиболее известным является Rational Rose, которое мы рассмотрим, используя, в первую очередь, работу [82], а также [22, 86, 87].
4.3.1. Назначение и возможности «ibm Rational Software Architect»
Rational Rose – CASE-средство фирмы Rational Software Corporation (США) – предназначено для автоматизации этапов анализа и проектирования программного обеспечения (ПО), а также для генерации кодов на различных языках и выпуска проектной документации. Rational Rose использует методологию объектно-ориентированного анализа и проектирования. Конкретный вариант Rational Rose определяется языком, на котором генерируются коды программ (C++, Smalltalk, PowerBuilder, Ada, SQLWindows, ObjectPro). Кроме того, Rational Rose содержит средства реинжиниринга программ, обеспечивающие повторное использование программных компонент в новых проектах.
В составе Rational Rose можно выделить 6 основных структурных компонент: репозитарий,графический интерфейс пользователя,средства просмотра проекта(browser),средства контроля проекта,средства сбора статистикиигенератор документов. К ним добавляютсягенератор кодов(индивидуальный для каждого языка) ианализатордля С++, обеспечивающий реинжиниринг – восстановление модели проекта по исходным текстам программ.
Репозитарийпредставляет собой объектно-ориентированную базу данных.Средства просмотраобеспечивают «навигацию» по проекту, в том числе, перемещение по иерархиям классов и подсистем, переключение от одного вида диаграмм к другому и т.д.Средства контроляисбора статистикидают возможность находить и устранять ошибки по мере развития проекта, а не после завершения его описания.Генератор отчетовформирует тексты выходных документов на основе содержащейся в репозитарии информации.
Средства автоматической генерации кодовпрограмм на языке С++, используя информацию, содержащуюся в логической и физической моделях проекта, формируют файлы заголовков и файлы описаний классов и объектов. Создаваемый таким образом скелет программы может быть уточнен путем прямого программирования на языке С++.Анализатор кодовС++ реализован в виде отдельного программного модуля. Его назначение состоит в том, чтобы создавать модули проектов в формате Rational Rose на основе информации, содержащейся в определяемых пользователем исходных текстах на С++. В процессе работы анализатор осуществляет контроль правильности исходных текстов и диагностику ошибок. Модель, полученная в результате его работы, может целиком или фрагментарно использоваться в различных проектах. Анализатор обладает широкими возможностями настройки по входу и выходу. Например, можно определить типы исходных файлов, базовый компилятор, задать, какая информация должна быть включена в формируемую модель и какие элементы выходной модели следует выводить на экран. Таким образом, Rational Rose/С++ обеспечивает возможность повторного использования программных компонент.
В основе работы Rational Rose лежит построение различного рода диаграмм и спецификаций, определяющих логическую и физическую структуры модели, ее статические и динамические аспекты.
Диаграммы классов показывают классы и их иерархии, отображая логику построения прикладной системы. Для больших систем обычно строится не одна, а несколько подобных диаграмм. Диаграмма классов определяет только статические аспекты, относящиеся к классам. Динамика их поведения представляется на диаграммах состояний. Диаграммы кооперации показывают существующие объекты и их взаимодействие в логическом проекте прикладной системы. Модульные диаграммы (диаграммы компонентов) определяют распределение классов и объектов в модулях, физически реализующих проект. Одна модульная диаграмма представляет всю или часть модульной архитектуры системы. Для решения задачи распределения аппаратных ресурсов в Rational Rose используются диаграммы размещения.
Не вся необходимая информация о проекте может быть наглядно отражена в диаграммах, поэтому Rational Rose содержит средства ввода спецификаций, которые дополняют набор диаграмм. Спецификации создаются для прецедентов, пакетов, классов, атрибутов, операций, подсистем, объектов, компонент, диаграмм и т.д.
Основные свойства Rational Rose, обеспечивающие ее высокую конкурентоспособность на мировом рынке программных средств, следующие:
охват всех этапов жизненного цикла работы над проектом с единой методикой и нотацией;
возможность повторного использования программных разработок пользователей за счет средств реинжиниринга;
наличие средств автоматического контроля, позволяющих вести отладку проекта по мере его разработки;
возможность описания проекта на разных уровнях для различных категорий пользователей;
удобный для пользователя графический интерфейс;
автоматическая генерация кодов на языках С++, Ada, Smalltalk, PowerBuilder, SQLWindows, VisualBasic;
наличие средств групповой разработки;
широкий спектр применения системы – базы данных, банковские системы, телекоммуникация, системы реального времени и т. д.
возможность использования различных платформ: IBM PC (в среде Windows), Sun SPARC Stations (Solaris, SunOS), Hewlett-Packard (HP UX), IBM RS/6000 (AIX).