- •Алгоритмизация и программирование Проектирование программного обеспечения
- •1. Базовые принципы и понятия технологии разработки сложного по
- •Разработка модели
- •1.2. Методология объектно-ориентированного анализа и проектирования
- •1.3. Концепция разработки архитектур, управляемых моделями
- •2. Основы языка uml
- •Uml модель и ее элементы
- •Отношения
- •Диаграммы
- •1.5. Общие диаграммы
- •1. Диаграммы использования
- •Invoice
- •2. Диаграмма классов
- •4. Диаграмма деятельности
- •Сущность – Вариант использования (use case)
- •Варианты отношения зависимости: расширение и включение Отношение расширения
- •Диаграмма классов
- •1. Диаграмма классов – основная логическая модель проектируемой системы
- •Диаграмма классов
- •2. Класс
- •2.1. Имя класса
- •2.2. Атрибуты класса
- •Кратность
- •2.3.Операции класса
- •1.. * 1
- •I j
- •3.2. N-арная ассоциация
- •3.3. Ассоциация-класс
- •3.4. Квалификатор
- •3.5. Обобщение
- •3.6. Множество обобщений
- •3.7. Агрегация
- •3.8. Композиция
- •1 1 1 1
- •1 2 1 1
- •3.9. Зависимость
- •3.10. Реализация
- •4. Интерфейс
- •IДатчик
- •5. Шаблон
- •5. Диаграмма композитной структуры (composite structure diagram)
- •6. Дополнительные диаграммы структуры
- •7. Диаграмма последовательности (sequence diagram)
IДатчик
Рис. 25. Пример графического изображения требуемого (слева) и предоставляемого (справа) интерфейса
<<interface>>
Сигнал ТревогиIДатчик Бесконтактный Датчик
включить()
прочитать()
Рис. 26. Пример альтернативной нотации для графического изображения интерфейса для ситуации, изображенной на предыдущем рисунке
Имя интерфейса рекомендуется записывать на английском и оно должно начинаться с заглавной буквы “ I “.
Интерфейс определяет стыковочные узлы в проектируемой системе, что необходимо при построении модульной конструкции и коллективной разработки проекта.
Спецификация интерфейсов способствует «безболезненной» модификации уже существующей системы при переходе на новые технологии.
5. Шаблон
Шаблон (template) – элемент модели (класс, кооперация или пакет) при использовании которого необходимо определить значения для его параметров.
Шаблон (template) – классификатор, который в своем описании имеет несколько формальных параметров.
Список формальных T:String
параметров шаблонаk:Integer=2
Имя шаблона СвязныйСписок
список атрибутов
шаблона элемент:T[k]
список операций
шаблона
<<bind>>
< T->Адрес, k->4 >
СписокАдресов
а б
Рис. 71. Графическое изображение шаблона на диаграмме классов:
а – общее представление шаблона;
б – связывание шаблона
Графическое представление шаблона приведено на рис. 71а.
Общая нотация для формального параметра шаблона – это строка, размещенная внутри списка параметров шаблона и имеющая следующий формат:
<параметр-шаблона>: : = <имя-параметра-шаблона> [ ‘: ‘ <тип-параметра>] [‘ =’ <значение-по-умолчанию>]
Для использования шаблона в модели необходимо задать значения формальным параметрам.
Подключение шаблона и установка начальных значений параметров осуществляется через установку Отношение Связывания (графически оно совпадает с Отношением Результата).
Пример связывания шаблона приведен на рис 71б.
Информация связывания изображается в форме разделенного запятыми списка подстановок параметров шаблона:
<подстановка-параметров-шаблона>: : = <имя-параметра-шаблона> ‘->’ <действительный –параметр-шаблона>
5. Диаграмма композитной структуры (composite structure diagram)
5.1.Комозитная структура
5.2.Композитный класс
5.2.1.Часть
Часть (part) – свойство, которое является элементом внутренней структуры композитного классификатора, в частном случае – класса.
Автомобиль Автомобиль
1
k: Кузов e: Двигатель[1..2]
Рис. 51. Варианты графического изображения части на диаграмме композитной структуры:
а – класс содержит свойства; б – класс ссылается на экземпляр другого класса
<имя-части>:: = [<собственное-имя-части >] [ : <имя-класса >] [[<кратность > ]] | [<имя-класса >]
Где:
<собственное-имя-части > является именем экземпляра класса и записывается со строчной буквы;
<имя-класса > является именем соответствующего класса , от которого инстанцируется данная часть или свойство
Кратность части показывается в правом верхнем углу прямоугольной часи.