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

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



Advertisements
Похожие презентации
Масштаб 1 : Приложение 1 к решению Совета депутатов города Новосибирска от _____________ ______.
Advertisements

Масштаб 1 : Приложение 1 к решению Совета депутатов города Новосибирска от
Работа учащегося 7Б класса Толгского Андрея. Каждое натуральное число, больше единицы, делится, по крайней мере, на два числа: на 1 и на само себя. Если.
ЦИФРЫ ОДИН 11 ДВА 2 ТРИ 3 ЧЕТЫРЕ 4 ПЯТЬ 5 ШЕСТЬ 6.
Таблица умножения на 8. Разработан: Бычкуновой О.В. г.Красноярск год.
Фрагмент карты градостроительного зонирования территории города Новосибирска Масштаб 1 : 4500 к решению Совета депутатов города Новосибирска от
27 апреля группадисциплина% ДЕ 1МП-12Английский язык57 2МП-34Экономика92 3МП-39Психология и педагогика55 4МП-39Электротехника и электроника82 5П-21Информатика.
Д. Дуброво д. Бортниково с. Никульское д. Подлужье д. Бакунино пос. Радужный - Песчаный карьер ООО ССП «Черкизово» - Граница сельского поселения - Граница.
Результаты работы 5а класса Кл. руководитель: Белобородова Н. С. Показатель 0123 Обучаемость 1-6%4-25%8-50%3-18 Навыки смыслового чтения 1-6%12-75%3-18%
Курсы повышения квалификации (общие показатели в %)
Ул.Школьная Схема с. Вознесенка Ярославского городского поселения п.Ярославский 10 2 Ул.Флюоритовая
Матемтааки ЕТ СТ 2 класс Шипилова Наталия Викторовна учитель начальных классов, ВКК Шипилова Наталия Викторовна учитель начальных классов, ВКК.
Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота Ю.К.
27 апреля группадисциплина% ДЕ 1МП-12Английский язык57 2МП-34Экономика92 3МП-39Психология и педагогика55 4МП-39Электротехника и электроника82 5П-21Информатика.
Результаты сбора и обработки баз данных неработающего населения муниципальных общеобразовательных учреждений города Краснодара за период с 02 по 10 февраля.

1 Знаток математики Тренажер Таблица умножения 2 класс Школа 21 века ®м®м.
Фрагмент карты градостроительного зонирования территории города Новосибирска Масштаб 1 : 6000 Приложение 7 к решению Совета депутатов города Новосибирска.
О РЕЗУЛЬТАТАХ ПРОВЕДЕНИЯ НЕЗАВИСИМОЙ ОЦЕНКИ КАЧЕСТВА ОБУЧЕНИЯ В РАМКАХ ОЦП «Р АЗВИТИЕ ИНФОРМАЦИОННОГО ОБЩЕСТВА, ИСПОЛЬЗОВАНИЕ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ,
Тренажор Таблично умножение Отлично!
Транксрипт:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

15/113

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

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

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

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

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

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

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

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

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

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

26/113 Стандарт OMG Архитектурные паттерны Спецификация на проводочную машину Что по этому поводу есть в IT?

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

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

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

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

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

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

33/113

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

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

36/113 Экземпляры счетов 0123 Товар на складе: Москва Товар на складе: Москва:Опт Товар на складе: Москва:Опт: А-101 Обруч гимнастический Товар на складе: Москва:Опт: Шарики Spezial … Товар на складе: Москва:Розница … … Товар на складе: Питер … … … … … … Товар на складе

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

38/113 Текущий остаток хранится на каждом аналитическом счете нижнего уровня Учетные счета Синтетические счета Аналитические счета Аналитика 1 Аналитика 2 N Аналитика 1 Синтетический счет: код, активность, [набор аналитик] Аналитика 2

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

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

41/113 Остатки (Сальдо, Balance) Несложно получить остаток на гранях OLAP куба Расчетный счет Банк Распорядитель 51 Всего в банке X у распорядителя Y Всего в банке X Всего на р/с Z Итого на счете 51-2 Всего у распорядителя Y Всего в банке X на р/с Z

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

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

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

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

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

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

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

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

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

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

52/113

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

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

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

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

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

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

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

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

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

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

63/113

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

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

Баланс компании Актив - те ресурсы, которые принадлежат компании, или которые она надеется получить в будущем, например, долг за отгруженный товар Пассив – обязательства или задолженность компании в той или иной форме, например, долг поставщику или обязательства по отгрузке товара Дебет счета – увеличение ресурса компании или уменьшение ее обязательства Кредит счета – уменьшение ресурса компании или увеличение ее обязательства 66/113 Эти критерии тяжело понять, если ты не бухгалтер

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

84/113

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

86/113

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

88/113

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

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

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

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

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

94/113

95/113

96/113

97/113

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

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