Качество программного обеспечения | это... Что такое Качество программного обеспечения? (original) (raw)

Разработка программного обеспечения

Процесс разработки ПО
Шаги процесса
АнализПроектированиеПрограммированиеДокументированиеТестирование
Модели
ИтеративнаяСпиральнаяКаскаднаяV-ModelDual Vee Model
Методологии
Agile (XP, Lean, Scrum, FDD и др.) • CleanroomOpenUPRADRUPMSFDSDMTDD
Сопутствующие дисциплины
Конфигурационное управлениеУправление проектамиУправление требованиями

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

Качество исходного кода

Качество кода может определяться различными критериями. Некоторые из них имеют значение только с точки зрения человека. Например, то, как отформатирован текст программы, совершенно не важно для компьютера, но может иметь серьёзное значение для последующего сопровождения. Многие из имеющихся стандартов оформления кода, определяющих специфичные для используемого языка соглашения и задающие ряд правил, улучшающих читаемость кода, имеют своей целью облегчить будущее сопровождение ПО, включающее отладку и обновление. Существуют и другие критерии, определяющие, «хорошо» ли написан код, например, такие, как структурированность — степень логического разбиения кода на ряд управляемых блоков.

Методы улучшения качества кода: рефакторинг.

Факторы качества

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

Некоторые из факторов качества:

понятность

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

полнота

Все необходимые части программы должны быть представлены и полностью реализованы.

краткость

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

портируемость

Лёгкость в адаптации программы к другому окружению: другой архитектуре, платформе, операционной системе или её версии.

согласованность

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

сопровождаемость

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

тестируемость

Позволяет ли программа выполнить проверку приёмочных характеристик, поддерживается ли возможность измерения производительности.

удобство использования

Простота и удобство использования программы. Это требование относится прежде всего к интерфейсу пользователя.

надёжность

отсутствие отказов и сбоев в работе программ, а также простота исправления дефектов и ошибок:

структурированность

эффективность

Насколько рационально программа относится к ресурсам (память, процессор) при выполнении своих задач.

безопасность

С точки зрения пользователя

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

См. также

Ссылки

Просмотр этого шаблона Разработка программного обеспечения
Известныедеятели Кент БекГради БучФред Брукс • Barry Boehm • Уорд КаннингемОле-Йохан Даль • Том Демарко • Эдсгер Вибе ДейкстраДональд КнутМартин ФаулерЧарльз Энтони Ричард Хоар • Watts Humphrey • Майкл Джексон • Ивар Якобсон • Craig Larman • James Martin • Мейер Бертран • Дэвид Парнас • Winston W. Royce • James Rumbaugh • Никлаус ВиртЭдвард ЙорданСтив Макконнелл
Процесс Анализ требованийПроектированиеПрограммированиеТестированиеВнедрениеСопровождениеФормальные методыСтадии разработки
Концепции Моделирование данных • Архитектура ПОФункциональная спецификация • Язык моделирования • ПарадигмаМетодологияПроцесс разработкиКачество • Обеспечение качества • Структурный анализ)
Направления Программирование (Аспектно-ориентированноеОбъектно-ориентированноеПроблемно-ориентированное) • ОнтологияСервис-ориентированная архитектураОценка затрат на разработку
Моделиразработки AgileCleanroomCASEИтеративная разработкаRUPOpenUPRADScrumMSFСпиральнаяКаскаднаяXPV-ModelDual Vee ModelDSDM
Другие модели CMMCMMIДанных • Function model • IDEFИнформационная • Metamodeling • Object model • View model • UML
Прочее Информатика • Инженерия (Компьютерная • Организационная) • История разработки ПО • Документирование • Управление (КонфигурационноеПроектамиПрограммамикачеством) • ЭргономикаСистемотехникаОбратная разработкаВерсии