'

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

Понравилась презентация – покажи это...





Слайд 1

Михаил Заборов CustIS «Заказные ИнформСистемы» Руководитель направления «Торговые сети» Декабрь 2009 Аналитические планы счетов как архитектурный артефакт


Слайд 2

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


Слайд 3

3/113 Большие проекты t 0 4 мес. 1 год Маленькие Средние Наш размерчик! = от 10 – 15 чел. лет Команда 5-10 человек


Слайд 4

4/113 Очень большие проекты t 0 1 год 10 лет = от 40 – 100 чел. лет Команда 30-50 человек


Слайд 5

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


Слайд 6

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


Слайд 7

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


Слайд 8

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


Слайд 9

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


Слайд 10

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


Слайд 11

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


Слайд 12

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


Слайд 13

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


Слайд 14

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


Слайд 15

15/113


Слайд 16

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


Слайд 17

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


Слайд 18

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


Слайд 19

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


Слайд 20

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


Слайд 21

21/113 Гарантия «Консервативности» «Ничто не может произойти из ничего, и никак не может то, что есть, уничтожиться» © Эмпедокл «Однако за время пути собака могла подрасти!» «Багаж» С.Я.Маршак Законы сохранения


Слайд 22

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


Слайд 23

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


Слайд 24

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


Слайд 25

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


Слайд 26

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 Архитектурные паттерны Спецификация на проводочную машину Что по этому поводу есть в IT?


Слайд 27

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


Слайд 28

28/113 Запись в книге (Entry) 2 типа - приход/расход Страница в книге = счет(Account) Регулярно рассчитывается остаток или сальдо (Balance)


Слайд 29

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


Слайд 30

30/113 Но нам нужна двойная запись У Фаулера есть и такой паттерн (Two Legged Transaction) Новый термин - проводка(Transaction) В бух учете: счет зачисления - дебет счет списания - кредит На самом деле все не так просто ?


Слайд 31

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


Слайд 32

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


Слайд 33

33/113


Слайд 34

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


Слайд 35

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


Слайд 36

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


Слайд 37

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


Слайд 38

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


Слайд 39

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


Слайд 40

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


Слайд 41

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


Слайд 42

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


Слайд 43

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


Слайд 44

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


Слайд 45

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


Слайд 46

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


Слайд 47

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


Слайд 48

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


Слайд 49

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


Слайд 50

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


Слайд 51

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


Слайд 52

52/113


Слайд 53

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


Слайд 54

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


Слайд 55

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


Слайд 56

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


Слайд 57

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


Слайд 58

Что мы знаем: Остатки: Всего книг в фонде – 16 На руках - 2 в библиотеке - 14 по авторам: Буч – 8 Кайт - 6 по полкам A1 – 7 A2 - 7 58/113 Эту ошибку можно обрабатывать по-разному Обороты: Принято книг - 16 Выдано - 2 Вернулось – 0 Потеряна - 0 Так нельзя! На полке A1 нет Кайта


Слайд 59

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


Слайд 60

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


Слайд 61

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


Слайд 62

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


Слайд 63

63/113


Слайд 64

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


Слайд 65

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


Слайд 66

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


Слайд 67

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


Слайд 68

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


Слайд 69

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


Слайд 70

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


Слайд 71

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


Слайд 72

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


Слайд 73

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


Слайд 74

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


Слайд 75

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


Слайд 76

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


Слайд 77

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


Слайд 78

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


Слайд 79

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


Слайд 80

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


Слайд 81

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


Слайд 82

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


Слайд 83

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


Слайд 84

84/113


Слайд 85

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


Слайд 86

86/113


Слайд 87

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


Слайд 88

88/113


Слайд 89

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


Слайд 90

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


Слайд 91

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


Слайд 92

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


Слайд 93

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


Слайд 94

94/113


Слайд 95

95/113


Слайд 96

96/113


Слайд 97

97/113


Слайд 98

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


Слайд 99

99/113 Спасибо за внимание!


×

HTML:





Ссылка: