Объектно-ориентированный подход к моделированию систем

advertisement
Объектноориентированный подход к
моделированию систем
Основные вопросы
Понятие объектного подхода
 Понятие класса
 Определение объекта и его свойств
 Принципы объектно-ориентированного
подхода
 Универсальный язык моделирования
UML

Понятие объектноориентированного подхода (ООП)




ООП – подход, использующий объектную
декомпозицию
В ООП статическая структура системы
описывается в терминах объектов и связей
между ними
Динамическая структура объекта
описывается в терминах обмена
сообщениями между объектами
От структурного подхода ООП отличает
способ декомпозиции системы
Объект

Объект – осязаемая реальность, имеющая
четко определенное поведение.

Объект обладает состоянием, поведением,
индивидуальностью

Структура и поведение схожих объектов
определяют общий для них класс

=> Объект = экземпляр класса
Свойства объекта



Состояние объекта – перечень всех
возможных (статических) свойств объекта и
текущими (динамическими) значениями
каждого из этих свойств
Поведение – воздействие объекта на другой
объект и наоборот, а также относительное
изменение состояний этих объектов и
передачу сообщений между ними
Индивидуальность – это свойство объекта,
отличающее его от других объектов
Различие между классом и
объектом

Множество объектов со схожими
свойствами (состояние, поведение,
индивидуальность) = КЛАСС

=> Каждый объект = экземпляр класса
Принципы ООП. Наследование



Наследование – принцип, в соответствии с
которым знание о более общей категории
разрешается применять для более частной
категории
Наследование -> иерархия классов:
Родительский класс обладает
фиксированным набором свойств =>
производный от него класс содержит тот же
набор свойств + дополнительные свойства,
характеризующие его уникальность
Принципы ООП. Наследование
Автомобиль
ВАЗ 2110
Автомобиль ВАЗ
Автомобиль
Принципы ООП. Инкапсуляция
Инкапсуляция – это сокрытие
отдельных деталей внутреннего
устройства классов от внешних по
отношению к нему объектов или
пользователей.
 Инкапсуляция ведет свое
происхождение от деления модулей на
2 части: интерфейс и реализация.

Принципы ООП. Инкапсуляция
Интерфейсная часть
Реализация
Принципы ООП. Полиморфизм
Полиморфизм (греч. poly – много,
morfos – форма) - это свойство
некоторых объектов принимать
различные внешние формы в
зависимости от обстоятельств.
 Действия, выполняемые одноименными
методами, могут отличаться в
зависимости от того, к какому из
классов относится тот или иной метод.

Другие принципы ООП



Типизация – ограничения, накладываемые на
класс объектов и препятствующие
взаимозаменяемости различных классов (или
сильно сужающие эту возможность).
Параллелизм – это свойство объектов находиться
в активном или пассивном состоянии и различать
активные или пассивные состояния между собой.
Устойчивость – свойство объекта существовать
во времени (вне зависимости от процесса,
породившего данный объект) и/ или пространстве
(при перемещении объекта из пространства, в
котором он был создан).
Универсальный язык
моделирования UML. Предыстория


В начале 90-х гг. 20 века – создание новых
объектно-ориентированных языков
программирования (Smalltalk, C++, Java)
Разработано огромное количество методов
проектирования объектно-ориентированного ПО
Результат – разработка UML, с целью объединения
достоинств различных подходов в один
независимый от производителей язык
моделирования.
Универсальный язык
моделирования UML

UML – Unified Modeling Language –
унифицированный язык
моделирования, который предназначен
для визуализации и документирования
объектно-ориентированных систем и
бизнес-процессов с ориентацией на их
последующую реализацию в виде
программного обеспечения.
Универсальный язык
моделирования UML




Авторы – Гради Буч (G. Booch), Джим
Румбах (или Рамбо, D. Rumbaugh), Айвар
Джекобсон (I. Jacobson).
Первая версия языка появилась в 1996 г.
В настоящее время все вопросы дальнейшей
разработки UML сконцентрированы в рамках
консорциума OMG.
В 2004 г. – UML 2.0.
Диаграммы UML
UML включает в себя 8 типов диаграмм:
1) диаграммы вариантов использования;
2) диаграммы классов;
3) диаграммы состояний;
4) диаграммы деятельности;
Диаграммы
5) диаграммы кооперации;
6) диаграммы последовательности; взаимодействия
7) диаграммы компонентов;
Диаграммы
8) диаграммы развертывания. реализации
Некоторые программные
продукты (UML tools)
IBM Rational Software Architect (IBM)
 IBM Rational Rose (IBM)
 ARIS UML Designer (IDS Sheer)
 Enterprise Architect (SPARX Software)
 Altova Umodel
 KUml, Dia, PowerDesigner
 И т.д.


Подробнее: http://en.wikipedia.org/wiki/List_of_UML_tools
Изученные вопросы
Понятие ООП
 Основные принципы ООП
 Определение класса
 Определение объекта и его свойства
 История языка UML
 Диаграммы языка UML

Задание
Самостоятельно изучить статью «UML
basics: An introduction to the Unified
Modeling Language»:
http://www.ibm.com/developerworks/rational
/library/769.html?S_TACT=105AGX15&S_
CMP=EDU

Download