Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Неправильный перевод как причина ошибок в программных .•редствах




Отсутствие ошибок как критерий качества

Критерии качества ПО

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

Возникает вопрос, что понимать под высококачественным ПО? Часто под этим понимают создание «правильных программ», т.е. программ, не содержащих ошибок. Однако что понимать под ошибкой? Оказывается, дать формальное определение этого понятия невозможно. Наиболее логичным представляется считать, что в программе имеется ошибка, если она не выполняет того, что указано в документации по применению этой программы. Поскольку такие документы являются плохо формализованными, то и понятие ошибки в программе является существенно не формальным. В ПО программы и документация взаимно увязаны, образуют некоторую целостность. Поэтому правильнее говорить об ошибке не в программе, а в ПО в целом: будем считать, что в ПО имеется ошибка ($о/(\уаге еггог), если оно не выполняет того, что разумно ожидать от него пользователю. Разновидностями ошибок в ПС можно отметить:

1) несогласованность между программами ПО и документацией по их

применению;

2) несоответствие программы своей функциональной спецификации (описанию, разрабатываемому на этапе, предшествующему непосредственному программированию).

При разработке и использовании ПО имеет место многократное [реобразование (перевод) информации из одной формы в другую (см. шсуиок 1).

Заказчик формулирует свои потребности в ПО в виде некоторых >1/>1'<~>ований к ПО. Исходя из этих требований, разработчик создает внешнее 'писание ПО, используя при этом спецификацию (описание) заданной п111(1/>атуры и, возможно, спецификацию базового программного ин'спсчепия. На основании внешнего описания и спецификации языка ч/юг/>аммирования создаются тексты программ ПО на этом языке. По •инчинему описанию ПО разрабатывается также и пользовательская >1 пигментация (руководство по применению ПО).

Текст каждой программы является исходной информацией при любом 1'с преобразовании, в частности, при исправлении в ней ошибки. Пользователь на основании документации выполняет ряд действий для применения ПО и осуществляет интерпретацию получаемых результатов. Ч;кчч, незде, а также в ряде других процессов разработки ПС, имеет место \ качанный перевод информации.

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

Модель перевода.

Чтобы понять природу ошибок при переводе рассмотрим модель, изображенную на рисунок.2.

На ней человек осуществляет перевод информации из представления А в представление В. При этом он совершает четыре основных шага перевода: • он получает информацию, содержащуюся в представлении А, с помощью своего читающего механизма К; он запоминает полученную информацию в своей памяти М; он выбирает из своей памяти преобразуемую информацию и информацию, описывающую процесс преобразования, выполняет перевод и посылает результат своему пишущему механизму XV; с помощью этого механизма он фиксирует представление В. На каждом из этих шагов человек может совершить ошибку разной природы.

На первом шаге способность человека "читать между строк" (способность, которая часто оказывается полезной, позволяя ему понимать текст, содержащий неточности или даже ошибки) может стать причиной

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

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

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

И, наконец, на последнем этапе стремление человека быстрее зафиксировать информацию часто приводит к тому, что представление этой информации оказывается неточным, создавая ситуацию для последующей неоднозначной ее интерпретации.

Основные пути борьбы с ошибками.

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

• сужение пространства перебора (упрощение создаваемых систем),

• обеспечение требуемого уровня подготовки разработчика (это функции менеджеров коллектива разработчиков),

• обеспечение однозначности интерпретации представления информации,

• контроль правильности перевода (включая и контроль однозначности интерпретации). •—




Поделиться с друзьями:


Дата добавления: 2014-11-29; Просмотров: 471; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.