Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

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



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

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


                                         кафедра вм



                                         Курсовик

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



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



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



                                 (    мОСКВА  1996 год



                                   ОГЛАВЛЕНИЕ.

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

      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) доказательств
12345
скачать работу


 Другие рефераты
Несиенің формалары және түрлері
Ампер – основоположник электродинамики
Франк-Прусс соғысы
Охрана экосистемы северного Каспия


 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ