RSS    

   Курсовая работа: Программа сложной структуры с использованием меню

Курсовая работа: Программа сложной структуры с использованием меню

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ГОРНЫЙ УНИВЕРСИТЕТ

кафедра вм


Курсовик

“Программа сложной структуры с использованием меню”


ВЫПОЛНИЛ:  Пикулин Е. Г.


принял:  Солодовников А. Д.


ã    мОСКВА  1996 год

                            ОГЛАВЛЕНИЕ.

1. ВИДЫ КОНТРОЛЯ ПРОГРАММ                                             

2. ЦЕЛИ, ПРИНЦИПЫ И ЭТАПЫ ТЕСТИРОВАНИЯ

3. СТРУКТУРНОЕ ТЕСТИРОВАНИЕ

4. СОВМЕСТНОЕ ТЕСТИРОВАНИЕ МОДУЛЕЙ

5. ФУНКЦИОНАЛЬНОЕ ТЕСТИРОВАНИЕ

6. ТЕСТИРОВАНИЕ ПРОГРАММНОГО КОМПЛЕКСА В ЦЕЛОМ

7. ОТЛАДКА ПРОГРАММ

    

                       ВИДЫ КОНТРОЛЯ ПРОГРАММ

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

Основными разновидностями контроля программного обеспечения являются визуальный, статический  и динамический.

Визуальный контроль - это проверка программ “ за столом “ , без использования компьютера. На первом этапе визуального контроля осуществляется  чтение программы, причем особое внимание уделяется следующим ее элементам:

        комментариям и их соответствию тексту программы ;

        условиям в операторах условного выбора ( IF, CASE ) и цикла;

        сложным логическим выражениям; 

        возможности незавершения итерационных циклов   ( WHILE, REPEAT, LOOP ).

Второй этап визуального контроля - сквозной контроль программы

( ее ручная прокрутка на нескольких заранее подобранных простых тестах). Распространенное мнение , что более выгодным является перекладывание большей части работы по контролю программных средств на компьютере, ошибочно. Основной довод в пользу этого таков : при работе на компьютере главным образом совершенствуются навыки в использовании клавиатуры, в то время как программистская квалификация преобретается прежде всего за столом.

Статический контроль- это проверка программы по ее тексту           (без выполнения) с помощью инструментальных средств. Наиболее известной формой статического контроля является синтаксический контроль программы с помощью компилятора , при котором проверяется соответствие текста программы синтаксическим правилам языка программирования.

Сообщения компилятора обычно делятся на несколько групп в зависимости от уровня тяжести нарушения синтаксиса языка программирования :

                - информационные сообщения и предупреждения , при обнаружении которых компилятор, как правило, строит корректный объектный код и дальнейшая работа с программой (компоновка, выполнение) возможна (тем не менее сообщения этой группы также должны тщательно анализироваться, так как их появление также может свидетельствовать об ошибке в программе - например, из-за неверного понимания синтаксиса языка);

                - сообщения об ошибках, при обнаружении которых компилятор пытается их исправить и строит объектный код, но его корректность маловероятна и дальнейшая работа с ним скорее всего не возможна;

             

                                                    3

               -  сообщения о серьезных ошибках , при наличии которых  построенный компилятором объектный код заведомо некорректен и его дальнейшее использование невозможно;

               - сообщения об ошибках , обнаружение которых привело к прекращению синтаксического контроля и построения объектного кода .

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

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

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

               - использование в программе неинициализированных переменных (то есть переменных, не получивших начального значения) ;

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

               - наличие в тексте программы фрагментов, никогда не выполняющихся;

               - наличие в тексте программы переменных, ни разу не используемых для чтения после присваивая им значений;

               - наличие в тексте программы заведомо бесконечных циклов ;

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

Для возможности проведения контроля правдоподобия в полном объеме также должны быть созданы специальные инструментальные средства, хотя ряд возможностей по контролю правдоподобия имеется в существующих  отладочных и обычных компиляторах.

                                                   4

Следует отметить, что создание инструментальных средств контроля структурированности и правдоподобия программ может быть существенно

упрощено при применении следующих принципов:

                  1) проведение этих дополнительных форм статического контроля после завершения компиляции и только для синтаксически корректных программ ;

                 2) максимальное использование результатов компиляции программы и, в частности, информации, включаемой в листинг компилятора;

                                                  

                3) вместо полного синтаксического разбора текста проверяемой программы построение для нее списка идентификаторов и списка операторов с указанием всех их необходимых признаков.

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

Четвертой формой статического контроля программ является их верификация, то есть аналитическое доказательство их корректности.

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

                надежность характеризует как программу, так и ее “окружение” ( качество аппаратуры, квалификацию пользователя и т.п. );

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

 Надежность можно представить совокупностью следующих характеристик :

                1) целостность программного средства (способность его к защите от отказов);

                2) живучесть (способность к входному контролю данных и их проверки в ходе работы) ;

               3) завершенность (бездеффектность готового программного средства, характеристика качества его тестирования);

               4) работоспособность (способность программного средства к восстановлению своих возможностей поле сбоев).

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

                                                 5

 С учетом специфики появления ошибок в программах можно выделить две стороны понятия корректности :

                1) корректность как точное соответствие целям разработки программы (которые отражены в спецификации) при условии ее завершения или частичная корректность ;

                2) завершение программы , то есть достижение программой в процессе ее выполнения своей конечной точки.  

В зависимости от выполнения или невыполнения каждого из двух названных свойств программы различают шесть задач анализа корректности :

                1) доказательство частичной корректности ;

               2) доказательство частичной некорректности ;

               3) доказательство  завершения программы ;

               4) доказательство  незавершения программы ;

             5) доказательство  тотальной (полной ) корректности (то есть одновременное решение первой и третьей задач);

        6) доказательство  некорректности (решение второй или четвертой задачи).

Методы  доказательства частичной корректности программ как правило опираются на аксиоматический подход к формализации семантики языков программирования. В настоящее время известны аксиоматические семантики Паскаля, подмножества ПЛ/1 и некоторых других языков.

Страницы: 1, 2, 3, 4


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.