Методика постановки задачи

05.07.15

Архитектура

Метод из моей практики. Он позволяет кратко, но детально описать задачу по программированию. Не требует специальных навыков. Может выполняться на листочке формата А4 или в подходящем редакторе.

Очень часто бывает, что тебе присылают ТЗ на многих страницах. Слов написано много, но важные детали, необходимые для реализации, пропущены. Или другая ситуация: общаешься с заказчиком и пытаешься записать его слова, а потом сам не понимаешь, что написал. Или еще вот: делал задачу два месяца назад, но все детали уже выветрились из головы, и нужно лезть в код, чтобы освежить в памяти детали. Еще периодически требуется объяснить другому программисту, что от него требуется, и хочется быть уверенным, что он тебя правильно понял.

Для всех этих ситуаций я выработал универсальный метод описания задачи. Точнее сказать, это способ описания связей между данными. Но он подходит в большинстве случаев.


Метод состоит из двух этапов:

1. Описание ожидаемого результата в виде таблицы. При этом нужно нарисовать таблицу с заголовками полей.

2. Перечисление всех источников данных. При описании данных нужно параллельно заполнять таблицу ожидаемого результата.

Описание задачи считаем законченным, когда все поля ожидаемой таблицы заполнены.

 

Продемонстрирую суть методики на примере.

 

Пример. Задача расчета себестоимости.

Пусть нам нужно описать алгоритм списания по ФИФО при реализации товара.

Шаг 1: в качестве ожидаемого результата хотим получить движения в регистре Остатки после проведения документа Расходная накладная. Рисуем заголовки полей регистра:

Регистр Остатки

  Регистратор     Период     Склад     Товар     Количество  
         

 

Нарисуем одну строку под шапкой, но не заполняем ее

 

Шаг 2.1: Заполняем поля в ожидаемом результате и параллельно рисуем источники данных.

Поля Регистратор, Период и Склад нужно взять из документа Расходная накладная, поэтому нарисуем эту табличку и параллельно заполним соответствующие поля в ожидаемом результате.

Регистр Остатки (ожидаемый результат)

  Регистратор     Период     Склад     Товар     Количество  
 РН1  Д10  С1    


Документ Расходная накладная

  Ссылка     Дата     Склад  
 РН1  Д10  С1


Шаг 2.2: Связь с первым источником данных описали, переходим к следующим полям.

Поле Товар заполняем из табличной части Товары документа Расходная накладная. Количество указываем в табличной части, но не заносим в конечный результат, потому что оно участвует в расчетах, но не переносится напрямую

Регистр Остатки (ожидаемый результат)

  Регистратор     Период     Склад     Товар     Количество  
 РН1  Д10   С1   Т1   


Документ Расходная накладная

  Ссылка     Дата     Склад  
 РН1  Д10   С1 


Документ Расходная накладная (табличная часть)

  Ссылка     Товар     Количество  
 РН1  Т1   20


Шаг 2.3: Описываем заполнение последнего поля.

В качестве источника данных будут выступать записи регистра Остатки. При этом нужно отразить, что важен порядок приходов.

Регистр Остатки (ожидаемый результат)

  Регистратор     Период     Склад     Товар     Количество  
 РН1  Д10   С1   Т1   - 3 
 РН1  Д10  С1  Т1  - 17


Документ Расходная накладная

  Ссылка     Дата     Склад  
 РН1  Д10   С1 


Документ Расходная накладная (табличная часть)

  Ссылка     Товар     Количество  
 РН1  Т1   20


Регистр Остатки

  Регистратор     Период     Склад     Товар     Количество  
 ПН1  Д1   С1   Т1   3 
 ПН2  Д2  С1  Т1  30

 

 В результате получили детальное описание задачи. При этом оно содержит только важные детали.

 

Этот способ я использую при постановке задач по проведению документов и написанию отчетов.

методика тз программирование постановка задача

См. также

Как мы автоматизировали башню раздачи воды

Кейсы автоматизации Платформа 1С v8.3 Энергетика и ЖКХ Россия Бесплатно (free)

Делимся опытом автоматизации учета башни раздачи воды.

27.12.2023    1422    0    slavik27    4    

14

Управленческие аналитики для 1С:Бухгалтерии – отчеты для принятия верных решений

Отчеты и дашборды Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Бесплатно (free)

Если вы привыкли выгружать бухгалтерские операции в Excel и дополнять их там управленческой информацией, вы сможете значительно сэкономить время, получая нужные управленческие отчеты в бухгалтерской программе сразу, без лишних движений. Представляем решение для самостоятельного внедрения управленческого учета в 1С:Бухгалтерии.

11.12.2023    1640    0    Serg_Tangatarov    2    

15

Архитектурное ревью. Процесс разработки

Архитектура решений Бесплатно (free)

Рассмотрим применение архитектурной проверки задач в процессе разработки.

30.10.2023    3828    0    ivanov660    10    

29

Технология разработки Рабочих мест для автоматизации производственных процессов и управленческого учета

Кейсы автоматизации Работа с требованиями Анализ бизнес-процессов Бесплатно (free)

Автоматизировать производственные процессы в 1С:ERP без доработки типовых механизмов очень сложно. А дорабатывать типовые механизмы 1С:ERP не всегда оправданно. Решением может стать технология разработки Рабочих мест, которая позволяет автоматизировать самые сложные участки последовательно – шаг за шагом, процесс за процессом. Расскажем о том, как помочь пользователям вводить большое количество данных, не нарушая порядок ввода и полноту заполнения всех необходимых реквизитов, и как вовлечь сотрудников Заказчика в разработку и тестирование функционала Рабочих мест.

26.10.2023    1818    0    user1754524    15    

15

Опыт оптимизации системы ERP на примере железнодорожного холдинга численностью 10 тыс. человек

Кейсы автоматизации Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Когда проект внедрения ERP в крупном холдинге захлебывается в проблемах производительности и в отчаянии пользователей, нужен комплексный подход. Расскажем о битве за производительность и об организационных мероприятиях по наведению порядка в системе и коллективе.

29.08.2023    2858    0    ke_almaty    0    

14

5 подходов при доработке конфигурации 1С, чтобы в будущем не было мучительно больно её обновлять

Архитектура Рефакторинг и качество кода Обновление 1С Платформа 1С v8.3 Бесплатно (free)

Нашей компании часто приходится сталкиваться с обновлением конфигураций разной степени переписанности. Какие-то из них обновляются легко, какие-то — не очень. Расскажем о некоторых принципах модификации программы, которые помогут сделать последующий процесс обновления легче. Или тяжелее, если стараться их не соблюдать.

10.08.2023    9584    0    1c-izhtc    37    

21

Внедрение системы технологического контроля (практический кейс)

Кейсы автоматизации Платформа 1С v8.3 1С:Управление нашей фирмой 3.0 Управленческий учет Бесплатно (free)

Стабильное качество выпускаемой продукции и ее соответствие нормативным документам (ТУ, ГОСТам, СМК) для активного предприятия является конкурентным преимуществом, так как оно подчеркивает, что на предприятии отлажены контрольные процедуры на входящее сырье, производство полупродуктов и готовой продукции, доставки. В своей практике я принимал участие во внедрении цифровых инструментов в сельском хозяйстве, где показателями зерна служат влажность, засоренность, крупность и т.д.; в металлургии — перед литьем в формы надо проверить сплав на содержания железа, алюминия, магния и т.д.; в кабельной промышленности в дополнение к физическим свойствам типа геометрии, длины, шероховатости, надо выдерживать и электротехнические показатели. 

22.05.2023    1384    0    Ingraf    0    

15
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. mosAdm 135 05.07.15 20:07 Сейчас в теме
Вы явно не Андрей Габец. Эту методику он читает в 3-м УЦ наверно лет 10 уже.
2. json 3297 05.07.15 22:41 Сейчас в теме
(1) mosAdm, я не Андрей Габец и его курсов не посещал. Я простой разработчик и до такой схемы дошел самостоятельно. Мне приятно, что это уже кто-то придумал, да к тому же еще и читает на курсах. Значит, она действительно имеет ценность.
У меня есть еще куча идей для статей, которые я планирую опубликовать в ближайшее время. Эта методика хорошо ложится для создания юнит-тестов. Чуть позже выберу время и опубликую пример, как это использовать на практике.
Andreeei; dddxddd; +2 Ответить
8. dddxddd 09.07.15 17:33 Сейчас в теме
(2) я даже не знаю что такое 3-м УЦ, но когда объясняю задачу, рисую аналогичные таблички...
(1) mosAdm, не всему что начитывют учителя, можно верить (правда не в этом примере). Но самое главное это надо уметь применять на практике...
5. Mi4man 173 06.07.15 13:20 Сейчас в теме
(1) mosAdm, Автор выложил всем, а Габец пусть дальше читает...
verunca; Andreeei; shumvlesu; +3 Ответить
3. BigRig 22 06.07.15 09:13 Сейчас в теме
Доброго времени суток!

Почему первые даты Д10?
Зачем мы брали расходные, если в итоге приходные используются?
4. json 3297 06.07.15 11:34 Сейчас в теме
(3) DimaBab, в моем примере предполагается, что Д1 раньше, чем Д2, а Д2 - раньше, чем Д10.
В задаче РН - расходная накладная, ПН - приходная накладная. Приход должен быть раньше расхода.
6. СергейК 51 08.07.15 09:24 Сейчас в теме
Интересная методика. Попробую использовать. Спасибо, что поделились!
7. DrAku1a 1679 09.07.15 03:52 Сейчас в теме
СокрЛП(Статья): Планируя структуру документа "от регистра" (от результата), надо определить - какие измерения будут "в целом на документ", а какие "построчно" - в случае с регистром "Товары на складах" и документом "Реализация" - построчно будут реквизиты "Товар" и "Количество", а в целом на документ - "Регистратор", "Период" и "Склад".

Конкретизируйте название. "Методика постановки задачи" предполагает наличие общей методики (на разные виды задач, не только же документы и отчеты делаем).
9. pro1c@inbox.ru 185 09.08.15 17:59 Сейчас в теме
для примитивных случаев самое оно!
Оставьте свое сообщение