Главная страница « Спецкурсы «

Спецкурс «Управляемая моделями разработка программного обеспечения»


Лектор: канд. физ.-мат. наук Малышко В. В.
Продолжительность: 32 часа (полугодовой, весенний семестр)
Аудитория: студенты кафедры СП, 4 курс

Чтобы записаться на спец. курс, свяжитесь с лектором по e-mail:   


Аннотация курса


В курсе рассматриваются современные методы и средства разработки программного обеспечения, применяемые в рамках подхода Model-Driven Software Development – MDSD.
Помимо лекций слушателям будет предложено выполнить несколько практических заданий. Итоговая оценка по курсу будет определяться по работе в семестре (выполнению заданий) и по результату письменного экзамена, схожего по формату с экзаменом по ООАП. Курс не рекомендуется для студентов, у которых нет желания или возможности осваивать материал во время семестра. Публикаций на русском языке по тематике курса мало.

Примерное содержание курса

Точный перечень глав и состав практических заданий будет определён в течение семестра.

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

2. Unified Modelling Language (UML)
Общие сведения об унифицированном языке моделирования. Виды диаграмм UML и их область применения. Элементы диаграмм UML, виды связей между ними. Механизмы расширения UML: стереотипы, метасвойства, примечания, ограничения.

3. Object Constraint Language (OCL)
Объектный язык ограничений. Типы, коллекции, n-ки (tuple), операции OCL. Виды OCL-ограничений, примеры. Ограничения и наследование. Стандартная библиотека OCL. Инструменты, поддерживающие работу с OCL.

4. Спецификация ПО с помощью UML и OCL
Общие сведения об унифицированном языке моделирования и объектном языке ограничений. Среда UML-based Specification Environment (USE). Язык среды USE – Simple OCL-based Imperative Language (SOIL). Состав спецификации. Примеры. Практическое задание №1. Создание спецификации в среде USE.

5. Метамоделирование. Профили UML
Метамодель UML и метаметамодель (MOF). Диаграммы профилей. Использование OCL в описаниях профилей. Примеры профилей UML. Практическое задание №2. Создание профиля UML.

6. Генерация текстов по моделям (M2T)
Стандарт OMG MOF2T. Инструменты М2Т. Генерация спецификаций, кода и документации по моделям. Способы интеграции сгенерированного кода с кодом, написанным вручную. Практическое задание №3. Реализация M2T трансформации.

7. Трансформация моделей (M2M). Рефакторинг моделей
Языки и инструменты трансформации моделей. Практическое задание №4. Реализация M2M-трансформации.

8. Предметно-ориентированные языки моделирования (DSML)
Основные понятия. Пример DSML. Инструменты для создания предметно-ориентированных языков. Этапы реализации DSML. Практическое задание №5. Реализация DSML.

9. Дополнительные вопросы моделирования программного обеспечения
Обзор современных течений в области моделе-ориентированной программной инженерии. Элементарные образцы проектирования. Фабрики программного обеспечения. Текстовые нотации UML.

Литература:

  1. Volter M. et al. Model-Driven Software Development: Technology, Engineering, Management. John Wiley & Sons, 2006 [PDF]

  2. Warmer J. B., Kleppe A. G. The Object Constraint Language: Getting Your Models Ready for MDA. Addison-Wesley Professional, 2003

  3. Gogolla M., Buttner F., Richters M. USE: A UML-Based Specification Environment for Validating UML and OCL

  4. Voelter M. DSL Engineering. 2013 [HTML]

  5. Brambilla M., Cabot J., Wimmer M. Model-Driven Software Engineering in Practice. Morgan & Claypool Publishers, 2012

  6. Фаулер М. Предметно-ориентированные языки программирования - Вильямс, 2011.

  7. Кознов Д. В. Основы визуального моделирования. – БИНОМ. Лаборатория знаний, ИНТУИТ. 2008

  8. Kolovos D., Rose L., Garcia-Dominguez A., Paige R. The Epsilon Book, 2013

  9. Гринфилд Д. и др. Фабрики разработки программ: Потоковая сборка типовых приложений, моделирование, структуры и инструменты. Диалектика, 2007

  10. Смит Дж. Элементарные шаблоны проектирования. Вильямс, 2013

  11. UML Human-Usable Textual Notation (HUTN) [HTML]

  

© Кафедра системного программирования ВМК МГУ.

Обновлено: 3.6.2015