Как Правильно Написать Техническое Задание На Систему Или Модификацию Системы 1С

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

Это значительно облегчит программисту понимание того, чего от него хотят. В этой статье я постараюсь кратко и, в то же время, достаточно полно объяснить, что нужно писать в техническом задании помимо общих разделов с глоссарием, титульным листом и описанием бизнес-требований.

Этим правилам легко следовать даже при написании коротких пользовательских историй, если вы создаете их в рамках SCRUM/Agile-проекта.

Итак, давайте начнем.

Во-первых, вы должны понимать, что на самом деле программирует программист 1С в 90% случаев: Формы ввода информации Процедуры контроля Модель данных Алгоритмы автоматического заполнения данных Формы вывода информации Давайте рассмотрим каждую категорию отдельно.

Формы ввода информации Это могут быть как формы для внесения какой-либо информации в систему (документы, элементы справочника, таблицы с данными), так и формы для загрузки этих данных откуда-то по шаблону (например, Excel или XML и другие форматы для интеграции с другими системами).

.

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

Если в техническом задании нет заранее продуманного вами прототипа таких форм или шаблонов, то программист придумает их по своему усмотрению, а вы будете жаловаться, что это неудобно для вас в работе.

Процедуры контроля В бизнес-процессах эти процедуры являются предварительным контролем, чтобы вам было понятно.

Те.

Это элементы управления, которые система выполняет сама в тот момент, когда пользователь с определенной ролью пытается работать с системой, и выдает предупреждение или умышленно прерывает работу пользователя, не давая ему выполнить задуманное.

В эту категорию входят:

  • Матрицы ролевого доступа
  • Правила предоставления доступа к формам и полям данных
  • Проверка правильности заполнения данных в формах ввода
  • Процедуры сверки данных
Если в техзадании не прописаны процедуры контроля, то созданная система позволит любому пользователю делать что угодно, почти как в Excel, только с другим оформлением.

Какую выгоду вы получите от этого? Модель данных Разумеется, программист сделает модель данных так, как подсказывает ему его текущий опыт. Если программист опытный, он создаст эффективную структуру данных.

А если не очень, то не очень.

Если вы еще и «не очень» программист, то единственное полезное, что вы можете написать в этой части для программиста, — это базовые характеристики модели данных:

  • Список бизнес-объектов, с которыми имеет дело пользователь и связи между ними, ссылки на какие объекты в каких объектах следует хранить
  • Состав полей данных (таблица в Excel) для каждого бизнес-объекта, имеющего форму ввода
  • Поддержка иерархии – нужна или нет?
  • Какой объем данных планируется хранить?
  • Регулярность внесения и изменения этих данных
  • Нужно ли хранить несколько таблиц данных в одном объекте, и если да, то с какой аналитикой, будет ли какой-либо другой объект обращаться к записям этих таблиц?
  • Поддержка хранения данных с историей по дате — нужно или нет?
  • Поддержка расчета итогов на любую дату или оборота за период – нужно или нет?
  • Поддержка двойной записи – нужна или нет?
  • Поддержка графиков смещения значений во времени – нужно или нет?
  • Поддержка процессов взаимодействия пользователя на объекте – нужно или нет?
Эта информация поможет программисту создать нужную категорию объектов системы, которую потом не нужно будет переделывать, если он сам не догадался о вышеперечисленных характеристиках.

Алгоритмы автоматического заполнения данных Если ваши формы ввода содержат много полей или таблиц, ваши пользователи вряд ли захотят каждый раз заполнять все поля с нуля.

Здесь следует подумать о том, какие поля или таблицы можно заполнить из других полей или таблиц того или иного бизнес-объекта.

Также здесь можно подумать о зависимом автоматическом заполнении форм ввода в зависимости от только что измененных пользователем полей.

Например, после выбора предмета пользователю не нужно выбирать его основную единицу измерения; система сама заменит его по умолчанию.

Формы вывода информации К этой категории относятся отчеты и формы «просмотра» или «выбора» объектов.

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

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

Достаточно.

Сюда также входят формы для загрузки данных в Excel или XML и другие форматы для интеграции с другими системами.

*** Формы ввода и вывода зачастую могут быть объединены с алгоритмами заполнения данных и процедурами управления в функциональные интерактивные рабочие места пользователей, дополненные кнопками, вызывающими определенные действия и события в системе.

Однако к ним применяются те же принципы написания технического задания с учетом этих особенностей.

Предоставив программисту этот простой набор информации в техническом задании, вы на 90% застрахуете себя от того, что он сделает что-то не так.

P.S. Ну, если только у вас не работает настоящий программист 1С.

Может быть, он лучше пишет на Python? Теги: #1с #техническое задание #консультант #методист #Промышленное программирование

Вместе с данным постом часто просматривают: