Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

UML / АСУ_Фонотов_uml

.pdf
Скачиваний:
49
Добавлен:
03.03.2016
Размер:
3.35 Mб
Скачать

Шаблон (template). Типы связывания

Кафедра Автоматизированных систем управления

Связывание (binding)

Явное – отношение зависимости со стереотипом “bind”

Неявное – Имя класса имеет формат

Имя_классификатора : имя_шаблона <аргументы>

class Class Model

 

 

T

 

 

n

 

 

Array

Positions

-

items[n]:T: int

«bind»

 

 

 

 

<n=50, T=Position>

n-число элементов массива, T-тип элементов массива

© Фонотов Анастас Михайлович

Шаблон (template). Генерация кода

 

 

 

Position.h

 

Array.h

 

 

 

class Positions

 

 

 

 

template<T, n>

 

{

управления

 

 

class Array

 

Positions();

{

 

 

 

public:

 

 

 

систем

public:

 

};

Array();

 

 

 

 

virtual ~Positions();

Автоматизированных

virtual ~Array();

 

 

 

};

 

}

 

 

 

Position.cpp

 

private:

 

#include "Positions.h«

 

int items[n]:T;

 

 

 

 

 

Positions::Positions(){

Кафедра

 

 

Positions::~Positions(){

 

 

 

 

 

 

}

 

 

 

 

© Фонотов Анастас Михайлович

Углубленное изучение связи

зависимости

Abstraction – соединяет два элемента модели (или группы элементов), которые находятся на разных уровнях

управления

 

абстракций или рассматриваются с разных точек зрения

 

 

 

Binding – Связывание элементов шаблона с параметрами

систем

 

шаблона “bind”

Realization – Соответствие между реализацией и ее

Автоматизированных

 

 

спецификацией “realize”

 

 

 

Substitution – Поддержка одним классом интерфейсов и

 

 

контрактов другого класса и возможность подстановки

 

 

первого класса вместо второго

Кафедра

Usage – Одному элементу нужен для правильного

 

функционирования другой элемент модели

 

 

© Фонотов Анастас Михайлович

 

 

 

 

 

 

Углубленное изучение связи

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

зависимости

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Abstraction

 

управления

 

 

«derive» - Один экземпляр может быть вычислен на

 

 

 

 

экземпляр

 

 

 

 

 

 

основе информации, которую предоставляет другой

систем

 

 

«refine» - соответствие между элементами находящимися

 

 

 

 

Автоматизированных

 

 

 

 

на разных семантических уровнях

 

 

«Permit» – Разрешение для элемента использовать

 

 

 

 

«trace» - Существование связи между элементами

 

 

 

 

 

 

различных моделей (менее точной чем прямое

Кафедра

 

 

 

 

отображение)

 

 

 

 

содержимое другого элемента

 

 

 

 

 

 

© Фонотов Анастас Михайлович

 

 

 

 

 

 

Углубленное изучение связи

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

зависимости

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Usage

 

управления

 

 

«use» - Одному элементу нужен другой для правильного

 

 

функционирования.

 

 

 

 

 

 

систем

 

 

 

 

«call» - Метод одного класса вызывает операцию другого

 

 

 

 

класса

 

 

 

 

 

 

Автоматизированных

 

 

«create» - Один класс создает экземпляры другого класса

 

 

«instantiate» - метод одного класса создает экземпляры

 

 

 

 

 

 

 

 

 

 

другого класса

 

 

 

 

«send» - Отношение между источником и приемником

Кафедра

 

 

 

 

сигнала

 

 

 

 

 

© Фонотов Анастас Михайлович

 

 

 

 

 

 

Улучшение модели

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Признак пропущенного объекта класса

 

 

управления

 

Признак ненужного (лишнего) класса

 

Признак пропущенной зависимости

 

 

систем

 

Признак ненужной (лишних) зависимости

 

 

 

Признаки неправильного размещения

АвтоматизированныхКафедра

 

 

 

 

зависимостей

 

 

 

 

 

 

Признаки неправильного размещения атрибутов

© Фонотов Анастас Михайлович

 

 

 

 

 

Улучшение модели

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Признаки пропущенного объекта класса:

управления

 

несимметричности связей и обобщений (наследований);

 

несоответствие атрибутов и операций у класса; для

 

 

 

 

 

исправления ошибки необходимо расщепить класс на

систем

 

 

несколько других классов, так чтобы атрибуты и операции

 

 

новых классов соответствовали друг другу;

Автоматизированных

 

 

и назначением; для исправления ошибки необходимо сделать

 

 

обнаружена операция, не имеющая удовлетворительного

 

 

 

целевого класса; для исправления ошибки необходимо

 

 

 

добавить пропущенный целевой класс;

Кафедра

 

обнаружено несколько зависимостей с одинаковыми именами

 

 

обобщение и добавить пропущенный суперкласс.

 

 

 

© Фонотов Анастас Михайлович

 

 

 

 

 

Улучшение модели

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Признаки ненужного (лишнего) класса:

управления

 

 

нехватка атрибутов, операций и зависимостей у некоторого

 

 

 

 

класса; для исправления ошибки необходимо подумать, не

 

 

 

 

 

систем

 

 

 

 

следует ли исключить такой класс.

Признаки пропущенных зависимостей:

 

АвтоматизированныхКафедра

 

 

отсутствуют пути доступа к операциям; для исправления

 

 

 

 

 

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

© Фонотов Анастас Михайлович

 

 

 

 

 

Улучшение модели

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Признаки ненужных (лишних) зависимостей:

управления

 

 

избыточная информация в зависимостях; для исправления

 

 

 

 

ошибки необходимо исключить зависимости, не

 

 

 

 

 

 

 

 

 

 

добавляющие новой информации, или пометить их как

систем

 

 

 

 

производные зависимости;

 

 

не хватает операций, пересекающих зависимость; для

 

 

 

АвтоматизированныхКафедра

 

 

 

 

исправления ошибки необходимо подумать, не следует ли

 

 

 

 

исключить такую зависимость.

 

 

 

 

 

© Фонотов Анастас Михайлович

 

 

 

 

 

Улучшение модели

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Признаки неправильного размещения зависимостей:

управления

 

 

имена ролей слишком широки или слишком узки для их

 

 

 

 

классов; для исправления ошибки необходимо переместить

 

 

 

 

 

 

 

 

 

 

зависимость вверх или вниз по иерархии классов.

систем

Признаки неправильного размещения атрибутов:

 

 

нет необходимости доступа к объекту по значениям одного

 

 

 

АвтоматизированныхКафедра

 

 

 

 

из его атрибутов; для исправления ошибки необходимо

 

 

 

 

рассмотреть, нужно ли ввести квалифицированную

 

 

 

 

 

зависимость.

© Фонотов Анастас Михайлович

Соседние файлы в папке UML