Microsoft Solutions Framework Технологии программирования. Курс на базе Microsoft Solutions Framework Лекции 3-4. Визуальное моделирование при анализе.

Slides:



Advertisements
Similar presentations
Выпускная квалификационная работа на тему: «Применение интернет-технологий как фактор повышения эффективности функционирования организации (на примере.
Advertisements

PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Разработка программного обеспечения (Software Engineering) Ian Sommervillle Часть 4. Реализация ПО: Проектирование с повторным использованием компонентов.
Автоматическая генерация кода программ с явным выделением состояний Канжелев С.Ю. магистрант СПбГУ ИТМО Шалыто А.А. доктор технических наук профессор СПбГУ.
Системы с наследованием. Если систему можно представить в виде : Где - непрерывные функции, то такая система называется системой с наследованием. Математическое.
Дипломная работа Ивановой О.О., группа 545 Научный руководитель: д. ф.-м. н., профессор Терехов А.Н. Генерация кода по диаграмме активностей.
Системы отбора. Условные обозначения (1) (2) (3) (4) (5) (6) (7) Математическое моделирование процессов отбора2.
Автоматизированная поддержка пользовательской документации Web-приложений, разрабатываемых в среде WebRatio Студент: Дорохов Вадим, 544 гр. Научный руководитель:
Тел. (495) Москва, а/я 212 Рабочая группа по реформе МВД Москва, 2010 Новикова Асмик, Фонд «Общественный вердикт»
Рекламные технологии будущего уже здесь Как доказать соответствие Dentsu Way российскому рынку. Dentsu Group Russia Москва, Декабрь
Всевоволод Головизнин, MVC – паттерн проектирование, в котором бизнес - логика, управляющая логика и интерфейс разделены на три отдельных компонента.
1 СПбГУ ИТМО, кафедра Компьютерных Технологий ПРИМЕНЕНИЕ АВТОМАТНОГО ПРОГРАММИРОВАНИЯ ДЛЯ ПОСТРОЕНИЯ СИСТЕМ УПРАВЛЕНИЯ БИЗНЕС- ПРОЦЕССАМИ Евгений Андреевич.
Параметризация устройств сетевого управления Казакова А.С. Научный руководитель: Венгерова Е.А. Рецензент: Ушаков К.С. Кафедра системного программирования.
ООП Классы – 2. Ссылки Ссылка – еще одно имя объекта. Используйте ссылки вместо указателя. Это более безопасно. Complex c(10,10); Complex c2& = c; c2+=10;
Управление и Конфигурирование Встроенных Систем Ушаков Константин, 545 группа Руководитель: Елена Венгерова.
Адаптивный метод распределения SPMD-заданий в грид Паньшенсков Михаил, 545 группа Научный руководитель: Лукичев А.С. Рецензент: Демьянович Ю.К июня.
Блок 3. Семейства белков I. Множественное выравнивание Первый курс, весна 2008, А.Б.Рахманинова.
Разработка программного обеспечения (Software Engineering) Часть 2. Создание ПО.
1 Генерация контекстных ограничений для баз данных Выполнил: Жолудев В. Научный руководитель: Терехов А.Н. Рецензент: Иванов А.Н.
Процесс разработки “Design and programming are human activities. Forget it and all is lost.” B.Stroustrup, 1991.
Язык SmallTalk «Чистый» объектно- ориентированный язык.
Apache Harmony или как сделать курсовую работу в рамках этого проекта Фурсов Михаил.
Microsoft Solutions Framework Технологии программирования. Курс на базе Microsoft Solutions Framework Семинар 2. Знакомство с построением диаграмм вариантов.
Сравнение различных методов хранения XML в реляционных базах данных и в разных системах. Нгуен Тхань Хуен- 545 группа Руководитель : Б.А. Новиков Рецензент:
 Нужно много различных протоколов связи  Каждый из них может реализовываться на разных платформах Современные сети Много устройств, компьютеров и сетей.
Microsoft Solutions Framework Технологии программирования. Курс на базе Microsoft Solutions Framework Семинар 4. Прохождение фазы выработки концепции в.
EDCWiki Electronic Document Circulation using wiki Система электронного документооборота на основе wiki Участники: Кузьмин Константин, Цыцулин Виталий.
Учебный курс «Технологии программирования. Курс на базе Microsoft Solutions Framework (MSF)» Нижегородский государственный университет им. Н.И. Лобачевского.
Симулятор квантовых вычислений Выполнил: Гедерцев А.С. Руководитель, д.ф.-м.н., профессор: Граничин О.Н.
ICAO Training Workshop Moscow, Применение EATMP Common Core Content в процессе разработки учебных курсов: опыт Латвии Учебный центр АНС, Латвия.
Microsoft Solutions Framework Технологии программирования. Курс на базе Microsoft Solutions Framework Лекция 1. Введение.
Microsoft Solutions Framework Технологии программирования. Курс на базе Microsoft Solutions Framework Лекции 6. Методология Microsoft Solutions Framework.
Увеличение модульности программного обеспечения на языке Java Курсовая работа студента 345 группы Абишева Тимура Маратовича Научный руководитель: Профессор.
PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Санкт-Петербургский Государственный Университет Математико-Механический факультет Кафедра системного программирования Применение диаграмм двоичных решений.
Решения Autodesk в нефтегазовой отрасли Наталья Тамеева Директор по работе с корпоративными заказчиками на территории СНГ.
Анализ и Проектирование качественных приложений Презентация по книге Крэга Лармана.
Разработка программного обеспечения (Software Engineering) Ian Sommervillle Часть 4. Реализация ПО: Архитектурное проектирование.
Сервис описания дискретных динамических систем на основе рекуррентных алгоритмов стохастической аппроксимации и подобных им Александр Вахитов научный руководитель.
Разработка программного обеспечения (Software Engineering)
Применение генетических алгоритмов к генерации тестов для автоматных программ Законов Андрей Юрьевич Научный руководитель: Степанов Олег Георгиевич, к.т.н.,
Microsoft Solutions Framework Технологии программирования. Курс на базе Microsoft Solutions Framework Лекция 2. Элементы программной инженерии.
Разработка программного обеспечения (Software Engineering) Ian Sommervillle Часть 3. Требования к ПО: модели систем.
BioUML интегрированная расширяемая среда для моделирования биологических систем Biosoft.Ru Лабоработория Биоинформатики КТИ ВТ СО РАН
ПРИМЕНЕНИЕ ИНФОРМАЦИОННЫХ СИСТЕМ НАВИГАЦИОННОГО ТИПА ДЛЯ ОБЕСПЕЧЕНИЯ ФУНКЦИОНИРОВАНИЯ ЦЕНТРОВ ТЕХНИЧЕСКОЙ ПОДДЕРЖКИ А. В. Беляков, Е. Б. Крейсманн Информационно-вычислительный.
Проект «Безопасный браузер» Визовитин Николай Кадашев Дмитрий.
Разработка алгоритмов распознавания текста
Предметно-ориентированное моделирование приложений для платформы Android Никонова Ольга СПбГУ Научный руководитель Брыксин Т.А.
Объектно-ориентированное проектирование DSP-систем в телекоммуникациях Подготовил: Сергеев Виктор Николаевич СПбГУ, математико-механический Факультет,
Демидов А.В г. Операционные системы Лекция 4 Работа с файлами.
Геоинформационные системы Чернышов Алексей Акимович.
Microsoft Solutions Framework Технологии программирования. Курс на базе Microsoft Solutions Framework Лекции 7. Методология Microsoft Solutions Framework.
Формализованы ли цели? Устраивает ли вас команда? Каковы этапы процесса? Изменение ИТ структуры? Нужны подрядчики? 1.
Методы интерактивной визуализации динамики жидких и газообразных сред Костикова Елена Юрьевна, 521 гр. Научный руководитель: Игнатенко Алексей Викторович.
Разработка программного обеспечения (Software Engineering) Часть 2. Создание ПО.
Место человека в интеллектуальной техносреде В.В. Бушуев, д.т.н., проф., Генеральный директор Института энергетической стратегии ЦМТ, г.
Microsoft Solutions Framework Технологии программирования. Курс на базе Microsoft Solutions Framework Лекции 5. Методология Microsoft Solutions Framework.
Разработка программного обеспечения (Software Engineering) Ian Sommervillle Часть 3. Требования к ПО: разработка требований.
Проверка эквивалентности срединной и линейной осей многоугольника Дипломная работа студента 545 группы Подколзина Максима Валериевича Санкт-Петербургский.
Технология разработки имитационных моделей аграрных систем (с) Н.М. Светлов, Лекция 1. Технология разработки имитационных моделей аграрных систем.
Графический язык описания игровых эпизодов в футболе Царев Михаил Николаевич, Царев Федор Николаевич 2008 год.
Классификация, кластеризация и поиск изображений на основе низкоуровневых характеристик Наталья Васильева Руководитель: Новиков Б. А.
Санкт-Петербургский Государственный Университет Экономики и Финансов
Обработка исключений в C# Единая техника обнаружения ошибок времени выполнения и передачи информации о них.
Исследование возможностей сервисной шины SonicMQ Дипломная работа студентки 545 группы Комольцевой Дарьи Владимировны Научный руководитель: Графеева Н.Г.
КРУПНЕЙШАЯ ТЕХНИЧЕСКАЯ КОНФЕРЕНЦИЯ MICROSOFT В УКРАИНЕ Metro приложения: работа с данными Краковецкий Александр, MVP/RD/PhD. DevRain Solutions.
Моделирование бизнес процессов и выявление требований к их автоматизации Михаил Кумсков, главный эксперт учебного центра Luxoft.
1 Разработка пользовательских интерфейсов Системное и прикладное программное обеспечение Малышенко Владислав Викторович.
SDL TRADOS 2006 Сокращение затрат и удвоение производительности: лингвистические технологии на основе баз данных от ведущей компании.
Сергей Копорулин | Эксперт по технологиям | Microsoft
Presentation transcript:

Microsoft Solutions Framework Технологии программирования. Курс на базе Microsoft Solutions Framework Лекции 3-4. Визуальное моделирование при анализе и проектировании. Основы Unified Modeling Language (UML)

Содержание Вспоминая предыдущую лекцию Анализ и проектирование. Некоторые частные вопросы Визуальное моделирование. История языка UML Структура языка UML Учебный пример. Постановка задачи Визуальное описание функциональной модели средствами UML Структура системы и ее описание средствами UML Что дальше? Литература

Содержание Вспоминая предыдущую лекцию Анализ и проектирование. Некоторые частные вопросы Визуальное моделирование. История языка UML Структура языка UML Учебный пример. Постановка задачи Визуальное описание функциональной модели средствами UML Структура системы и ее описание средствами UML Что дальше? Литература

Вспоминая предыдущую лекцию Программная инженерия, основные понятия –Инженеры и программные инженеры –Программная инженерия как инженерная дисциплина –Область действия программной инженерии –Цели программных инженеров –Программные инженеры и научная среда Процесс создания ПО –Понятие процесса. Основные фазы. –Модель процесса. Каскадная и эволюционная модель. –Итерационный подход. Модель пошаговой разработки и спиральная модель.

Содержание Вспоминая предыдущую лекцию Анализ и проектирование. Некоторые частные вопросы Визуальное моделирование. История языка UML Структура языка UML Учебный пример. Постановка задачи Визуальное описание функциональной модели средствами UML Структура системы и ее описание средствами UML Что дальше? Литература

Решение задач с использованием ВТ Как решают задачу с использованием вычислительной техники? Версии зала...

Типовая схема решения задач с использованием ВТ Постановка задачи Анализ Модель Метод ПроектированиеРеализация Отладка и тестирование Внедрение Сопровождение Модификация АНАЛИЗ ПРОЕКТИРОВАНИЕ ПРОГРАММИРОВАНИЕ

Анализ – Проектирование - Программирование 3-я часть и элементы 2-ой части этой цепочки изучаются в курсе «Методы программирования». 1-я и 2-я части составляют объект изучения отдельного курса «Анализ и проектирование». В настоящий момент в анализе и проектировании преобладает объектный подход (изучен в 1-2 семестрах). Вспомним суть объектного подхода.

Анализ предметной области. Декомпозиция 2 вида разбиения предметной области на составляющие: –Алгоритмическая декомпозиция Основные элементы – алгоритмы. –Объектная декомпозиция Основные элементы – виды абстракций (классы) и представители этих классов (объекты)

Алгоритмическая декомпозиция ЗАДАЧА Алгоритм1 Алгоритм2 Алгоритм3 Алгоритм4 Алгоритм5

Объектная декомпозиция ЗАДАЧА

Объектный подход OOA (object oriented analysis) объектно-ориентированный анализ OOD (object oriented design) объектно-ориентированное проектирование OOP (object oriented programming) объектно-ориентированное программирование

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

Пример: ООП и структуры хранения. Стек. Постановка задачи Задача. Выполнить проектирование и реализацию структуры хранения стека. Примечание. Не учитывать необходимость перераспределения памяти. Считать, что элементы целого типа.

Пример: ООП и структуры хранения. Стек. Анализ и проектирование Данные: MemSize – максимальное количество элементов. DataCount – количество элементов в стеке. pMem – указатель на память для хранения значений. Операции: IsFull – проверка на полноту. IsEmpty – проверка на пустоту. Get – взять элемент с вершины. Put – положить элемент в стек. DataCount pMem MemSize

Пример: ООП и структуры хранения. Стек. Анализ и проектирование

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

Повторное использование. Достоинства Девиз: не надо изобретать велосипед, если он уже изобретен. Достоинства повторного использования (по Соммервилю): –Повышение надежности. –Уменьшение проектных рисков. –Эффективное использование специалистов. –Соблюдение стандартов (пример: UI). –Ускорение разработки.

Повторное использование. Виды Повторное использование достигается за счет следующих приемов: –Компонентная разработка. Часть компонентов уже разработаны ранее, имеют четко описанный интерфейс. Они используются в качестве «кирпичиков» в новой системе. –Использование паттернов (шаблонов) проектирования. Применяются известные подходы к решению некоторых встречавшихся ранее проблем. –Использование стандартных прикладных (MKL, MFC…) и системных (API) библиотек.

Содержание Вспоминая предыдущую лекцию Анализ и проектирование. Некоторые частные вопросы Визуальное моделирование. История языка UML Структура языка UML Учебный пример. Постановка задачи Визуальное описание функциональной модели средствами UML Структура системы и ее описание средствами UML Что дальше? Литература

Вместо введения При изучении материалов по визуальному моделированию и языку UML в качестве основного источника рекомендуется классическая книга Г. Буч, Дж. Рамбо, А. Джекобсон. UML. Руководство пользователя. – ДМК-Пресс, Питер, 2004.

Модель Проблема в разработке ПО: Проекты не укладываются в сроки, бюджет, не удовлетворяют требованиям. Как бороться? На помощь приходит моделирование. Модель – упрощенное представление объектов и явлений реального мира.

Смысл моделирования Модель строят для того, чтобы лучше понять исследуемую систему. Задачи моделирования [3]: –Визуализация системы в ее некотором состоянии. –Определение структуры и поведения системы. –Получение шаблона для создания системы. –Документирование принятых решений.

Принципы моделирования [3] Выбор модели оказывает определяющее влияние на подход к решению проблемы и на то, как будет выглядеть это решение. Каждая модель может быть воплощена с разной степенью абстракции. Лучшие модели – те, что ближе к реальности. Наилучший подход при разработке сложной системы – использовать несколько почти независимых моделей.

Моделирование и объектный подход Объектный подход – один из ключевых подходов к моделированию. В результате OOA & OOD мы получаем «хороший» проект программной системы, прозрачный, удовлетворяющий требованиям, удобный для тестирования и отладки, коллективной разработки, развиваемый, допускающий повторное использование компонентов. Вопрос: все так безоблачно?

Большие системы Вопрос: все так безоблачно? Ответ: нет. В больших системах проект слишком велик для восприятия одним человеком.

Идея визуального моделирования Путь к решению проблемы: ВИЗУАЛЬНОЕ МОДЕЛИРОВАНИЕ В чем смысл? –Визуализация упрощает понимание проекта в целом. –Визуализация помогает согласовать терминологию и убедиться, что все одинаково понимают термины. –Визуализация делает обсуждение конструктивным и понятным.

UML как воплощение идеи визуального моделирования Для визуального моделирования нужна специальная нотация или язык. UML (unified modeling language) – это язык для –визуализации, –специфицирования, –конструирования, –документирования элементов программных систем [3]. UML – язык общего назначения, предназначенный для объектного моделирования.

История UML. Этапы большого пути… * 1994: Grady Booch & James Rumbaugh (Rational Software) объединили методы Booch (проектирование) и OMT (анализ) ->Unified method 1995: присоединился Ivar Jacobson (OOSE метод) Источник: James RumbaughGrady BoochIvar Jacobson

История UML. Этапы большого пути… * 1996 – Идея о Unified Modeling Language (three amigos) 1996 – UML Partners консорциум под руководством three amigos Июнь, Октябрь 1996 – UML 0.9 & UML 0.91 Январь 1997 – спецификации UML 1.0 предложены OMG (Object Management Group) Август 1997 – спецификации UML 1.1 предложены OMG Ноябрь 1997 – UML 1.2 результат адаптации OMG Июнь 1999 – UML 1.3 Сентябрь 2001 – UML 1.4 Март 2003 – UML 1.5 Источник:

История UML. Этапы большого пути * Принятый стандарт: ISO/IEC 19501:2005 Information technology – Open Distributed Processing – Unified Modeling Language (UML) Version Октябрь 2004 – UML 2.0. Источник: Взято с сайта

Содержание Вспоминая предыдущую лекцию Анализ и проектирование. Некоторые частные вопросы Визуальное моделирование. История языка UML Структура языка UML Учебный пример. Постановка задачи Визуальное описание функциональной модели средствами UML Структура системы и ее описание средствами UML Что дальше? Литература

Модели UML UML позволяет описывать систему следующими моделями: Модель функционирования Как описывается функциональность системы с точки зрения пользователя. Объектная модель Как выглядит проект системы с точки зрения объектного подхода. Динамическая модель Как взаимодействуют друг с другом компоненты системы в динамике, с течением времени. Какие процессы происходят в системе.

Диаграммы UML Диаграммы UML предназначены для визуального отображения моделей и их компонентов. UML 2.0 – 13 типов диаграмм. –Структурные диаграммы (6) –Диаграммы поведения (3) –Диаграммы взаимодействия (4)

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

Диаграммы поведения Диаграмма действия Показывает потоки информации в системе. Диаграмма состояния Представляет собой конечный автомат, показывающий функционирование системы. Диаграмма вариантов использования Показывает работу системы с точки зрения пользователей.

Диаграммы взаимодействия Диаграмма кооперации Показывает структурную организацию участвующих во взаимодействии объектов Диаграмма взаимодействия (новация UML 2.0) Диаграмма последовательности Показывает временную упорядоченность событий Временная диаграмма Диаграмма связана с временными рамками

Понятия UML Для описания структуры: Актер, Атрибут, Класс, Компонент, Интерфейс, Объект, Пакет. Для описания поведения: Действие, Событие, Сообщение, Метод, Операция, Состояние, Вариант использования. Для описания связей: Агрегация, Ассоциация, Композиция, Зависимость, Наследование. Некоторые другие понятия: Стереотип, Кратность, Роль.

Содержание Вспоминая предыдущую лекцию Анализ и проектирование. Некоторые частные вопросы Визуальное моделирование. История языка UML Структура языка UML Учебный пример. Постановка задачи Визуальное описание функциональной модели средствами UML Структура системы и ее описание средствами UML Что дальше? Литература

Система бронирования билетов для авиакомпании SRS – Seat reservation system. Авиакомпания «GlobalAvia». SRS должна содержать 2 части: –Занесение информации. –Работа с клиентами. Дополнительная информация: –Рейсы спланированы так, что до пункта назначения можно долететь с пересадками. –Система должна помогать покупать билеты в зависимости от пожеланий пользователя.

Содержание Вспоминая предыдущую лекцию Анализ и проектирование. Некоторые частные вопросы Визуальное моделирование. История языка UML Структура языка UML Учебный пример. Постановка задачи Визуальное описание функциональной модели средствами UML Структура системы и ее описание средствами UML Что дальше? Литература

Как функционирует программная система? Программная система не функционирует сама по себе. Программная система функционирует под воздействием актеров – пользователей, машин и других программ. Актер ожидает, что система ведет себя строго определенным образом. Актер оказывает воздействие – система выдает ожидаемый результат. Модель того, как воздействие приводит к результату – Вариант использования.

Актеры и Варианты использования в UML Актер в UML – человек, машина или программа, воздействует на систему, является внешним по отношению к ней. Вариант использования в UML – описание последовательности действий – (часто с вариантами – сценариями).

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

Актеры и Варианты использования в SRS Актеры: –Пользователь. –Администратор. Варианты использования: –Забронировать билет. –Подобрать рейс. –Работать с данными. –Управлять рейсами. –Работать с БД аэропорта.

SRS – Диаграмма вариантов использования

Некоторые соображения... [3] При таком моделировании обращают внимание на поведение системы, а не на ее реализацию. Хорошая модель описывает основное поведение системы, не являясь слишком подробным. Подобная модель позволяет проверить, удовлетворит ли система требования заказчика.

Некоторые соображения [3] Система средних размеров может быть описана большим количеством вариантов использования. Варианты использования могут описываться разными сценариями.

Сценарии варианта использования Для описания сценариев Варианта использования используется Диаграмма действия. Диаграмма действия это блок-схема, которая отображает динамику в поведении системы. Может использоваться не только для описания сценариев Варианта использования.

Диаграммы действия в SRS

Содержание Вспоминая предыдущую лекцию Анализ и проектирование. Некоторые частные вопросы Визуальное моделирование. История языка UML Структура языка UML Учебный пример. Постановка задачи Визуальное описание функциональной модели средствами UML Структура системы и ее описание средствами UML Что дальше? Литература

Классы в UML Абстрактный класс Класс Имя класса Поля Методы + public # protected - private

Шаблоны классов в UML

Объекты в UML Объект Именованный объект

Интерфейсы [3] Интерфейс определяет границу между спецификацией того, что делает абстракция, и реализацией того, как она это делает [3]. Интерфейс – это набор операций, используемых для специфицирования услуг, предоставляемых классом или компонентом [3]. Смысл использования: отделить детали реализации от функциональности. «Внешние» методы выносятся в Интерфейс.

Интерфейсы в UML IDataAccess

Пакеты в UML Пакет – структурная единица для группировки элементов модели, в частности, классов. Пакет – это способ организации элементов модели в более крупные блоки, которыми впоследствии позволяется манипулировать как единым целым [3]. Хорошо спроектированный пакет группирует семантически близкие элементы, которые имеют тенденцию изменяться совместно [3].

Подсистемы На этапе проектирования системы классы и пакеты могут объединяться в подсистемы. Подсистема – структурная единица. Каждая подсистема имеют свою область ответственности и реализует некоторую функциональность. Подсистема реализует Интерфейс, который описывает ее поведение. Примеры: подсистема бронирования билетов; подсистема доступа к данным...

Подсистемы в UML IAirport Подсистема реализует интерфейс

Компоненты Компонент – физическая заменяемая часть системы, совместимая с одним набором интерфейсов и обеспечивающая реализацию какого-либо другого [3]. Компонент может разрабатываться и тестироваться независимо от системы. Виды компонентов: –Исходные файлы (.cpp,.h,.java…). –Бинарные файлы (.dll,.ocx…). –Исполняемые файлы (.exe).

Компоненты в UML По смыслу компонент – реализация подсистемы. На этапе проектирования – подсистемы. На этапе реализации – компоненты. IAirport

Комментарии (заметки) в UML

Отношения между элементами модели в UML Отношения: –Зависимость; –Ассоциация; –Обобщение (наследование); –Реализация (для Интерфейса). Отношения показывают наличие связей между элементами модели и семантику этих связей.

Зависимость в UML Зависимость – связь между сущностями (классами, объектами). Зависимость показывает, что изменения в одной сущности могут повлиять на другую сущность. TFirst зависит от TSecond Зависимость – не структурная связь. Возникает через локальную, глобальную переменные или параметр метода.

Ассоциация в UML Ассоциация – связь между сущностями (классами, объектами). Ассоциация показывает наличие структурной связи между экземплярами (объектами). Связь через поле класса. Направление может быть не указано (двусторонняя связь). TFirst содержит поле, связанное с TSecond TFirst содержит поле, связанное с TFirst

Направление и навигация Заметим, что наличие направления связано с понятием Навигация. Навигация означает, что в направлении стрелки один объект «видит» другой, в то время как обратное не выполняется. TFirst видит TSecond

Кратности в UML Кратность – способ конкретизации характера отношения. Показывает тип отношения 1:1, 1:M, N:1, N:M. 1M Каждому контейнеру соответствует M элементов. Каждому элементу соответствует 1 контейнер.

Таблица кратностей в UML Вид кратностиЗначение * или 0..*≥0 1..*≥1 обычно 0 или 1 1Ровно 1 3,5..6{3,5,6}

Частные случаи ассоциаций: агрегация и композиция Агрегация предполагает, что 0 или более объектов одного типа включены в 1 или более объектов другого типа. Композиция – вариант агрегации, в котором каждый объект второго типа может быть включен ровно в 1 объект первого типа. 0..* 1 1..* Композиция Агрегация

Обобщение (наследование) Предок Потомки

Что дальше? Следующая тема: Microsoft Solutions Framework Следующая тема: Microsoft Solutions Framework

Литература к лекции 1.И. Соммервиль. Инженерия программного обеспечения, 6 изд. – И.д. "Вильямс", Г. Буч. Объектно-ориентированный анализ и проектирование с примерами приложений на C++. Второе издание. – Бином, Г. Буч, Дж. Рамбо, А. Джекобсон. UML. Руководство пользователя. – ДМК-Пресс, Питер, G. Booch, J. Rumbaugh, I. Jacobson. The Unified Modeling Language Reference Manual – Second Edition, Addison-Wesley,