Аналитические планы счетов как архитектурный артефакт

Содержание

Слайд 2

/113

Занимается разработкой
больших
корпоративных
информационных систем на заказ

/113 Занимается разработкой больших корпоративных информационных систем на заказ

Слайд 3

/113

Большие проекты

t

0

4 мес.

1 год

Маленькие

Средние

Наш размерчик!

= от 10 – 15 чел. лет

Команда 5-10

/113 Большие проекты t 0 4 мес. 1 год Маленькие Средние Наш
человек

Слайд 4

/113

Очень большие проекты

t

0

1 год

10 лет

= от 40 – 100 чел. лет

Команда

/113 Очень большие проекты t 0 1 год 10 лет = от
30-50 человек

Слайд 5

/113

Принудительно делим на просто большие

/113 Принудительно делим на просто большие

Слайд 6

/113

В чем еще можно мерять размер?

Объем данных
Количество транзакций
Объем изменений

/113 В чем еще можно мерять размер? Объем данных Количество транзакций Объем
Длительность проекта
Количество отчетов

?

Слайд 7

/113

Промышленные технологии

/113 Промышленные технологии

Слайд 8

/113

Внутренняя логистика
-Операционная система 24x7
Объем базы >1 Tb
10 млн Проводок в месяц 
Общее количество проводок 270

/113 Внутренняя логистика -Операционная система 24x7 Объем базы >1 Tb 10 млн
млн

Слайд 9

/113

Аналитическое
хранилище
Объем базы >  525 Gb
Проводок в месяц 8 млн
Общее количество проводок 200

/113 Аналитическое хранилище Объем базы > 525 Gb Проводок в месяц 8
млн
Пиковое кол-во проводок в день 1.7 млн 

Слайд 10

/113

Биллинг ЖКХ
«Радей» (Саратов)
Проводок в месяц 4.6 млн
Общее количество проводок 130 млн

/113 Биллинг ЖКХ «Радей» (Саратов) Проводок в месяц 4.6 млн Общее количество
Пиковое кол-во проводок в день  2.8 млн

Слайд 11

/113

Успешные
и востребованные проекты после фазы внедрения вовсе
не заканчивают свою «жизнь»

/113 Успешные и востребованные проекты после фазы внедрения вовсе не заканчивают свою «жизнь»

Слайд 12

/113

Начало работы

/113 Начало работы

Слайд 13

/113

Развитие, сопровождение

Внедрение,
адаптация

Сильные изменения в законодательстве

/113 Развитие, сопровождение Внедрение, адаптация Сильные изменения в законодательстве

Слайд 14

/113

Корпоративные(Enterprise)
Системы

ERP / биллинг /
банковские / торговые / складские системы

Прикладное программное обеспечение предприятий

/113 Корпоративные(Enterprise) Системы ERP / биллинг / банковские / торговые / складские
и организаций

Buzzword

Слайд 16

Немного истории

От инструмента к методологии

/113

Немного истории От инструмента к методологии /113

Слайд 17

/113

Методология появилась не сразу

/113 Методология появилась не сразу

Слайд 18

Вначале появились архитектурные паттерны, решавшие прикладные задачи
Потом появился инструментарий
Выделился специализированный слой архитектуры
Появилась

Вначале появились архитектурные паттерны, решавшие прикладные задачи Потом появился инструментарий Выделился специализированный
методология описания и использования планов счетов

/113

Слайд 19

/113
Задачи, которые призван решать инструментарий

/113 Задачи, которые призван решать инструментарий

Слайд 20

/113

Ведение остатков и движений ресурсов

материальные

виртуальные

/113 Ведение остатков и движений ресурсов материальные виртуальные

Слайд 21

/113

Гарантия «Консервативности»

«Ничто не может произойти из ничего, и никак не может то,

/113 Гарантия «Консервативности» «Ничто не может произойти из ничего, и никак не
что есть, уничтожиться»
© Эмпедокл

«Однако за время пути
собака могла подрасти!»
«Багаж» С.Я.Маршак

Законы сохранения

Слайд 22

/113

Ведение полной истории изменений ресурса

Состояние на любой момент времени

Привязка к документам, породившим

/113 Ведение полной истории изменений ресурса Состояние на любой момент времени Привязка к документам, породившим изменение
изменение

Слайд 23

/113

Отчеты

Повторяемость

Детализация

Согласованность

/113 Отчеты Повторяемость Детализация Согласованность

Слайд 24

/113

Больше всего для этих целей
подходит учет:

Двойная запись

Журнал операции

План

/113 Больше всего для этих целей подходит учет: Двойная запись Журнал операции
счетов

«Консервативность»

Полная история

Согласованность отчетов

Слайд 25

ЧТО ЕСТЬ УЧЕТ?

Основные артефакты

/113

ЧТО ЕСТЬ УЧЕТ? Основные артефакты /113

Слайд 26

/113

http://www.omg.org/technology/documents/formal/gen_ledger.htm

Стандарт OMG

http://martinfowler.com/eaaDev/Account.html http://martinfowler.com/eaaDev/AccountingEntry.html http://martinfowler.com/eaaDev/AccountingTransaction.html

Архитектурные
паттерны

Спецификация на проводочную машину

Что по этому поводу есть в

/113 http://www.omg.org/technology/documents/formal/gen_ledger.htm Стандарт OMG http://martinfowler.com/eaaDev/Account.html http://martinfowler.com/eaaDev/AccountingEntry.html http://martinfowler.com/eaaDev/AccountingTransaction.html Архитектурные паттерны Спецификация на проводочную
IT?

Слайд 27

/113

В средневековье

Учет велся в больших хозяйственных книгах
(Ledger)

/113 В средневековье Учет велся в больших хозяйственных книгах (Ledger)

Слайд 28

/113

Запись в книге (Entry)
2 типа - приход/расход

Страница в книге = счет(Account)

Регулярно

/113 Запись в книге (Entry) 2 типа - приход/расход Страница в книге

рассчитывается
остаток или сальдо (Balance)

Слайд 29

/113

Именно эти объекты отразил
в своей модели Фаулер

/113 Именно эти объекты отразил в своей модели Фаулер

Слайд 30

/113

Но нам нужна двойная запись

У Фаулера есть и такой паттерн (Two Legged

/113 Но нам нужна двойная запись У Фаулера есть и такой паттерн
Transaction)

Новый термин - проводка(Transaction)
В бух учете:
счет зачисления - дебет
счет списания - кредит

На самом деле все не так просто ☹

Слайд 31

ПРОВОДОЧНАЯ МАШИНА CustIS

Инструментарий

/113

Наша реализация
существенно
сложнее

ПРОВОДОЧНАЯ МАШИНА CustIS Инструментарий /113 Наша реализация существенно сложнее

Слайд 32

/113

Учетные счета (Accounts)

Выделяются различные виды ресурсов – они называются синтетическими (балансовыми) счетами
Для

/113 Учетные счета (Accounts) Выделяются различные виды ресурсов – они называются синтетическими
них жестко задан набор аналитик

Слайд 34

/113

Учетные счета (Accounts)
Под каждым синтетическим счетом есть иерархия аналитических счетов

/113 Учетные счета (Accounts) Под каждым синтетическим счетом есть иерархия аналитических счетов

Слайд 35

/113

Синтетический счет

Аналитические счета

/113 Синтетический счет Аналитические счета

Слайд 36

/113

Экземпляры счетов

Товар на складе

/113 Экземпляры счетов Товар на складе

Слайд 37

/113

Учетные счета (Accounts)
Под каждым синтетическим счетом также есть OLAP куб аналитических счетов

/113 Учетные счета (Accounts) Под каждым синтетическим счетом также есть OLAP куб аналитических счетов

Слайд 38

/113

Текущий остаток хранится на каждом аналитическом счете нижнего уровня

/113 Текущий остаток хранится на каждом аналитическом счете нижнего уровня

Слайд 39

/113

Проводки
(Transaction)

Между синтетическими счетами типы операций
жестко задают корреспонденции

/113 Проводки (Transaction) Между синтетическими счетами типы операций жестко задают корреспонденции

Слайд 40

/113

Схему можно чуть усложнить

/113 Схему можно чуть усложнить

Слайд 41

/113

Остатки (Сальдо, Balance)

Несложно получить остаток на гранях OLAP куба

/113 Остатки (Сальдо, Balance) Несложно получить остаток на гранях OLAP куба

Слайд 42

/113

Кроме того, для каждой ячейки куба, если нужно, хранится график изменения остатка

/113 Кроме того, для каждой ячейки куба, если нужно, хранится график изменения
в нужных временных разрезах

Слайд 43

/113

Показатели

Можно хранить (заранее настроенные)
произвольные агрегированные показатели по аналитикам счетов и операций

Стандартная
агрегация

Произвольная
агрегация

Если

/113 Показатели Можно хранить (заранее настроенные) произвольные агрегированные показатели по аналитикам счетов
нужно, то с графиком

Слайд 44

/113

Кроме агрегированных показателей можно хранить и более детальные (подокументные расшифровки, например состояние

/113 Кроме агрегированных показателей можно хранить и более детальные (подокументные расшифровки, например состояние заказа) Показатели
заказа)

Показатели

Слайд 45

/113
Можно хранить несколько разнородных показателей в одной записи таблицы БД, например план-факт

Показатели

/113 Можно хранить несколько разнородных показателей в одной записи таблицы БД, например план-факт Показатели

Слайд 46

/113

И еще…

Множество временных разрезов
физическая дата
учетная дата
бухгалтерская дата

/113 И еще… Множество временных разрезов физическая дата учетная дата бухгалтерская дата период отчетности дата документа
период отчетности
дата документа

Слайд 47

/113

Мультивалютность
Разные типы валюты:
- Документа
- Контракта
- Учетная
-

/113 Мультивалютность Разные типы валюты: - Документа - Контракта - Учетная -
Бюджетная
- Национальная
- Бухгалтерская
Разные номиналы (рубли, €, $, ¥ и т.д.)
Переоценка
- Курсовые разницы
- Суммовые разницы

И еще…

Слайд 48

/113

Множественность учета
Несколько планов счетов
Товарный (количественный) учет
Денежный учет

/113 Множественность учета Несколько планов счетов Товарный (количественный) учет Денежный учет Смешанный
Смешанный (товарно-денежный) учет в одном плане счетов
Работа с начальным сальдо
Процедуры инициализации остатков
ведение истории движений до начала расчетов
Разные механизмы создания  аналитических счетов
Автоматическое по аналитикам операции
Ручное в соответствии с требованиями бухгалтерии

И еще…

Слайд 49

/113

Принципиальная схема работы

/113 Принципиальная схема работы

Слайд 50

МЕТОДОЛОГИЯ ОПИСАНИЯ УЧЕТА

Описание нотации

/113

МЕТОДОЛОГИЯ ОПИСАНИЯ УЧЕТА Описание нотации /113

Слайд 51

/113

Простой план счетов

/113 Простой план счетов

Слайд 53

/113

Как читать схему

Начальное состояние
системы

Что мы знаем:
Остатки:
Всего книг в фонде – 0

/113 Как читать схему Начальное состояние системы Что мы знаем: Остатки: Всего
На руках - 0
в библиотеке - 0

Обороты:
Принято книг - 0
Выдано - 0
Вернулось – 0
Потеряна - 0

Слайд 54

/113

Что мы знаем:
Остатки:
Всего книг в фонде – 7
На руках - 0

/113 Что мы знаем: Остатки: Всего книг в фонде – 7 На
в библиотеке - 7
по авторам:
Буч – 7
по полкам
A1 – 7

Обороты:
Принято книг - 7
Выдано - 0
Вернулось – 0
Потеряна - 0

Слайд 55

/113

Что мы знаем:
Остатки:
Всего книг в фонде – 10
На руках - 0

/113 Что мы знаем: Остатки: Всего книг в фонде – 10 На
в библиотеке - 10
по авторам:
Буч – 10
по полкам
A1 – 7
A2 - 3

Обороты:
Принято книг - 10
Выдано - 0
Вернулось – 0
Потеряна - 0

Слайд 56

/113

Что мы знаем:
Остатки:
Всего книг в фонде – 10
На руках - 2

/113 Что мы знаем: Остатки: Всего книг в фонде – 10 На
в библиотеке - 8
по авторам:
Буч – 8
по полкам
A1 – 7
A2 - 1

Обороты:
Принято книг - 10
Выдано - 2
Вернулось – 0
Потеряна - 0

Слайд 57

/113

Что мы знаем:
Остатки:
Всего книг в фонде – 16
На руках - 2

/113 Что мы знаем: Остатки: Всего книг в фонде – 16 На
в библиотеке - 14
по авторам:
Буч – 8
Кайт - 6
по полкам
A1 – 7
A2 - 7

Обороты:
Принято книг - 16
Выдано - 2
Вернулось – 0
Потеряна - 0

Слайд 58

Что мы знаем:
Остатки:
Всего книг в фонде – 16
На руках - 2

Что мы знаем: Остатки: Всего книг в фонде – 16 На руках
в библиотеке - 14
по авторам:
Буч – 8
Кайт - 6
по полкам
A1 – 7
A2 - 7

/113

Эту ошибку можно обрабатывать по-разному

Обороты:
Принято книг - 16
Выдано - 2
Вернулось – 0
Потеряна - 0

Так нельзя! На полке A1 нет Кайта

Слайд 59

/113

Что мы знаем:
Остатки:
Всего книг в фонде – 15
На руках - 1

/113 Что мы знаем: Остатки: Всего книг в фонде – 15 На
в библиотеке - 14
по авторам:
Буч – 8
Кайт - 6
по полкам
A1 – 7
A2 - 7

Обороты:
Принято книг - 16
Выдано - 2
Вернулось – 0
Потеряна - 1

Слайд 60

/113

А если выкладывание на полку
- отдельный процесс?

/113 А если выкладывание на полку - отдельный процесс?

Слайд 61

/113

Эти картинки понятны и бизнесу и разработчику

/113 Эти картинки понятны и бизнесу и разработчику

Слайд 62

/113

В больших планах
счетов мы используем субсчета

Очень
похоже на
наследование

/113 В больших планах счетов мы используем субсчета Очень похоже на наследование

Слайд 64

/113

Эквивалентная запись:
Убрать главный счет
Все аналитики главного счета прописать в субсчетах
Все операции главного

/113 Эквивалентная запись: Убрать главный счет Все аналитики главного счета прописать в
счета размножить на субсчета

Слайд 65

/113

Есть еще один
«нюанс» -
активно/пассивный учет

/113 Есть еще один «нюанс» - активно/пассивный учет

Слайд 66

Баланс компании

/113

Эти критерии тяжело понять, если ты не бухгалтер

Баланс компании /113 Эти критерии тяжело понять, если ты не бухгалтер

Слайд 67

/113

Для нас это выглядит так:

Активный счет - это счет, где увеличение остатка

/113 Для нас это выглядит так: Активный счет - это счет, где
записывается по дебету, уменьшение остатка – по кредиту (т.е. если на него пришла сумма, то остаток на счете увеличился, а если ушла – то уменьшился)
Пассивный счет - увеличение остатка записывается по кредиту, уменьшение остатка – по дебету (т.е. если на него пришла сумма, то остаток на счете уменьшился, а если ушла – то увеличился)
Активно-пассивный счет – это активный счет, на котором разрешен отрицательный остаток

Естественный
ход вещей

С ног на голову

Слайд 68

/113

Теперь вы ничего не сможете сказать по этой картинке…

…если не знаете активность

/113 Теперь вы ничего не сможете сказать по этой картинке… …если не
счетов

C «консервативностью»
тоже много вопросов

Слайд 69

/113

Как это отображается у нас

/113 Как это отображается у нас

Слайд 70

/113

Можно представить как 2 ресурса

Пользоваться
нужно с
осторожностью

/113 Можно представить как 2 ресурса Пользоваться нужно с осторожностью

Слайд 71

/113

А как описывать планы счетов по-другому?

/113 А как описывать планы счетов по-другому?

Слайд 72

/113

Например так…

/113 Например так…

Слайд 73

/113

В лучшем случае - так

/113 В лучшем случае - так

Слайд 74

/113

почти
эквивалентно

/113 почти эквивалентно

Слайд 75

УЧЕТ - АРХИТЕКТУРНЫЙ АРТЕФАКТ

Как встраивается в приложение

/113

УЧЕТ - АРХИТЕКТУРНЫЙ АРТЕФАКТ Как встраивается в приложение /113

Слайд 76

/113

Классическая ситуация:

Формочки

Бизнес логика
Объекты/Классы/
Сущности

Реляционные
Таблицы

Справочники
Документы
Что–то еще

Всем понятно что такое
«Документ»?

/113 Классическая ситуация: Формочки Бизнес логика Объекты/Классы/ Сущности Реляционные Таблицы Справочники Документы

Слайд 77

/113

Наш случай:

/113 Наш случай:

Слайд 78

/113

Чуть подробнее

/113 Чуть подробнее

Слайд 79

/113

Объектная модель ведет учетную

Отображение может быть
On-line и off-line

/113 Объектная модель ведет учетную Отображение может быть On-line и off-line

Слайд 80

/113

Отчетность

/113 Отчетность

Слайд 81

/113

Отчетность

/113 Отчетность

Слайд 82

УЧЕТ – МОДЕЛЬ ПРЕДМЕТНОЙ ОБЛАСТИ

/113

УЧЕТ – МОДЕЛЬ ПРЕДМЕТНОЙ ОБЛАСТИ /113

Слайд 83

/113

При итеративной разработке
мы работаем с небольшим куском системы

/113 При итеративной разработке мы работаем с небольшим куском системы

Слайд 85

/113

Где гарантия, что
мы получится то,
что нужно?

/113 Где гарантия, что мы получится то, что нужно?

Слайд 87

/113

Нужна общая картина

/113 Нужна общая картина

Слайд 89

/113

При проектировании
такая картина –
модель предметной области

aka Domain Model

/113 При проектировании такая картина – модель предметной области aka Domain Model

Слайд 90

/113

Модель – это упрощенное приближение реальности. Максимально простое, при условии достаточной близости к действительности.

/113 Модель – это упрощенное приближение реальности. Максимально простое, при условии достаточной близости к действительности.

Слайд 91

/113

Чаще это всего диаграмма классов(ER-модель)

/113 Чаще это всего диаграмма классов(ER-модель)

Слайд 92

/113

Мы часто используем Учетные модели, как модели предметной области

Совместно с диаграммой

/113 Мы часто используем Учетные модели, как модели предметной области Совместно с
классов

PROFIT:
Учет, обычно, более стабилен. В него гораздо реже вносятся изменения - «инвариант предметной области»
Учет обычно более лаконичен и информативен
Практически всегда мы включаем схему учета в концептуальный проект (vision)– диаграмму классов не всегда. И почти всегда рисуем план счетов раньше.

Слайд 93

/113

Планы счетов
«прочно вошли в нашу жизнь»

/113 Планы счетов «прочно вошли в нашу жизнь»

Слайд 98

/113

Аналитические планы счетов:
Модель предметной области
Методология описания потоков ресурсов
Дополнительный архитектурный

/113 Аналитические планы счетов: Модель предметной области Методология описания потоков ресурсов Дополнительный
слой
Инструментарий разработки учетных систем

15 лет успешного использования

Имя файла: Аналитические-планы-счетов-как-архитектурный-артефакт.pptx
Количество просмотров: 137
Количество скачиваний: 0