birmaga.ru
добавить свой файл

1
Инженерный язык. Расширение для требований, анализа и проектирования


Содержание


1. Область применения 2

1.1. Назначение 2

1.2. Ссылки 2

2. Требования 3

2.1. Модель требований 3

2.1.1. Используемые примитивы 3

2.1.2. Описание применения 3

2.2. Модель требований к интерфейсу (Use-case storyboard) 4

2.2.1. Используемые примитивы 4

2.2.2. Описание применения 5

2.3. Типовые правила структурирования моделей требований 6

3. Анализ и проектирование 7

3.1. Модель анализа 7

3.1.1. Используемые примитивы 7

3.1.2. Описание применения 8

3.2. Типовые правила структурирования модели анализа 10

3.3. Модель проектирования 10

3.3.1. Используемые примитивы 11

3.3.2. Описание использования 11

3.4. Типовые правила структурирования модели проектирования 12

3.5. Модель данных 13

3.5.1. Используемые примитивы 13

3.5.2. Описание использования 14

3.5.3. Примеры использования 14

3.5.4. Типовые правила структурирования модели данных 14

3.6. Модель развёртывания 15

3.6.1. Используемые примитивы 15

3.6.2. Описание использования 15

3.6.3. Структура модели развертывания 16



1.Область применения

1.1.Назначение


Настоящий документ определяет инженерный язык, используемый в процессах формирования требований, анализа и проектирования.

1.2.Ссылки


  1. Инженерный язык. Общее руководство.



2.Требования

2.1.Модель требований


Модель требований является специализацией модели вариантов использования UML. Для детализации вариантов использования используются диаграммы действий UML.

2.1.1.Используемые примитивы

См. [1]. подраздел 4.1.1. Основные элементы.


См. [1]. подраздел 4.3.1. Основные элементы.

2.1.2.Описание применения


Модель требований к системе – это модель предполагаемых функций системы и её окружения, которая является контрактом между потребителем и разработчиками.

2.1.2.1.Пример использования





Рис. 1 – Фрагмент модели требований



Рис. 2 - Детализация варианта использования "Рассылка справочной информации"

2.2.Модель требований к интерфейсу (Use-case storyboard)


Примечание – Используется только при наличии сложного пользовательского интерфейса.

Статическая модель определяется с помощью моделей статической структуры UML. Динамическая структура определяется с помощью моделей взаимодействий UML.

2.2.1.Используемые примитивы

2.2.1.1.Стандартные элементы


См. [1]. подраздел 4.2.1. Основные элементы.

2.2.1.2.Расширения UML


Новые элементы модели требований к интерфейсу, их нотация и назначение приведены Табл. 1.

Табл. 1

Базовый элемент модели (UML)

Model Element (UML)

Стереотип

Нотация

Назначение

Класс

Class

<>


Boundary. Моделирует взаимодействие между внешним агентом и системой.


Класс

Class

<>



Внешний агент. Соответствует внешнему агенту на модели внешнего окружения.

2.2.2.Описание применения


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

2.2.2.1.Примеры использования




Рис. 3 – Фрагмент модели требований к интерфейсу



Рис. 4 - Фрагмент модели требований к интерфейсу

2.3.Типовые правила структурирования моделей требований


Для структурирования модели требований может использоваться следующая структура. В Табл. 2 указана структура модели требований.

Табл. 2

Элемент модели

Описание

  • (package) Use-Case Model

Стандартный пакет.

    • (package) Actors

Внешние агенты моделируемой системы.


      • (use-case diagram) Внешние агенты

На одной или нескольких диаграммах изображаются внешние агенты и отношения наследования между ними.

      • (<>) Внешний агент 1

Для каждого внешнего агента должно быть указано:

  • описание роли по отношению к моделируемой системе (ее предприятиям);

  • примеры (экземпляры) внешнего агента.

    • (package) Use Cases

Стандартный пакет

        • (use-case diagram) Варианты использования

На одной или нескольких диаграммах изображаются варианты использования системы (в виде use-case) и их связи с внешними агентами и, возможно, с другими вариантами использования.

        • (package) Вариант использования 1

Модель варианта использования Вариант использования1.

          • (use-case diagram) Вариант использования 1

На одной или нескольких диаграммах показываются связи варианта использования Вариант использования1 с другими вариантами использования и внешними агентами.

          • (<>) Вариант использования 1

Вариант использования.

            • (activity diagram) Вариант использования 1


Одна или несколько диаграмм действий, раскрывающих ход выполняемого варианта использования.

        • (package) Boundary

Классы boundary системы

          • (class diagram) Boundary

На одной или нескольких диаграммах изображаются boundary-классы, и отношения между ними (наследование, ассоциации, агрегации, композиции). Также на диаграммах могут присутствовать классы –внешние агенты из пакета Внешние агенты.

          • (<

Для каждого класса должно быть указано:

- назначение (в реализации какого варианта использования участвует);

- характеристика содержания артефакта (краткая, если указаны атрибуты и полная, если артефакт не детализируется атрибутами);


3. Анализ и проектирование

3.1.Модель анализа


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

3.1.1.Используемые примитивы

3.1.1.1.Стандартные элементы


См. [1]. подраздел 4.2.1. Основные элементы и раздел 4.4. Модели взаимодействия.

3.1.1.2.Расширения UML


Новые элементы модели анализа, их нотация и назначение приведены в Табл. 3.

Табл. 3

Базовый элемент модели (UML)


Model Element (UML)

Стереотип

Нотация

Назначение

Класс

Class

<>



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

Класс

Class

<>



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

Класс

Class

<>



Интерфейсный класс. Используется для моделирования взаимодействий между окружением системы и её внутренними работами.


Для классов анализа существуют ограничения на допустимые ассоциации. А именно, допускаются ассоциации, перечисленные в Табл. 4.

Табл. 4

От\К
(направление ассоциации)


Интерфейсный класс

Информационный класс

Управляющий класс

Интерфейсный класс

Да

Да

Да

Информационный класс

 Не рекомендуется

Да

  Не рекомендуется

Управляющий класс

Да

Да

Да

 

Примечание – Направление ассоциации от Класса 1 к Классу 2, означает, что Класс1 инициирует взаимодействие с Классом 2.

3.1.2.Описание применения


Статические модели анализа используются для описания логической структуры системы. Статические модели содержат описание имеющихся в системе контроллеров, сущностей и граничных классов. Статическая модель анализа специализирует модель статической структуры UML (см. [1]. подраздел 4.2. Модели статической структуры). На основе классов вводятся новые элементы модели –управляющие классы, информационные классы и интерфейсные классы.

Динамические модели описывают взаимодействия классов анализа в рамках выполнения вариантов использования. Динамическая модель анализа специализирует модели взаимодействия в UML (см. [1]. подраздел 4.4. Модели взаимодействия).

3.1.2.1.Примеры использования




Рис. 5 – Фрагмент модели анализа


Рис. 6 – Фрагмент модели анализа



Рис. 7 - Фрагмент модели анализа


Рис. 8 – Фрагмент модели анализа

3.2.Типовые правила структурирования модели анализа


Для структурирования модели анализа может использоваться следующая структура. В Табл. 5 указана структура модели анализа.

Табл. 5

Элемент модели

Описание

Logical View




  • (package) Analysis Model

Стандартный пакет.

    • (package) Entities

Информационные классы системы.

      • (class diagram) Информационные классы.

На одной или нескольких диаграммах изображаются информационные классы и их отношения.

      • (<>) Информационный класс 1

Информационный класс.

    • (package) Controls

Стандартный пакет.

      • (class diagram) Управляющие классы.

На одной или нескольких диаграммах изображаются управляющие классы и их отношения.


      • (<>) Управляющий класс 1

Управляющий класс.

    • (package) Boundaries

Стандартный пакет.

      • (class diagram) Интерфейсные классы.

На одной или нескольких диаграммах изображаются интерфейсные классы и их отношения.

      • (<>) Интерфейсный класс 1

Интерфейсный класс.

    • (package) Use-case realizations

Стандартный пакет.

      • (package) Вариант использования 1

Модель варианта использования Вариант использования1.

        • (sequence diagram) Поток событий1

На одной или нескольких диаграммах изображаются возможные потоки событий в рассматриваемом варианте использования.



3.3.Модель проектирования


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

3.3.1.Используемые примитивы

3.3.1.1.Стандартные элементы


См. [1]. подраздел 4.2.1. Основные элементы и подраздел 4.4. Модели взаимодействия.

3.3.1.2.Расширения UML

Новые элементы модели проектирования, их нотация и назначение приведены в Табл. 6.


Табл. 6

Базовый элемент модели (UML)

Model Element (UML)

Стереотип

Нотация

Назначение

Пакет

Package

<>



Подсистема проектирования. Одновременно имеет семантику пакета (т.к. содержит другие элементы модели) и класса (т.к. имеет поведение). Может содержать классы и другие подсистемы. Реализует один или более интерфейсов.



3.3.2.Описание использования


Модель проектирования представляет собой абстракцию реализации системы.

Статические модели проектирования используются для описания структуры системы с учетом среды реализации. Статические модели содержат описание классов проектирования. Классы проектирования выделяются на основе классов анализа, при этом каждый класс проектирования может соответствовать, например, одному или нескольким классам анализа или части класса анализа и т.п.

Динамические модели описывают взаимодействия классов проектирования в рамках выполнения вариантов использования. Динамическая модель анализа специализирует модели взаимодействия в UML (см. [1]. подраздел 4.4. Модели взаимодействия).

3.3.2.1.Примеры использования




Рис. 9 - Фрагмент модели проектирования


Рис. 10 - Фрагмент модели проектирования

3.4.Типовые правила структурирования модели проектирования


Для структурирования модели проектирования может использоваться следующая структура. В Табл. 9 указана структура модели проектирования.

Табл. 7

Элемент модели

Описание

Logical View




  • (package) Design Model

Стандартный пакет.

    • (package) Design subsystem

Подсистема проектирования

      • (class diagram) Классы подсистемы.

На одной или нескольких диаграммах изображаются классы подсистемы и их отношения.

        • (class) Класс 1

Класс проектирования.

    • (package) Use-case realizations

Стандартный пакет.

      • (package) Вариант использования 1

Модель варианта использования Вариант использования1 (из Use case View).

        • (sequence diagram) Вариант использования

На одной или нескольких диаграммах изображаются возможные потоки событий в рассматриваемом варианте использования.




3.5.Модель данных


Модель данных создается при проектировании системы и используется для моделирования схемы базы данных с учетом особенностей используемой БД. Модель данных специализирует модели статической структуры. Описывает используемые таблицы, представления, хранимые процедуры.

3.5.1.Используемые примитивы

3.5.1.1.Стандартные элементы


См. [1]. подраздел 4.2.1. Основные элементы.

3.5.1.2.Расширения UML


Новые элементы модели данных, их нотация и назначение приведены в Табл. 6.

Табл. 8

Базовый элемент модели (UML)

Model Element (UML)

Стереотип

Нотация

Назначение

Пакет

Package

<>



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

Класс

Class

<>




Таблица. Таблица БД, для которой указываются столбцы, ограничения, отношения и т.п.

Класс

Class

<>




Хранимая процедура. Класс Используется как контейнер для хранимых процедур. Класс может содержать набор хранимых процедур.



3.5.2.Описание использования


Модель данных представляет собой модель схемы БД, по которой может быть создана схема для выбранной БД. Таблицы выделяются на основе классов анализа (entities). Хранимые процедуры определяются на основе классов анализа (controls).

Для создания и работы с моделью данных используется инструмент Rational Rose Data modeler.

    1. В пакете Logical View создается схема БД (Data modeler->New->Scheme).

    2. В появившейся схеме создаётся диаграмма данных (Data diagram).

    3. На созданную диаграмму данных помещаются таблицы и хранимые процедуры, указываются отношения между ними.

    4. Для последующей генерации схемы БД необходимо создать БД в Component View (Data modeler ->New->Database), выбрать тип этой БД (Oracle 8.x) и назначить эту БД созданной схеме.

Для описания схемы для СУБД Oracle (без хранимых процедур) может использоваться специальный инструмент Rational Rose (Пункт меню Tools ->Oracle8->Data Type Creation Wizard). Этот инструмент позволяет использовать Object Type, Nested Table, Object Table. Для генерации необходимо выполнить для созданной схемы (Пункт меню Tools ->Oracle8->Scheme Generation).

3.5.3.Примеры использования



3.5.4.Типовые правила структурирования модели данных


Для структурирования модели проектирования может использоваться следующая структура. В Табл. 9 указана структура модели проектирования.

Табл. 9

Элемент модели


Описание

Logical View




  • (package) Schemas

Стандартный пакет.

    • (package) Schemas1

Подсистема проектирования

      • (data model diagram) Диаграмма данных

На одной или нескольких диаграммах изображаются таблицы и отношения между ними.

      • (сlass <>) Таблица1

        Таблица БД.

            • (class) Хранимая процедура 1

        «Контейнер», содержащий одну или несколько хранимых процедур.

        Component View




        • (package) БД




          • (component) DB1

        База данных, для которой указывается тип (Oracle 8.x).


        3.6.Модель развёртывания


        Модель развертывания предназначена для моделирования топологии аппаратных средств, на которых выполняется система. Модель развертывания является специализацией модели развертывания UML. Помещается в Deployment View.

        3.6.1.Используемые примитивы

        3.6.1.1.Стандартные элементы


        См. [1]. подраздел 4.6.1. Основные элементы.

        3.6.1.2.Расширения UML

        Новые элементы модели развертывания, их нотация и назначение приведены в Табл. 10.

        Табл. 10

        Базовый элемент модели (UML)

        Model Element (UML)

        Стереотип

        Нотация

        Назначение

        Узел

        Node






        Узел. Представляет собой элемент обработки данных в системе. Имеет хотя бы один процессор и память.

        Узел

        Node






        Устройство. Физическое устройство, не рассматриваемое как элемент обработки данных на моделируемом уровне абстракции.



        3.6.2.Описание использования


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

        3.6.2.1.Пример использования




        Рис. 11 - Фрагмент модели развертывания

        3.6.3.Структура модели развертывания


        Модель развертывания изображается на диаграмме развертывания (Deployment View).

        Табл. 11 – Структура модели развёртывания

        Элемент модели

        Описание

        Deployment View




        • (package) Schemas

        Стандартный пакет.

          • (package) Schemas1

        Подсистема проектирования

            • (data model diagram) Диаграмма данных

        На одной или нескольких диаграммах изображаются таблицы и отношения между ними.

            • (сlass <>) Таблица1

              Таблица БД.

                  • (class) Хранимая процедура 1

              «Контейнер», содержащий одну или несколько хранимых процедур.

              Component View




              • (package) БД




                • (component) DB1

              База данных, для которой указывается тип (Oracle 8.x).