Смекни!
smekni.com

Программное обеспечение управления автоматизированным комплексом многоканальной связи (стр. 9 из 16)

После последнего шага детализации алгоритма проводится проверка полученного алгоритма для выявления допущенных ошибок. Методы контроля алгоритма аналогичны некоторым методам контроля программы.

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

4. Программирование.

В случае, когда на предыдущем этапе был получен детально разработанный алгоритм, составление программы на выбранном для программирования языке сводится к переводу этого алгоритма на язык программирования. Основные трудности и, следовательно, причины ошибок на этом этапе заключаются, во-первых, в необходимости знания всех требований и ограничений выбранного языка программирования и, во-вторых, в необходимости постоянного внимания ко многим деталям языка, которые приходится учитывать в ходе написания программы. Если этап 3 был выполнен некачественно и алгоритм представлен недостаточно детально, то его доводку придется выполнять «на ходу», во время программирования. Это затруднит процесс программирования-перевода и поведет к возникновению дополнительных ошибок в программе. Чем более процесс программирования будет походить на перевод, чем более механическим будет такой перевод, тем более легким будет составление программы и тем меньше возникнет ошибок на этом этапе, самом щедром на ошибки.

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

1. Компиляция.

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

6. Отладка.

На этапе отладки производится обнаружение с помощью ЭВМ ошибок в программе и их исправление. Этап отладки можно разделить на три подэтапа:

6.1. Контроль правильности программы.

6.2. Локализация ошибок.

6.3. Исправление ошибок.

На подэтапе 6.1 – контроль программы – путем пропуска на машине специальных контрольных примеров устанавливается факт отсутствия или, в противном случае, наличия ошибок в программе. Здесь речь идет о содержательных ошибках, которые не проявляются при компиляции программы.

На этапе 6.2 – локализация ошибок – точно устанавливается место, где в программе допущена ошибка, последствия которой проявились при выполнении этапа 6.1.

На этапе 6.3 производится исправление ошибок, выявленных на этапе 6.2. Исправления вносятся как в программу, так и в алгоритм, если он затрагивается этими исправлениями.

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

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

7. Тестирование.

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

8. Оформление программы.

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

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

9. Отчет о работе.

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

10. Модернизация.

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

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

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

2.3 Проектирование системы

К основным стадиям развития программной системы относятся следующие:

· постановка задачи;

· разработка;

· реализация;

· испытания;

· эксплуатация системы.

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

2.3.1 Определение основных элементов системы

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