Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Руководство пользователя программного изделияСодержание книги
Поиск на нашем сайте Выходным результатом фазы, кроме документа Детальный проект, является документ Руководство пользователя. Документ предназначен для организации эффективной работы пользователя с программным изделием. При изложении материала целесообразно использовать два стиля описания: в виде инструкций (обучающий) и в справочном виде. В то время как стиль инструкций ориентируется на оказание помощи новым пользователям, справочный стиль предназначен для более опытных пользователей, которым требуется информация по более специфическим вопросам. В секции инструкций материал Руководства должен быть упорядочен в соответствии с последовательностью обучения, начиная с простейших и наиболее необходимых операций, появляющихся в первую очередь, до более сложных, появляющихся позже. Размер этой секции зависит либо от принятой методики обучения, либо от особенностей коллектива пользователей: некоторые из пользователей могут понять возможности и особенности использования программного изделия после знакомства с небольшим числом примеров, в то время как другим может потребоваться изучение многочисленных примеров. В справочной секции представлены основные операции, упорядоченные для удобства использования, например, по алфавиту. Документация, представленная в этой секции, является более формальной, точной и исчерпывающей по сравнению с предыдущей. Например, команда в секции инструкций может быть описана в конкретных понятиях в виде отдельного рабочего примера, а в справочной секции должны быть описаны все возможные параметры, опции и ключевые слова с несколькими примерами, уточняющими их смысл. В руководство целесообразно включать иллюстрации в виде экранов с описанием особенностей манипуляций на клавиатуре. Разработка Руководства пользователя должна начинаться как можно раньше. Прежде всего должен быть определен круг читателей, т.к. этот момент в значительной степени определяет стиль изложения. Руководство пользователя может быть создано в качестве он-лайнового средства помощи, т.е. в виде специального программного продукта. В этом случае должны быть разработаны отдельные требования для его проектирования. Руководство пользователя содержит следующие разделы: • общие сведения; • описание применения; • требования к процедурам. В первом, вводном, разделе обычно дается описание прикладной области и приводятся основные функции изделия, а также условия его функционирования. Во втором разделе рассматриваются выполняемые функции, более подробно описывается назначение программного изделия, предоставляемые им возможности для пользователя и отмечаются преимущества, которые дает пользователю данное программное изделие. Значительное внимание уделяется описанию условий эксплуатации, используемого оборудования и программных средств. Структура программного изделия дается с описанием роли каждой компоненты, а рабочие характеристики изделия — в виде описания функциональных возможностей с указанием, где это возможно, количественных параметров входных и выходных потоков, времени реакции и т.п. Отдельно описывается база данных с указанием каждого файла и его назначения. Особое внимание уделяется описанию потоков обрабатываемых данных и результирующих выходов с указанием их взаимосвязей. В третьем, основном, разделе Руководства представлена информация о необходимых процедурах запуска системы, подготовки данных и настройки параметров. Здесь также представлены процедуры обработки ошибок, восстановления информации и требования к этим процедурам. В процедурах запуска описывается каждый шаг процедур, необходимых для организации работы. Значительное внимание уделяется описанию процедур ввода данных, при этом определяются требования к процедуре подготовки данных: частоте ввода, источникам данных, носителям информации, ограничениям, контролям достоверности. Для организации ввода пользователю должны быть представлены макеты входных форм с подробным описанием назначения каждого реквизита, а для наиболее сложных форм целесообразно представить их образцы с сопутствующим описанием. Затем должны быть описаны требования, предъявляемые к каждому выходному документу или экрану, указаны: способ использования и частота выдачи, способ представления (носитель), инструк- 65 ции по сохранению, распространению и т.д. В этом разделе должны быть представлены описания всех выходных форм и экранов с объяснением каждого конкретного раздела формы- По каждому типу результатов работы изделия должны быть представлены образцы с примерами результатов. В отдельном подразделе Руководства приводятся возможные ошибки и процедуры их устранения. Здесь целесообразно перечислить коды возможных ошибок, возникающих при работе программ, и необходимые действия пользователя по восстановлению работоспособности программного изделия. Глава 9. Отладка программ Трудности отладки Отладка (debugging) — процесс нахождения местоположения ошибок в программе и их исправление. Процесс отладки начинается после обнаружения факта ошибки в результате тестирования и осуществляется в два этапа. Первый этап — установление причины ошибки и ее локализация (определение ее местоположения в программе); второй — исправление ошибки и проверка правильности работы программы. Таким образом, основным средством обнаружения ошибок при отладке является тестирование. Тестирование и отладка при этом обычно проводятся одновременно. Принято выделять три стадии тестирования для: • обнаружения ошибки в программе; • установления местонахождения ошибки; • подтверждения правильности работы программы после проведенной корректировки. Как показывает опыт разработки программного обеспечения, трудоемкость отладки превышает суммарную трудоемкость разработки алгоритма, программирования (кодирования) и тестирования. Затраты времени на отладку составляют (по результатам ряда исследователей) от 50 до 80% общего времени разработки программы, поэтому отладку иногда называют искусством обнаружения местоположения ошибок в программе. В результате разработки многочисленных программных изделий было установлено, что даже опытные программисты испытывают серьезные трудности в обнаружении причины ошибки. Они не знают, какие из ошибок наиболее вероятны, какие участки программ подвержены ошибкам в наибольшей степени, какие стратегии поиска ошибок наиболее эффективны и т.п. Это обусловлено тем, что обычно учат алгоритмизации и программированию задач, но не учат отладке и тестированию. Кроме этого, программисты относятся к процессу отладки, как правило, негативно, предпочитая ему более творческий процесс разработки алгоритма. К причинам, определяющим значительную трудоемкость процесса отладки, следует отнести и нарушение программистами дисциплины структурной методологии, т.е. принципа формальности, который требует следования при проектировании и кодировании формальным правилам и методам разработки структурных программ. Выполнение структурных требований позволяет избежать большинства ошибок и заметно упростить процедуру отладки программы. К сожалению, многие программисты стремятся как можно быстрее написать программу, а затем обнаруживать ошибки путем многократного ее выполнения с разнообразными тестовыми данными без их внимательного анализа и тщательного проектирования. Такой подход, обусловленный во многом леностью разработчика, приводит к значительным затратам времени при установлении причин ошибок и их локализации, а также к заметному снижению надежности программ, что в дальнейшем проявляется на этапе сопровождения программного изделия. Машинные методы отладки для опытных и творческих программистов оказываются наименее эффективными. Как показывают исследования, наиболее существенными для повышения эффективности отладки являются априорные знания о статистике ошибок и их наиболее вероятных типах, а также знания о структуре программы и об участках программы, в наибольшей степени предрасположенных к ошибкам. Такими участками, как показывает опыт, являются прежде всего участки с высокой сложностью, поэтому высокое цикломатическое число какого-либо модуля программы позволяет предполагать более высокую вероятность появления в нем ошибок. С точки зрения организации работ по отладке программы наиболее эффективным считается групповой метод отыскания ошибок (их причин и местоположения в программе), когда два программиста сначала независимо, а затем совместно осуществляют этот процесс. Такой подход более предпочтителен, чем индивидуальная работа одного программиста. Повышение эффективности работы по обнаружению и локализации ошибок может быть достигнуто путем попеременного внимательного анализа программы за столом и машинного тестирования. К трудностям отладки программ следует также отнести и разнообразие ситуаций, возникающих перед началом ее выполнения. Ситуации могут быть следующие: 1. Компилятор не выдает сообщений об ошибках, но программа не компилируется. 2. Программа откомпилирована, но при выполнении не выдает никаких результатов. 3. Программа откомпилирована, но при выполнении происходит преждевременный останов. ' 4. Программа зацикливается. 5. Программа выдает неверные результаты. Средства и методы отладки Отладка начинается после обнаружения ошибки. Существуют следующие средства обнаружения причины ошибки и ее локализации: 1. Листинг исходного кода. 2. Подробная спецификация программы. 3. Детальный алгоритм программы, представленный в виде блок-схемы, схемы действий, таблицы решений и т.п. 4. Выходной листинг. 5. Анализ последовательности выполнения операторов и оценка ожидаемых значений переменных. 6. Отслеживание обращений к подпрограммам. 7. Дампы памяти. Эти средства предполагают проведение внимательного анализа программы за столом. Существенную помощь в отладке оказывают инструментальные средства: • отладочные компиляторы применительно к языку программирования; • специальные средства расширения языка программирования для контроля типов и диапазонов значений данных, обработки исключительных ситуаций и т.д.; • средства для печати значений используемых переменных при аварийном завершении программы, для трассировки значений переменных в процессе выполнения программы и т.п.; • пакеты программ для прослеживания потоков управления и данных в программе, контроля индексов и регистрации вызовов подпрограмм; • генераторы тестовых данных, формирующие тестовые наборы данных в соответствии со спецификациями, задаваемыми пользователем; • специальные он-лайновые отладчики, обеспечивающие автоматизацию рестартов, остановов и прерываний программы, просмотр работы отдельных операторов и т.п.; • пакеты словарей/справочников данных, позволяющие контролировать имена и типы данных и их использование разными модулями программы; • CASE-средства для построения схем потоков данных, моделей данных, схем алгоритмов и т.п.; • автоматизированные рабочие места программистов, включающие большинство из перечисленных средств. Для отладки применяется ряд методов, которые можно укруп-ненно представить в виде следующих групп. 1. Метод "грубой силы". Наиболее распространенный и традиционно используемый программистами подход; связан со всесторонним анализом за столом исходного кода и алгоритма программы, выходных результатов и сообщений компилятора. Прежде широко использовался анализ содержимого памяти (дампа памяти) обычно в шестнадцатеричной или восьмеричной форме. Для повышения эффективности отладки в текст программы включают операторы отладочного кода. Наиболее просто осуществить вставку операторов, которые регистрируют результаты исполнения конкретного оператора. Часто — это распечатка выборочных значений переменных. Кроме того, может осуществляться проверка завершения логических участков программ, результаты выполнения условий и т.п. Такой метод вставок предполагает, что после проверяемых включаются операторы, регистрирующие результаты выполнения контролируемых. После завершения отладки программы отладочные операторы можно оставить в виде комментариев для возможного использования их в дальнейшем на этапе сопровождения программного изделия. К сожалению, подобный подход требует использования большого объема тестовых данных, поскольку процедура локализации ошибок достаточно случайна. Хотя программисту предоставляется возможность работать за терминалом, анализируя работу программы в динамике и используя при этом разнообразные инструментальные отладочные средства, эффективность его работы методом проб и ошибок остается низкой. Опыт разработки особенно сложных программ показывает, что более рационально искать местоположение ошибки не путем многократного выполнения программы со случайными тестовыми наборами данных, а путем систематического и тщательного обдумывания и анализа решаемой задачи. 2. Метод индукции. Большая часть ошибок может быть локализована в результате анализа алгоритма решаемой задачи, используя стратегию движения от частного к общему. В результате тестирования разработчик получает данные, отражающие как правильные, так и неверные действия программы- Данные должны быть систематизированы и хорошо структурированы (например, представлены в табличной форме), с указанием симптомов ошибки, места и времени ее появления. Одновременно указываются тестовые наборы данных, приводящие к неверным результатам, и те, которые дают правильный результат. В результате анализа этих данных и взаимосвязей между различными признаками ошибки выявляются определенные закономерности и формулируется гипотеза о причинах ошибки. Для доказательства правильности выдвинутой гипотезы необходимо показать, что она полностью объясняет все обнаруженные симптомы ошибки. В противном случае гипотеза отвергается и процесс необходимо повторить, собрав предварительно дополнительные данные для выдвижения новой гипотезы. 3. Метод дедукции. Метод предполагает, что на основе результатов тестирования выдвигается множество возможных гипотез о причине ошибки. Затем из общего списка исключаются предположения, которым противоречат данные тестирования. Если в результате анализа будут исключены все выдвинутые гипотезы, то необходимо с помощью тестирования собрать дополнительные данные и повторить процедуру выдвижения новых предположений о причине ошибки. Когда остается несколько предположений, все они тщательно анализируются, начиная с наиболее правдоподобного. Выбранная гипотеза всесторонне рассматривается и уточняется. Доказательство ее правильности осуществляется, как в предыдущем методе, и, если она оказывается верной, на ее основе находится ошибка. 4. Инверсное прослеживание логики программы. Для небольших программ анализ логики выполнения программы в обратном направлении оказывается довольно эффективным способом обнаружения ошибки. Отладка начинается с точки программы, где обнаружен неверный результат или произошел останов программы. На основе полученных в этой точке значений переменных необходимо определить, исходя из логики программы, какие результаты должны были быть при правильной работе программы. Последовательное продвижение к началу программы позволяет достаточно быстро и точно определить место (и причину возникновения) ошибки, т.е. место между оператором, где результат выполнения программы соответствовал ожидаемому, и оператором, в котором появились расхождения.
|
||
|
Последнее изменение этой страницы: 2017-02-07; просмотров: 280; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.013 с.) |