Качество программного обеспечения
Процесс разработки ПО | |
Шаги процесса | |
---|---|
Анализ | Проектирование | Реализация | Тестирование | Внедрение | Сопровождение | |
Модели / Методы | |
Agile | Cleanroom | Итеративная | RAD | Scrum | RUP | OpenUP | MSF | Спиральная | Водопад | XP | |
Сопутствующие дисциплины | |
Конфигурационное управление | Документирование | Управление проектами | |
Ка́чество програ́ммного обеспечения — характеристика программного обеспечения (ПО) как степени его соответствия требованиям. При этом требования могут трактоваться довольно широко, что порождает целый ряд независимых определений понятия. Чаще всего используется определение ISO 9001, согласно которому качество есть «степень соответствия присущих характеристик требованиям».
Качество исходного кода
Качество кода может определяться различными критериями. Некоторые из них имеют значение только с точки зрения человека. Например, то, как отформатирован текст программы, совершенно не важно для компьютера, но может иметь серьёзное значение для последующего сопровождения. Многие из имеющихся стандартов оформления кода, определяющих специфичные для используемого языка соглашения и задающие ряд правил, улучшающих читаемость кода, имеют своей целью облегчить будущее сопровождение ПО, включающее отладку и обновление. Существуют и другие критерии, определяющие, «хорошо» ли написан код, например, такие, как структурированность — степень логического разбиения кода на ряд управляемых блоков.
- Читаемость кода
- Лёгкость поддержки, тестирования, отладки, исправления ошибок, изменения и портируемости
- Низкая сложность кода
- Низкое использование ресурсов: памяти и процессорного времени
- Корректная обработка исключительных ситуаций
- Низкое количество предупреждений при компиляции и линковке
Методы улучшения качества кода: рефакторинг.
Факторы качества
Фактор качества ПО — это нефункциональное требование к программе, которое обычно не описывается в договоре с заказчиком, но, тем не менее, является желательным требованием, повышающим качество программы.
Некоторые из факторов качества:
- понятность
- Назначение ПО должно быть понятным, из самой программы и документации.
- полнота
- Все необходимые части программы должны быть представлены и полностью реализованы.
- краткость
- Отсутствие лишней, дублирующейся информации. Повторяющиеся части кода должны быть преобразованы в вызов общей процедуры. То же касается и документации.
- портируемость
- Лёгкость в адаптации программы к другому окружению: другой архитектуре, платформе, операционной системе или её версии.
- согласованность
- По всей программе и в документации должны использоваться одни и те же соглашения, форматы и обозначения.
- сопровождаемость
- Насколько сложно изменить программу для удовлетворения новых требований. Это требование также указывает, что программа должна быть хорошо документирована, не слишком запутана, и иметь резерв роста по использованию ресурсов (память, процессор).
- тестируемость
- Позволяет ли программа выполнить проверку приёмочных характеристик, поддерживается ли возможность измерения производительности.
- удобство использования
- Простота и удобство использования программы. Это требование относится прежде всего к интерфейсу пользователя.
- надёжность
- отсутствие отказов и сбоев в работе программ, а также простота исправления дефектов и ошибок:
- структурированность
- эффективность
- Насколько рационально программа относится к ресурсам (память, процессор) при выполнении своих задач.
- безопасность
С точки зрения пользователя
Помимо технического взгляда на качество ПО, существует и оценка качества с позиции пользователя. Для этого аспекта качества иногда используют термин «юзабилити». Довольно сложно получить оценку юзабилити для заданного программного продукта. Наиболее важные из вопросов, влияющий на оценку:
- Является ли пользовательский интерфейс интуитивно понятным?
- Насколько просто выполнять простые, частые операции?
- Насколько легко выполняются сложные операции?
- Выдаёт ли программа понятные сообщения об ошибках?
- Всегда ли программа ведёт себя так как ожидается?
- Имеется ли документация и насколько она полна?
- Является ли интерфейс пользователя само-описательным/само-документирующим?
- Всегда ли задержки с ответом программы являются приемлемыми?
См. также
Ссылки
ПО | Это незавершённая статья о программном обеспечении. Вы можете помочь проекту, исправив и дополнив её. |
ar:جودة البرمجيات de:Softwarequalität en:Software quality es:Calidad de software fi:Ohjelmiston laatu fr:Qualité logicielle it:Qualità del software ja:ソフトウェア品質 pl:Jakość oprogramowania pt:Qualidade de software zh:软件质量
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....