Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| mdd:pragmatic_mdd [2014/06/01 18:32] – 79.134.72.111 | mdd:pragmatic_mdd [2026/08/29 07:59] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Pragmatic model-driven development using smart use cases and domain-driven design ====== | ||
| + | Sander Hoogendoorn, | ||
| + | |||
| + | ===== Введение ===== | ||
| + | |||
| + | В статье описывается концепция Model Driven Architecture (MDA), которая разрабатывается организацией Object Management Group (OMG) с 2001 года. Ее сопровождают такие стандарты OMG, как UML, BPMN, MOF, и определенные успехи в применении ее для разработки уже были достигнуты. | ||
| + | |||
| + | Основная цель MDA - предложить такой подход к разработке ПО, который бы увеличил предсказуемость процесса разработки, | ||
| + | |||
| + | Такой подход позволил им создать базу из более 150 архитектурных шаблонов, | ||
| + | |||
| + | ===== Достоинства предлагаемого подхода ===== | ||
| + | |||
| + | Предлагаемый подход (называемый авторами “разработкой через моделирование”) позволяет увеличить объем генерируемого автоматически кода и за счет этого сократить сроки на разработку ПО. Автоматическая генерация кода позволяет избежать значительной части рутинной работы, | ||
| + | |||
| + | Утверждается, | ||
| + | |||
| + | Кроме того аналитики и дизайнеры более вовлечены в разработку софта, т.к. модели, | ||
| + | |||
| + | ===== Этапы разработки через моделирование ===== | ||
| + | |||
| + | Подход включает следующие шаги: | ||
| + | |||
| + | === 1. Моделирование с помощью умных пользовательских сценариев === | ||
| + | |||
| + | Сначала проектируются пользовательские сценарии для каждой пользовательской задачи. При этом моделируются как основной сценарий, | ||
| + | Для ускорения работы можно использовать более 30 готовых шаблонов. | ||
| + | {{mdd: | ||
| + | |||
| + | === 2. Моделированные предметной области === | ||
| + | |||
| + | Определение структуры системы: | ||
| + | Свойства могут быть следующих типов: | ||
| + | |||
| + | * Базовые типы: string, integer, Boolean,… | ||
| + | * Проверяемые значения, | ||
| + | * Перечисления. | ||
| + | * Умные ссылки – такие как отдел, страна и т.п. | ||
| + | * Ассоциации – значением является класс UML. | ||
| + | |||
| + | {{mdd: | ||
| + | |||
| + | === 3. Определение модели === | ||
| + | |||
| + | Для того, чтобы обеспечить автоматическую генерацию кода, элементам пользовательских сценариев ставятся в соответствие сущности модели предметной области и стереотипы поведения. Сейчас выделено около 30 стереотипов, | ||
| + | |||
| + | === 4. Импорт модели в Tobago MDA и генерация кода === | ||
| + | |||
| + | Полученную модель в виде XMI-файла нужно импортировать в Tobago MDA - среду, разработанную специально для поддержки описываемой концепции. Она позволяет сгенерировать код по модели, | ||
| + | |||
| + | ===== Выводы ===== | ||
| + | |||
| + | Предлагаемый авторами статьи подход является достаточно простым - он ограничивается использованием только пользовательских сценариев и моделей предметной области. Не несмотря на простоту, | ||