Similar presentations:
Объектно-ориентированный подход к моделированию информационных систем
1. Объектно-ориентированный подход к моделированию информационных систем
12. Объектная модель - концептуальная основа моделирования Основные понятия:
• объекты и атрибуты• целое и часть
• классы и экземпляры
2
3.
• Объект - осязаемая реальность(tangible entity) - предмет или явление,
имеющие четко определяемое
поведение
• Класс - множество объектов,
связанных общностью структуры и
поведения. Класс инкапсулирует
(объединяет) в себе данные
(атрибуты) и поведение (операции)
3
4. Основные механизмы ООМ:
абстрагирование
инкапсуляция
наследование
модульность
иерархия
4
5. Абстрагирование – выделение существенных характеристик некоторого объекта, которые отличают его от всех других видов объектов и четко оп
Абстрагирование – выделениесущественных характеристик
некоторого объекта, которые
отличают его от всех других видов
объектов и четко определяют его
концептуальные границы с точки
зрения дальнейшего рассмотрения и
анализа
5
6. Инкапсуляция – объединение данных (атрибутов) и поведения (операций) в рамках класса
Наследование – построение новыхклассов на основе существующих с
возможностью добавления или
переопределения данных и методов
6
7.
Модульность – свойство системы,связанное с возможностью ее
декомпозиции на ряд внутренне связных,
но слабо связанных между собой
модулей
Иерархия – ранжированная или
упорядоченная система абстракций,
расположение их по уровням
Полиморфизм – способность класса
принадлежать более чем одному типу
7
8.
Состояние объекта характеризуетсяперечнем (обычно неизменным) всех
свойств данного объекта и текущими
(обычно изменяемыми) значениями каждого
из этих свойств. Тот факт, что всякий объект
имеет состояние, означает, что всякий
объект занимает определенное
пространство (физически или в памяти
компьютера).
8
9.
К числу свойств относятся присущиеобъекту или приобретаемые им
характеристики, черты, качества или
способности, делающие данный объект
самим собой. Эти свойства принято называть
атрибутами класса
9
10.
Наследование – это такое отношение междуклассами, когда один класс частично или
полностью повторяет структуру и поведение
другого класса (одиночное наследование) или
других (множественное наследование) классов.
Наследование устанавливает между классами
иерархию "общее-частное".
Связи наследования также называют
обобщениями (generalization) и изображают в виде
больших белых стрелок от класса-потомка к
классу-предку
10
11. Наследование
• Механизм наследования классов позволяетстроить иерархии, в которых производные
классы получают элементы родительских, или
базовых, классов и могут дополнять их или
изменять их свойства.
• Классы, находящиеся ближе к началу
иерархии, объединяют в себе наиболее общие
черты для всех нижележащих классов.
• По мере продвижения вниз по иерархии
классы приобретают все больше конкретных
черт:
11
12. Язык UML в анализе и проектировании бизнес-процессов Диаграмма классов языка UML 2
13. Диаграмма классов — основная логическая модель системы
• Диаграмма классов (class diagram) — диаграмма,предназначенная для представления модели
статической структуры системы в терминологии
классов объектно-ориентированного подхода
• Диаграмма классов представляет собой граф,
вершинами или узлами которого являются
элементы типа “классификатор”, которые связаны
различными типами структурных отношений
• Классификатор (classifier) – специальное понятие,
предназначенное для классификации экземпляров,
которые имеют общие характеристики
14. Варианты графического изображения класса на диаграмме классов
Имя классаИмя класса
Имя класса
атрибуты класса
Имя класса
операции класса
операции класса
Видимость
Shape
+origin : Point
+move(p:Point)
+resize(s:Scale)
+disply()
#invalidateRegion()
Responsibilities
- - manage shape state
- - handle basic shape
transformations
Имя класса
Атрибуты
Операции
Сигнатура
операции
Дополнительная
секция
15. Примеры записи атрибутов
• + имяСотрудника : String {readOnly}• ~ датаРождения : Data {readOnly}
• # /возрастСотрудника : Integer
• + номерТелефона : Integer [1..*] {unique}
• – заработнаяПлата : Currency = 500.00
16. Операции класса
• Операция (operation) класса служит для представленияотдельной характеристики поведения, которая является общей
для всех объектов данного класса
• Общий формат записи отдельной операции класса следующий
(БНФ):
• <операция>::=[<видимость>] <имя операции> ‘(‘ [<список
параметров>] ‘)’ [‘:’ [<тип возвращаемого результата>] ‘{‘
<свойство операции> [‘,’ <свойство операции>]* ‘}’]
• Где:
• <видимость> ::= ‘+’ | ‘-‘ | ‘#’ | ‘~’
• <имя операции> (operation name) представляет собой строку
текста, которая используется в качестве идентификатора
соответствующей операции и поэтому должна быть уникальной
для каждой операции данного класса
17. Примеры записи операций:
• +добавить(in номерТелефона : Integer [*] {unique})• –изменить(in заработнаяПлата : Currency)
• +создать() : Boolean
• toString(return : String)
• toString( ) : String
18. Отношения на диаграмме классов
19. Ассоциация с навигацией и эквивалентное ему представление класса с атрибутом
Содержит +сторонаМногоугольник
1
3..*
Многоугольник
+сторона : Линия[3..*]
Линия
20. Исключающая ассоциация между тремя классами
1Имеет
Физическое
лицо
{ordered}
1..*
Счет в банке
{xor}
1..*
{ordered}
Имеет
1
Юридическое
лицо
21. Пример тернарной ассоциации
22. Обобщение (generalization)
• – таксономическое отношение между более общимклассификатором (родителем или предком) и более специальным
классификатором (дочерним или потомком)
Класс-предок
Прямоугольник
+имя: String
+цветЗаливки : Color
+высота : Interger = 5
+ширина : Interger
/площадь : Interger {readOnly}
Класс-потомок
Квадрат
+id {redefines имя}
+высота = 7
/ширина
(а)
(б)
23. Примеры отношения обобщения
Геомет рическа яфигура
Прямоугольник
Окруж ность
Тре угольник
Геометрическа я
фигура
Прямоугольник
Окруж ность
Тре угольник
24. Агрегация (aggregation)
• – направленное отношение между двумя классами,предназначенное для представления ситуации, когда один из
классов представляет собой некоторую сущность, которая
включает в себя в качестве составных частей другие сущности
Класс-контейнер
Класс-часть
25. Пример отношения агрегации
Пе рсональныйкомпьюте р
Систе мный
блок
Монитор
Клавиатура
Мышь
26. Композиция (composition)
• или композитная агрегация предназначена для спецификацииболее сильной формы отношения "часть-целое", при которой с
уничтожением объекта класса-контейнера уничтожаются и все
объекты, являющимися его составными частями.
Класс-композит
Класс-часть
27. Пример отношения композиции
Окно программы1
1
Заголовок
1
2
Полоса
прокрутки
1
1
1
Рабочая
область
1
Главное
ме ню
28. UML Profile for Software Development Processes
• Управляющий класс отвечает закоординацию действий других
классов. Этому классу посылают
мало сообщений, а он рассылает
много сообщений
• Граничный класс располагается на
границе системы с внешней
средой.
• Класс-сущность содержит
информацию, которая хранится
постоянно и не уничтожается с
выключением системы
29. Основные обозначения на диаграмме классов
КлассКомпания
Кратность
Имя
ассоциации
Композиция
1..*
1..*
*
Отдел
0..1
1
название : String
*
*
Местоположение
*
Ассоциация
*
адрес : String
телефон :
Number
Ограничение
{subset}
Сотрудник
Офис
Менеджер
Обобщение
1
1..*
Сотрудник
имя : String
фамилия : String
должность : String
getPhoto(p:Photo)
getContactInform()
getPersonalRecords()
Имя конца
ассоциации
Атрибуты
Операции
Контактная
Информация
адрес : String
телефон :
Number
Зависимость
Штаб-квартира
Интерфейс
Персональное Дело
историяРаботы : String
зарплата : Curency
ISecureInformation