- •Алгоритмизация и программирование Проектирование программного обеспечения
- •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)
Диаграмма классов
(class diagram)
Центральное место при проектировании системы занимает разработка ее логической модели в виде диаграммы классов.
Важность диаграммы классов основывается на том, что данная диаграмма является основой для автоматической генерации программного кода с помощью CASE-средств.
1. Диаграмма классов – основная логическая модель проектируемой системы
2. Класс
2.1. Имя класса
2.2. Атрибуты класса
Вид видимости
Кратность
2.3. Операции класса
2.4. Параметр
3. Отношения между классами
3.1. Ассоциация
3.2. N-арная ассоциация
3.3. Ассоциация-класс
3.4. Квалификатор
3.5. Обобщение
3.6. Множество обобщения
3.7. Агрегация
3.8. Композиция
3.9. Зависимость
3.10. Реализация
4. Интерфейс
5. Шаблон
6. Диаграмма классов для системы продажи товаров в интернет-магазине
1. Диаграмма классов – основная логическая модель проектируемой системы
Диаграмма классов (class diagram) – диаграмма, предназначенная для предоставления модели статической структуры программной системы в терминологии классов объектно-ориентированного программирования.
Пример :
Классификатор (classifier) – Это дескриптор множества однотипных объектов.
Пример :
Характеристика (feature) – понятие, предназначенное для спецификации особенностей структуры и поведения экземпляров классификаторов
Пример :
Структурная характеристика (structural feature) является типизированной характеристикой классификатора, которая специфицирует структуру его экземпляров.
Пример :
Характеристика поведения (behavioral feature) является характеристикой классификатора, которая специфицирует некоторый аспект поведения его экземпляров.
Пример :
Диаграмма классов
Диаграмма классов (ДК) описывает статическую структуру проектируемой системы
ДК показывает взаимосвязь элементов независящую от времени.
Сложная система может описываться несколькими ДК
ДК могут быть вложены в пакеты, которые соответствуют отдельным подсистемам.
Из пункта 4 вытекает иерархическая структура системы, в которую входят подсистемы.
_______________________________________________
Диаграмма классов может содержать:
классы;
пакеты;
интерфейсы;
отношения между ними.
__________________________________________________
Нотация классификатора в UML
Прямоугольник с непрерывным контуром, содержащий имя классификатора и необязательные секции, разделенные горизонтальными линиями, в которых содержаться характеристики или другие члены классификатора.
Имя классификатора записывается по центру полужирным шрифтом
Первая буква должна быть заглавной
Имя абстрактного классификатора изображается курсивом
Абстрактный классификатор может быть изображен с использованием ключевого слова abstract, указанным после или ниже классификатора
Атрибуты классификатора изображаются как строки текста.
2. Класс
Класс (class) – элемент модели, который описывает множество объектов, имеющих одинаковые спецификации характеристик, ограничений и семантики.
Имя класса Имя класса Имя класса Имя класса
атрибуты класса операции
класса
операции
класса
а б в г
Рис. 21. Варианты графического изображения класса на диаграмме классов:
а – в виде прямоугольника;
б – в виде прямоугольника с секциями;
в – без секции атрибутов класса;
г – активный класс
Активный класс (active class) – класс, каждый экземпляр которого имеет свою собственную процедуру управления.
Пассивный класс (passive class) – класс, каждый экземпляр которого выполняется в контексте некоторого другого объекта
Пример:
Линия Окно Счет
x1 :Real показать() исключение:
y1 :Real скрыть() неверная
x2 :Real аутентификация
y2 :Real клиента
а б в
Рис. 22. Примеры графического изображения конкретных классов:
а – для класса Линия указаны атрибуты;
б – для класса Окно указаны операции;
в – для класса Счет указано исключение