tehnologia (1018792), страница 49
Текст из файла (страница 49)
Если в конкретном случае это так, то переходят к следующему этапу.3 этап - определение причины ошибки - изучение результатов второго этапа иформирование версий возможных причин ошибки. Эти версии необходимо проверить,возможно, используя отладочные средства для просмотра последовательности операторовили значений переменных.4 этап - исправление ошибки - внесение соответствующих изменений во всеоператоры, совместное выполнение которых привело к ошибке.2975 этап - повторное тестирование - повторение всех тестов с начала, так как приисправлении обнаруженных ошибок часто вносят в программу новые.Следует иметь в виду, что процесс отладки можно существенно упростить, еслиследовать основным рекомендациям структурного подхода к программированию:• программу наращивать «сверху-вниз», от интерфейса к обрабатывающимподпрограммам, тестируя ее по ходу добавления подпрограмм;• выводить пользователю вводимые им данные для контроля и проверять их надопустимость сразу после ввода;• предусматривать вывод основных данных во всех узловых точках алгоритма(ветвлениях, вызовах подпрограмм).Кроме того, следует более тщательно проверять фрагменты программногообеспечения, где уже были обнаружены ошибки, так как вероятность ошибок в этих местахпо статистике выше.
Это вызвано следующими причинами. Во-первых, ошибки чащедопускают в сложных местах или в тех случаях, если спецификации на реализуемыеоперации недостаточно проработаны. Во-вторых, ошибки могут быть результатом того, чтопрограммист устал, отвлекся или плохо себя чувствует. В-третьих, как уже упоминалосьвыше, ошибки часто появляются в результате исправления уже найденных ошибок.Возвращаясь к рис. 10.2, можно отметить, что проще всего обычно искать ошибкиопределения данных и ошибки накопления погрешностей: их причины локализованы в местепроявления.
Логические ошибки искать существенно сложнее. Причем обнаружение ошибокпроектирования требует возврата на предыдущие этапы и внесения соответствующихизменений в проект. Ошибки кодирования бывают как простые, например, использованиенеинициализированной переменной, так и очень сложные, например, ошибки, связанные сзатиранием памяти.Затиранием памяти называют ошибки, приводящие к тому, что в результате записинекоторой информации не на свое место в оперативной памяти, затираются фрагментыданных или даже команд программы. Ошибки подобного рода обычно вызывают появлениесообщения об ошибке. Поэтому определить фрагмент, при выполнении которого ошибкапроявляется, несложно. А вот определение фрагмента программы, который затирает память сложная задача, причем, чем длиннее программа, тем сложнее искать ошибки такого рода.Именно в этом случае часто прибегают к удалению из программы частей, хотя это и необеспечивает однозначного ответа на вопрос, в какой из частей программы находитсяошибка.
Эффективнее попытаться определить операторы, которые записывают данные впямять не по имени, а по адресу, и последовательно их проверить. Особое внимание приэтом следует обращать на корректное распределение памяти под данные.298Контрольные вопросы1. Какой процесс называют отладкой? В чем его сложность?2. Назовите основные типы ошибок. Как они проявляются при выполнениипрограммы?3. Перечислите основные методы отладки. В чем заключается различие между ними?Возьмите любую программу, содержащую ошибки, и попробуйте найти ошибку,используя каждый из перечисленных методов. Какой метод для вас проще иестественней и почему?4.
Какие средства получения дополнительной информации об ошибках вы знаете?Вспомните, какие ошибки вы искали дольше всего и почему. В каких случаяхдополнительная информация позволяет найти ошибку?29911. СОСТАВЛЕНИЕ ПРОГРАММНОЙ ДОКУМЕНТАЦИИСоставление программной документации - очень важный процесс. Стандарт, определяющий процессыжизненного цикла программного обеспечения, даже предусматривает специальный процесс, посвященныйуказанному вопросу.
При этом на каждый программный продукт должна разрабатываться документация двухтипов: для пользователей различных групп и для разработчиков. Отсутствие документации любого тина дляконкретного программного продукта не допустимо.При подготовке документации не следует забывать, что она разрабатывается для того, чтобы ее можнобыло использовать, и потому она должна содержать все необходимые сведения.11.1. Виды программных документовК программным относят документы, содержащие сведения, необходимые дляразработки, сопровождения и эксплуатации программного обеспечения. Документированиепрограммного обеспечения осуществляется в соответствии с Единой системой программнойдокументации (ГОСТ 19.XXX). Так ГОСТ 19.101-77 устанавливает виды программныхдокументов для программного обеспечения различных типов.
Ниже перечислены основныепрограммные документы по этому стандарту и указано, какую информацию они должнысодержать.Спецификация должна содержать перечень и краткое описание назначения всехфайлов программного обеспечения, в том числе и файлов документации на него, и являетсяобязательной для программных систем, а также их компонентов, имеющих самостоятельноеприменение.Ведомость держателей подлинников (код вида документа - 05) должна содержатьсписок предприятий, на которых хранятся подлинники программных документов.Необходимость этого документа определяется на этапе разработки и утверждениятехнического задания только для программного обеспечения со сложной архитектурой.Текст программы (код вида документа - 12) должен содержать текст программы снеобходимыми комментариями.
Необходимость этого документа определяется на этаперазработки и утверждения технического задания.300Описание программы (код вида документа - 13) должно содержать сведения ологической структуре и функционировании программы. Необходимость данного документатакже определяется на этапе разработки и утверждения технического задания.Ведомость эксплуатационных документов (код вида документа - 20) должнасодержать перечень эксплуатационных документов на программу, к которым относятсядокументы с кодами: 30, 31, 32, 33, 34, 35, 46.
Необходимость этого документа такжеопределяется на этапе разработки и утверждения технического задания.Формуляр (код вида документа - 30) должен содержать основные характеристикипрограммного обеспечения, комплектность и сведения об эксплуатации программы.Описание применения (код вида документа -31) должно содержать сведения оназначении программного обеспечения, области применения, применяемых методах, классерешаемых задач, ограничениях для применения, минимальной конфигурации техническихсредств.Руководство системного программиста (код вида документа - 32) должно содержатьсведения для проверки, обеспечения функционирования и настройки программы на условияконкретного применения.Руководство программиста (код вида документа - 33) должно содержать сведениядля эксплуатации программного обеспечения.Руководство оператора (код вида документа - 34) должно содержать сведения дляобеспечения процедуры общения оператора с вычислительной системой в процессевыполнения программного обеспечения.Описание языка (код вида документа - 35) должно содержать описание синтаксиса исемантики языка.Руководство по техническому обслуживанию (код вида документа - 46) должносодержать сведения для применения тестовых и диагностических программ приобслуживании технических средств.Программа и методика испытаний (код вида документа -51) должны содержатьтребования, подлежащие проверке при испытании программного обеспечения, а такжепорядок и методы их контроля.Пояснительная записка (код вида документа —81) должна содержать информацию оструктуре и конкретных компонентах программного обеспечения, в том числе схемыалгоритмов, их общее описание, а также обоснование принятых технических и техникоэкономических решений.
Составляется на стадии эскизного и технического проекта.Прочие документы (коды вида документа - 90-99) могут составляться на любыхстадиях разработки, т. е. на стадиях эскизного, технического и рабочего проектов.Допускается объединять отдельные виды эксплуатационных документов, кромеформуляра и ведомости. Необходимость объединения указывается в техническом задании, аимя берут у одного из объединяемых документов.301Например, в настоящее время часто используется эксплуатационный документ, в которыйотчасти входит руководство системного программиста, программиста и оператора. Онназывается «Руководство пользователя» (см.
§11.3).Рассмотрим наиболее важные программные документы более подробно.11.2. Пояснительная запискаПояснительная записка должна содержать всю информацию, необходимую длясопровождения и модификации программного обеспечения: сведения о его структуре иконкретных компонентах, общее описание алгоритмов и их схемы, а также обоснованиепринятых технических и технико-экономических решений.Содержание пояснительной записки по стандарту (ГОСТ 19.404-79) должновыглядеть следующим образом:• введение;• назначение и область применения;• технические характеристики;• ожидаемые технико-экономические показатели;• источники, используемые при разработке.В разделе Введение указывают наименование программы и документа.
на основаниикоторого ведется разработка.В разделе Назначение и область применения указывают назначение программы идают краткую характеристику области применения.Раздел Технические характеристики должен содержать следующие подразделы:• постановка задачи, описание применяемых математических методов и допущений иограничений, связанных с выбранным математическим аппаратом;• описание алгоритмов и функционирования программы с обоснованием принятыхрешений;• описание и обоснование выбора способа организации входных и выходных данных;• описание и обоснование выбора состава технических и программных средств наосновании проведенных расчетов или анализов.В разделе Ожидаемые технико-экономические показатели указывают техникоэкономические показатели, обосновывающие преимущество выбранного вариантатехнического решения.В разделе Источники, использованные при разработке, указывают перечень научнотехнических публикаций, нормативно-технических документов и других научнотехнических материалов, на которые есть ссылки в исходном тексте.302Пояснительная записка составляется профессионалами в области разработкипрограммного обеспечения и для специалистов того же уровня квалификации.Следовательно, в ней уместно использовать специальную терминологию, ссылаться наспециальную литературу и т.