Информационные технологии
Сложные системы
Сложные системы
Сложные системы
Сложные системы
Сложные системы
Сложные системы
Объектно Ориентированный Подход
Объектно Ориентированный Подход
Объектно Ориентированный Подход
ООП Наследование
ООП Инкапсуляция
ООП Полиморфизм
Преимущества ООП
Недостатки ООП
ООП
ООA/П
ООA/П
ЖЦ программы
UML
Назначение языка UML
Требования к языку UML
Семантические сети
Основные этапы развития UML
Основные этапы развития UML
Основные этапы развития UML
UML это:
Где используется UML ?
Концептуальная модель UML
Концептуальная модель UML
Строительные блоки UML
Сущности
Поведенческие сущности
Группирующие сущности
Аннотационные сущности
Отношения
Диаграммы
Правила языка UML
Общие механизмы UML
Механизмы расширения
Архитектура
Архитектура
Пример: Игра в кости
586.00K

Информационные технологии. Этапы развития UML. Основные компоненты UML

1. Информационные технологии

Этапы развития UML
Основные компоненты UML

2. Сложные системы

Признак 1
Сложные системы часто являются
иерархическими и состоят из
взаимозависимых подсистем,
которые в свою очередь также
могут быть разделены на
подсистемы, и т.д., вплоть до
самого низкого уровням."

3. Сложные системы

Признак 2
Выбор, какие компоненты в данной
системе считаются
элементарными, относительно
произволен и в большой степени
оставляется на усмотрение
исследователя.

4. Сложные системы

Признак 3
Внутрикомпонентная связь обычно
сильнее, чем связь между
компонентами. Это
обстоятельство позволяет
отделять "высокочастотные"
взаимодействия внутри
компонентов от "низкочастотной"
динамики взаимодействия между
компонентами

5. Сложные системы

Признак 4
Иерархические системы обычно
состоят из немногих типов
подсистем, по-разному
скомбинированных и
организованных

6. Сложные системы

Признак 5
Любая работающая сложная
система является результатом
развития работавшей более
простой системы... Сложная
система, спроектированная "с
нуля", никогда не заработает.
Следует начинать с работающей
простой системы

7. Сложные системы

Дейкстра:
"Способ управления сложными
системами был известен еще в
древности - divide et impera
(разделяй и властвуй)"

8. Объектно Ориентированный Подход

Предшествует модульное
программирование, ключевым
элементом которого является
алгоритм
Выделение секции Interface
модулях
Событийно-управляемый поток
выполнения программы

9. Объектно Ориентированный Подход

Под классом понимают некоторую
абстракцию совокупности
объектов, которые имеют общий
набор свойств и обладают
одинаковым поведением

10. Объектно Ориентированный Подход

Наследование
Инкапсуляция
Полиморфизм

11. ООП Наследование

В качестве наиболее
общего понятия или
категории берется
понятие, имеющее
наибольший объем
и, соответственно,
наименьшее
содержание

12. ООП Инкапсуляция

сокрытие отдельных
деталей
внутреннего
устройства классов
от внешних по
отношению к нему
объектов или
пользователей

13. ООП Полиморфизм

свойство некоторых
объектов принимать
различные внешние
формы в
зависимости от
обстоятельств

14. Преимущества ООП

Распараллеливание работ
Упрощение внесения изменений
Гибкая архитектура и переносимость
Повторное использование
программных компонентов
Естественность описания
Появление средств быстрой
разработки (RAD)

15. Недостатки ООП

Обращение к методу занимает в
1,75-2,5 раза больше времени, чем к
обычной подпрограмме
Медленность защищенных свойств
Динамическое создание и удаление
объектов

16. ООП

Процесс написания программного кода
может быть отделен от процесса
проектирования структуры
Появление специальной методологии,
получившей название методологии
«объектно-ориентированный анализ
и проектирование» (ООАП)

17. ООA/П

Наиболее важным моментом ООАП
является распределение
обязанностей между программными
компонентами
Анализ – выявление требований, но не
их путей решения
Проектирование – концептуальное
решение, обеспечивающее
выполнение требований

18. ООA/П

ООА/П – это выявление правильных
действий и обеспечение их
правильности

19. ЖЦ программы

1.
ООАП
2.
3.
RAD
4.
5.
6.
Анализ предметной области и
формулировки требований к программе
Проектирование структуры программы
Реализация программы в кодах
(собственно программирования)
Внедрение программы
Сопровождение программы
Отказ от использования программы

20. UML

Какой язык для ООАП?

21. Назначение языка UML

легко воспринимаемый и выразительный язык визуального
моделирования, специально предназначенный для разработки
и документирования моделей сложных систем .
Снабдить исходные понятия языка UML возможностью
расширения
независимость от конкретных языков программирования и
инструментальных средств
включать в себя семантический базис для понимания общих
особенностей ООАП.
Поощрять развитие рынка объектных инструментальных
средств.
Способствовать распространению объектных технологий и
соответствующих понятий ООАП.
Интегрировать в себя новейшие и наилучшие достижения
практики ООАП.

22. Требования к языку UML

Требования к языку
Позволять моделировать не только программное
обеспечение, но и более широкие классы систем и
бизнес-приложений, с использованием объектноориентированных понятий.
Явным образом обеспечивать взаимосвязь между
базовыми понятиями для моделей концептуального
и физического уровней.
Обеспечивать масштабируемость моделей, что
является важной особенностью сложных
многоцелевых систем.
Быть понятен аналитикам и программистам, а также
должен поддерживаться специальными
инструментальными средствами, реализованными
на различных компьютерных платформах

23. Семантические сети

Множество
Граф
Семантическая сеть
(семантика – смысл)

24. Основные этапы развития UML

В период между 1989-1994 гг. общее
число наиболее известных языков
моделирования возросло с 10 до
более чем 50

25. Основные этапы развития UML

Метод Гради Буча (Grady Booch),
получивший условное название Booch или
Booch'91, Booch Lite (позже - Booch'93).
Метод Джеймса Румбаха (James
Rumbaugh), получивший название Object
Modeling Technique - ОМТ (позже - ОМТ-2).
Метод Айвара Джекобсона (Ivar Jacobson),
получивший название Object-Oriented
Software Engineering - OOSE.

26. Основные этапы развития UML

27. UML это:

UML это:
Язык
Язык визуализации
Язык специфицирования
Язык конструировнания
Язык документирования

28. Где используется UML ?

Информационные системы масштаба
предприятия;
Банковские и финансовые услуги;
Телекоммуникации;
Транспорт;
Оборонная промышленность, авиация и
космонавтика;
розничная торговля;
медицинская электроника;
наука;
распределенные Web-системы.

29. Концептуальная модель UML

Основные строительные блоки языка,
правила их сочетания
и некоторые общие для всего языка
механизмы

30. Концептуальная модель UML

Строительные
блоки
Сущности
1.
2.
3.
4.
Структурные
Поведенческие
Группирующие
Аннотационные
Механизмы
Определяют:
Отношения
1.
2.
3.
4.
Зависимость
Ассоциация
Обобщение
Реализация
Структурные
•Класс
•Интерфейс
•Кооперация
•Прецедент
•Активный класс
•Компонент
•Узел
Поведенческие
•Взаимодействие
•Автомат
Правила
сочетания
Диаграммы
1.
2.
3.
4.
5.
6.
7.
8.
классов;
прецедентов;
последовательностей;
кооперации;
состояний;
действий;
компонентов;
развертывания
•имена;
•область действия;
•видимость;
•целостность;
•выполнение.
•спецификации;
•дополнения;
•принятые деления;
•механизмы расширения

31. Строительные блоки UML

Сущности – это абстракции,
являющиеся основными
элементами модели;
Отношения – это связующие
строительные блоки в UML ;
Диаграммы – это это графическое
представление набора элементов.

32. Сущности

Сущности – это абстракции, являющиеся
основными элементами модели;
структурные (имена существительные);
Класс (Class)
Интерфейс (Interface)
Кооперация (Collaboration)
Прецедент (Use case)
Активный класс (Active class)
Компонент (Component)
Узел (Node)
Поведенческие;
группирующие;
аннотационные

33. Поведенческие сущности

Поведенческие сущности
(Behavioral things) –
описывают поведение модели во
времени и пространстве
• Взаимодействие (Interaction)
• Автомат (State machine)

34. Группирующие сущности

Группирующие сущности
являются организующими
частями модели UML
• Пакеты (Packages)

35. Аннотационные сущности

Аннотационные сущности –
пояснительные части модели
UML
Примечания (Note)

36. Отношения

Отношения являются основными
связующими строительными
блоками в UML
Зависимость (Dependency) ;
Ассоциация (Association) ;
Обобщение (Generalization) ;
Реализация (Realization).

37. Диаграммы

1.
2.
3.
4.
5.
6.
7.
8.
диаграммы классов;
диаграммы прецедентов;
диаграммы
последовательностей;
диаграммы кооперации;
диаграммы состояний;
диаграммы действий;
диаграммы компонентов;
диаграммы развертывания

38. Правила языка UML

имена, которые можно давать
сущностям, отношениям и диаграммам;
область действия (контекст, в котором
имя имеет некоторое значение);
видимость (когда имена видимы и
могут использоваться другими
элементами);
целостность (как элементы должны
правильно и согласованно
соотноситься друг с другом);
выполнение (что значит выполнить или
имитировать некоторую динамическую
модель).

39. Общие механизмы UML

спецификации (Specifications);
– текстовое представление синтаксиса и
семантики соответствующего
строительного блока
дополнения (Adornments);
принятые деления (Common
divisions);
механизмы расширения (Extensibility
mechanisms).

40. Механизмы расширения

Стереотипы (Stereotype)
Помеченные значения (Tagget Value)
расширяют словарь UML,
позволяя на основе существующих блоков
языка создавать новые, специфичные для
решения конкретной проблемы ;
позволют включать новую информацию в
спецификацию элемента;
Ограничения (Constraint)
позволют определять новые или изменять
существующие правила

41. Архитектура

Пример: Игра в кости
Игрок бросает кость
Если выпало 6 то выиграл

42. Архитектура

Пример: Игра в кости
Диаграмма взаимодействия

43. Пример: Игра в кости

Литература
1.
2.
3.
Г. Буч и др. UML. Руководство
пользователя, версия 1.3
А.Леоненков. Самоучитель UML
К. Ларман. Применение UML и
шаблонов проектирования
English     Русский Правила