- •Тема 6.Инструментальные средства анализа и проектирования
- •6.1. Понятие case-средства
- •6.2. Обзор рынка case-средства структурного анализа и проектирования
- •Распределение case-средств структурного анализа по видам моделируемой деятельности
- •VantageTeam Builer
- •Visible Analyst Workbench
- •6.3. Обзор рынка case-средства объектно-ориентированного анализа и проектирования
- •6.4.1. Общие сведения о среде bPwin
- •Сравнительная характеристика средств построения uml-диаграмм
- •6.4. BPwin
- •6.4.2. Диаграммы bPwin
- •6.4.3. Работы на диаграммах bPwin
- •6.4.4. Стрелки на диаграммах bPwin
- •6.4.5. Нумерация работ и диаграмм
- •6.4.6. Каркас диаграммы
- •6.4.7. Слияние и расщепление моделей
- •6.4.8. Построение диаграммы потоков данных
- •6.4.9. Построение диаграммы потоков работ
- •Типы перекрестков
- •Типы объектов ссылок
- •Диапазоны номеров работ
- •6.4.10. Создание отчетов в bPwin
- •6.5. ErWin
- •6.5.1. Основы моделирования данных
- •6.5.2. Использование метода idefix в eRwin
- •6.5.3. Общие сведения о среде eRwin
- •6.5.3.1. Уровни представления модели данных
- •6.5.3.2. Документирование модели данных
- •6.5.3.3. Масштабирование моделей данных
- •6.5.3.4. Интерфейс eRwin
- •6.5.3.5. Уровни отображения диаграмм
- •6.5.4. Создание логической модели данных
- •6.5.4.1. Уровни логической модели
- •6.5.4.2. Сущности и атрибуты
- •6.5.4.3. Связи
- •6.5.4.4. Типы сущностей и иерархия наследования
- •6.5.4.5. Ключи
- •6.5.4.6. Нормализация данных
- •6.5.4.7. Домены
- •6.5.5. Создание физической модели данных
- •6.5.5.1. Правила валидации и значения по умолчанию
- •6.5.5.2. Индексы
- •6.5.5.3. Триггеры и хранимые процедуры
- •6.5.5.4. Вычисление размера бд
- •6.5.6. Прямое и обратное проектирование
- •6.5.7. Проектирование хранилищ данных
- •6.5.8. Генерация кода клиентской части с помощью eRwin
- •6.5.8.1. Генерация кода на языке Visual Basic
- •6.5.9. Создание отчетов и словарей
- •6.6. Rational Rose
- •6.6.1. Общая характеристика Rational Rose
- •6.6.2. Пользовательский интерфейс Rational Rose
- •6.6.3. Представление диаграмм в Rational Rose
- •6.6.4. Разработка диаграмм в Rational Rose
- •6.6.4.1. Создание диаграммы в Rational Rose
- •Назначение кнопок специальной панели инструментов диаграммы деятельности
- •6.6.4.2. Добавление на диаграмму графических элементов
- •6.6.4.2. Добавление на диаграмму связей между графическими элементами
- •6.6.5. Генерация программного кода в Rational Rose
- •6.6.5.1. Подготовка модели для генерации кода
- •6.6.5.2. Проверка модели на отсутствие ошибок
- •6.6.5.3. Создание компонентов для реализации классов
- •6.6.5.4. Отображение классов на компоненты
- •6.6.5.5. Выбор языка программирования для генерации текста программного кода
- •6.6.5.6. Установка свойств генерации программного кода
- •6.6.5.7. Выбор класса, компонента или пакета
- •6.6.5.8. Работа с текстом сгенерированного кода
6.4.7. Слияние и расщепление моделей
Возможность слияния и расщепления моделей обеспечивает коллективную работу над проектом. Так, руководитель проекта может создать декомпозицию верхнего уровня и дать задание аналитикам продолжить декомпозицию каждой ветви дерева в виде отдельных моделей. После окончания работы над отдельными ветвями все подмодели могут быть слиты в единую модель. С другой стороны, отдельная ветвь модели может быть отщеплена для использования в качестве независимой модели, для доработки или архивирования.
BPwin использует для слияния и разветвления моделей стрелки вызова. Для слияния необходимо выполнить следующие условия:
Обе сливаемые модели должны быть открыты в BPwin.
Имя модели-источника, которое присоединяют к модели-цели, должно совпадать с именем стрелки вызова работы в модели-цели.
Стрелка вызова должна исходить из недекомпозируемой работы (работа должна иметь диагональную черту в левом верхнем углу, рис. 33).
Рис. 33. Стрелка вызова работы «Сборка и тестирование компьютеров» модели-цели
Имена контекстной работы подсоединяемой модели-источника и работы на модели-цели, к которой мы подсоединяем модель-источник, должны совпадать.
Модель-источник должна иметь, по крайней мере, одну диаграмму декомпозиции.
Для слияния моделей нужно щелкнуть правой кнопкой мыши по работе со стрелкой вызова в модели-цели и во всплывающем меню выбрать пункт Merge Model. Появляется диалог, в котором следует указать опции слияния модели (рис. 34).
Рис. 34. Диалог Continue with merge
При слиянии моделей объединяются и словари стрелок и работ. В случае одинаковых определений возможна перезапись определений или принятие определений из модели-источника. То же относится к именам стрелок, хранилищам данных и внешним ссылкам. (Хранилища данных и внешние ссылки — объекты диаграмм потоков данных, DFD, будут рассмотрены ниже.)
После подтверждения слияния (кнопка OK) модель-источник подсоединяется к модели-цели, стрелка вызова исчезает, а работа, от которой отходила стрелка вызова, становится декомпозируемой — к ней подсоединяется диаграмма декомпозиции первого уровня модели-источника. Стрелки, касающиеся работы на диаграмме модели-цели, автоматически не мигрируют в декомпозицию, а отображаются как неразрешенные. Их следует туннелировать вручную.
В процессе слияния модель-источник остается неизменной, и к модели-цели подключается фактически ее копия. Не нужно путать слияние моделей с синхронизацией. Если в дальнейшем модель-источник будет редактироваться, эти изменения автоматически не попадут в соответствующую ветвь модели-цели.
Разделение моделей производится аналогично. Для отщепления ветви от модели следует щелкнуть правой кнопкой мыши по декомпозированной работе (работа не должна иметь диагональной черты в левом верхнем углу) и выбрать во всплывающем меню пункт Split Model. В появившемся диалоге Split Options следует указать имя создаваемой модели. После подтверждения расщепления в старой модели работа станет недекомпозированной (признак — диагональная черта в левом верхнем углу), будет создана стрелка вызова, ее имя будет совпадать с именем новой модели, и, наконец, будет создана новая модель, причем имя контекстной работы будет совпадать с именем работы, от которой была «оторвана» декомпозиция.
