Главная страница
Навигация по странице:

  • Системные ошибки

  • Ошибки в выборе алгоритма.

  • Технологические ошибки

  • Программные ошибки.

  • Семантика языка

  • Семантические (смысловые) ошибки

  • ИГА. Понятие базы данных


    Скачать 0.77 Mb.
    НазваниеПонятие базы данных
    Дата05.04.2022
    Размер0.77 Mb.
    Формат файлаdocx
    Имя файлаИГА.docx
    ТипДокументы
    #445246
    страница36 из 37
    1   ...   29   30   31   32   33   34   35   36   37

    Источники и классификация ошибок.


    Технологические ошибки 

    Программные ошибки 

    Алгоритмические ошибки 

    Системные ошибки 

    Ошибку можно отнести к одному из ниже перечисленных классов:

      - системные ошибки;

    -   ошибки в выборе алгоритма;

    -   алгоритмические ошибки;

    -   технологические ошибки;

    -   программные ошибки.

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

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

    Некачественное определение требований к программе при­водит к созданию программы, которая будет правильно решать неверно сформулированную задачу. В таких случаях, как правило, требуется полное перепрограммирование.

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

    При автономной и в начале комплексной отладки ПО доля найденных системных ошибок в нем невелика (примерно 10%), но она существенно возрастает (до 35—40%) на завершающих этапах комплексной отладки. В процессе эксплуатации преоб­ладающими являются системные ошибки (примерно 80% всех ошибок). Следует отметить также большое количество команд и групп программ, которые корректируются при исправлении каждой системной ошибки.

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

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

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

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

    К алгоритмическим ошибкам следует отнести также ошибки связей модулей и функциональных групп программ. Их можно квалифицировать как ошибки некорректной постановки задачи. Алгоритмические ошибки проявляются в неполном учете диапазонов изменения переменных, в неправильной оценке точности используемых и получаемых величин, в неправильном учете связи между различными переменными, в неадекватном представлении формализованных условий решения задачи в спе­цификациях или схемах, подлежащих программированию и т.д. Эти обстоятельства являются причиной того, что для исправ­ления каждой алгоритмической ошибки приходится изменять иногда целые ветви программного обеспечения, т.е. пока еще существенно больше операторов, чем при исправлении прог­раммных ошибок.

    Алгоритмические ошибки значительно труднее поддаются обнаружению методами формализованного автоматического контроля. Вот почему необходимо тщательным образом проду­мывать алгоритм прежде, чем транслировать его в программу.

    Некоторые программисты проверяют алгоритм следующим образом. Через несколько дней после составления алгоритма они повторно обращаются к описанию задачи и составляют алгоритм заново. Затем сличают оба варианта. Такой шаг на первый взгляд может показаться пустой тратой времени, однако всякая ошибка на уровне алгоритма может в дальнейшем обернуться катаст­рофой и повлечь основательный пересмотр программы.

    Технологические ошибки— это ошибки документации и фик­сирования программ в памяти ЭВМ. Они составляют 5—10 % от общего числа ошибок, обнаруживаемых при отладке. Боль­шинство технологических ошибок выявляются автоматически формализованными методами (например, транслятором).

    Программные ошибки.Языки программирования - это ис­кусственные языки, созданные человеком для описания алго­ритмов. Все предложения таких языков строятся по строгим синтаксическим правилам, обеспечивающим однозначное их понимание, что позволяет поручать расшифровку алгоритма ЭВМ, построенного по правилам семантики.

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

    Семантика языка — это система правил истолкования пост­роений конструкций. Например, если фрагмент конструкции имеет вид А*(В + С), то правила семантики предписывают, что сначала выполняется сложение величин В и С, а затем результат умножается на величину А. Правила семантики (смысла) конст­рукций обычно вполне естественны и понятны, но в некоторых случаях их надо специально оговаривать, комментировать.

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

    Итак, выделяют синтаксические и семантические ошибки.

    Под синтаксическими ошибкамипонимается нарушение пра­вил записи программ на данном языке программирования. Они выявляются самой машиной, точнее транслятором, во время пе­ревода записи алгоритма на язык машины. Исправление их осу­ществляется просто — достаточно сравнить формат исправляемой конструкции с синтаксисом в справочнике и исправить его.

    Семантические (смысловые) ошибки — это применение опе­раторов, которые не дают нужного эффекта (например, а—в вместо а+в), ошибка в структуре алгоритма, в логической взаи­мосвязи его частей, в применении алгоритма к тем данным, к которым он неприменим и т.д. Правила семантики не фор­мализуемы. Поэтому поиск и устранение семантической ошибки и составляет основу отладки.

    Программные ошибки по количеству и типам в первую очередь определяются степенью автоматизации программиро­вания и глубиной формализованного контроля текстов программ.

    Число программных ошибок зависит также от квалификации программистов, от общего объема комплекса программ, от глубины логического и информационного взаимодействия моду­лей и от ряда других факторов.

    Каждая программная ошибка влечет за собой необходимость изменения команд существенно меньше, чем при алгоритми­ческих и системных ошибках. На этапах комплексной отладки ПО и эксплуатации удельный вес программных ошибок падает и составляет примерно 15 и 30 % соответственно от общего коли­чества ошибок, выявляемых в единицу времени.
    1   ...   29   30   31   32   33   34   35   36   37


    написать администратору сайта