- •Учебный курс
- •Проблема: Как представить архитектуру программной системы?
- •Архитектура программной системы в нотации UML
- •Диаграмма классов — основная логическая модель проектируемой системы
- •Характеристики классификатора
- •Основные обозначения на диаграмме
- •Варианты графического изображения класса на диаграмме классов
- •Атрибут (attribute) класса
- •Вид видимости
- •Проблема интерпретации видимости в языка UML
- •Элементы записи атрибута
- •Элементы записи атрибута
- •Модификатор атрибута
- •Значения модификатора атрибута
- •Значения модификатора атрибута
- •Кратность
- •Примеры записи атрибутов
- •Операции класса
- •Формат записи операции класса
- •Параметры операции
- •Параметры операции
- •Параметры операции
- •Свойства операций
- •Предусловие (precondition) операции
- •Постусловие (postcondition) операции
- •Примеры записи операций:
- •Отношения на диаграмме классов
- •Ассоциация
- •Строка свойство (property string)
- •Строка свойство (property string)
- •Ассоциация с навигацией и эквивалентное ему представление класса с атрибутом
- •Варианты изображения навигации и кратности у концов ассоциации
- •Исключающая ассоциация между тремя классами
- •Пример тернарной ассоциации
- •Пример 4-арной ассоциации
- •Ассоциация класс (association class)
- •Примеры ассоциации класса и рефлексивной ассоциации
- •Обобщение (generalization)
- •Примеры отношения обобщения
- •Множественное наследование – в языке UML разрешено
- •Множество обобщения (generalization set)
- •Примеры ограничений на множество обобщения
- •Агрегация (aggregation)
- •Пример отношения агрегации
- •Композиция (composition)
- •Пример отношения композиции
- •Варианты обозначения композиции
- •Интерфейс (interface)
- •UML Profile for Software Development Processes
- •Квалификатор (qualifier)
- •Шаблон (template)
- •Самостоятельное задание №2
Квалификатор (qualifier)
Квалификатор (qualifier) объявляет разбиение множества ассоциированных экземпляров относительно экземпляра на квалифицированном конце ассоциации
Б а н к
н о м е р С ч е т а
*
0 . . 1
Ч е л о в е к
Ш а х м а т н а я д о с к а
г о р и з о н т а л ь : Г о р и з о н т а л ь в е р т и к а л ь : В е р т и к а л ь
1
1
К в а д р а т
Шаблон (template)
– классификатор, который в своем описании имеет несколько формальных параметров
|
|
|
|
С п и с о к ф о р м а л ь н ы х |
||||||||||||||||||
|
|
|
|
|||||||||||||||||||
|
|
|
|
п а р а м е т р о в ш а б |
|
л о н а |
||||||||||||||||
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
И м я |
ш а б л о н а |
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
С п и с о к а т р и б у т о в |
|
|
|
|
|
|
||||||||||||||||
|
ш |
а б л о н а |
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
С п и с о к о п е р а ц и й |
|
|
|
|
|
|
||||||||||||||||
|
ш |
а б л о н а |
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
T : S t r in g k : I n t e g e r = 2
С в я з н ы й С п и с о к
э л е м е н т : T [ k ]
< < b in d |
> > |
< T - > А д р е с |
, k - > 4 > |
С п и с о к А д р е с о в
( а ) |
( б ) |
Самостоятельное задание №2
Выполнить текущее тестирование: вопросы 12-18
Разработать диаграмму классов для ATM
Изобразить следующие классы: CardReader, Screen, Keyboard, Printer, CashDispenser, ATMController, BankController, Transaction, IATMBank.
Специфицировать для этих классов атрибуты и операции
Изобразить отношения между классами