Технологии программирования - страница 16
Обычно основанием для заключения договора между заказчиком и исполнителем служит гарантийное письмо заказчика. На основании гарантийного письма составляется договор. Обязательным приложением к договору является ТЗ.
Некоторые отечественные и зарубежные источники предлагают выделять следующие этапы:
1) анализ требований, предъявляемых к системе (системный анализ). (Обычно проводится на основе первичного исследования потоков информации при традиционном проведении работ с фиксацией видов этих работ и их последовательности.);
2) определение целей, достигаемых разрабатываемыми программами;
3) выявление аналогов, обеспечивающих достижение подобных целей, их достоинств и недостатков;
4) постановка задачи на разработку новых программ, определение внешних спецификаций (т. е. описаний входной и выходной информации, а иногда и их форм) и способов (алгоритмов, методов) обработки информации;
5) оценка достижения целей разработки (Далее, при необходимости, этапы 1–5 могут быть итеративно повторены до достижения удовлетворительного облика изделия с описанием выполняемых им функций и некоторой ясностью реализации его функционирования.);
6) рассмотрение возможных вариантов структурного построения программного изделия: или в виде нескольких программ, или нескольких частей одной программы; результатом этой работы являются варианты архитектуры программной системы и (или) требования к структуре отдельных программных компонент; организация файлов для межпрограммного обмена данными;
7) разработка окончательного варианта архитектуры системы и разработка окончательной структуры программных компонент;
8) составление и проверка спецификаций модулей;
9) составление описаний логики модулей;
10) составление окончательного плана реализации программ;
11) кодирование и тестирование отдельных модулей и совокупности готовых модулей до получения готовой программы;
12) комплексное тестирование;
13) разработка эксплуатационной документации на программу;
14) проведение приемо-сдаточных и других испытаний;
15) корректировка программ по результатам испытаний;
16) окончательная сдача программного изделия заказчику;
17) тиражирование программного изделия;
18) сопровождение программы.
Современные технологии проектирования программного обеспечения (ПО) направлены на частичную автоматизацию этапов и на совмещение их во времени с целью сокращения сроков выполнения проектов.
В литературных источниках применяются наименования этапов, которые охватывают ряд приведенных этапов и по времени охватывают даже несколько стадий. Например, этап разработки программы.
1.9. ТИПОВЫЕ ОШИБКИ ОБУЧАЕМЫХ ПРИ СОСТАВЛЕНИИ ТЕХНИЧЕСКОГО ЗАДАНИЯ
В приложении 2 приведен пример выполнения учебного технического задания. В примере опущены: лист утверждения, титульный лист и приложения.
Главным, что отличает одно ТЗ от другого, является- смысл требований. Все требования оформляются предложениями с использованием оборотов «должно», «требуется обеспечить», «необходимо выполнить». Рекомендуется требования оформлять в форме нумерованных абзацев. Это позволит давать на них ссылки.
Типовыми ошибками являются написания неконкретных требований, которые никого ничему не обязывают. Требования не должны быть противоречивыми. Поэтому дублирование одних и тех же по смыслу требований разными словами в разных местах текста часто приводит к невозможности реализации изделия из-за неоднозначности их понимания заказчиком и исполнителем.
Ниже приведены типовые ошибки обучаемых при написании требований к функциональным характеристикам:
• непонимание термина «функциональные характеристики» (Смысл этого термина характеризуется следующим предложением: «Проектируемый завод в нормальном режиме работы должен обеспечить выпуск за одну 8-часовую смену не менее 40 пропашных тракторов». Эта фраза содержит как назначение проектируемого объекта — завода, так и то, что выпускает завод и при каких ограничениях. Применительно к программам, для правильного написания требований к функциональным характеристикам необходимо сторонними глазами будущего пользователя рассмотреть, что делает полезного программное изделие и при каких ограничениях.);