1 / 102

Моделирование на UML

Моделирование на UML. Политехнический университет 2012. Оглавление слайдов. Об этом курсе (3 – 13) Введение в UML (14 – 102) Моделирование использования Моделирование структуры Моделирование поведения. Моделирование на UML. Об этом курсе. Содержание. Предыстория курса

Download Presentation

Моделирование на UML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Моделирование на UML Политехнический университет 2012

  2. Оглавление слайдов • Об этом курсе (3 – 13) • Введение в UML (14 – 102) • Моделирование использования • Моделирование структуры • Моделирование поведения

  3. Моделирование на UML Об этом курсе

  4. Содержание • Предыстория курса • Назначение курса • Особенности курса • Методика курса • Сведения об авторах

  5. Предыстория курса • Развернутый пример для самообразования • Самообучение 1997 – 2001 • Заказной лекционный курс OOAD with UML • Авторские корпоративные тренинги 2001 – 2003 • Лекции + книга + практика + … • ИТМО, СПбГПУ, СПбГУ + ТЕКАМА 2004 – 2007 • Полная переработка (Денис Иванов) • Интернет, он-лайн тренинги, … 2008 – 2009

  6. Назначение курса • Ясное понимание основных идей UML • Знание базовых конструкций UML • Приобретение практических навыков моделирования на UML • Осознание тенденций развития UML

  7. Уровни понимания • У обучающегося возникает приятное чувство понимания излагаемого материала • Он может повторить изложенное своими словами • Обучающийся видит ошибки и недочеты в изложении и в состоянии их исправить • Это курс для мотивированного обучающегося

  8. Особенности курса • Апокрифичность • Имеется канонический, но малоэффективный первоисточник • Широта охвата материала • UML, но не только • Прагматичность • Зачем все это?

  9. Три ипостаси курса • Курс молодого бойца для начинающих • Справочник и поваренная книга для опытных пользователей • Информация к размышлению для экспертов

  10. Методика курса • Лекции • Всего пять занятий с лекциями + 1 встреча • Сквозной пример • Тестирование в конце лекции (moodle) • Самостоятельная работа • Изучение книг и лекций • Практическое моделирование в парах • Презентация и обсуждениемоделей • Зачет = Практическиезадания.docx

  11. Логическая структура книги и лекций Структура курса Логическая структура

  12. Сведения об авторах (1/2) • Иванов Денис Юрьевич, р. 1973 • В 1997 году закончил кафедру «Информационные системы» Ленинградского института авиационного приборостроения. • Более 10 лет опыта работы в индустрии разработки программного обеспечения. • Сфера профессиональных интересов включает вопросы связанные с разработкой и проектированием программных систем и методы совершенствования процессов разработки ПО.

  13. Сведения об авторах (2/2) • Новиков Федор Александрович, р. 1951 • Закончил кафедру "Математическое обеспечение ЭВМ" математико-механического факультета Ленинградского государственного университета в 1974. • Кандидат физико-математических наук. • Области научных интересов: автоматический синтез программ, управление качеством при разработке программного обеспечения, автоматное программирование.

  14. Моделирование на UML Введение в UML

  15. Содержание • Что такое UML? • Назначение UML • Определение UML • Модель и ее элементы • Виды моделей • Диаграммы • Представления • Общие механизмы • Выводы

  16. Что такое UML? Язык Моделирования Унифицированный UML = Unified Modeling Language

  17. UML UML – это язык

  18. Авторы UML: Буч

  19. Авторы UML: Якобсон

  20. Авторы UML: Рамбо

  21. UML – это язык моделирования • Модель – основной артефакт фазы проектирования • Деятельность – моделирование • Составление и использование моделей • Должность – (системный) архитектор

  22. ... Петроглифы Блок-схемы P-технология Диаграмма потоков данных (DFD) Диаграмма “сущность-связь” (ERD) Методология структурного анализа и проектирования (SADT) ... UML – это унифицированный язык моделирования • . . . • SDL • MSC • . . .

  23. История развития UML

  24. Назначение UML “UML – графический язык моделирования общего назначения, предназначенный для спецификации, визуализации, проектирования и документирования всех артефактов, создаваемых при разработке приложений” Г.Буч

  25. Моделирование = Спецификация (specification) • формальная, но наглядная + Визуализация(visualization) • для общения + Проектирование(construction) • конструирование? + Документирование(documenting) • всех артефактов

  26. Спецификация Спецификация = описание (программы) • в понимании заказчика ≠ • в понимании разработчика ≠ • на самом деле

  27. Формализованная спецификация • UML– • (полу) формальное • (иногда) удобное • (почти) универсальное средство для уменьшения расхождений в толковании спецификаций

  28. Как это бывает

  29. Полная формальная математическая спецификация Невозможна  ?Возможна  !Но … Объем математической спецификации больше объема кода (в несколько раз) Математики дороже программистов Математические теории разрабатываются медленнее, чем программы Наилучшая спецификация программы – код  Формализация дороже автоматизации Формальная спецификация

  30. Спецификация: «программа вычисления двух вещественных корней квадратного уравнения» Полная (?) формальная математическая спецификация: Предусловие: a 0 & b2 – 4ac > 0 Постусловие: ax2 + bx+ c = 0 Пропущено «вещественных» Тип bool = {F,T} + таблицы истинности Тип int = коммутативное кольцо с единицей вычетов по модулю 232 Тип double = ? ? ? Пример формальной спецификации

  31. Визуализация

  32. Жизненный цикл работника на предприятии

  33. Проектирование • Автоматический синтез программ • Алгоритмически неразрешимая массовая проблема • Известны разрешимые подклассы • Автоматическая (частичная) генерация программного кода по модели • Генеративное программирование • Непосредственная интерпретация моделей • Автоматическое построение моделей по коду готового приложения • Инженерный анализ программ (Reverse engineering)

  34. Документирование Все элементы модели могут содержать текстовое описание Почти все инструменты могут собирать из них осмысленные документы Почти никто из разработчиков этим не пользуется

  35. Чем не является UML? • Языком программирования • Генерация кода возможна • Спецификацией инструмента • Инструменты подразумеваются и имеются • Моделью процесса разработки приложений • Модель необходима и имеется – Rational Unified Process (RUP)

  36. Рисование картинок Обмен информацией Спецификация систем Повторное использование архитектурных решений Генерация кода Имитационное моделирование Верификация моделей Способы использования UML

  37. Варианты использования UML (1/2) • Рисование диаграмм • обдумывание, обмен идеями, документирование и тому подобного • значимым результатом является само изображение диаграмм. • Моделирование систем • создание и изменение модели системы в терминах тех элементов моделирования, которые предусматриваются метамоделью UML • значимым результатом является машинно-читаемый артефакт с описанием модели • Разработка приложений • детальное моделирование, реализацию и тестирование приложения в терминах UML. • значимым для пользователя результатом является работающее приложение, которое может быть скомпилировано в язык, поддерживаемый конкретной системой программирования или сразу интерпретировано средой выполнения инструмента

  38. Варианты использования UML (2/2)

  39. Определение UML • Точный понятный, краткий полный: компромисс • Определение методом раскрутки • Семантика: диаграммыклассов/пакетов + ограничения (OCL) + текст (Plain English) • Нотация: отображение семантики в картинке (а не наоборот!) OCL = ObjectConstraintsLanguage

  40. Структура стандарта UML

  41. Терминология UML –независимый от конкретных языков программирования новые термины для исключения совпадений UML – унифицированныйразные терминологические традиции По-русски: устоявшейся терминологии нет основной критерий: как можно точнее передать смысл Терминология UML довольно замысловатая и не всегда последовательная

  42. Нотация Фигуры Линии Значки Тексты

  43. Фигуры • 2D • Псевдо 3D • Замкнутые • Контейнер

  44. Линии • Одномерные • Точки присоединения • Прямые, ломанные, плавные кривые • Толщина • Пересечение • Стиль • сплошная • пунктирная • Дополнительные элементы • текст • украшения (стрелки)

  45. Значки • Не контейнер • Дополнительный элемент • текст

  46. Тексты • Смысл • Гарнитура, размер, цвет • Начертание • прямое • подчеркнутое • курсив

  47. Фаулер М. UML. Основы. 3-е издание. Символ-Плюс, 2005 Литература Буч Г., Рамбо Д., Якобсон А. Язык UML. Руководство пользователя. 2-е издание. ДМК, 2006 Буч Г., Якобсон А., Рамбо Д. UML. 2-е издание. Классика CS. Питер, 2006 Иванов Д., Новиков Ф. Моделирование наUML. НиТ, 2009

  48. Модель и ее элементы Модель UML— это совокупность конечного множества конструкций языка, главные из которых —сущности и отношения Сущности и отношения модели являются экземплярами метаклассовметамодели

  49. Модель UML Нагруженный мульти-псевдо-гипер-орграф • Вершины и ребра нагружены информацией и могут иметь сложную внутреннюю структуру • Вершины - сущности, ребра - отношения

  50. Структурные сущности

More Related