Программирование задачТестирование, отладка и эксплуатация программных средств
Программирование завершает формализованное описание выбранного метода и разработанного для него алгоритма решения задачи. На этом этапе составляется и вводится в память ЭВМ программа, состоящая из отдельных команд и определяющая последовательность выполняемых операций. Система команд, используемая в данной ЭВМ, вместе с принятыми в ней способами кодирования и адресации образует так называемый машинный язык данной ЭВМ.
Наиболее полно учитывает особенности ЭВМ ее машинный язык, операторы которого состоят из машинных команд Этот язык может быть непосредственно и однозначно воспринят ЭВМ в виде последовательности выполняемых операций. Программирование для ЭВМ первого поколения велось исключительно на машинном языке. На этом языке все команды программы представляются в двоичной системе счисления, т.е. комбинацией
74
нулей и единиц. Для сокращения записи команд программы двоичная система счисления обычно заменялась восьмеричной или шестнадцатеричной.
Разнообразие существующих ЭВМ обусловило появление множества их машинных языков, специфичных для каждого типа машины. Это затрудняет работу программистов, пользующихся разными ЭВМ, осложняет создание типовых программ, которые можно использовать для большинства ЭВМ. Кроме того, программы, составленные на машинном языке, не наглядны, требуют большой и кропотливой работы для их создания, затрудняют обнаружение и устранение неизбежных ошибок, допущенных в процессе написания программ. Поэтому в настоящее время машинные языки практически не применяются при программировании задач, за ними сохраняются лишь функции внутреннего языка ЭВМ. Для целей программирования стали применять различные формальные языки, не зависящие от конкретный ЭВМ, а целиком ориентированные на особенности решаемых задач. Такие языки отражают в большей степени алгоритм решения задачи, поэтому их принято называть алгоритмическими языками.
Современный алгоритмический язык существенно отличается от внутреннего машинного языка конкретной ЭВМ, поэтому программа, составленная на алгоритмическом языке, не может быть непосредственно воспринята ЭВМ.
Для этого необходимо перевести программу с алгоритмического языка на машинный язык данной ЭВМ. Такой перевод осуществляется самой машиной с помощью специальной программы, называемой программой - транслятором.
Чтобы охарактеризовать степень близости языка программирования к машинному языку, используется понятие уровня языка. За начало отсчета уровней принимается машинный язык, уровень которого равен 0. Естественный язык человека рассматривается как язык наивысшего уровня. Остальные языки, применяемые в настоящее время для программирования, занимают промежуточные уровни.
Программа, составленная на алгоритмическом языке, вводится в ЭВМ с помощью клавиатуры, при этом осуществляется ее трансляция, в результате чего в память ЭВМ заносится программа на машинном языке.
Непосредственно к этапу программирования примыкает этап тестирования и отладки программ. Оба эти процесса функционально связаны между собой, хотя их цели несколько отличаются друг от друга.
Тестирование представляет собой совокупность действий, предназначенных для демонстрации правильности работы программы в заданных диапазонах изменения внешних условий и режимов эксплуатации программы. Цель тестирования заключается в демонстрации отсутствия ошибок в разработанных программах на заранее подготовленном наборе контрольных примеров.
Отладка подразумевает совокупность действий, направленных на устранение ошибок в программах, начинающихся с момента обнаружения
75
фактов ошибочной работы программы и завершающихся устранением причин из возникновения.
Отладка программы состоит из синтаксического контроля, выполняемого в процессе трансляции, автономной отладки и, наконец, комплексной отладки программы на машинном языке.
В процессе синтаксического контроля устраняются формальные ошибки, допущенные при записи алгоритма на языке программирования. Без устранения этих ошибок трансляция программы невозможна.
При автономной отладке программу разбивают на части, по возможности, мало связанные между собой. Затем для каждой части в отдельности проверяют правильность работы программы на данном этапе вычислительного процесса.
После устранения ошибок, обнаруженных при автономной отладке, проводят комплексную отладку всей программы. При этом выполняют для нескольких примеров так называемые контрольные просчеты, при которых все части отлаживаемой программы работают совместно. В процессе комплексной отладки не только окончательно устраняются допущенные ошибки, но и совершенствуется программа в целом.
При этом практически невозможно указать какую - то определенную систему отладки, так как она в значительной степени определяется индивидуальными особенностями программиста, его квалификацией, опытом и т.п. Для целей отладки существуют также специальные отладочные программы, дающие программисту детальную информацию о работе отлаживаемой программы, вплоть до вывода результатов выполнения каждой команды. Работа с отладочной программой намного облегчает труд программиста.
После завершения тестирования и отладки программные средства вместе с сопроводительной документацией передаются пользователю для эксплуатации. Сопроводительная документация содержит необходимые инструктивные материалы по работе с программными средствами. Состав этой документации обычно оговаривается заказчиком (пользователем) и разработчиком программного средства.
Для передачи пользователю разработанных программных средств обычно создается специальная комиссия, включающая в свой состав как представителей разработчиков, так и заказчиков (пользователей). Комиссия в соответствии с заранее составленным и утвержденным обеими сторонами планом проводит приемку - передачу программных средств и сопроводительной документации. По завершению работы комиссией оформляется акт приемки - передачи.
В процессе внедрения и эксплуатации программных средств могут выявляться различного рода ошибки, не обнаруженные разработчиком при отладке и тестировании. Поэтому при реализации достаточно сложных и ответственных программных комплексов по согласованию пользователя (заказчика) с разработчиком этап эксплуатации программных средств
76
может быть разбит на два подэтапа: экспериментальная (опытная) и промышленная эксплуатация.
Смысл опытной эксплуатации заключается во внедрении разработанных программных средств на объекте заказчика с целью проверки их работоспособности и удобства использования при решении реальных задач в течении достаточно длительного периода времени (обычно не менее года). Только после завершения периода опытной эксплуатации и устранения выявленных при этом ошибок и учета замечаний программные средства передаются в промышленную эксплуатацию.
Для повышения качества работ, оперативности исправления ошибок, выявленных в процессе эксплуатации программных средств, а также выполнения различного рода модификаций, в которых может возникнуть необходимость в ходе эксплуатации, разработчик может по договоренности с пользователем осуществлять их сопровождение. Целесообразность привлечения высококвалифицированных специалистов для сопровождения программных средств объясняется тем, что затраты на сопровождение программ значительно превосходят первоначальные затраты на их разработку (приобретение). Следует принять во внимание, что по своему характеру и последовательности выполняемых действий внесение различного рода изменений в уже функционирующие программные средства представляет в значительной степени повторение рассмотренных выше этапов, начиная с постановки задачи и кончая внесением изменений в сопроводительную документацию.
77
74 :: 75 :: 76 :: 77 :: Содержание