Вот что говорит Википедия на момент написания этой статьи:
Ошибка программного обеспечения - это ошибка, ошибка, сбой или ошибка в компьютерной программе или системе, которая вызывает неправильный или неожиданный результат или ведет себя непреднамеренно.
Я думаю, что это неполно. Это определение полностью исключает «непоследовательные» дефекты, связанные, например, с ремонтопригодностью и возможностью повторного использования.
Ошибка программного обеспечения - это ошибка, ошибка, сбой или ошибка в компьютерной программе или системе, которая вызывает неправильный или неожиданный результат или ведет себя непреднамеренно.
Я думаю, что это неполно. Это определение полностью исключает «непоследовательные» дефекты, связанные, например, с ремонтопригодностью и возможностью повторного использования.
Как вы знаете, каждый программный продукт имеет функциональные и нефункциональные требования. Функциональные требования говорят нам, что программное обеспечение должно делать, и нефункциональные требования документируют, как это нужно делать. Например, здесь есть функциональное требование:
Пользователь может создать отчет в формате PDF.
Если наше программное обеспечение не создает отчет в формате PDF и приводит к сбоям, это функциональная ошибка. Если вместо отчета в формате PDF создается пустая страница или текстовый документ, это функциональная ошибка. Если вообще нет кнопки «генерировать PDF-отчет», и пользователь просто не может запустить процесс создания PDF-файла, это функциональная ошибка.
Вот пример нефункционального требования:
Генерация отчета в формате PDF должна занимать менее 100 мс.
Если наше программное обеспечение генерирует совершенно правильный отчет в формате PDF, но это занимает минуту, это нефункциональная ошибка.
Пока все хорошо, так как определение ошибки, данное Википедии, прекрасно охватывает оба из них - если они произойдут, они заставят наше программное обеспечение «произвести неправильный или неожиданный результат или вести себя непреднамеренно». Акцент здесь делается на словах «производить» и «вести себя». Они предполагают, что программное обеспечение что-то делает, и мы наблюдаем его поведение.
Однако, это еще не все.
Что относительно ремонтопригодности? У меня может быть такое нефункциональное требование:
Исходный код генератора PDF должен быть
Легко поддерживать и продлевать средний
программист Java.
Это довольно неопределенное требование, но вы поняли.
Ремонтопригодность и возможность повторного использования являются очень важными нефункциональными компонентами любой современной программной программы, особенно с учетом очень высокой стоимости рабочей силы на рынке. Очень часто важно убедиться, что программное обеспечение можно поддерживать быстро и легко.
Ремонтопригодность и возможность повторного использования являются очень важными нефункциональными компонентами любой современной программной программы, особенно с учетом очень высокой стоимости рабочей силы на рынке. Очень часто важно убедиться, что программное обеспечение можно поддерживать быстро и легко.
Если это можно поддерживать только медленно, мы можем найти новых программистов для улучшения кода. Если это быстро, но недостижимо, мы не сможем сделать что-либо с этим позже, и нам придется переписать его с нуля, если потребуется какая-то новая функция.
Определение ошибки в программном обеспечении, данное Википедии, не охватывает вообще ремонтопригодность и ошибки повторного использования. Это создает общий источник недоразумений - непоследовательный стиль кода не является ошибкой.
Это не правильно.
Несогласованный стиль кода - это ошибка программного обеспечения, так как это неполная документация, отсутствие документации, слишком сложный код, отсутствие руководства по стилю кодирования и т.д.
Я бы переписал абзац определения ошибки в Википедии следующим образом:
Ошибка программного обеспечения - это поломка, сбой или ошибка в компьютерной программе/системе, которая вызывает нарушение хотя бы одного из его функциональных или нефункциональных требований.
Это определение выглядит более точным для меня.
Определение ошибки в программном обеспечении, данное Википедии, не охватывает вообще ремонтопригодность и ошибки повторного использования. Это создает общий источник недоразумений - непоследовательный стиль кода не является ошибкой.
Это не правильно.
Несогласованный стиль кода - это ошибка программного обеспечения, так как это неполная документация, отсутствие документации, слишком сложный код, отсутствие руководства по стилю кодирования и т.д.
Я бы переписал абзац определения ошибки в Википедии следующим образом:
Ошибка программного обеспечения - это поломка, сбой или ошибка в компьютерной программе/системе, которая вызывает нарушение хотя бы одного из его функциональных или нефункциональных требований.
Это определение выглядит более точным для меня.
Комментариев нет:
Отправить комментарий