Этапы создания программных средств

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

Первый этап технологического процесса представля­ет собойпостановку задачи. На этом этапе раскрывается сущность задачи:

1) формули­руется ее цель;

2) определяется взаимосвязь с други­ми задачами;

3) указывается периодичность ее решения;

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

5) характеризуются формы и методы контроля достоверности информации на ключевых этапах решения задачи;

6) специфицируются формы взаимодействия пользователя с ПК в ходе решения задачи и т.п.

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

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

 
 

 

 

 

 


Рис. 11. Принципиальная схема разработки программных средств решения задач на ЭВМ

 

Алгоритм и программа. Управлять компьютером нужно по определенному алгоритму. Алгоритм — это точно определенное описание способа решения задачи в виде конечной (по времени) последовательности действий. Такое описание еще называется формальным. Для представления алгоритма в виде, понятном компьютеру, служат языки программи­рования. Сначала всегда разрабатывается алгоритм действий, а потом он записы­вается на одном из таких языков. В итоге получается текст программы — полное, законченное и детальное описание алгоритма на языке программирования. Затем этот текст специальными служебными приложениями, которые назы­ваются трансляторами, либо переводится в машинный код, либо исполняется.

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

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

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

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

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

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

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

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

Процесс тестирования и отладки программ носит итераци­онный характер и считается одним из наиболее трудоемких этапов процесса разработки программ. По оценкам специа­листов, он может составлять от 30 до 50% в общей структуре затрат времени на разработку проектов и зависит от объема и логической сложности разрабатываемых программных комп­лексов.