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














































16176-06.it-ooap-uml.ppt
- Количество слайдов: 46
Информационные технологии Этапы развития UML Основные компоненты UML
Сложные системы Признак 1 Сложные системы часто являются иерархическими и состоят из взаимозависимых подсистем, которые в свою очередь также могут быть разделены на подсистемы, и т.д., вплоть до самого низкого уровням."
Сложные системы Признак 2 Выбор, какие компоненты в данной системе считаются элементарными, относительно произволен и в большой степени оставляется на усмотрение исследователя.
Сложные системы Признак 3 Внутрикомпонентная связь обычно сильнее, чем связь между компонентами. Это обстоятельство позволяет отделять "высокочастотные" взаимодействия внутри компонентов от "низкочастотной" динамики взаимодействия между компонентами
Сложные системы Признак 4 Иерархические системы обычно состоят из немногих типов подсистем, по-разному скомбинированных и организованных
Сложные системы Признак 5 Любая работающая сложная система является результатом развития работавшей более простой системы... Сложная система, спроектированная "с нуля", никогда не заработает. Следует начинать с работающей простой системы
Сложные системы Дейкстра: "Способ управления сложными системами был известен еще в древности - divide et impera (разделяй и властвуй)"
Объектно Ориентированный Подход Предшествует модульное программирование, ключевым элементом которого является алгоритм Выделение секции Interface модулях Событийно-управляемый поток выполнения программы
Объектно Ориентированный Подход Под классом понимают некоторую абстракцию совокупности объектов, которые имеют общий набор свойств и обладают одинаковым поведением
Объектно Ориентированный Подход Наследование Инкапсуляция Полиморфизм
ООП Наследование В качестве наиболее общего понятия или категории берется понятие, имеющее наибольший объем и, соответственно, наименьшее содержание
ООП Инкапсуляция сокрытие отдельных деталей внутреннего устройства классов от внешних по отношению к нему объектов или пользователей
ООП Полиморфизм свойство некоторых объектов принимать различные внешние формы в зависимости от обстоятельств
Преимущества ООП Распараллеливание работ Упрощение внесения изменений Гибкая архитектура и переносимость Повторное использование программных компонентов Естественность описания Появление средств быстрой разработки (RAD)
Недостатки ООП Обращение к методу занимает в 1,75-2,5 раза больше времени, чем к обычной подпрограмме Медленность защищенных свойств Динамическое создание и удаление объектов
ООП Процесс написания программного кода может быть отделен от процесса проектирования структуры Появление специальной методологии, получившей название методологии «объектно-ориентированный анализ и проектирование» (ООАП)
ООA/П Наиболее важным моментом ООАП является распределение обязанностей между программными компонентами Анализ – выявление требований, но не их путей решения Проектирование – концептуальное решение, обеспечивающее выполнение требований
ООA/П ООА/П – это выявление правильных действий и обеспечение их правильности
ЖЦ программы Анализ предметной области и формулировки требований к программе Проектирование структуры программы Реализация программы в кодах (собственно программирования) Внедрение программы Сопровождение программы Отказ от использования программы RAD ООАП
UML Какой язык для ООАП?
Назначение языка UML легко воспринимаемый и выразительный язык визуального моделирования, специально предназначенный для разработки и документирования моделей сложных систем . Снабдить исходные понятия языка UML возможностью расширения независимость от конкретных языков программирования и инструментальных средств включать в себя семантический базис для понимания общих особенностей ООАП. Поощрять развитие рынка объектных инструментальных средств. Способствовать распространению объектных технологий и соответствующих понятий ООАП. Интегрировать в себя новейшие и наилучшие достижения практики ООАП.
Требования к языку UML Требования к языку Позволять моделировать не только программное обеспечение, но и более широкие классы систем и бизнес-приложений, с использованием объектно-ориентированных понятий. Явным образом обеспечивать взаимосвязь между базовыми понятиями для моделей концептуального и физического уровней. Обеспечивать масштабируемость моделей, что является важной особенностью сложных многоцелевых систем. Быть понятен аналитикам и программистам, а также должен поддерживаться специальными инструментальными средствами, реализованными на различных компьютерных платформах
Семантические сети Множество Граф Семантическая сеть (семантика – смысл)
Основные этапы развития UML В период между 1989-1994 гг. общее число наиболее известных языков моделирования возросло с 10 до более чем 50
Основные этапы развития UML Метод Гради Буча (Grady Booch), получивший условное название Booch или Booch'91, Booch Lite (позже - Booch'93). Метод Джеймса Румбаха (James Rumbaugh), получивший название Object Modeling Technique - ОМТ (позже - ОМТ-2). Метод Айвара Джекобсона (Ivar Jacobson), получивший название Object-Oriented Software Engineering - OOSE.
Основные этапы развития UML
UML это: UML это: Язык Язык визуализации Язык специфицирования Язык конструировнания Язык документирования
Где используется UML ? Информационные системы масштаба предприятия; Банковские и финансовые услуги; Телекоммуникации; Транспорт; Оборонная промышленность, авиация и космонавтика; розничная торговля; медицинская электроника; наука; распределенные Web-системы.
Концептуальная модель UML Основные строительные блоки языка, правила их сочетания и некоторые общие для всего языка механизмы
Концептуальная модель UML Строительные блоки Правила сочетания Механизмы
Строительные блоки UML Сущности – это абстракции, являющиеся основными элементами модели; Отношения – это связующие строительные блоки в UML ; Диаграммы – это это графическое представление набора элементов.
Сущности – это абстракции, являющиеся основными элементами модели; структурные (имена существительные); Класс (Class) Интерфейс (Interface) Кооперация (Collaboration) Прецедент (Use case) Активный класс (Active class) Компонент (Component) Узел (Node) Поведенческие; группирующие; аннотационные Сущности
Поведенческие сущности (Behavioral things) – описывают поведение модели во времени и пространстве Взаимодействие (Interaction) Автомат (State machine) Поведенческие сущности
Группирующие сущности являются организующими частями модели UML Пакеты (Packages) Группирующие сущности
Аннотационные сущности – пояснительные части модели UML Примечания (Note) Аннотационные сущности
Отношения являются основными связующими строительными блоками в UML Зависимость (Dependency) ; Ассоциация (Association) ; Обобщение (Generalization) ; Реализация (Realization). Отношения
диаграммы классов; диаграммы прецедентов; диаграммы последовательностей; диаграммы кооперации; диаграммы состояний; диаграммы действий; диаграммы компонентов; диаграммы развертывания Диаграммы
имена, которые можно давать сущностям, отношениям и диаграммам; область действия (контекст, в котором имя имеет некоторое значение); видимость (когда имена видимы и могут использоваться другими элементами); целостность (как элементы должны правильно и согласованно соотноситься друг с другом); выполнение (что значит выполнить или имитировать некоторую динамическую модель). Правила языка UML
спецификации (Specifications); – текстовое представление синтаксиса и семантики соответствующего строительного блока дополнения (Adornments); принятые деления (Common divisions); механизмы расширения (Extensibility mechanisms). Общие механизмы UML
Стереотипы (Stereotype) расширяют словарь UML, позволяя на основе существующих блоков языка создавать новые, специфичные для решения конкретной проблемы ; Помеченные значения (Tagget Value) позволют включать новую информацию в спецификацию элемента; Ограничения (Constraint) позволют определять новые или изменять существующие правила Механизмы расширения
Архитектура - это совокупность существенных решений касательно: организации программной системы; выбора структурных элементов, поведения этих элементов, специфицированного в кооперациях с другими элементами; составления из этих структурных и поведенческих элементов все более и более крупных подсистем; архитектурного стиля, определяющего всю организацию системы. Архитектура
Архитектура Проектирование Реализация Вид с точки зрения Процессов Вид с точки зрения Развертывания Прецеденты использования
Пример: Игра в кости Игрок бросает кость Если выпало 6 то выиграл
Пример: Игра в кости Диаграмма взаимодействия
Пример: Игра в кости Диаграмма классов
Г. Буч и др. UML. Руководство пользователя, версия 1.3 А.Леоненков. Самоучитель UML К. Ларман. Применение UML и шаблонов проектирования Литература

