May 28, 2019

28. Постановка задачи и спецификация программы; способы записи алгоритма. Базовые конструкции в блок-схемах.

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

Техническое задание в соответствии со стандартом ГОСТ 19.201—78 «Техническое задание. Требования к содержанию и оформлению» имеет следующие основные разделы:

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

Другое описание:

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

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

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


Постановка задачи разработки программного обеспечения является самым первым и наиболее важным этапом при проектировании программного обеспечения. Именно здесь закладывается фундамент будущей программы. Если на этом этапе допущены ошибки или не предусмотрены какие-то важные детали, то это отразится на конечном результате, а вносить изменения и исправления в такой проект будет крайне проблематично. Более того, если задача поставлена неверно, то ее дальнейшее решение не имеет смысла. На этапе постановки задачи необходимо ответить на следующие вопросы:

  • существуют ли методы или способы решения задачи без использования ЭВМ, нужно ли решать данную задачу на ЭВМ;
  • какую пользу принесет использование ЭВМ для решения задачи, что будет улучшено, ускорено, оптимизировано, сэкономлено при использовании ЭВМ, какова основная цель применения ЭВМ;
  • что необходимо из оборудования, кроме универсальной ЭВМ, какой тип ЭВМ необходим для решения задачи, какая платформа(ы) ЭВМ может подойти, какая операционная система будет управлять работой ЭВМ, какое дополнительное программное обеспечение нужно;
  • каковы бизнес-процессы и документооборот прикладной предметной области, где будет применяться разрабатываемое программное обеспечение;
  • каков формат исходных (входных) данных, какие данные и в какой форме необходимы для решения задачи;
  • каков формат промежуточных и выходных данных, какие данные и в какой форме необходимо получить;
  • какой интерфейс пользователя программного обеспечения нужно обеспечить, какой интерфейс с дополнительным оборудованием необходим;
  • какова «глубина» проработки пользовательской, инженерной, программной и конструкторской документации, эксплуатационных документов, методических пособий и руководств по использованию программы, кто и как будет применять результаты решения.

Способы записи алгоритма

  • Вербальный – алгоритм описывается на человеческом языке (Рецепт любого блюда).
  • Символьный – алгоритм описывается с помощью набора символов (Листинг программы).
  • Графический – алгоритм описывается с помощью набора графических изображений (Блок схема).

Общепринятыми способами записи являются графическая запись с помощью блок-схем и символьная запись с помощью какого-либо алгоритмического языка.

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

Базовые конструкции в блок-схемах

1. Базовая структура «следование». Образуется последовательностью действий, следующих одно за другим:

2. Базовая структура «ветвление». Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран.

3. Базовая структура «цикл». Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла.

  • Цикл типа пока.
  • Цикл типа для