Три точки опоры в архитектуре корпоративных систем Докладчик: Максим Цепков (M.Tsepkov@custis.ru) www.CUSTIS.ru.

Презентация:



Advertisements
Похожие презентации
Необъектные модели предметной области Докладчик: Максим Цепков Опыт CUSTIS.
Advertisements

Докладчик: Учет ценных бумаг – сделать сложное простым Securities Accounting – Make It Easy Докладчик: Максим Цепков Заказные ИнформСистемы.
Докладчик: Учетная машина – универсальная архитектура учетно-аналитических систем Докладчик: Максим Цепков Заказные ИнформСистемы.
Слайд 1 из хх Управление корпоративными финансами Подсистема бюджетирования.
Докладчик: Диаграммы планов счетов – средство моделирования и проектирования учета Докладчик: Максим Цепков Заказные ИнформСистемы.
IT-холдинг 1-й Архитектор бизнеса Переход на 1С:Бухгалтерию 8 – это очень просто! Презентация.
Кандидат технических наук, доцент Грекул Владимир Иванович Учебный курс Проектирование информационных систем Лекция 9.
Построение учетно- ориентированной архитектуры в компонентном ИТ-ландшафте Юрий Юрченко Руководитель проектов 7 ноября 2013 года.
Типовые расчёты Растворы
РАЗРАБОТКА И ВНЕДРЕНИЕ АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ АНАЛИЗА И ПРОГНОЗИРОВАНИЯ ПРОИЗВОДСТВЕННЫХ СИТУАЦИЙ ДОМЕННОГО ЦЕХА С ЦЕЛЬЮ ПОВЫШЕНИЯ ЭФФЕКТИВНОСТИ УПРАВЛЕНИЯ.
1 Диаграммы реализации (implementation diagrams).

Модуль переноса решений Как средство распространения партнерских решений Варфоломеев Антон Директор по производству DocsVision.
UML МИЭМ, План лабораторной UML Краткий обзор средств моделирования Паттерны проектирования Практическая часть 2.
Интегрированная система управления корпоративными проектами Тандем.
Переход на 1С:Бухгалтерию 8 – это очень просто!. 2 Переход на 1С:Бухгалтерию 8 Как начать вести учет в 1С:Бухгалтерии 8? Перенести остатки автоматически.
Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
НАЧАТЬ ТЕСТ по КИТ2 Разработчики: Оскерко В.С., доцент, к.э.н. Панько Н.Г., студентка ДФФ-1, 2-й курс 2011 г.
Представление предметной области. Методы представления предметной области. Модель сущность-связь. Инфологическое описание предметной области.
Развитие «1С:Бухгалтерии 8» Павел Сипкин. Единый семинар 1С 9 октября 2013 года Единый семинар 1С 9 октября 2013 года 2 Развитие «1С:Бухгалтерии 8» Календарь.
Транксрипт:

Три точки опоры в архитектуре корпоративных систем Докладчик: Максим Цепков

Software People 2011 Корпоративные приложения Заказная разработка сложных систем –Поддержка уникальных бизнес-процессов заказчика –Частые изменения системы – вместе c изменениями бизнеса –Постановки необходимо согласовывать с бизнес-пользователями Большие долгоживущие системы –Начальная разработка – 5–20 человеко-лет за 0,5–2 года –Активное развитие весь срок эксплуатации – 5–10 лет (бывает дольше) –Существенно меняется коллектив разработчиков и пользователей Учетно-аналитические системы –Учет – одна из основных функций системы –Учетные показатели – основа бизнес-логики и принятия решений –Связь учета с документооборотом должна быть прозрачна Наш опыт 2/36

Software People 2011 Что нужно для проектирования? Понятное описание системы –З–Заказчик владеет языком описания и верифицирует постановки –Р–Разработчики тоже свободно общаются на языке описания Прозрачное и ясное описание –К–Компактно представляет сложные конструкции системы –С–Соответствует реализации (программному коду) –С–Связывается с тем, что видит пользователь в системе Проект системы развивается вместе с системой –Н–На языке описания можно формулировать запросы на изменение –М–Можно оценить трудоемкость реализации доработок Ошибки в постановках – самый большой риск Понятное и прозрачное описание его снижает 3/36

Software People 2011 Как мы проектируем? Мы строим модель на языке предметной области Сначала это – модель самой предметной области Но очень быстро превращается в модель системы Оставаясь на языке предметной области Модель является архитектурой системы Модель итеративно развивается вместе с системой Применяем диаграммы и другие методы компактного представления сложных систем, разработанные в IT Наш опыт 4/36

Software People 2011 Наш способ – в мировом тренде Domain Driven Design – mainstream в проектировании Архитектура на основе модели предметной области Единый язык общения заказчиков и разработчиков Итеративное проектирование и разработка 5/36

Software People 2011 Подробнее о DDD Концептуальная книга Эрика Эванса –на английском – в 2003 г. –на русском – только в 2010 г. Практическая книга Джимми Нильссона –на английском – в 2006 г. –на русском – в 2007 г. (почти сразу!) Для знакомства – можно смотреть материалы, ссылки, слайды и видеозапись тренинга Андрея Бибичева: 6/36

Software People 2011 Учетная машина – DDD для корпоративного приложения Мы не просто применяем DDD при проектировании У нас сложился шаблон модели – Учетная машина Мы применяем его для учетных корпоративных приложений предприятий и банков 7/36

Software People 2011 Шаблон учетной машины 8/36

Software People 2011 Обобщенное учетное приложение Пользователи создают документы По необходимости заполняют справочники Потом документы исполняют При этом меняются учетные данные Которые влияют на исполнение документов И отражаются в отчетах 9/36

Software People 2011 Состав учетного приложения СВЯЗЬ 10/36

Software People 2011 Что такое учетные показатели? Учетные показатели – отражение реальных потоков обобщенных ресурсов (товаров, денег, долгов и др.) Учетные показатели нужны и важны в большинстве управленческих систем, а не только в бухгалтерии Бухгалтерия же отражает реальные потоки весьма опосредованно 11/36

Software People 2011 СВЯЗЬ Представление Учетной машины Документы исправочники– диаграмма классов Документооборот – диаграмма состояний Учет – диаграмма учета 12/36

Software People 2011 Как представить учет? Учет – основное назначение учетной системы Представление учета оказалось за рамками UML И вообще эффективного представления Мы придумали Диаграммы учета Они дают целостную учетную модель системы Наш метод 13/36

Software People 2011 Диаграммы учета Показывают, как отражается движение ресурсов в учете 14/36

Software People 2011 Подробно о диаграммах учета К сожалению, подробного описания нет Есть выступления на конференциях ЛАФ-2010ЛАФ-2010 – «Диаграммы планов счетов – средство моделирования и проектирования учета» SECR-2010SECR-2010 – «Учет ценных бумаг – сделать сложное простым» Презентация и видео Презентация и статья 15/36

Software People 2011 Документы (и справочники) Используем объектно-ориентированный подход Классы соответствуют бизнес-объектам – заказчик видит знакомые названия Используем цветовые выделения Единый язык Представляем диаграммой классов 16/36

Software People 2011 Связь документов с учетом При обработке и проведении документов возникают хозяйственные операции, отражаемые в учете Документу приписываем состояние Оно определяет отражение документа в учете и другие аспекты документооборота: –текущий этап обработки документа –ответственность за документ –права на совершение действий Наш метод 17/36

Software People 2011 Диаграмма переходов документа Граф состояний документа изображается на State Machine Diagram (UML) –узлы – состояния –ребра – методы-переходы Состояния и переходы называем в терминах бизнеса Состояния заказа Единый язык 18/36

Software People 2011 Итак, единая модель системы Модель системы представляется в проекциях –диаграмма классов – структура объектов и их методы –диаграмма учета – учетная модель системы –диаграмма состояний документов – документооборот Все проекции связаны между собой через методы- переходы, которые есть на всех диаграммах Эта модель – результат обобщения нашего опыта разработки корпоративных приложений В большинстве случаев проекций модели достаточно В терминах предметной области Единый язык 19/36

Software People 2011 Развитие модели в ходе проекта 20/36

Software People 2011 От модели предметной области – к модели системы Начало проекта (1–2 месяца) –Интерактив с заказчиком, анализ предметной области –Диаграмма классов и диаграмма учета в крупном –План поэтапной реализации по фрагментам предметной области Итеративная разработка (6–18 месяцев) –Детальное проектирование фрагмента системы –Уточнение структур данных и учета, проработка документооборота –Реализация спроектированного фрагмента Внедрение и эксплуатация (5–10 лет) –Реализация бизнес-процессов в рамках модели системы –Запросы на развитие системы в терминах модели Модель предметной области По фрагментам 21/36

Software People 2011 Развитие объектной модели Сначала основные классы без деталей Подробности – по ходу разработки –Уточняем иерархию типов –Определяем атрибуты и методы –Проектируем вспомогательные классы –Уточняем структуру ассоциаций между классами Не все делаем на первом этапе 22/36

Software People 2011 Развитие учета Уточнения –определяем аналитики –определяем источники событий учета Изменения –добавляем новые участки учета –добавляем транзитные счета 23/36

Software People 2011 Проработка документооборота От простого, определяемого учетом – к сложной поддержке бизнес-процессов 24/36

Software People 2011 Сложная модель связанных документов Диаграмма классов Диаграмма состояний Диаграмма учета Документы могут появляться в ходе развития проекта 25/36

Software People 2011 Реализация Учетной машины 26/36

Software People 2011 Платформа реализации Большинство приложений мы делаем на C# и Oracle Объектная модель реализуется понятным образом – создаем классы, реализуем методы и т. д. Для модели документооборота и учета нужно типовое отображение в объектную реализацию Что значит «типовое»? Для реализации достаточно постановок с диаграммами переходов и учета, дополнительного проектирования не требуется 27/36

Software People 2011 Реализация документооборота Для прозрачной модели это должно совпадать: учетные события – суть хозяйственные операции ВЗГЛЯД БИЗНЕСА Есть журнал хозяйственных операций, возникающих при обработке и проведении документов РЕАЛИЗАЦИЯ источник учета – события (Event Sourcing, Фаулер), они возникают в методах документовEvent Sourcing Единый язык 28/36

Software People 2011 Документооборот – как мы делаем Для документов применяем design pattern State Entity –У документов есть атрибут – состояние –Изменение состояния – через вызов метода объекта –Метод изменения состояния называется также переходом документа –Учетные события возникают на переходах документов Используем реализацию на метаданных – у метода описываем начальное и конечное состояния Диаграмма состояний и описание семантики переходов достаточно для реализации разработчиком 29/36

Software People 2011 Реализация учета Есть Patterns for Accounting Мартина Фаулера – отражение учета в объектную реализациюPatterns for Accounting –учетные счета и проводки –источник проводок – события У нас – более развитая реализация –хранение аналитических признаков на счетах и проводках –ведение остатков и оборотов учетных счетов –ведение детальных и агрегированных показателей Есть собственный язык описания – GL-XML Наш метод 30/36

Software People 2011 Объектная реализация учета Стрелки диаграммы переходов Стрелки диаграммы учета Аналитики счета Текущие остатки вычисляются автоматически Показатели вычисляются автоматически Эти счета изображены на диаграмме учета 31/36

Software People 2011 Реализация учета – как мы делаем Диаграмма учета определяет –набор учетных счетов и их аналитику –проводки, выполняемые по конкретным переходам Еще надо определить набор хранимых показателей, необходимых для эффективной работы отчетов Задача разработчика –описать набор счетов, аналитику счетов и аналитику проводок –описать хранимые показатели –обеспечить создание проводок на учетных событиях – императивно или декларативно 32/36

Software People 2011 Заключение (что я хотел сказать) 33/36

Software People 2011 Архитектура по модели – эффективно Domain Driven Design – архитектура на основе модели На едином языке предметной области Итеративно и сохраняя целостность Domain Driven Design – не только объектные модели 34/36

Software People 2011 Да будут архитектурные шаблоны Шаблоны программирования – не только для отдельных фрагментов, но и для приложения в целом Учетная машина – шаблон корпоративного приложения Проектирование на основе Domain Driven Design Типовое отображение в реализацию 35/36

Software People 2011 Спасибо! Вопросы? Максим Цепков 36/36