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

МИНИСТЕРСТВО  ОБРАЗОВАНИЯ И  НАУКИ РФ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ  БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ  УЧРЕЖДЕНИЕ

ВЫСШЕГОГО ПРОФЕССИОНАЛЬНОГО  ОБРАЗОВАНИЯ

«УЛЬЯНОВСКИЙ  ГОСУДАРСТВЕННЫЙ  УНИВЕРСИТЕТ»

    ФАКУЛЬТЕТ ТРАНСФЕРНЫХ СПЕЦИАЛЬНОСТЕЙ

    КУРСОВАЯ  РАБОТА

                   

на  тему:  

«Техническое задание на разработку программного обеспечения»

  
 
 
 
 

                              Выполнил:

                              студент 2  курса

                              группы ФТСФП-О-10/1

                              Васильев Сергей Юрьевич 

                              Научный руководитель:

                              к.т.н., доцент

                              Калинин Леонид Валерьевич 
 

                              Работа  сдана: "___"_____________2012 г. 

                              К защите допущена "___"________2012 г. 

                              Оценка ____________________________   

Ульяновск,

2012 г.

 

Содержание 

Введение            3

     1 Глава. Теоретические аспекты  создания технического задания

    1. Понятие технического задания и его место в проектировании  5
    2. Необходимость технического задания      7
    3. Действующие ГОСТ                10

1.3.1. ГОСТ 19.201-78                 11

1.3.2. ГОСТ 34.602-89                 14

1.4. Общие требования               16

     2 Глава. Составление примера технического задания

2.1. Предварительный этап создания технического задания           21

2.2. Непосредственное  написание технического задания           27 

Заключение                  31 

Список используемой литературы               33 

Приложения                  35

 

      Введение

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

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

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

     О технических заданиях, об их важности и о правильном составлении приходится слышать постоянно. Техническое  задание на создание сайтов, техническое задание на дизайн-проекты, техническое задание на разработку программ, техническое задание на то, техническое задание на это…. Так ли важно это самое, техническое задание, панибратски именуемое, ТЗ? А давайте разберемся!

     Встает  вопрос, а как нам правильно сформулировать наши желания и предпочтения для нового программного продукта? Как объяснить изготовителю то, что мы хотим получить, и как мы хотим это получить? Зачем нам вообще этот программный продукт? И как же его всё-таки составлять? И для кого его вообще писать?

     Отвечая на вопрос: «зачем?» важно понимать, о чем в действительности идет речь. Как уже было обозначено выше, мы рассматриваем составление технического задания на разработку программного обеспечения. А это означает, что  у предприятия, фирмы, организации возникли реально существующие, текущие задачи, которые можно и нужно решать эффективнее, чем это делается на данный момент. Другими словами, необходимо заменить человеческий труд, дорогостоящий и переменного качества, на эффективную, и гораздо менее затратную работу программного обеспечения.

     Действительно, сотрудникам нужен отпуск, все  они хотят вовремя получать заработную плату, периодически «ходят на больничные», и, как правило, не изъявляют желания работать в выходные дни. Разработка программ, напротив, не только не приносит обозначенных проблем, с завидной регулярностью сменяющих одна другую, но и наоборот, решает их!

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

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

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

 

          1 Глава. Теоретические аспекты  создания

    1. Понятие технического задания и его место в проектировании технического задания

     Определим понятие технического задания.

     Техническое задание - исходный документ для разработки и испытания изделия. ТЗ устанавливает основное назначение разрабатываемого объекта, его технические и тактико-технические характеристики, показатели качества и технико-экономические требования, предписание по выполнению необходимых стадий создания документации (конструкторской, технологической, программной и т. д.) и её состав, а также специальные требования.

       Задание как исходный документ на создание чего-то нового существует во всех областях деятельности, различаясь по названию, содержанию, порядку оформления и т. п. (например, проектное задание в строительстве, договор на литературное произведение и т. д.).1

     В соответствии с Гражданским кодексом, проектирование — это один из видов подрядных работ, результатом которых является продукция (проект), то есть комплект проектной документации на другой продукт (объект проектирования). Проект предназначен для создания объекта, его эксплуатации, ремонта и ликвидации, а также для проверки или воспроизведения промежуточных и конечных решений, на основе которых этот объект был разработан.

     Участников  проектных работ разделяют на потребителей (заказчиков этих работ) и поставщиков (исполнителей этих работ, подрядчиков). Исполнителя-специалиста называют проектировщиком или разработчиком. Поставщиком, как и потребителем продукции, может быть организация (юридическое лицо) или конкретный человек (физическое лицо).

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

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

     Необходимо  сказать, что же такое проектирование.

     Проектирование  — это процесс (разработки проекта), который обладает определённой структурой, то есть последовательностью и составом стадий и этапов, совокупностью процедур и привлекаемых технических средств, взаимодействием участников процесса.2

     Стадии  проектирования регламентированы стандартами. Это следующая последовательность:

    • Техническое задание (по ГОСТ 2.103-68 к стадиям разработки не относится):
    • Техническое предложение,
    • Эскизный проект,
    • Технический проект,
    • Стадии рабочего проекта.

     Решение любой задачи начинается с её осмысления и уточнения исходных данных. Те (технические) требования, которые выдаются заказчиком, формулируются на языке потребителя-неспециалиста и не всегда бывают технически четкими и исчерпывающими. Перевести требования на язык предметной области, сформулировать задачу максимально полно и грамотно, обосновать необходимость её решения, это и есть главная цель ТЗ. Исполнитель выполняет его в тесном контакте с заказчиком. Фактически это означает, что работа исполнителя над проектом уже началась.

 

      1.2. Необходимость технического задания

     Исходное  задание выдаётся заказчиком. Основными  причинами, заставляющими его обратиться к разработчику, являются отсутствие у заказчика соответствующих специальных знаний либо ограниченность его ресурсов (нехватка времени на решение задачи, необходимого количества людей, оборудования).3

     Задание может быть чётко определено, например, когда всю работу ведет один человек, либо оно выдано авторитетным специалистом, либо не может быть подвергнуто сомнению (госзаказ). Но чаще оно формулируется в общих чертах на языке потребителя-неспециалиста, далёким от языка разработчика и терминов предметной области. Неопределенные требования вызывают неуверенность у всех участников работ, так как допускают различное толкование требований и не позволят объективно оценить качество разработанного изделия. Также, разработчик должен понимать, что заказчик может не знать (или знает частично) специальных требований, что не снимает с разработчика ответственности и обязательности выполнения требований надзорных органов независимо от их наличия в задании. Таким образом, не только заказчик, но и разработчик (исполнитель) являются ответственными за постановку целей разработки и полезность ее результата.

     Составление ТЗ — сложная и ответственная задача: многие данные ещё не известны, но то, как задание будет поставлено, способно облегчить или затруднить последующее проектирование (образно говоря, «как корабль назовешь, так он и поплывет»).

     Специалисты считают, что грамотное ТЗ — это более 50 % успеха в решении задачи, а время, затраченное на подготовку ТЗ, — одно из лучших вложений, которые фирма может сделать в период проектирования. Недаром составление ТЗ поручается ведущим специалистам — главным конструкторам, руководителям проектов и работ и т. п.

     Академик  А. Н. Крылов рассказывал. На одной фабрике установили новую машину, но никак не могли её запустить. Тогда обратились за помощью к профессору университета. Приехав на фабрику, он долго ходил вокруг машины, внимательно что-то высматривая и к чему-то прислушиваясь. Затем, взяв молоток, ударил по её корпусу. И машина заработала. За свою помощь профессор запросил у правления фабрики 100 рублей (дело было в начале 20 века). Но правление фабрики посчитало, что за один удар молотком это слишком большая плата. На что профессор ответил, что сам удар стоит один рубль, а вот то, куда ударить — 99 рублей.

     Замечено, что если стоимость исправления  проектной ошибки, допущенной на этапе  технического проектирования принять  за 1, то стоимость её исправления  возрастает приблизительно в 10, 100 и 1000 раз, если ошибка была допущена соответственно на этапах эскизного проектирования, технического предложения и ТЗ!

     Как инструмент коммуникации в связке общения  заказчик-исполнитель, ТЗ позволяет:4

     Обеим сторонам:

    • представить (вообразить) готовый продукт,
    • выполнить попунктную проверку готового продукта (приёмочное тестирование — проведение испытаний),
    • уменьшить число ошибок, связанных с изменением требований в результате их неполноты или ошибочности (на всех стадиях и этапах создания, за исключением испытаний).

     Заказчику:

    • осознать, что именно ему нужно,
    • в том числе, опираясь на существующие на данный момент технические возможности и свои ресурсы,
    • требовать от исполнителя соответствия продукта всем условиям, оговорённым в ТЗ.

     Исполнителю:

    • понять суть задачи, показать заказчику «технический облик» будущего изделия, программного, продукта или автоматизированной системы,
    • спланировать выполнение проекта и работать по намеченному плану,
    • отказаться от выполнения работ, не указанных в ТЗ.

 

      1.3. Действующие ГОСТы

     Несмотря  на свою важность, содержание ТЗ практически не регламентировано нормативными документами (ГОСТ, ОСТ). Существуют только три стандарта на ТЗ:

  • ГОСТ 19.201-78. Единая система программной документации. Техническое задание. Требования к содержанию и оформлению (кратко изложено содержание ТЗ);
  • ГОСТ 34.602-89. Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы (достаточно подробно изложены состав и содержание ТЗ);
  • ГОСТ 25123-82. Машины вычислительные и системы обработки данных. Техническое задание. Порядок построения, изложения и оформления (приведен порядок построения ТЗ).

     Рассмотрим  каждый стандарт более тщательно.

 

      1.3.1. ГОСТ 19.201-78 Техническое задание. Требования к содержанию и оформлению

     Данный  ГОСТ поможет нам понять как писать ТЗ на разработку не сложного программного обеспечения, веб-сайта в том числе.5

     Обязательно надо рассмотреть внимательно несколько отрывков:

     1.4. Техническое задание должно содержать  разделы:

  • введение;
  • основания для разработки системы;
  • цели разработки;
  • требования к функциональным объектам системы;
  • требования к документации;
  • технико-экономические показатели;
  • этапы процесса разработки;
  • порядок приемки и тестирования;
  • в техническое задание разрешается добавлять приложения

     2.4.1. В разделе «Требования к функциональным характеристикам» необходимо указать требования к составу исполняемых функций, организации входных и выходных данных, временным характеристикам и т. п.

     2.4.2. В разделе «Требования к надежности»  необходимо указать требования  к обеспечению надежного функционирования.

     2.4.3. В разделе «Условия эксплуатации»  необходимо указать условия эксплуатации (температура воздуха, относительная  влажность и т.п. для выбранных  типов носителей данных), при которых  необходимо обеспечить заданные  характеристики, а также вид обслуживания, необходимое количество человек персонала и их специализация.

     2.4.4. В разделе «Требования к составу  и параметрам технических средств»  необходимо указать полный состав  технических средств с указанием  их основных характеристик.

     2.4.5. В разделе «Требования к информационной и программной совместимости» необходимо указать требования к информационным структурам на входе и выходе и методам решения, исходным кодам, языкам программирования и программным средствам, используемым программой. Полный текст ГОСТа можно посмотреть в приложении (ГОСТ 19.201-78)

     1.3.2. ГОСТ 34.602-89 Техническое задание на  создание автоматизированной системы.

     Данный  ГОСТ поможет вам понять, как писать ТЗ на разработку сложного программного обеспечения, веб-сайта в том числе. Очень важно отметить несколько отрывков:

     2.1. ТЗ на АС содержит разделы,  которые могут быть разделены  на подразделы:

     1) общие сведения;

     2) цели развития и назначение системы;

     3) характеристики блоков автоматизации;

     4) требования к системе;

     5) содержание работ по разработке системы;

     6) порядок контроля и приемки  системы;

     7) требования к содержанию работ  по подготовке блоков автоматизации  к вводу проекта в действие;

     8) требования к документации;

     9) исходники разработки.

     2.6.1.5. Требования по безопасности включают в себя требования по обеспечению безопасности при эксплуатации, наладке, монтаже, обслуживании, а так же ремонте технических средств системы по допустимым уровням освещенности, вибрационных и шумовых нагрузок.6

     2.6.1.8. Требования к эксплуатации, техническому обслуживанию, ремонту и хранению включают в себя:

     1) условия и режим эксплуатации, которые должны обеспечивать  использование технических средств  (ТС) системы с необходимыми техническими  индикаторами, в том числе виды  и частотность обслуживания ТС системы или допустимость ее работы без технического обслуживания;

     2) изначальные требования к допустимым  площадям для размещения персонала  и ТС системы, к параметрам  сетей энергоснабжения и т.п.;

     3) требования к квалификации обслуживающего  персонала и к режиму работы специалистов;

     4) требования к условиям хранения, комплектации, расположению комплекта  запасных изделий и приборов;

     5) требования к процессу обслуживания.

 

      1.3.2. ГОСТ 25123-82

     Настоящий стандарт распространяется на вычислительные машины, комплексы и системы обработки данных независимо от их назначения и области применения и технические средства, входящие в их состав (далее—изделие), и устанавливает порядок построения, изложения и оформления технического задания на разработку изделия при проведении совместных работ со странами-членами СЭВ.

     Важно отменить:

     1.1. Техническое, задание является  исходным документом для разработки  и испытания изделия.

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

     2.5.Раздел «Технические требования» должен состоять из следующих подразделов:

    • состав изделия,
    • технические параметры (показатели);
    • требования к надежности,
    • принцип работы;
    • программное обеспечение;
    • конструктивные требования;
    • условия эксплуатации;
    • требования безопасности;
    • дополнительные технические требования;
    • требования к упаковке, маркировке, транспортированию и хранению;
    • требования к патентной чистоте.

     Примечание. В зависимости от особенностей разрабатываемого изделия допускается уточнять содержание подразделов или объединять отдельное подразделы (полный текст ГОСТа 25123-82 см. Приложение 2)7.

     На  этом можно остановиться, все остальные  тонкости и нюансы можно увидеть, прочитав сам гост. Теперь продолжим.

 

      1.4. Общие Требования

     Итак, документ Техническое задание должен, по сути, отражать все требования к проектируемому продукту, выделенные на этапе аналитического исследования объекта автоматизации.8

     Мы  можем выделить основные разделы  технического задания:

    • Общие сведения о системе (программе);
    • Назначение, цели и задачи системы (программы);
    • Требования к системе (функциональные требования, пользовательские требования, требования к системе в целом и тд);
    • Требования к видам обеспечения;
    • Требования к документированию;
    • Стадии и этапы разработки;
    • Порядок контроля и приемки системы (программы).

     Общие сведения

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

     Пример:

     «В  данном документе создаваемая информационная система называется «Единое окно доступа к образовательным ресурсам», сокращенно ЕО. Систему Единое окно доступа к образовательным ресурсам далее в настоящем документе допускается именовать Единое окно или Система»9

     Также сюда следует включить подразделы сообщающие реквизиты организаций участвующих в разработке (Заказчика и Исполнителя).

     В подразделе «Основания для разработки»  документа Техническое задание  перечисляются основные документы, на основании которых выполняются  данные работы. Например, для системы, выполняемой по заказу Правительства страны или другого Государственного органа, должны быть указаны законы, указы  и постановления Правительства.

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

     Неотъемлемой  частью документа Техническое задание также должен быть список терминов и сокращений. Термины и сокращения лучше представить в виде таблицы с двумя столбцами «Термин» и «Полная форма»10.

     Термины и сокращения располагаются в  алфавитном порядке. В первую очередь  принято давать расшифровку русскоязычным  терминам и сокращениям, потом англоязычным.

     Назначение  и цели создания системы

     Данный  раздел документа Техническое задание должен содержать назначение и цели создания системы.

     Требования  к системе

     Данный  раздел документа Техническое задание  предназначен для описания основных функциональных требований системы. Это  самая важная часть технического задания, так как именно она станет основным вашим аргументом при спорах с Заказчиком в процессе сдачи системы в эксплуатацию. Поэтому к его написанию необходимо подойти наиболее тщательно.

     В документе Техническое задание должны быть представлены все требования, выявленные на этапе проведения анализа объекта автоматизации. Лучше всего выделить основные бизнес-процессы, которые и должны быть раскрыты посредством описания функциональных требований.

     Если  позволяет время, информацию, приведенную  в данном разделе, следует, более  полно раскрыть в приложении к документу Техническое задание. В приложении к техническому заданию можно привести экранную форму и ниже описать все события, которые на ней присутствуют (создание, просмотр, редактирование, удаление и т.п.).

     Требования  к системе в целом включают раскрытие ее архитектуры с описанием всех подсистем. В данной части Технического задания следует описать требования к интеграции системы с другими продуктами (если таковые имеются).11 Далее в техническое задание должны быть включены: