Три точки опоры в архитектуре корпоративных систем (Максим Цепков, Software People-2011)
Доклад Три точки опоры в архитектуре корпоративных систем был сделан на конференции Software People-2011 7-8 апреля 2011 Москва.
Презентация http://www.slideshare.net/custisppt/softwarepeople-2011
Ключевые слова: Архитектура, Корпоративные системы, Диаграммы учета, UML, Шаблоны
Содержание
Схема доклада
- Архитектура системы - модель, по которой разработчики могут ее построить.
- Наша фишка - понятность модели для заказчика.
- Зачем понятность: (а) снижение рисков ошибки проектирования, заказчик проверяет и (б) общий язык общения, основа для сопровождения и развития
- А как же шаблоны? Они используются, мы формулируем абстрактный архетип в терминах предметной области - он становится понятным.
- Компоненты модели - три вида диаграмм.
- Каждый вид - доопределен из требований понятности - rich domain model и т.д.
- Заключение: преимущества - прозрачность отражения бизнеса в систему, общий язык общения как основа сопровождения и развития; мы не одиноки.
Тезисы доклада
Предмет доклада – архитектура для разработки корпоративных информационных систем для компаний и банков.
Требования к архитектуре
Под архитектурой мы понимаем модель, по которой разработчики могут реализовать информационную систему (ИС). Наш подход предполагает, что еще на этапе проектирования эта модель должна быть представлена заказчику и верифицирована им. Это нужно для того, чтобы:
- существенно уменьшить один из основных рисков разработки – позднее выявление ошибок, допущенных на этапе проектирования системы;
- иметь общий язык общения для всех участников проекта;
- заказчик представлял спектр возможностей будущей системы, а впоследствии мог использовать модель для формулирования требований по развитию системы.
При создании модели ИС используется терминология, понятная заказчику. Это, однако, не означает отказа от использования шаблонов при проектировании. Наши разработчики используют общие шаблоны, которые первоначально создаются вне контекста конкретной предметной области (такие, как шаблоны учета у Фаулера http://martinfowler.com/eaaDev/AccountingNarrative.html). Однако интерпретация и описание шаблонов в терминах, понятных представителям бизнеса заказчика, позволяет обсуждать с ними все важные аспекты функционирования разрабатываемой системы.
Составные части архитектуры
Основой для представления модели ИС выступает тройка диаграмм:
- Диаграмма классов в нотации UML представляет доменную модель системы. Мы используем rich domain model, так что заказчик видит такие объекты, как Клиент, Заказ, Платеж с понятной ему атрибутикой и методами (в его терминологии – бизнес-действиями).
- Диаграмма учета представляет потоки обобщенных ресурсов по счетам – регистрам учета. Для этой диаграммы мы придумать свою нотацию, которая будет кратко представлена в докладе.
- Диаграмма состояний в нотации UML представляет документооборот через переходы состояний документов. Мы используем состояние документа как его интегральную характеристику в документообороте и учете, давая им понятные заказчику названия, например, Подтвержден, Отгружается или Исполнен для Заказа.
При проектировании используются стандартные диаграммы в облегченной UML-нотации. Вместе эти диаграммы представляют собой три точки опоры для архитектуры корпоративных систем. Опыт показывает, что использование такого формализма дает достаточно полную модель (архитектуру) ИС, по которой разработка системы ведется с использованием типовых шаблонов.
Описанная модель ИС одинаково понятна специалистам заказчика и разработчика (аналитикам, разработчикам, тестировщикам) и помогает им быстро договариваться еще на этапе проектирования системы. Она также служит хорошей основой для сопровождения и дальнейшего развития системы, обеспечивая возможность для быстрого и корректного внесения изменений.
Презентация
Об авторе
Докладчик Максим Цепков – соучредитель и главный архитектор компании CUSTIS, в которой работает со дня основания (1996). Закончил с отличием МФТИ, имеет авторские свидетельства.
Профессиональные интересы – создание архитектуры корпоративных и банковских информационных систем, поиск баланса между общими архитектурными подходами и реализацией специфических требований заказных проектов.
Максим активно участвует в развитии внутренних процессов и совершенствовании практик применения гибких методологий разработки и коллективного проектирования в CUSTIS.