Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011) — различия между версиями
м (Массовая правка: замена Категория:Максим Цепков на Категория:Доклады) |
м (Массовая правка: замена PCRE ^ на {{RightNote|Еще про архитектуру}}) |
||
(не показано 7 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
− | {{ | + | {{RightNote|[[:Категория:Архитектура|Еще про архитектуру]]}} |
+ | Доклад на AgileDays-2011 4-5.03.2011 | ||
+ | Видео https://vimeo.com/22491199 | ||
== Аннотация == | == Аннотация == | ||
− | ;Докладчик: | + | ;Докладчик: Максим Цепков |
<blockquote> | <blockquote> | ||
Итеративная разработка в agile ставит проблему: как создавать и поддерживать архитектуру системы. Можно работать без нее, но в сложных проектах не получаются. DDD предлагает строить каркас как доменную модель. Это — лучше, но доменная модель описывает не все аспекты системы. Мы хотим поделиться своим опытом описания архитектуры. | Итеративная разработка в agile ставит проблему: как создавать и поддерживать архитектуру системы. Можно работать без нее, но в сложных проектах не получаются. DDD предлагает строить каркас как доменную модель. Это — лучше, но доменная модель описывает не все аспекты системы. Мы хотим поделиться своим опытом описания архитектуры. | ||
Строка 16: | Строка 18: | ||
{{vimeoembed|22491199|720|405}} | {{vimeoembed|22491199|720|405}} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
== Презентация == | == Презентация == | ||
[[Файл:Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf|page=-|left|256px]] | [[Файл:Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf|page=-|left|256px]] | ||
+ | {{----}} | ||
+ | == Примечания и отзывы == | ||
− | |||
* [http://2011.agiledays.ru/reports/view/79/ страничка доклада на сайте конференции] | * [http://2011.agiledays.ru/reports/view/79/ страничка доклада на сайте конференции] | ||
− | + | * [http://lib.custis.ru/AgileDays-2011:Отчет_Дмитрия_Белобородова/Модель_системы_—_архитектура_для_Agile-разработки Отчет Дмитрия Белобородова] | |
− | + | * [http://lib.custis.ru/AgileDays-2011:Отчет_Цыганкова_Д.А./Доклад_Макса Отчет Цыганкова Д.А.] | |
− | + | * [http://lib.custis.ru/AgileDays-2011:_Отчет_Кудрявцева_В.Б/Модель_системы_—_архитектура_для_Agile-разработки Отчет Кудрявцева В.Б] | |
<references/> | <references/> | ||
− | [[Категория: | + | [[Категория:Доклады]][[Категория:Архитектура]][[Категория:DDD]][[Категория:Agile]] |
− | + | ||
− | + | ||
− | [[Категория: | + |
Текущая версия на 18:21, 7 декабря 2023
Доклад на AgileDays-2011 4-5.03.2011 Видео https://vimeo.com/22491199
Аннотация
- Докладчик
- Максим Цепков
Итеративная разработка в agile ставит проблему: как создавать и поддерживать архитектуру системы. Можно работать без нее, но в сложных проектах не получаются. DDD предлагает строить каркас как доменную модель. Это — лучше, но доменная модель описывает не все аспекты системы. Мы хотим поделиться своим опытом описания архитектуры.
Начиная новый проект мы, естественно, создаем vision системы, определяем границы проекта. Затем создается интересный артефакт — архитектурная модель системы в терминах бизнеса, сначала в общем виде, описывающим крупные блоки системы и выработка плана реализации. А затем выполняется уточнение фрагмента модели, а на следующей итерации — его реализация и демонстрация Заказчику.
Из чего состоит модель? Наша компания занимается заказной разработкой учетно-аналитических систем, и мы выработали достаточно устойчивый шаблон, использованный в десятках проектов, который мы называем Учетной машиной. Модель состоит из трех частей: доменная модель, модель документооборота и модель учета. Первая представляется диаграммой классов. Мы используем rich domain model, это позволяет использовать диаграмму не только для общения разработчиков, но и для согласования постановок с экспертами заказчика. Диаграмма классов возникает в самом начале проекта, представляя на этом этапе только основные классы и их связи, а по мере проработки очередного фрагмента — конкретизируется. Для представления учета стандартных диаграмм нет, и нам пришлось разработать свои Диаграммы учета, отражающие потоки ресурсов (денег, товаров) между учетными счетами. В докладе они будут разобраны подробнее. Она также появляется в начале проекта и постепенно уточняется. А для представления документооборота мы используем диаграмму состояний UML, отражающую переходы документа. Эти диаграммы обычно возникают только при проработке очередного фрагмента системы. Все части модели связаны: переходы документов реализуются методами, и приводят к движению ресурсов.
Опыт показывает, что модель системы можно успешно строить и уточнять итеративно, и, что особенно важно, производить проработку модели непосредственно перед реализацией, результаты которой — демонстрировать заказчику. При этом модель является надежным архитектурным каркасом системы и обеспечивает концептуальную целостность, а переделки по ходу разработки системы находятся на приемлемом уровне. А поскольку модель согласовывалась с заказчиком — то он понимает причины изменений. Модель служит эффективным представлением системы, не перегружена артефактами и легко сопровождается. И мы уверены, что такой подход может эффективно применяться во многих областях, позволяя переходить к agile-разработке даже при высоких требованиях к архитектуре разрабатываемых решений.
Видео
Видео в HD-качестве, смотрите в полноэкранном режиме.
HTML-код включения <iframe src="https://player.vimeo.com/video/22491199?title=0&portrait=0" width="720" height="405" frameborder="0"></iframe>
Скачать → на странице видео на vimeo, кнопка «Download»