Как писать ТЗ: инструкция по составлению грамотного техзадания
Содержание
Что такое техническое задание
Техническое задание (сокращенно ТЗ) — это документ с подробными требованиями к проекту. Обычно в нем указывают цель, последовательность и методы выполнения работ, порядок согласования реализованных задач и другие нюансы. По сути, ТЗ — инструмент коммуникации между заказчиком и исполнителем. Он должен исключать двусмысленность и недопонимание в их взаимодействии.
Техническое задание — это то, с чего начинается качественный функциональный продукт. По крайней мере, если таковым является само ТЗ. Если документ будет составлен непрофессионально и без должного внимания, результат окажется соответствующим.
Учитывая характер целевой аудитории блога и общие тренды, скорее всего, имеет смысл описывать технические задания конкретно на цифровые продукты. Во многом так и будет, но нельзя забывать, что и самые обычные, «аналоговые», продукты тоже требуют документации. Они требовали её ещё до появления самого интернета. Поэтому для расширения кругозора и для пользы представителей нецифровых отраслей, стоит приводить отсылки и к оффлайн-проектам.
Для чего нужно техническое задание?
Техническое задание не менее значимо, чем юридический акт, в деле закрепления прав и обязанностей сторон — заказчика и исполнителя.
Фактически это инструкция для разработчиков, конструкторов и других непосредственных создателей конечного продукта. Но по сути техническое задание, определяя жёсткие требования к каждой детали, делает сотрудничество заказчика и исполнителя безопаснее и комфортнее.
Когда каждая мелочь регламентирована, всё на своих местах, все при своих полномочиях и обязанностях, остаётся мало пространства для нечестного манёвра и недопонимания. Идеально, когда его вообще не остаётся.
Более того, конкретное и целостное техническое задание — это первый шаг к качественному результату. Чтобы продукт работал чётко, без сбоев, да и просто безопасно — это тоже периодически стоит на повестке — все его элементы должны быть продуманы. Тщательно и скрупулезно.
Техническое задание — основа как простых односложных продуктов, так и высоконагруженных систем. В каждом случае сценарии функционирования должны быть предусмотрены. Любое действие пользователя должно быть предугадано, и ответом на него должен быть полезный результат.
Именно для того, чтобы работа с конечным продуктом вызывала положительный отклик пользователя и решала его задачи, необходимо проработать идею и детали проекта на самой ранней стадии.
Кто должен составлять техническое задание
Чтобы понять, как составить техзадание, важно определиться с тем, кто именно это будет делать. На этот вопрос нет однозначного ответа — ТЗ для задачи может составить заказчик или исполнитель, в отдельных случаях — это совместная работа.
Заказчик
В этом случае исполнитель будет четко понимать, что и когда ему потребуется делать. В результате получится точно рассчитать стоимость работ и срок, отведенный на их выполнение. Однако иногда составитель ТЗ не понимает того, что именно должен предоставить им исполнитель, из-за чего с составлением ТЗ возникают проблемы.
Исполнитель
Исполнитель, занимающийся составлением ТЗ, присылает заказчику бриф с вопросами по задаче. Так специалист выясняет цель работы и свою пользу для клиента. После этого проходит интервью, и в режиме диалога стороны уточняют рабочие нюансы. Исполнитель изучает конкурентов и целевую аудиторию, чтобы добавить эту информацию в техническое задание.
Такой способ составления ТЗ удобен, когда заказчик полностью доверяет исполнителю, а исполнитель достаточно компетентен, чтобы разобраться в задаче самостоятельно.
Совместно
Совместное формулирование ТЗ начинается с того, что заказчик озвучивает исполнителю требования относительно будущего задания. Подрядчик, в свою очередь, предлагает, как улучшить проект, и только после этого составляется техническое задание. Этот способ, как и предыдущий, работает на доверии, этичности и профессионализме сторон.
Как составить техническое задание
Главные требования к техническому заданию — это продуманность и полнота. Так как составители не всегда способны им следовать, были разработаны общие стандарты разработки ТЗ.
В вакансиях на должность системного аналитика или технического писателя можно встретить требование: знание ГОСТ 19 и ГОСТ 34. Из названия легко понять, что это общегосударственные стандарты, образцы разработки технических заданий на территории России.
Эти два ГОСТа имеют отношение только к программным комплексам — к сайтам, приложениям и системам автоматизации. Другие ТЗ придется писать по совершенно другим правилам.
ГОСТ
ГОСТ 19 был введён в 1980 году. Учитывая, что основные принципы программного обеспечения почти не поменялись, документ еще не утратил своей актуальности. Это можно сравнить со строительством зданий: меняются материалы и конструкции, но общие понятия — фундамент, стены, перекрытия — сохраняются.
Согласно тексту Постановления, согласно которому принят данный стандарт, назначение его следующее: «Устанавливает порядок построения и оформления технического задания на разработку программы или программного изделия для вычислительных машин, комплексов и систем независимо от их назначения и области применения».
Само техническое задание должно содержать следующие пункты:
- Введение;
- Основания для разработки;
- Назначение разработки;
- Требования к программе или программному изделию;
- Требования к программной документации;
- Технико-экономические показатели;
- Стадии и этапы разработки;
- Порядок контроля и приемки;
- Приложения.
Более новый стандарт — ГОСТ 34, но он новее всего на 10 лет. То есть, введён с 1 января 1990 года.
Формулировка назначения выглядит так: «Распространяется на автоматизированные системы (АС) для автоматизации различных видов деятельности (управление, проектирование, исследование и т. п.), включая их сочетания…».
Текст технического задания строится по структуре:
- Общие сведения;
- Назначение и цели создания (развития) системы;
- Характеристика объектов автоматизации;
- Требования к системе;
- Состав и содержание работ по созданию системы;
- Порядок контроля и приемки системы;
- Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие;
- Требования к документированию;
- Источники разработки.
Разумеется, за прошедшее время подходы были пересмотрены. Введены новые правила и рекомендации. Сами ГОСТы перешли в разряд базовой опорной точки, а конечный результат остаётся на усмотрение составителей. Тем не менее, при работе с госзаказчиками необходимо брать за основу именно ГОСТ.
ISO/IEC/IEEE 29148
Разработанный Международной организацией по стандартизации ISO, данный современный стандарт пригоден для использования помимо всего прочего в международных проектах.
Последняя редакция — ISO/IEC/IEEE 29148:2018, но, к сожалению, она отсутствует в открытом доступе, поэтому возьмём за основу предыдущую, от 2011 года.
По аналогии с ГОСТами, стандарт содержит два раздела. Один из них, SyRS — System Requirements Specification — определяет общие требования к построению систем, их принципам и характеру взаимодействия пользователя с ними. По похожей схеме составлен ГОСТ 34.
SRS — Software Requirements Specifitaion — по аналогии с ГОСТ 19, содержит требования к конечному программному продукту.
Общая схема строится следующим образом:
- Введение. Информация о компании, которая пригодится при работе над проектом, назначение продукта или системы, содержание, обзор функций и пользователей.
- Ссылки на референсы. Примеры продуктов конкурентов, которые можно использовать для анализа слабых и сильных сторон, интересных решений.
- Системные требования. Требования к юзабилити и производительности системы, состоянию, физическим характеристикам, окружению и безопасности, правилам. Для приложений — требования к внешним интерфейсам, к производительности, структуре БД, функциям и юзабилити.
- Тестирование и проверка. Процедуры тестирование по каждому из пунктов предыдущего раздела.
- Приложения. Термины, схемы, история правок.
Порядок документирования требований
Выйдем немного за пределы тематики и скажем несколько слов о том, из чего состоит весь процесс документального сопровождения продукта. Ведь он не ограничивается техническим заданием. Сложность сопроводительной документации растёт вместе со сложностью и масштабом продукта.
Разработка лендинга на Тильде или запуск таргетированной рекламы Вконтакте радикально отличаются от создания высоконагруженной биллинговой системы банка. Если первые два продукта способен создать один человек, то последний может потребовать команды из нескольких десятков специалистов из многих областей.
Бриф
В основном, уместен в контексте продуктов низкой и средней сложности. Например, небольшой сайт, воронка продаж или даже копирайтинг.
Бриф обращён к заказчику и не предполагает жёстких финальных требований или детального описания результата. Выверенной должна быть только структура опросника. В него могут входить такие пункты, как:
- Цель и назначение продукта;
- Предполагаемый бюджет;
- Целевая аудитория.
Вопросов на которые отвечает заказчик, может быть до 20–30, но не более, иначе это становится большой нагрузкой. Задача брифа в том, чтобы получить общее направление для обсуждения.
Такой опрос удобно разместить на сайте, если он не сложный. Его можно запрограммировать или дать ссылку на Google формы. Либо просто разместите кнопку обратного звонка, чтобы задать вопросы и проконсультировать клиента прямо в режиме реального времени по телефону.
Виджет обратного звонка, как инструмент, подходит не только для созвонов с партнерами, но и для клиентского сервиса. Это всплывающее окно предлагает указать контактный номер,по которому перезвонит сотрудник поддержки. С виджетом обратного звонка от Calltouch вы можете собирать заявки даже в нерабочее время, а также записывать и тегировать звонки.
Виджет обратного звонка для сайта
- Повысьте конверсию сайта на 30%
- Новым клиентам 50 минут в подарок
Узнать подробнее
Технико-коммерческое предложение
Здесь речь заходит о действительно крупных проектах. В противном случае нецелесообразно прилагать излишние усилия к созданию подобных документов.
ТКП разрабатывается в рамках маркетинговых мероприятий, когда продукт предлагается потенциальным заказчиком. Если у вас есть собственная концепция, готовая к внедрению или масштабированию, на её основе можно сделать предложение.
Документ содержит не просто идею и общее описание, но некоторые технические подробности. На их основе заказчику удобнее принимать решение, так как он сразу может увидеть, насколько характеристики продукта согласуются с той инфраструктурой, которая есть в наличии.
Бесполезно предлагать промышленные системы вентиляции маленьким кофейням. В других случаях помещение может отвечать требованиям, но электроснабжение окажется несовместимым с требованиями оборудования по питанию.
Технические требования
Если в ТКП требования приводятся самые основные, для ознакомления, то при заинтересованности заказчика с ним составляются уже более детализированные перечни требований.
Техническое задание
Собственно, предмет статьи. Предварительные сведения даны в предыдущих пунктах, а ценные советы ждут вас в следующем разделе.
Технический проект
Этап «живого» проектирования продукта. Здесь начинаются активные действия по разработке решений согласно ТЗ. В ходе работы уточняются и проясняются отдельные нюансы, требования, доработки.
В соответствии с практическими наработками, составляются новые задания и требования — частные технические задания по отдельным подсистемам (ЧТЗ).
Эксплуатация
Важно помнить, что после сдачи проекта стороны распределяют между собой обязанности по поддержанию работоспособности системы. Это тоже должно быть прописано — например, в техническом задании, если не предусмотрено другого порядка.
Перед эксплуатацией и во время неё создаются различные регламенты, описания сервисов, инструкции. Актуализируются текущие версии документов.
Когда условия работы или технологии модифицируются, приходится вносить правки в документы и внедрять изменения в продукт.
Рекомендации по составлению ТЗ
Правильное ТЗ составляют по универсальному шаблону:
Дайте подрядчику общую информацию
Подрядчик должен понимать, чем занимается компания и кто ваша целевая аудитория. Так исполнитель сможет глубже вникнуть в поставленную задачу и избежать элементарных ошибок. При озвучивании идеи важно отметить конкурентные преимущества и особенности проекта.
Покажите конкурентов
ТЗ должно содержать ссылки на похожие проекты с дополнительным описанием. Это поможет исполнителю оценить удачные примеры чужих разработок и избежать характерных проблем при реализации. Кроме того, выявление чужих особенностей позволяет создать собственное уникальное решение.
Распишите сценарии использования продукта
Сценарий нужен для понимания принципа работы продукта. Например, если область работы касается IT, сценарий отвечает на вопрос «Как будет вести себя пользователь?» и дает понимание главных функций сайта.
Ведите историю правок
В начале документа создайте таблицу со столбцами “дата”, “описание”, “автор”. В ней записывается история изменений документа, благодаря которой легко понять, на каком этапе возникло то или иное требование, дополнение, противоречие.
Составляйте список терминов и сокращений
Это правило грамотного подхода к формированию документа. Основной текст предваряется словарём, в котором записаны специальные термины, не являющиеся общеупотребимыми. Особенно уделите внимание тем аббревиатурам и словам, которые применяются только в данному проекту.
Прописывайте каждую деталь
Сайт — это не только код, но и мощности, на которых он работает. В первую очередь, определите, на каком сервере будет размещен сайт, какие у него параметры: ёмкость, оперативная память и другие.
Пропишите периодичность и порядок оплаты сервера — передаст ли заказчик обязанность бухгалтерии или же вы будете получать ежемесячную абонентскую плату, из которой сами должны распределять средства на те или иные нужды.
Позаботьтесь о пользователях. Продумайте, какими браузерами и устройствами они пользуются, какое у них разрешение. Адаптируйте сайт, если речь идёт о нём, под различные технические характеристики устройств.
Продумывайте детали
Не оставляйте белых пятен. При наведении на рисунок, он скрывается? Хорошо, но уточните — он уезжает влево? Становится прозрачным? С какой скоростью? Как он появляется опять? Малейшая деталь без чёткой логики ставит разработчиков и весь процесс в тупик.
Опишите требования к проверке проекта
На этапе составления техзадания продумайте чек-лист, по которому заказчику будет понятна степень успешности реализованного проекта. Так можно быстро оценить проделанную работу и не забыть о значимых нюансах.
Бывают случаи, когда исполнитель работает за фиксированную плату и некий процент от продаж. Например, вы заказали на таких условиях настройку таргетированной рекламы у фрилансера. Чтобы честно оценить его работу, вам поможет сервис сквозной аналитики от Calltouch. Он формирует отчет о результатах рекламных кампаний: сколько было звонков и заявок, и сколько из них привели к оформлению заказа. Вам не придется высчитывать KPI — итоги работы наглядно отражены в личном кабинете.
Сквозная аналитика Calltouch
- Анализируйте воронку продаж от показов до денег в кассе
- Автоматический сбор данных, удобные отчеты и бесплатные интеграции
Узнать подробнее
Когда ТЗ не нужно
Техническое задание требуется не каждому продукту. Иногда достаточно предпроектного исследования, чтобы изучить потребности клиентов вместе с аналитиком. После этого следует решать, есть ли необходимость в ТЗ.
Зачастую более гибкие методологии, работающие на создание продукта, позволяют успешно и оперативно использовать ресурсы компании. Например, сначала формируется маленький прототип, который тестируют, и на основании обратной связи от клиентов корректируют до полноценного продукта.
Выводы
Техническое задание — важный этап подготовки к работе над проектами. Его составление помогает заказчику сформулировать суть задачи, а исполнителю дает понять, как ее выполнить. Составить ТЗ может заказчик, исполнитель или заказчик вместе с исполнителем. Выбор варианта сотрудничества зависит от сложности работ и навыков специалиста.
Техническое задание (сокращенно – ТЗ или техзадание) представляет собой документ, детально описывающий цели и задачи, которые поставлены заказчиком перед исполнителем. Его оформление позволяет упростить как производство работ, так и контроль над их выполнением. Грамотно составленное ТЗ – это первый и очень важный шаг на пути к взаимовыгодному сотрудничеству между заказчиком и подрядчиком, позволяющий исключить или минимизировать спорные ситуации в ходе дальнейшей работы. Учитывая актуальность технического задания для успешной деятельности обеих заинтересованных сторон, имеет смысл рассмотреть основные вопросы, связанные с оформлением и исполнением документа более внимательно.
Кто должен составлять ТЗ?
Порядок документирования требований
В каком случае ТЗ не нужно?
Шаблоны для скачивания и примеры
Что такое ТЗ?
Под техническим заданием понимается четко сформулированный и детальный перечень требований к конечному продукту, заявленный заказчиком и направляемый исполнителю. Несмотря на краткость приведенной формулировки, объем ТЗ может быть очень значительным и достигать нескольких десятков страниц. Например, если речь идет о реализации масштабного проекта или разработке и изготовлении сложного технологического оборудования.
Характерной особенностью технических заданий выступает сильная зависимость – как содержимого, так и оформления документа – от специфики конечного продукта. Отдельного упоминания заслуживают ТЗ на различное программное обеспечение, включая веб-сайты, онлайн-сервисы, интернет-магазины и различные приложения. Их актуальность особенно велика, что легко и вполне логично объясняется важностью и стремительным развитием IT-индустрии.
Для чего требуется ТЗ?
Необходимость составления технического задания не вызывает сомнений. Наличие документа позволяет решить сразу несколько принципиально важных задач:
- озвучить основные причины реализации объекта;
- сформулировать четкие требования к итоговому продукту;
- проверить, насколько компетентен исполнитель;
- перечислить его необходимые характеристики, свойства, составные элементы и т.д. (перечень качеств зависит от специфики товара или услуги);
- детально описать обязанности каждой из заинтересованных сторон – исполнителя и заказчика;
- установить основные этапы и сроки выполнения поставленных задач – как по отдельности, так и для проекта в целом;
- определить критерии оценки характеристик конечного продукта и установления соответствия заданным параметрам.
Не менее важной задачей технического задания становится исключение или минимизация возможных разногласий между заказчиком и исполнителем. Они могут касаться как отдельных свойств или качеств товара/услуги, так и путей достижения поставленных целей. В результате наличие ТЗ становится ключевым фактором успешного сотрудничества заинтересованных сторон – без конфликтов и спорных ситуаций.
Кто должен составлять ТЗ?
Несмотря на кажущуюся простоту вынесенного в подзаголовок вопроса, ответ на него не так очевиден, каким видится на первый взгляд. Рассмотрим три возможных варианта.
Заказчик
Данный ответ кажется наиболее логичным. Но он является таковым только в том случае, если предметом задания выступает проект, непосредственно связанный с основным видом деятельности заказчика. Например, если IT-компании требуется программа для обслуживания локальной сети. В этом случае квалификации штатных сотрудников фирмы вполне достаточно, чтобы составить грамотное ТЗ.
На практике такая ситуация складывается далеко не всегда. Например, крупному предприятию требуется построить новый производственный цех. Но в его штате попросту может не оказаться специалистов в проектировании и строительстве нужной квалификации. В этом случае имеет смысл привлечь к составлению ТЗ сторонних профессионалов, включая сотрудников потенциального исполнителя.
Исполнитель
Выше приводится пример, когда имеет смысл доверить разработку и оформление технического задания работникам компании-исполнителя. Схема работы в этом случае обычно выглядит так:
- сначала заказчик ставит общую задачу;
- затем исполнитель направляет в его адрес бриф с уточняющими вопросами;
- на основании полученных ответов происходит разработка ТЗ;
- после этого документ отправляется заказчику на утверждение.
Обязательным условием эффективного применения описанной схемы выступает доверие исполнителю со стороны заказчика. В противном случае намного правильнее последнему привлечь к работе сторонних специалистов.
Совместно
Самый оптимальный вариант взаимодействия. Напоминает описанную выше схему разработки ТЗ исполнителем, но предусматривает намного более многоступенчатую процедуру с активным участием сотрудников заказчика. При грамотной реализации позволяет добиться лучших результатов как в части точности, так и полноты технического задания.
Стоимость ТЗ
Невозможно дать однозначного ответа на вопрос о том, сколько стоит техническое задание. В этом нет ничего удивительного, если учесть разнообразие вариаций этого документа, отличающихся как объемом, так и содержанием. Важно понимать, что рассчитывать на бесплатное составление ТЗ не стоит. Тем более – в случае приглашения сторонних специалистов.
Единственным вариантом реально сэкономить становится ситуация, когда исполнитель заинтересован в получении заказа. В этом случае вполне реально добиться от него оформления технического задания на бесплатной основе при гарантиях со стороны заказчика заключить договор на выполнение работ в будущем.
Как составить ТЗ?
Разработка и оформление технического задания – сложная задача. Ее успешное решение предусматривает комплексный подход и доскональное изучение вопроса.
Что потребуется?
Грамотно составленное ТЗ предусматривает наличие нескольких обязательных составных частей, включая:
- Подробное описание целей реализации проекта.
- Основные требования и ожидания от конечного продукта.
- Ключевые этапы выполнения работ.
- Календарный график или сроки исполнения.
- Процедура контроля в процессе реализации проекта и итоговой приемки конечного продукта.
- Приложения к ТЗ. Их перечень зависит от специфики проекта и обычно включает расчет стоимости, ссылки на нормативно-правовые документы и технические регламенты, другую справочную информацию, которая может оказаться полезной исполнителю.
Пошаговый план
Фактически, процедура составления технического задания представляет собой наполнение каждого из перечисленных выше разделов итогового документа. Последовательность предпринимаемых при этом действий зависит от специфики проекта и характеристик конечного продукта. Главное – четко выполнить требования к содержимому и оформлению ТЗ, что позволит успешно решить стоящие перед документом задачи.
Рекомендации по составлению
Не менее важно не допустить типичных ошибок, характерных для недостаточно квалифицированных разработчиков и составителей ТЗ. Чтобы добиться этого, имеет смысл следовать нескольких достаточно простым рекомендациям, включая:
- Однозначные формулировки. Содержание ТЗ не должно включать описаний или характеристик, допускающих неоднозначные трактовки. В тексте документа не допускается присутствие качественных прилагательных и крайне приветствуются конкретные цифры.
- Определение используемых терминов. Заказчик и исполнитель должны разговаривать на одном языке. Поэтому ключевые понятия нуждаются в расшифровке.
- Соблюдение установленных стандартов. Перечень нормативных документов, которые можно использовать при составлении технического задания, приводится ниже. Здесь же необходимо отметить, что ссылки на ГОСТы или ISO всегда полезны, так как сводят к минимуму возможные разночтения.
- Предоставление исполнителю максимально возможной информации о заказчике. Такие сведения помогают сориентироваться в том, что является важным для заказчика, его целевой аудитории и других важных параметрах.
- Перечисление конкурентов. Достаточно часто существенную помощь в реализации проекта оказывает изучение и анализ аналогов, уже представленных на рынке или запланированных к запуску конкурирующими компаниями. Такой подход к решению задачи заслуживает внимания, так как позволяет минимизировать сопутствующие расходы и не заниматься «изобретением велосипеда», а сосредоточиться на улучшении уже имеющихся разработок.
- Внесение корректировок при необходимости. Если речь идет о сотрудничестве двух коммерческих структур, целесообразно наладить постоянное общение. В том числе –с целью уточнения ТЗ, если это потребуется. Хотя намного правильнее заранее прописать все возможные нюансы и сценарии развития событий, так как любые корректировки технического задания можно и нужно считать форс-мажором.
Скачать шаблон и пример ТЗ на оказание услуг – источник s-vfu.ru.
О стандартах
Порядок разработки технических заданий регламентируется множеством стандартов – как международных, так и отечественных. Причем в отношении разных проектов и продуктов действуют различные нормы. Наиболее часто упоминается международный стандарт ISO/IEC/IEEE 29148-2018. Он устанавливает требования к ТЗ на разработку информационных систем и программного обеспечения.
Если говорить об отечественных стандартах, необходимо обязательно отметить два из них. Первый – это ГОСТ 34.602-89, который устанавливает основные технические и другие требования к ТЗ на автоматизированные системы. Второй – это ГОСТ 19.201-78, определяющий порядок разработки ТЗ в рамках единой системы программной документации.
Оба стандарта впервые появились еще в Советском Союзе, а потому их актуальность остается под вопросом. Отсутствие более новых документов показывает слабое законодательное и нормативное сопровождение вопроса составления и разработки технических заданий в России.
Существуют и другие стандарты, в большинстве своем международные – IEEE STD 830-1998, RUP, BABOK, SWEBOK и т.д. Их использования в отечественных условиях сильно ограничено из-за отсутствия учета местной специфики и широкого распространения.
Порядок документирования требований
Грамотное составление ТЗ предусматривает обмен документами между заказчиком и исполнителем. Первым из них выступает бриф. Он представляет собой перечень вопросов, которые исполнитель адресует заказчику с целью уточнения поставленных задач.
Далее формируется коммерческое и техническое предложение. Такой документ обычно составляется при реализации масштабных проектов. Он содержит детальное описание финансовых показателей и технических требований к результатам.
На основании обоих документов (второй может быть заменен на перечень требуемых технических характеристик) составляется ТЗ. Его в обязательном порядке утверждает заказчик и согласовывает исполнитель. В подавляющем большинстве случаев техническое задание является обязательным приложением к договору.
В каком случае ТЗ не нужно?
Техническое задание требуется далеко не всегда. Например, если уже разработана детальная проектная документация, или проведены детальные предпроектные исследования/инженерные изыскания. Также не имеет особого смысла составлять ТЗ для небольших проектов, требования и характеристики которых можно перечислить непосредственно в договоре.
Шаблоны для скачивания и примеры
Найти образец технического задания на выполнение работ несложно. В сети размещено множество подобных шаблонов и реальных примеров из практики. Важно понимать, что ТЗ для разных проектов и продуктов очень сильно отличаются друг от друга. Поэтому следует крайне внимательно относиться к имеющимся образцам и подбирать подходящий.
FAQ
Что такое ТЗ?
Под техническим заданием понимается перечень требований к разрабатываемому продукту или реализуемому проекту. Он включает технические характеристики, сроки выполнения, нередко – стоимость производимых работ и другие подобные параметры.
Для чего необходимо техническое задание?
Составление ТЗ позволяет четко сформулировать поставленные перед исполнителем задачи и исключить возможность возникновения спорных ситуаций в процессе их решения.
Что следует включить в ТЗ?
Содержание ТЗ определяется с учетом специфики конкретного продукта и может включать обширный набор сведений – от перечня требуемых характеристик до описания процедуры контроля качества.
Кто занимается составлением ТЗ?
На практике встречаются три варианта ответа на этот вопрос: заказчик, исполнитель, одновременно оба. Эффективность применения каждого зависит от статуса заинтересованных сторон и характера их взаимоотношений.
Какие типичные ошибки допускаются при разработке технического задания?
Самыми частыми ошибками при составлении ТЗ выступают: неоднозначные формулировки, отсутствие четких требований, недостаток информации о заказчике, продукте и конкурентах.
Подведем итоги
- Техническое задание – это перечень требований к конечному продукту или результатам реализации проекта.
- Разработка ТЗ – важный подготовительный этап, от успешного выполнения которого зависит эффективность дальнейшего сотрудничества между заказчиком и исполнителем, а также качество полученного на выходе продукта.
- Составлением ТЗ занимается заказчик, исполнитель или одновременно оба. Последний вариант нередко оказывается самым плодотворным при условии взаимного доверия между сторонами.
- Стоимость технического задания определяется индивидуально и зависит от специфики конечного продукта, его сложности и предъявляемых заказчиком требований.
Все нижеописанное является изложением моего собственного опыта и не является истиной в последней инстанции. Комменты, деление опытом – приветствуются!
Спойлер – идеального формата ТЗ нет.
За свой опыт работы я составлял и решил сотни задач по 1С и побывал в разных “шкурах” при их решении:
- как разработчик,
- как консультант,
- как организатор/менеджер,
- как заказчик,
- просто как наблюдатель
Я видел и задачи из одной строчки типа: “Сделайте нам, пожалуйста, чтобы финрезультат считался в 1С”, и монструозные задачи оформленные по ГОСТ34 на 50 страниц убористого текста на внедрение системы учета чего-нибудь, как на скрине ниже.
Я понял, что нет идеального формата ТЗ для программиста, который гарантировал бы, что все будет выполнено все так, как вам хотелось бы.
Для маленькой задачи избыточное ТЗ может “сожрать” ваше время или ресурсы впустую, а на большую задачу/проект избыточное ТЗ заставит вас переписывать половину ТЗ потому, что новое требование, которое возникло или не было учтено, меняет множество спроектированных и описанных механизмов.
С другой стороны, по ТЗ “Сделайте мне все хорошо”, тоже маловероятно достичь результата.
Тем не менее, я предлагаю использовать следующую структуру ТЗ. Из опыта, она проста и подходит для большинства задач с объемом трудозатрат разработчика в диапазоне от 1 до 50 часов.
Скачать шаблон технического задания для программиста 1с можно тут.
Кстати, на сайте interlogika.ru много интересных материалов по автоматизации.
Кратко пройдусь по некоторым важным пунктам правильного технического задания.
- Цель изменения
Пункт который раскрывает в контексте чего разработчику следует думать и принимать решения при выполнении задачи. Нарисовать кнопку это не цель, создать отчет тоже не цель. Попробуйте описать цель в виде результата от использования новшества.
Например: “Я перестану тратить время на сбор отчетов на 10 минут меньше в день” или “У меня появится информация, на основании которой я смогу принять решение и не терять товар стоимостью 1/10 от своих суммарных запасов” и т.п.
- Дано
Прям, как в задачке по физике . Тезисно о чем там писать указано в шаблоне. Цель – дать понять на уровне слов с каким техническим окружением и программами придется работать программисту.
- Что нужно сделать
Вроде бы, это есть сама суть ТЗ. Практически, чем более полно описать этот пункт и добить материалами, тем больше вероятность решения задачи так как вам хотелось бы.
Особенно обратите внимание на тезис “сценарий использования”. Он похож на описание в виде userstories по agile методам и описания могут звучать примерно так: – “Я, как пользователь логист открываю монитор доставки, смотрю столбец таблицы тут, нажимаю сюда и т.д.”. Очень хорошо дает понимание разработчику процесса использования дорабатываемого функционала.
- Как будет осуществляться проверка/сдача работ
Жирный пунктик о том, как будет проводится проверка и кем. Будем проверять на тестовой базе или сразу в продакшн запускаем. Если даже не описывать этот пункт, то хотя бы просто подумайте о нем, как это будет выглядеть.
Напоследок несколько скринов задач из моей системы учета задач.
ЛАБОРАТОРНАЯ
РАБОТА № 1.
Этапы
разработки программного обеспечения
при структурном подходе к программированию.
Стадия «Техническое задание»
Цель
работы: ознакомиться
с правилами написания технического
задания.
Теоретическая
часть. Разработка технического задания
Техническое
задание
представляет собой документ, в котором
сформулированы основные цели разработки,
требования к программному продукту,
определены сроки и этапы разработки и
регламентирован процесс приемосдаточных
испытаний. В разработке технического
задания участвуют как представители
заказчика, так и представители исполнителя.
В основе этого документа лежат исходные
требования заказчика, анализ передовых
достижений техники, результаты выполнения
научно-исследовательских работ,
предпроектных исследований, научного
прогнозирования и т. п.
Порядок
разработки технического задания
Разработка
технического задания выполняется в
следующей последовательности. Прежде
всего, устанавливают набор выполняемых
функций, а также перечень и характеристики
исходных данных. Затем определяют
перечень результатов, их характеристики
и способы представления.
Далее
уточняют среду функционирования
программного обеспечения: конкретную
комплектацию и параметры технических
средств, версию используемой операционной
системы и, возможно, версии и параметры
другого установленного программного
обеспечения, с которым предстоит
взаимодействовать будущему программному
продукту.
В
случаях, когда разрабатываемое программное
обеспечение собирает и хранит некоторую
информацию или включается в управление
каким-либо техническим процессом,
необходимо также четко регламентировать
действия программы в случае сбоев
оборудования и энергоснабжения.
-
Общие
положения-
Техническое
задание оформляют в соответствии с
ГОСТ 19.106—78 на листах формата А4 и АЗ
по ГОСТ 2.301—68, как правило, без заполнения
полей листа. Номера листов (страниц)
проставляют в верхней части листа над
текстом. -
Лист
утверждения и титульный лист оформляют
в соответствии с ГОСТ 19.104—78. Информационную
часть (аннотацию и содержание), лист
регистрации изменений допускается в
документ не включать. -
Для
внесения изменений и дополнений в
техническое задние на последующих
стадиях разработки программы или
программного изделия выпускают
дополнение к нему. Согласование и
утверждение дополнения к техническому
заданию проводят в том же порядке,
который установлен для технического
задания. -
Техническое
задание должно содержать следующие
разделы:
-
-
введение;
-
наименование
и область применения; -
основание
для разработки; -
назначение
разработки; -
технические
требования к программе или программному
изделию; -
технико-экономические
показатели; -
стадии
и этапы разработки; -
порядок
контроля и приемки; -
приложения.
В
зависимости от особенностей программы
или программного изделия допускается
уточнять содержание разделов, вводить
новые разделы или объединять отдельные
из них. При необходимости допускается
в техническое задание включать приложения.
-
Содержание
разделов-
Введение
должно включать краткую характеристику
области применения программы или
программного продукта, а также объекта
(например, системы), в котором
предполагается их использовать.
Основное назначение введения —
продемонстрировать актуальность
данной разработки и показать, какое
место эта разработка занимает в ряду
подобных. -
В
разделе «Наименование и область
применения» указывают наименование,
краткую характеристику области
применения программы или программного
изделия и объекта, в котором используют
программу или программное изделие. -
В
разделе «Основание для разработки»
должны быть указаны:
-
-
документ
(документы), на основании которых ведется
разработка. Таким документом может
служить план, приказ, договор и т. п. -
организация,
утвердившая этот документ, и дата его
утверждения; -
наименование
и (или) условное обозначение темы
разработки.
-
В
разделе «Назначение разработки» должно
быть указано функциональное и
эксплуатационное назначение программы
или программного изделия. -
Раздел
«Технические требования к программе
или программному изделию» должен
содержать следующие подразделы:
-
требования
к функциональным характеристикам; -
требования
к надежности; -
условия
эксплуатации; -
требования
к составу и параметрам технических
средств; -
требования
к информационной и программной
совместимости; -
требования
к маркировке и упаковке; -
требования
к транспортированию и хранению; -
специальные
требования.
-
В
подразделе «Требования к функциональным
характеристикам» должны быть указаны
требования к составу выполняемых
функций, организации входных и выходных
данных, временным характеристикам и
т. п. -
В
подразделе «Требования к надежности»
должны быть указаны требования к
обеспечению надежного функционирования
(обеспечение устойчивого функционирования,
контроль входной и выходной информации,
время восстановления после отказа и
т. п.). -
В
подразделе «Условия эксплуатации»
должны быть указаны условия эксплуатации
(температура окружающего воздуха,
относительная влажность и т. п. для
выбранных типов носителей данных), при
которых должны обеспечиваться заданные
характеристики, а также вид обслуживания,
необходимое количество и квалификация
персонала. -
В
подразделе «Требования к составу и
параметрам технических средств»
указывают необходимый состав технических
средств с указанием их технических
характеристик. -
В
подразделе «Требования к информационной
и программной совместимости» должны
быть указаны требования к информационным
структурам на входе и выходе и методам
решения, исходным кодам, языкам
программирования. При необходимости
должна обеспечиваться защита информации
и программ. -
В
подразделе «Требования к маркировке
и упаковке» в общем случае указывают
требования к маркировке программного
изделия, варианты и способы упаковки. -
В
подразделе «Требования к транспортированию
и хранению» должны быть указаны для
программного изделия условия
транспортирования, места хранения,
условия хранения, условия складирования,
сроки хранения в различных условиях. -
В
разделе «Технико-экономические
показатели» должны быть указаны:
ориентировочная экономическая
эффективность, предполагаемая годовая
потребность, экономические преимущества
разработки по сравнению с лучшими
отечественными и зарубежными образцами
или аналогами.
-
В
разделе «Стадии и этапы разработки»
устанавливают необходимые стадии
разработки, этапы и содержание работ
(перечень программных документов,
которые должны быть разработаны,
согласованы и утверждены), а также, как
правило, сроки разработки и определяют
исполнителей. -
В
разделе «Порядок контроля и приемки»
должны быть указаны виды испытаний и
общие требования к приемке работы. -
В
приложениях к техническому заданию
при необходимости приводят:
-
перечень
научно-исследовательских и других
работ, обосновывающих разработку; -
схемы
алгоритмов, таблицы, описания, обоснования,
расчеты и другие документы, которые
могут быть использованы при разработке; -
другие
источники разработки.
В
случаях, если какие-либо требования,
предусмотренные техническим заданием,
заказчик не предъявляет, следует в
соответствующем месте указать «Требования
не предъявляются».
Порядок
выполнения работы
-
Разработать
техническое задание на программный
продукт (см. варианты заданий в приложении
1). -
Оформить
работу в соответствии с ГОСТ 19.106—78. -
Сдать
и защитить работу.
Министерство
образования Украины
Винницкий
национальный технический университет
Кафедра
программного обеспечения
УТВЕРЖДАЮ
Зав.
каф. ПЗ,
д.т.н.,
проф. ___________
« » 20__
г.
ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ
Техническое задание
Листов
3
Руководитель
к.т.н.,
доц. ХХХХХХХ
Исполнитель
ст.
гр. ____ ХХХХХХХ
Винница,
20__
-
Введение
Настоящее
техническое задание распространяется
на разработку программы сортировки
одномерного массива методами пузырька,
прямого выбора, Шелла и быстрой сортировки,
предназначенной для использования
школьниками старших классов при изучении
курса школьной информатики.
-
Основание
для разработки-
Программа
разрабатывается на основе учебного
плана кафедры «Программного обеспечения». -
Наименование
работы:
-
«Программа
сортировки одномерного массива».
-
Исполнитель:
компания ХХХХХХХ. -
Соисполнители:
нет.
-
Назначение
Программа
предназначена для использования
школьниками при изучении темы «Обработка
одномерных массивов» в курсе «Информатика».
-
Требования
к программе или программному изделию-
Требования
к функциональным характеристикам-
Программа
должна обеспечивать возможность
выполнения следующих функций:
-
-
-
ввод
размера массива и самого массива; -
хранение
массива в памяти; -
выбор
метода сортировки; -
вывод
текстового описания метода сортировки; -
вывод
результата сортировки.
-
Исходные
данные:
-
размер
массива, заданный целым числом; -
массив.
-
Организация
входных и выходных данных
Входные
данные поступают с клавиатуры.
Выходные
данные отображаются на экране и при
необходимости выводятся на печать.
-
Требования
к надежности
Предусмотреть
контроль вводимой информации.
Предусмотреть
блокировку некорректных действий
пользователя при работе с системой.
-
Требования
к составу и параметрам технических
средств.
Система
должна работать на IBM-совместимых
персональных компьютерах.
Минимальная
конфигурация:
-
тип
процессора. Pentium
и
выше; -
объем
оперативного запоминающего устройства 32
Мб и более; -
объем
свободного места на жестком диске 40
Мб. -
Рекомендуемая
конфигурация: -
тип
процессора. Pentium
II
400; -
объем
оперативного запоминающего устройства 128
Мб; -
объем
свободного места на жестком диске 60
Мб.
-
Требования
к программной совместимости.
Программа
должна работать под управлением семейства
операционных систем Win
32
(Windows
95/98/2000/МЕ/ХР
и т. п.).
-
Требования
к программной документации-
Разрабатываемые
программные модули должны быть
документированы, т. е. тексты программ
должны содержать все необходимые
комментарии. -
Разрабатываемая
программа должна включать справочную
информацию о работе программы, описания
методов сортировки и подсказки учащимся. -
В
состав сопровождающей документации
должны входить:-
Пояснительная
записка на пяти листах, содержащая
описание разработки. -
Руководство
пользователя.
-
-
Министерство
образования Украины
Винницкий
национальный технический университет
Кафедра
программного обеспечения
УТВЕРЖДАЮ
Зав.
каф. ПЗ,
д.т.н.,
проф. ___________
« » 20__
г.
Техническое задание
на
разработку
«ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ»
Винница
20__
1. Введение
Работа
выполняется в рамках проекта
«ХХХХХХХХХХХХХХХХХХ».
-
Основание
для разработки-
Основанием
для данной работы служит договор №
ХХХХ от __ _____ 20__ г. -
Наименование
работы:
-
«ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ».
-
Исполнители:
ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ. -
Соисполнители:
нет.
-
Назначение
разработки
Создание
модуля для контроля и оперативной
корректировки состояния основных
параметров теплообеспечения.
-
Технические
требования-
Требования
к функциональным характеристикам.-
Состав
выполняемых функций.
-
-
Разрабатываемое
ПО должно обеспечивать:
-
сбор
и анализ информации о расходовании
тепла, горячей и холодной воды по данным
теплосчетчиков 5А-94 на всех тепловых
выходах; -
сбор
и анализ информации с устройств
управления системами воздушного
отопления и кондиционирования типа
РТ1 и РТ2 (разработки кафедры СММЭ и ТЦ); -
предварительный
анализ информации на предмет нахождения
параметров в допустимых пределах и
сигнализирование при выходе параметров
за пределы допуска; -
выдачу
рекомендаций по дальнейшей работе; -
отображение
текущего состояния по набору параметров
— циклически постоянно (режим работы
круглосуточный), при сохранении
периодичности контроля прочих параметров; -
визуализацию
информации по расходу теплоносителя:
-
текущую,
аналогично показаниям счетчиков; -
с
накоплением за прошедшие сутки, неделю,
месяц — в виде почасового графика для
информации за сутки и неделю; -
суточный
расход — для информации за месяц.
Для
устройств управления приточной
вентиляцией текущая информация должна
содержать номер приточной системы и
все параметры, выдаваемые на собственный
индикатор.
По
отдельному запросу осуществляются
внутренние настройки.
В
конце отчетного периода система должна
архивировать данные.
-
Организация
входных и выходных данных.
Исходные
данные в систему поступают в виде
значений с датчиков, установленных в
помещениях института. Эти значения
отображаются на компьютере диспетчера.
После анализа поступившей информации
оператор диспетчерского пункта
устанавливает необходимые параметры
для устройств, регулирующих отопление
и вентиляцию в помещениях. Возможна
также автоматическая установка некоторых
параметров для устройств регулирования.
Основной
режим использования системы — ежедневная
работа.
-
Требования
к надежности.
Для
обеспечения надежности необходимо
проверять корректность получаемых
данных с датчиков.
-
Условия
эксплуатации и требования к составу
и параметрам технических средств.
Для
работы системы должен быть выделен
ответственный оператор.
Требования
к составу и
параметрам технических средств уточняются
на этапе эскизного проектирования
системы.
-
Требования
к информационной и программной
совместимости.
Программа
должна работать на платформах Windows
.
-
Требования
к транспортировке и хранению.
Программа
поставляется на лазерном носителе
информации.
Программная
документация поставляется в электронном
и печатном виде.
-
Специальные
требования:
-
программное
обеспечение должно иметь дружественный
интерфейс, рассчитанный на пользователя
(в плане компьютерной грамотности)
квалификации; -
ввиду
объемности проекта задачи предполагается
решать поэтапно, при этом модули ПО,
созданные в разное время, должны
предполагать возможность наращивания
системы и быть совместимы друг с другом,
поэтому документация на принятое
эксплуатационное ПО должна содержать
полную информацию, необходимую для
работы программистов с ним; -
язык
программирования — по выбору исполнителя,
должен обеспечивать возможность
интеграции программного обеспечения
с некоторыми видами периферийного
оборудования (например, счетчик 5А-94 и
т. п.).
-
Требования
к программной документации
Основными
документами, регламентирующими разработку
будущих программ, должны быть документы
Единой Системы Программной Документации
(ЕСПД): руководство пользователя,
руководство администратора, описание
применения.
-
Технико-экономические
показатели
Эффективность
системы определяется удобством
использования системы для контроля и
управления основными параметрами
теплообеспечения помещений Московского
института, а также экономической выгодой,
полученной от внедрения аппаратно-программного
комплекса.
-
Порядок
контроля и приемки
После
передачи Исполнителем отдельного
функционального модуля программы
Заказчику последний имеет право
тестировать модуль в течение 7 дней.
После тестирования Заказчик должен
принять работу по данному этапу или в
письменном виде изложить причину отказа
принятия. В случае обоснованного отказа
Исполнитель обязуется доработать
модуль.
-
Календарный
план работСидоров
С. В.
№ этапа |
Название |
Сроки |
Чем |
1 |
Изучение |
01.02.200_—28.02.200_ |
Предложения |
2 |
Разработка |
01.03.200 |
Программный |
3 |
Тестирование |
01.09.200 |
Готовая
Акт |
Руководитель
работ
Контрольные
вопросы
-
Приведите
этапы разработки программного
обеспечения. -
Что
включает в себя постановка задачи и
предпроектные исследования? -
Перечислите
функциональные и эксплуатационные
требования к программному продукту. -
Перечислите
правила разработки технического
задания. -
Назовите
основные разделы технического задания.
ЛАБОРАТОРНАЯ
РАБОТА
№
2.
Структурный
подход к программированию. Стадия
«Эскизный проект»
Цель
работы: научиться создавать формальные
модели и на их основе определять
спецификации разрабатываемого
программного обеспечения.
Теоретическая
часть.
Разработка
спецификаций
Разработка
программного обеспечения начинается
с анализа требований к нему. В результате
анализа получают спецификации
разрабатываемого программного
обеспечения, строят общую модель его
взаимодействия с пользователем или
другими программами и конкретизируют
его основные функции.
При
структурном подходе к программированию
на этапе анализа и определения
спецификаций разрабатывают три типа
моделей: модели функций, модели данных
и модели потоков данных. Поскольку
разные модели описывают проектируемое
программное обеспечение с разных
сторон, рекомендуется использовать
сразу несколько моделей, разрабатываемых
в виде диаграмм, и пояснять их текстовыми
описаниями, словарями и т. п.
Структурный
анализ предполагает использование
следующих видов моделей:
-
диаграмм
потоков данных (DFD
—
Data
Flow Diagrams), описывающих
взаимодействие источников и потребителей
информации через процессы, которые
должны быть реализованы в системе; -
диаграмм
«сущность—связь» (ERD
—
Entity-Relationship
Diagrams),
описывающих
базы данных разрабатываемой системы;
f V
-
диаграмм
переходов состояний (STD
—
State
Transition Diagrams), характеризующих
поведение системы во времени;
-
функциональных
диаграмм (методика SADT);
-
спецификаций
процессов;
-
словаря
терминов.
Спецификации
процессов
Спецификации
процессов
обычно представляют в виде краткого
текстового описания, схем алгоритмов,
псевдокодов, Flow-форм
или диаграмм Насси — Шнейдермана .
Словарь
терминов
Словарь
терминов
представляет собой краткое описание
основных понятий, используемых при
составлении спецификаций. Он должен
включать определение основных понятий
предметной области, описание структур
элементов данных, их типов и форматов,
а также всех сокращений и условных
обозначений .
Диаграммы
переходов состояний
С
помощью диаграмм
переходов состояний
можно моделировать последующее
функционирование системы на основе ее
предыдущего и текущего функционирования.
Моделируемая система в любой заданный
момент времени находится точно в одном
из конечного множества состояний. С
течением времени она может изменить
свое состояние, при этом переходы между
состояниями должны быть точно определены
.
Функциональные
диаграммы
Функциональные
диаграммы
отражают взаимосвязи функций
разрабатываемого программного
обеспечения.
Они
создаются на ранних этапах проектирования
систем, для того чтобы помочь проектировщику
выявить основные функции и составные
части проектируемой системы и, по
возможности, обнаружить и устранить
существенные ошибки. Для создания
функциональных диаграмм предлагается
использовать методологию SADT
.
Диаграммы
потоков данных
Для
описания потоков информации в системе
применяются диаграммы
потоков данных
(DFD
—
Data
flow diagrams). DFD позволяет
описать требуемое поведение системы
в виде совокупности процессов,
взаимодействующих посредством
связывающих их потоков данных. DFD
показывает,
как каждый из процессов преобразует
свои входные потоки данных в выходные
потоки данных и как процессы взаимодействуют
между собой .
Диаграммы
«сущность—связь»
Диаграмма
сущность—связь —
инструмент разработки моделей данных,
обеспечивающий стандартный способ
определения данных и отношений между
ними. Она включает сущности
и взаимосвязи, отражающие основные
бизнес-правила предметной области.
Такая диаграмма не слишком детализирована,
в нее включаются основные сущности
и связи
между ними, которые удовлетворяют
требованиям, предъявляемым к ИС .
Порядок
выполнения работы
-
На
основе технического задания из
лабораторной работы № 1 выполнить
анализ функциональных и эксплуатационных
требований к программному продукту. -
Определить
основные технические решения (выбор
языка программирования, структура
программного продукта, состав функций
ПП, режимы функционирования) и занести
результат ты в документ, называемый
«Эскизным проектом» (см. приложение
4). -
Определить
диаграммы потоков данных для решаемой
задачи. -
Определить
диаграммы «сущность—связь», если
программный продукт содержит базу
данных. -
Определить
функциональные диаграммы. -
Определить
диаграммы переходов состояний. -
Определить
спецификации процессов. -
Добавить
словарь терминов.
Контрольные
вопросы
-
Назовите
этапы разработки программного
обеспечения. -
Что
такое жизненный цикл программного
обеспечения? -
В
чем заключается постановка задачи и
предпроектные исследования? -
Назовите
функциональные и эксплуатационные
требования к программному продукту. -
Перечислите
составляющие эскизного проекта. -
Охарактеризуйте
спецификации и модели.
ЛАБОРАТОРНАЯ
РАБОТА
№
3. Структурный
подход к программированию. Стадия
«Технический проект»
Цель
работы: изучить вопросы проектирования
программного обеспечения.
Лабораторная
работа рассчитана на 4 академических
часа.
Подготовка
к лабораторной работе
-
Ознакомиться
с лекционным материалом по теме «Этапы
разработки программного обеспечения.
Проектирование программного обеспечения»
учебной дисциплины «Технология
разработки программного обеспечения». -
Изучить
соответствующие разделы в изданиях
[1, 39, 47, 53]. -
Ознакомиться
с разд. 4.1—4.3 настоящего пособия.
Теоретическая
часть. Составляющие технического
проекта
ПРОЕКТ
ТЕХНИЧЕСКИЙ — образ намеченного к
созданию объекта, представленный в
виде его описания, схем, чертежей,
расчетов, обоснований, числовых
показателей.
Технический
проект
Цель
технического проекта
—
определение основных методов, используемых
при создании информационной системы,
и окончательное определение ее сметной
стоимости.
Техническое
проектирование подсистем осуществляется
в соответствии с утвержденным техническим
заданием.
Технический
проект программной системы подробно
описывает:
-
выполняемые
функции и варианты их использования; -
соответствующие
им документы; -
структуры
обрабатываемых баз данных; -
взаимосвязи
данных; -
алгоритмы
их обработки.
Технический
проект должен включать данные об объемах
и интенсивности потоков обрабатываемой
информации, количестве пользователей
программной системы, характеристиках
оборудования и программного обеспечения,
взаимодействующего с проектируемым
программным продуктом.
При
разработке технического проекта
оформляются:
-
ведомость
технического проекта. Общая информация
по проекту; -
пояснительная
записка к техническому проекту. Вводная
информация, позволяющая ее потребителю
быстро освоить данные по конкретному
проекту; -
описание
систем классификации и кодирования; -
перечень
входных данных (документов). Перечень
информации, которая используется как
входящий поток и служит источником
накопления; -
перечень
выходных данных (документов). Перечень
информации, которая используется для
анализа накопленных данных; -
описание
используемого программного обеспечения.
Перечень программного обеспечения и
СУБД, которые планируется использовать
для создания информационной системы; -
описание
используемых технических средств.
Перечень аппаратных средств, на которых
планируется работа проектируемого
программного продукта; -
проектная
оценка надежности системы. Экспертная
оценка надежности с выявлением наиболее
благополучных участков программной
системы и ее узких мест; -
ведомость
оборудования и материалов. Перечень
оборудования и материалов, которые
потребуются в ходе реализации проекта.
Структурная
схема
Структурной
называют схему, отражающую состав и
взаимодействие по управлению частями
разрабатываемого программного
обеспечения. Структурная схема
определяется архитектурой разрабатываемого
ПО .
Функциональная
схема
Функциональная
схема — это схема взаимодействия
компонентов программного обеспечения
с описанием информационных потоков,
состава данных в потоках и указанием
используемых файлов и устройств .
Разработка
алгоритмов
Метод
пошаговой детализации реализует
нисходящий подход к программированию
и предполагает пошаговую разработку
алгоритма .
Структурные
карты
Методика
структурных карт используется на этапе
проектирования ПО для того, чтобы
продемонстрировать, каким образом
программный продукт выполняет системные
требования. Структурные карты Константайна
предназначены для описания отношений
между модулями (см. разд. 4.2).
Техника
структурных карт Джексона основана на
методе структурного программирования
Джексона, который выявляет соответствие
между структурой потоков данных и
структурой программы. Основное внимание
в методе сконцентрировано на соответствии
входных и выходных потоков данных (см.
разд. 4.3).
Порядок
выполнения работы
-
На
основе технического задания из
лабораторной работы № 1 и спецификаций
из лабораторной работы № 2 разработать
уточненные алгоритмы программ,
составляющих заданный программный
модуль. Использовать метод пошаговой
детализации . -
На
основе уточненных и доработанных
алгоритмов разработать структурную
схему программного продукта (разд.
4.1.1). -
Разработать
функциональную схему программного
продукта (разд. 4.1.2). -
Представить
структурную схему в виде структурных
карт Константайна (см. разд. 4.2). -
Представить
структурную схему в виде структурных
карт Джексона (см. разд. 4.3). -
Оформить
результаты, используя MS
Office или
MS
Visio
в
виде технического проекта. -
Сдать
и защитить работу.
Защита
отчета по лабораторной работе
Отчет
по лабораторной работе должен состоять
из:
-
Структурной
схемы программного продукта. -
Функциональной
схемы. -
Алгоритма
программы. -
Структурной
карты Константайна. -
Структурной
карты Джексона. -
Законченного
технического проекта программного
модуля. Защита отчета по лабораторной
работе заключается в предъявлении
преподавателю полученных результатов
(на экране монитора), демонстрации
полученных навыков и ответах на вопросы
преподавателя.
УТВЕРЖДАЮ
Руководитель
(заказчика ИС)
Личная
подпись Расшифровка подписи _
Печать
Дата « » 20__ г.
УТВЕРЖДАЮ
Руководитель
(разработчика ИС)
Личная
подпись Расшифровка подписи
Печать
Дата « » 20__ г.
Эскизный
проект на создание информационной
системы
Система
Управления Базой Данных
(наименование
вида ИС)
ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ
(наименование
объекта информатизации)
СУБД
«Библиотека»
(сокращенное
наименование И С)
На
8 листах
Винница
20__ г.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
ТЗ на разработку программного обеспечения
Программное обеспечение – готовый IT продукт, являющийся результатом деятельности
целой команды специалистов. В их числе программисты, web-разработчики, дизайнеры,
многие другие специалисты, в зависимости от специфики разрабатываемого ПО.
Однако чтобы обеспечить слаженность, четкость работы, важно правильно понимать
цели и задачи, нужный результат.
Для этого составляется техническое задание на разработку программного обеспечения.
В нем отражаются главные, первостепенные требования к готовому продукту, что
позволяет правильно выстроить рабочий процесс. Программисты с опытом, квалификацией
уделяют внимание такому документу, где задается цель, формулируются стандарты,
определяются сроки сдачи работы. Учитывая назначение, многим людям будет полезно
ознакомиться с заданием и вариантами его составления.
Что такое ТЗ на разработку ПО?
Техзадание – документ, в котором детально излагается назначение разработки, особенности
программной документации, стадии, этапы создания приложения. Обычно он составляется
в письменном виде и включается в договор между заказчиком и исполнителем как приложение.
Это придает ему правовой статут, подчеркивает особое значение.
Прописывая в документе конкретные нормы, можно получить критерии, по которым заказчик
будет оценивать готовую работу. Важно понимать, что техническое задание составляется
для любой автоматизированной системы – программы или приложения, что обуславливается
сложностью задания, учетом множества нюансов.
Исходные данные для автоматизации и описания бизнес-процессов.
Правильно составленное техническое задание дает четкую связку заказчик-исполнитель,
что позволяет обеим сторонам понимать друг друга. Грамотное ТЗ устанавливает следующее:
-
Главное назначение разрабатываемого ПО.
-
Характеристики и функциональность.
-
Технико-экономические обоснования разработки.
-
Предписание по выполнению стадий, этапов работы.
Чем детальнее составлено техническое задание, тем лучше. Благодаря этому заказчик понимает,
что именно ему нужно, может контролировать исполнителя на предмет соответствия продукта ТЗ.
Исполнитель в свою очередь получает точные сведения относительно задачи, может спланировать
проект, а также персональный план по ее воплощению.
Этапы позволяют пошагово определить все действия.
С точки зрения терминологии техническое задание – это юридический документ, который содержит исчерпывающую,
полную, всестороннюю информацию для постановки задач исполнителю. Все формулировки, дополнения, уточнения
утверждаются клиентом и исполнителем совместно. Термины разъясняются, поскольку стороны должны понимать друг
друга, говорить на одном языке.
Особенности технического задания в новых условиях
Единого стандарта к составлению такого документа не существует. Выделяют разные шаблоны технического задания
на разработку программного обеспечения, каждый из которых имеет свою специфику и особенности. Это связано со
слишком большой категорией, к которой относится программное обеспечение. В прямой зависимости от функций
ее делят на 3 категории:
-
1.
Прикладное ПО. Софт, предназначенный для решения конкретного круга прикладных задач, которые используются в разных областях человеческой деятельности.
-
2.
Системное ПО. Программы, ведущая задача которых – обеспечение работы компьютера, LAN сетей.
-
3.
Инструментальное ПО. Средства, создаваемые для отладки, редактирования софта.
Для каждой программы разрабатывается собственное техническое задание, в котором учитываются все аспекты.
Таким образом, современное ТЗ определяет главное назначение разрабатываемого объекта, его обоснование,
требуемую технологическую, конструкторскую и программную документацию.
Подробная классификация ПО.
Учитывая специфику, заниматься составлением технического задания должен специалист, обладающий навыками,
техническими, инженерными знаниями. Обычно им является технический директор, программист, разработчик или
системный администратор. Выделяют 2 вида технических заданий для создания ПО:
1. Эскиз. Официальный документ, в котором содержится описание создаваемого продукта,
но без технологического аспекта реализации.
2. Технический проект. Документ, в котором подробно прописывается последовательность действий для софта.
Отсутствие грамотно сформулированного ТЗ зачастую ведет к ошибкам. В итоге клиент не получает требуемый результат,
который устраивает. Хотя разработчик затрачивает много времени, сил, ресурсов на выполнение своей работы по
программированию, написанию кода.
Информационный комплекс и структура технического задания
Как отмечалось выше, техническое задание должно быть четким и понятным обеим сторонам. На первом этапе должны быть
сформулированы правила к разрабатываемой информационной системе. Все непонятные вопросы проясняются, что позволяет
избежать недопонимания. Практика подтверждает, что на разработку ТЗ уходит до 25-30% от всех затрат. Это связано
с потребностью в техническом проектировании, глубокой аналитической и технической работе.
Многое в ТЗ зависит от языка программирования, на котором будет создана программа. К примеру, если софт
разрабатывается на языке С++, то требуется детальное техническое проектирование. Что касается софта, создаваемого
на платформе 1С, ее проектируют по классической схеме. Все правила прописываются в отдельном разделе. К каждому из
них прикладывается план, предусматривающий выполнение с поэтапной структурой. Таким образом, создание
ТЗ – сложная работа, требующая затрат сил, времени.
Разработка документа начинается с написания содержания, постановки целей, задач, выяснение сведений,
определении формулировок. ТЗ на создание программного обеспечения включает такие разделы:
-
1.
Общая информация.
-
2.
Цели разработки (развития), назначение.
-
3.
Характеристика объектов автоматизации.
-
4.
Главные нормы будущего софта.
-
5.
Состав, содержание работ по созданию системы.
-
6.
Порядок контроля, приемки готового ПО.
-
7.
Требования к содержанию, составу работ относительно подготовки объекта автоматизации к вводу системы в действие.
-
8.
Нормы к документированию процесса.
-
9.
Источники для выполнения поставленной цели.
Это общие разделы, каждый из которых может быть поделен на более детальные подразделы. Важно понимать, что единых
стандартов не существуют, поскольку многое определяется индивидуально. Каждая компания, которая занимается разработкой ПО,
пользуется своими шаблонами. Они разрабатываются командой специалистов, куда входят разработчики, дизайнеры и программисты.
ГОСТы к техническому заданию на разработку программного обеспечения
Техническое задание позволяет четко разделить обязанности, согласовать работу между всеми специалистами. Благодаря
этому можно обеспечить командную работу. Проконтролировать выполнение поставленной задачи в оговоренные сроки, без
затрат трудовых ресурсов. Существуют разные примеры ТЗ на разработку программного обеспечения, в основе каждого из
которых лежит определенный ГОСТ.
Для лучшего понимания отличий методологии при составлении ТЗ, стоит подробнее рассмотреть эти ISO и нормы, которые
используются для выполнения поставленной задачи. Это позволит лучше понять отличия и пользоваться тем ГОСТом,
который подходит наилучшим образом.
ГОСТ 34
Используется для разработки систем, предусматривающих не только разработку ПО, но также подбор нужного аппаратного
обеспечения. Это позволяет также выгодно автоматизировать информационные процессы на предприятии. По данному ГОСТу
при разработке ТЗ предусматриваются такие разделы:
-
1.
Сведения общего характера.
-
2.
Цели и задачи создания системы (софта).
-
3.
Характеристика главных объектов автоматизации.
-
4.
Нормы к разрабатываемой системе.
-
5.
Состав с содержанием работ по созданию программы.
-
6.
Порядок приемки системы с контролем со стороны заказчика.
-
7.
Требования к содержанию работ по подготовке к вводу системы в действие.
-
8.
Нормы к документированию.
-
9.
Источники для создания софта.
Обычно данного стандарта придерживаются при выполнении государственных проектов.
В проект могут быть внесены корректировки и изменения по согласованию с клиентом.
ГОСТ 19
Документом определяются государственные стандарты, которые устанавливают общие правила создания,
оформления и обращения программного обеспечения, создания документация. ГОСТом также устанавливается
Единая система программной документации (сокр. ЕСПД). Согласно стандарта, в проект входят такие разделы:
-
1.
Введение.
-
2.
Основания.
-
3.
Назначение.
-
4.
Требования к софту (программному изделию).
-
5.
Особенности программной документации.
-
6.
Технико-экономические показатели.
-
7.
Стадии, этапы создания ПО.
-
8.
Порядок контроля, приемки.
-
9.
Приложения.
Данные ГОСТы используются далеко не всеми программистами. Ведь они были разработаны свыше 30 лет назад.
Для этого будет полезным рассмотреть более актуальные, новые стандарты,
применяемые для создания современного софта.
IEEE STD 830-1998
Данным документом определяются качественные характеристики, содержание, спецификация, нормы, которые
предъявляются к программному обеспечению. В документе даны конкретные определения основных понятий и терминов.
Чаще всего документ применяется при разработке задания для современного софта. Согласно стандарту,
ТЗ по IEEE STD 830-1998 включает в себя такие разделы:
1. Введение
-
Назначение
-
Область действия
-
Определения, акронимы, сокращения
-
Ссылки
-
Краткий обзор
2. Общее описание
-
Взаимодействие продукта (с другими продуктами и компонентами).
-
Функции продукта (краткое описание).
-
Характеристики пользователя.
-
Ограничения.
-
Допущения и зависимости.
3. Детальные требования
-
Требования к внешним интерфейсам.
-
Интерфейсы пользователя.
-
Интерфейсы аппаратного обеспечения.
-
Интерфейсы программного обеспечения.
-
Интерфейсы взаимодействия.
-
Функциональные требования.
-
Требования к производительности.
-
Проектные ограничения (и ссылки на стандарты).
-
Нефункциональные требования (надежность, доступность, безопасность и пр.).
-
Другие требования.
4. Приложение
5. Алфавитный указатель
Данный стандарт разработан американским Комитетом по стандартам программного обеспечения и системной инженерии C / S2ESC.
ISO/IEC/ IEEE 29148-2011
IEEE
Наиболее современный стандарт, который обеспечивает единый способ трактовки в процессах при разработке ТЗ для ПО.
Оригинал IEEE доступен на английском языке. В состав входит 2 шаблона, каждый из которых рассмотрим подробней:
System requirements specification (SyRS)
Стандарт определяет тех. требования для системы. Содержит концептуальные разработки для разных сценариев,
рабочих процессов. Имеет разделы:
1. Введение
-
Назначение системы.
-
Содержание системы (границы системы).
-
Обзор системы.
-
Содержание системы.
-
Функции системы.
-
Характеристики пользователей.
-
Термины и определения.
2. Ссылки
3. Системные требования
-
Функциональные требования.
-
Требования к юзабилити.
-
Требования к производительности.
-
Интерфейс (взаимодействие) системы.
-
Операции системы.
-
Состояния системы.
-
Физические характеристики.
-
Условия окружения.
-
Требования к безопасности.
-
Управление информацией.
-
Политики, правила.
-
Требования к обслуживанию системы на протяжении ее жизненного цикла.
-
Требования к упаковке, погрузке-разгрузке, доставке и транспортировке.
4. Тестирование и проверка (список нужных приемочных тестов, которые отражают зеркально раздел 3)
5. Приложение
-
Предположения, зависимости.
-
Аббревиатуры и сокращений.
Software requirements specification (SRS)
Здесь содержится система требований, которые необходимы для разработки ПО или софта с учетом разных факторов,
конкретного окружения. Сделав техзадание на разработку программного обеспечения по образцу можно получить
хороший результат. Стандарт включает в себя такие разделы:
1. Введение
-
Назначение.
-
Содержание (границы).
-
Обзор продукта.
-
Взаимодействие продукта (с другими продуктами, компонентами).
-
Функции продукта (краткое описание).
-
Характеристики пользователей.
-
Ограничения.
-
Терминология, определение со значениями.
2. Ссылки
3. Детальные нормы
-
Требования к внешним интерфейсам.
-
Функции продукта.
-
Параметры юзабилити.
-
Нормы производительности.
-
Требования к логической структуре БД.
-
Ограничения проектирования.
-
Системные свойства ПО.
-
Дополнительные требования.
4. Тестирование и проверка (список необходимых приемочных тестов, которые отражают зеркально раздел 3)
5. Приложение
-
Предположения, зависимости.
-
Аббревиатуры и сокращений.
Такой стандарт пришел на смену IEEE STD 830-1998. Он также был разработан в США и сегодня
используется разными специалистами разных стран мира.
Заключение
По итогу можно уверенно сделать вывод: для каждого проекта создается свое техническое задание.
Любой образец ТЗ на разработку программного обеспечения можно, нужно адаптировать под
конкретное задание, внося новые разделы, дополнения.
An error has occurred. This application may no longer respond until reloaded.
Reload
🗙