Технология проектирования программ

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

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

                           
    Технология проектирования программ - student2.ru
      Технология проектирования программ - student2.ru   Технология проектирования программ - student2.ru   Технология проектирования программ - student2.ru
    Технология проектирования программ - student2.ru
  Технология проектирования программ - student2.ru
          Технология проектирования программ - student2.ru
 
 
 
 
 

Технология проектирования программ - student2.ru Заказчик Математик или Программист

Технология проектирования программ - student2.ru Технология проектирования программ - student2.ru системотехник

 
  Технология проектирования программ - student2.ru

Рис. 12.1. Традиционная технология подготовки задачи к решению на ЭВМ

Здесь связи означают:

1 – заказчик на естественном (например, русском) языке объясняет математику или системотехнику, какую прикладную задачу он хочет решить. Эта задача из некоторой предметной области, например, задача бухгалтерского учета или зачисления абитуриентов в ВУЗ;

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

3 - программист на основании математической модели или другого формального описания поставленной задачи разрабатывает программу. Он выполняет также отладку программы, используя для этого ЭВМ. Этот этап называется программированием задачи;

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

· основные характеристики программы, сведения об ее эксплуатации;

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

· сведения для проверки работоспособности и корректности выполнения программы, для обеспечения функционирования и настройки программы на условия конкретного применения;

· сведения о необходимых запросах со стороны программы и форматах ответов пользователя;

· данные о нештатных ситуациях и поведении пользователя в них.

Этот этап называется сдачей программы в эксплуатацию.

Как видно, все связи на рис. 12.1 двунаправлены. Это означает, что в процессе проектирования программы идет диалог, в ходе которого уточняется и/или корректируется предмет общения.

Разработка алгоритма

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

Алгоритм обладает следующими свойствами (они следуют из определения):

1) определенность (детерминированность)– каждая команда (или предписание) понятна исполнителю (человеку или компьютеру) и исключает неоднозначность исполнения;

2) результативность– реализация вычислительного процесса, предусмотренного алгоритмом, должна через определенное число шагов привести к результату или сообщению о невозможности его получения;

3) массовость– если алгоритм разработан для решения определенной задачи, он должен быть применим для решения задач этого типа при всех допустимых значениях исходных данных;

4) дискретность– пошаговый характер процесса получения результата, состоящий в последовательном выполнении конечного числа заданных алгоритмом действий.

Различают следующие простейшие виды алгоритмов:

1) линейный, когда предписания алгоритма выполняются в той последовательности, в которой они представлены в алгоритме;

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

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

Наши рекомендации