Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011) — различия между версиями

Материал из 0x1.tv

== Примечания и отзывы ==
* [http://2011.agiledays.ru/reports/view/79/ страничка доклада на сайте конференции]
{{include-review|AgileDays-2011:Отчет Дмитрия Белобородова/Модель системы — архитектура для Agile-разработки}}
{{include-review|AgileDays-2011:Отчет Цыганкова Д.А./Доклад Макса}}
{{include-review|AgileDays-2011: Отчет Кудрявцева В.Б/Модель системы — архитектура для Agile-разработки}}

<references/>





{{stats|disqus_comments=0|refresh_time=2020-01-22T22:13:14.099943|vimeo_comments=0|vimeo_plays=318|youtube_comments=0|youtube_plays=22}}

[[Категория:AgileDays-2011]] 
[[Категория:Максим Цепков]]


[[Категория:Программная архитектура]]
[[Категория:UML]]

Версия 14:45, 23 января 2020

Аннотация

Докладчик
Максим Цепков.jpg
Максим Цепков

Итеративная разработка в agile ставит проблему: как создавать и поддерживать архитектуру системы. Можно работать без нее, но в сложных проектах не получаются. DDD предлагает строить каркас как доменную модель. Это — лучше, но доменная модель описывает не все аспекты системы. Мы хотим поделиться своим опытом описания архитектуры.

Начиная новый проект мы, естественно, создаем vision системы, определяем границы проекта. Затем создается интересный артефакт — архитектурная модель системы в терминах бизнеса, сначала в общем виде, описывающим крупные блоки системы и выработка плана реализации. А затем выполняется уточнение фрагмента модели, а на следующей итерации — его реализация и демонстрация Заказчику.

Из чего состоит модель? Наша компания занимается заказной разработкой учетно-аналитических систем, и мы выработали достаточно устойчивый шаблон, использованный в десятках проектов, который мы называем Учетной машиной. Модель состоит из трех частей: доменная модель, модель документооборота и модель учета. Первая представляется диаграммой классов. Мы используем rich domain model, это позволяет использовать диаграмму не только для общения разработчиков, но и для согласования постановок с экспертами заказчика. Диаграмма классов возникает в самом начале проекта, представляя на этом этапе только основные классы и их связи, а по мере проработки очередного фрагмента — конкретизируется. Для представления учета стандартных диаграмм нет, и нам пришлось разработать свои Диаграммы учета, отражающие потоки ресурсов (денег, товаров) между учетными счетами. В докладе они будут разобраны подробнее. Она также появляется в начале проекта и постепенно уточняется. А для представления документооборота мы используем диаграмму состояний UML, отражающую переходы документа. Эти диаграммы обычно возникают только при проработке очередного фрагмента системы. Все части модели связаны: переходы документов реализуются методами, и приводят к движению ресурсов.

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

Видео

on youtube

Посмотрели доклад? Понравился? Напишите комментарий! Не согласны? Тем более напишите.

Презентация

Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf Модель системы — архитектура для Agile-разработки (Максим Цепков, AgileDays-2011).pdf


Примечания и отзывы






Plays:340   Comments:0