Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь 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; просмотров: 215; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.139.235.100 (0.007 с.) |