Слайд 1Проектирование информационных систем
Клевцов С.И. Каф. МПС ТТИ ЮФУ
1
Слайд 2Объектно-ориентированное проектирование ИС
2
Методология ООП
Иерархия вложенности классов
Слайд 3Объектно-ориентированное проектирование ИС
2
Этапы развития языка UML
Слайд 4Объектно-ориентированное проектирование ИС
2
Схема взаимосвязей моделей и представлений сложной системы в
ООАиП
Слайд 5Объектно-ориентированное проектирование ИС
2
Строительные блоки UML
Три вида строительных блоков:
1. Сущности.
2. Связи.
3.
Диаграммы.
Есть четыре вида сущностей UML:
1. Структурные.
2. Поведенческие.
3. Группирующие.
4. Аннотирующие.
Слайд 6Объектно-ориентированное проектирование ИС
3
Структурные сущности
Класс (class)
Интерфейс (interface)
Кооперация (сollaboration)
Вариант использования
(use case)
Активный класс
Компонент
Артефакт
(artifact)
Узел (node)
Слайд 7Объектно-ориентированное проектирование ИС
4
Поведенческие сущности
взаимодействие (interaction)
автомат (state machine)
Взаимодействие (Interaction) – это
поведение, суть которого заключается в обмене сообщениями между объектами для
достижения определенной цели. С помощью взаимодействия описывается как отдельная операция, так и поведение совокупности объектов.
Автомат (State machine) – это алгоритм поведения, определяющий последовательность состояний, через которые объект или взаимодействие проходят на протяжении своего жизненного цикла в ответ на различные события, а также реакции на эти события
Слайд 8Объектно-ориентированное проектирование ИС
5
Группирующие сущности
Пакет (package)
Аннотирующие сущности
Примечание (note)
Пакет (Package) – это
универсальный механизм организации элементов в группы . В пакет можно
поместить структурные, поведенческие и даже другие группирующие сущности. В отличие от компонентов, существующих во время работы программы, пакеты носят чисто концептуальный характер, то есть существуют только во время разработки.
Примечание (Note) – это символ для изображения комментариев, присоединенных к элементу или группе элементов
Слайд 9Объектно-ориентированное проектирование ИС
6
Существует четыре типа связей в UML:
1. Зависимость.
2. Ассоциация.
3.
Обобщение.
4. Реализация.
зависимость (dependency)
ассоциация (association)
обобщение (generalization)
реализация (realization)
Слайд 10Объектно-ориентированное проектирование ИС
Существует четыре типа связей в UML:
1. Зависимость.
2. Ассоциация.
3.
Обобщение.
4. Реализация.
зависимость (dependency)
ассоциация (association)
обобщение (generalization)
реализация (realization)
Слайд 11Объектно-ориентированное проектирование ИС
зависимость (dependency)
Зависимость (Dependency) – это семантическое отношение между
двумя сущностями, при котором изменение одной из них, независимой, может
повлиять на семантику другой, зависимой
Слайд 12Объектно-ориентированное проектирование ИС
ассоциация (association)
Ассоциация (Association) – отношение, описывающее совокупность связей
между объектами.
Разновидностью ассоциации является
агрегирование (Aggregation) – структурное отношение между целым и его частями. Графическое изображение ассоциации может включать кратность и имена ролей
Слайд 13Объектно-ориентированное проектирование ИС
обобщение (generalization)
Обобщение (Generalization) – это отношение “специализация/обобщение”, при
котором объект специализированного элемента (потомок) может быть подставлен вместо объекта
обобщенного элемента (родителя или предка).
Таким образом, потомок (Child) наследует структуру и поведение своего родителя (Parent).
Слайд 14Объектно-ориентированное проектирование ИС
Реализация (realization)
Реализация (Realization) –
это отношение между классификаторами,
при котором один классификатор определяет “контракт”, а другой гарантирует его выполнение
Отношение реализации встречаются в двух случаях:
во-первых - между интерфейсами и реализующими их классами или компонентами,
во-вторых - между прецедентами и реализующими их кооперациями (конкретными связями между конкретными классами - так например "сотрудничать" могут как две компании так и компания и конкретный человек).
Слайд 15Объектно-ориентированное проектирование ИС
7
Диаграммы UML
Диаграмма в UML – это графическое представление
набора элементов, изображаемое в виде связанного графа с вершинами (сущностями)
и ребрами (отношениями), используемое
для визуализации системы с разных точек зрения.
1. Диаграмма классов.
2. Диаграмма объектов.
3. Диаграмма компонентов.
4. Диаграмма составной структуры.
5. Диаграмма вариантов использования.
6. Диаграмма последовательности.
7. Диаграмма коммуникации.
8. Диаграмма состояний.
9. Диаграмма деятельности.
10. Диаграмма размещения.
11. Диаграмма пакетов.
12. Временная диаграмма.
13. Диаграмма обзора взаимодействий.
Слайд 16Объектно-ориентированное проектирование ИС
7
Диаграммы UML
Диаграмма классов.
На диаграмме классов (Class diagram) изображаются
классы, интерфейсы, объекты и кооперации, а также их отношения. Используется
при моделировании объектно-ориентированных систем.
Слайд 17Объектно-ориентированное проектирование ИС
7
Диаграммы UML
2. Диаграмма объектов.
Диаграмма объектов (object diagram)
UML – это снимок объектов системы в какой-то момент времени.
Поскольку она показывает экземпляры, а не классы, то диаграмму объектов часто называют диаграммой экземпляров. Диаграмму объектов можно использовать для отображения одного из вариантов конфигурации объектов.
Слайд 18Объектно-ориентированное проектирование ИС
7
Диаграммы UML
4. Диаграмма вариантов использования.
Диаграмма прецедентов описывает функциональное
назначение системы, т.е. то, что система будет делать в процессе
своего функционирования.
Является исходной концептуальной моделью системы в процессе ее проектирования и разработки.
Слайд 19Объектно-ориентированное проектирование ИС
7
Диаграммы UML
5. Диаграмма последовательности.
Диаграмма последовательности (sequence diagram) —
диаграмма, на которой показано взаимодействие объектов (обмен между ними сигналами
и сообщениями), упорядоченное по времени, с отражением продолжительности обработки и последовательности их проявления.
Слайд 20Объектно-ориентированное проектирование ИС
7
Диаграммы UML
Состояние (state) - ситуация в жизненном цикле
объекта, во время которой он удовлетворяет некоторому условию, выполняет определенную
деятельность или ожидает какого-то события. Состояние объекта определяется значениями некоторых его атрибутов и присутствием или отсутствием связей с другими объектами. Диаграмма состояний показывает, как объект переходит из одного состояния в другое.
6. Диаграмма состояний.
Диаграммы состояний применяются для того, чтобы объяснить, каким образом работают сложные объекты.
Слайд 21Объектно-ориентированное проектирование ИС
7
Диаграммы UML
7. Диагра́мма де́ятельности (activity diagram) — UML-диаграмма,
на которой показано разложение некоторой деятельности на её составные части.
Под деятельностью (activity) понимается спецификация исполняемого поведения в виде координированного последовательного и параллельного выполнения подчинённых элементов — вложенных видов деятельности и отдельных действий (action), соединённых между собой потоками, которые идут от выходов одного узла ко входам другого.
Слайд 22Объектно-ориентированное проектирование ИС
7
Диаграммы UML
3. Диаграмма компонентов.
Диаграммы компонентов - это
один из двух видов диаграмм, применяемых при моделировании физических аспектов
объектно-ориентированной системы (второй вид - диаграммы развертывания). Они показывают организацию наборов компонентов и зависимости между ними.
Диаграммы компонентов применяются для моделирования статического вида системы с точки зрения реализации.
Слайд 23Объектно-ориентированное проектирование ИС
Диаграммы UML
8. Диаграмма размещения (Диагра́мма развёртывания, Deployment diagram)
— в UML моделирует физическое развертывание артефактов на узлах. Например,
чтобы описать веб-сайт диаграмма развертывания должна показывать, какие аппаратные компоненты («узлы») существуют (например, веб-сервер, сервер базы данных, сервер приложения), какие программные компоненты («артефакты») работают на каждом узле (например, веб-приложение, база данных), и как различные части этого комплекса соединяются друг с другом (например, JDBC, REST, RMI).
Слайд 24Объектно-ориентированное проектирование ИС
Диаграммы UML
9. Диаграмма пакетов —отображают зависимости между пакетами,
составляющими модель.
Диаграмма пакетов служит, в первую очередь, для организации
элементов в группы по какому-либо признаку с целью упрощения структуры и организации работы с моделью системы.
Слайд 25Объектно-ориентированное проектирование ИС
Диаграммы UML
10. Диаграмма коммуникации (communication diagram, в UML
1.x — диаграмма кооперации, collaboration diagram) — диаграмма, на которой
изображаются взаимодействия между частями композитной структуры или ролями кооперации. В отличие от диаграммы последовательности, на диаграмме коммуникации явно указываются отношения между объектами, а время как отдельное измерение не используется (применяются порядковые номера вызовов).
Слайд 26Объектно-ориентированное проектирование ИС
Диаграммы UML
11. Временные диаграммы (timing diagrams) — Этот
тип диаграмм является разновидностью диаграмм последовательностей и предназначен для наглядного
изображения потока изменения состояний нескольких ролей (классов, компонент). Последние изображаются не вертикально, а горизонтально, и основной упор делается на наглядное изображение их состояний, точнее, того, как они меняются во времени. Такая возможность полезна, например, при моделировании встроенных систем.
Слайд 27Объектно-ориентированное проектирование ИС
Диаграммы UML
12. Диаграммы обзора взаимодействия – это комбинация
диаграмм деятельности и диаграмм последовательности. Можно считать диаграммы обзора взаимодействия
диаграммами деятельности, в которых деятельности заменены небольшими диаграммами последовательности, или диаграммами последовательности, разбитыми с помощью нотации диаграмм деятельности для отображения потока управления. Временные диаграммы (timing diagrams)
Слайд 28Объектно-ориентированное проектирование ИС
Диаграммы UML
13. Диаграмма композитной/составной структуры (Composite structure diagram)
— статическая структурная диаграмма, демонстрирует внутреннюю структуру классов и, по
возможности, взаимодействие элементов (частей) внутренней структуры класса.)
Слайд 29Объектно-ориентированное проектирование ИС
7
Диаграммы UML
Слайд 30Объектно-ориентированное проектирование ИС
8
Общие механизмы UML
спецификации;
дополнения;
принятые разделения;
механизмы расширения.
Слайд 31Объектно-ориентированное проектирование ИС
8
Общие механизмы UML
спецификация или внутреннее представление модели (specifications);
Модель
имеет внутреннее представление.
Важным общим правилом UML является спецификация того,
какую именно семантическую информацию, связанную с тем или иным графическим элементом нотации, инструмент обязан хранить.
Другими словами, у каждой картинки есть оборотная сторона, где все записано, даже то, что в данном контексте не нужно или нельзя показывать на картинке.
Например, инструмент может поддерживать режим, в котором часть информации о классе (скажем, список операций) не отображается на картинке или отображается не полностью. Но при этом полный список со всеми деталями во внутреннем представлении сохраняется.
Более того, внутреннее представление может быть переведено в текст в формате XMI без потери информации.
Таким образом, в UML определен результат сериализации модели.
Слайд 32Объектно-ориентированное проектирование ИС
8
Общие механизмы UML
спецификация или внутреннее представление модели (specifications);
Элементарная
модель, состоящая из двух сущностей и одного отношения.
Пример диаграммы классов
Слайд 33Объектно-ориентированное проектирование ИС
8
Общие механизмы UML
Пример диаграммы классов
Слайд 34Объектно-ориентированное проектирование ИС
8
Общие механизмы UML
Дополнения (adornments)
У каждого элемента модели есть
базовая графическая нотация.
Эта нотация может быть расширена путем использования
дополнительных текстовых и/или графических объектов, присоединяемых к базовой нотации. Такие дополнительные объекты так и называются ‒ дополнения.
Слайд 35Объектно-ориентированное проектирование ИС
9
Общие механизмы UML
Принятые разделения (common divisions)
Разделение на классы
и объекты
Дихотомия класс-объект означает, что всегда четко различается, о чем
идет речь: об общем описании некоторого множества однотипных объектов (т.е. о классе) или о конкретном объекте из некоторого множества однотипных объектов (т.е. об экземпляре класса).
Слайд 36Объектно-ориентированное проектирование ИС
9
Общие механизмы UML
Принятые разделения (common divisions)
Разделение интерфейса и
реализации
Дихотомия интерфейс-реализация позволяет указать в модели, чем именно является та
или иная сущность: абстрактным описанием того, чем она должна быть по отношению к другим сущностям, или конкретным описанием того, чем сущность физически является.
В UML это может быть выражено разными способами.
Слайд 37Объектно-ориентированное проектирование ИС
10
Общие механизмы UML
Механизмы расширения (extensibility mechanisms)
Механизмы расширения
‒ это встроенный в язык способ изменить язык.
Механизмы расширения
позволяют определять новые элементы модели на основе существующих управляемым и унифицированным способом.
помеченные значения
ограничения
стереотипы
Слайд 38Объектно-ориентированное проектирование ИС
10
Общие механизмы UML
Механизмы расширения (extensibility mechanisms)
Помеченное значение (tagged
value) ‒ это пара:
имя свойства
и значение свойства,
которая
может быть добавлена
к любому стандартному элементу модели.
Слайд 39Объектно-ориентированное проектирование ИС
10
Общие механизмы UML
Механизмы расширения (extensibility mechanisms)
Ограничение (constraint) ‒
это логическое утверждение относительно
значений свойств элементов модели.
Слайд 40Объектно-ориентированное проектирование ИС
10
Общие механизмы UML
Механизмы расширения (extensibility mechanisms)
Стереотип (stereotype) ‒
это определение нового элемента моделирования
на основе существующего элемента моделирования.
Отношение
между элементом модели, который взят за основу M2::Actor и новым элементом модели M2::PowerUser называется отношением расширения (extension)
Слайд 41Объектно-ориентированное проектирование ИС
11
Архитектура
Архитектура – это набор существенных решений относительно:
организации программной
системы;
выбора структурных элементов, составляющих систему, и их интерфейсов;
поведения этих элементов,
определенного в их кооперациях;
объединения этих структурных и поведенческих элементов в более крупные подсистемы;
архитектурного стиля, определяющего организацию системы: статические и динамические элементы и их интерфейсы, кооперацию и композицию.
Слайд 42Объектно-ориентированное проектирование ИС
12
Архитектура
Моделирование системной архитектуры
Слайд 43Объектно-ориентированное проектирование ИС
13
Жизненный цикл разработки программной системы