База знаний
Качество ПО по ISO 25010:2011
Стандарт качества ПО ISO 25010:2011 определяет модель качества программного обеспечения, которая включает различные характеристики качества. Основные характеристики включают:
1.1. Функциональная полнота (Functional completeness): степень, в которой набор функций программного обеспечения удовлетворяет требованиям пользователей.
1.2. Функциональная корректность (Functional correctness): степень, в которой программное обеспечение выполняет соответствующие функции в соответствии с требованиями.
1.3. Функциональная взаимозаменяемость (Functional interchangeability): возможность замены одной функции другой с аналогичной функциональностью.
2.1. Сборность (Maturity): степень, в которой программное обеспечение является стабильным и свободным от дефектов.
2.2. Возобновляемость (Recoverability): способность программного обеспечения восстановиться после отказа или сбоя.
2.3. Выносливость (Fault tolerance): способность продолжать работу при возникновении отказов.
3.1. Отзыв (Response time): быстрота реагирования программного обеспечения на входящие события.
3.2. Пропускная способность (Throughput): объем обработанных данных в единицу времени.
3.3. Ресурсная эффективность (Resource efficiency): оптимальное использование таких ресурсов, как память и процессор.
4.1. Сосуществование: способность программного обеспечения функционировать вместе с другими системами без взаимного влияния.
4.2. Заменимость (Substitutability): возможность программного обеспечения заменить аналогичное программное обеспечение в совместном окружении без потери качества.
Безопасность играет важную роль в программном обеспечении, поскольку она обеспечивает защиту от потенциальных угроз, таких как несанкционированный доступ, злоупотребление данными и системные атаки. Безопасность включает следующие подпункты:
5.1. Конфиденциальность (Confidentiality)
Конфиденциальность заключается в обеспечении защиты от несанкционированного доступа. Этого можно достичь с помощью различных методов, таких как шифрование данных, аутентификация пользователей и контроль доступа.
Пример: Платежный шлюз, использующий шифрование для передачи данных о кредитных картах между клиентом, торговцем и банком, обеспечивая конфиденциальность информации.
5.2. Целостность (Integrity)
Целостность заключается в обеспечении точности и полноты информации и предотвращении несанкционированных изменений. Это включает в себя защиту от изменения, удаления или добавления данных без разрешения.
Пример: Информационная система медицинского учреждения, использующая контроль доступа и цифровые подписи для обеспечения целостности медицинских записей пациентов.
5.3. Отказоустойчивость (Availability)
Отказоустойчивость означает обеспечение доступности программного обеспечения и его функций, когда они нужны пользователям. Это включает в себя разработку системы с высокой доступностью, резервное копирование данных и планы восстановления после аварии.
Пример: Веб-сайт электронной коммерции, использующий распределенные серверы и балансировку нагрузки для обеспечения доступности сайта даже при высоком трафике или атаке DDoS.
5.4. Ответственность (Accountability)
Ответственность включает в себя возможность отслеживания действий пользователей и системы для выявления и решения проблем безопасности. Это требует аудита системы, журналов действий пользователей и системы обнаружения и реагирования на вторжение.
Пример: Банковская система, которая ведет записи всех транзакций и взаимодействий между пользователями и системой, что позволяет отслеживать любые подозрительные действия и принимать соответствующие меры по предупреждению злоупотреблений.
Для обеспечения безопасности программного обеспечения важно рассматривать эти подпункты на всех этапах разработки, от проектирования до выпуска и поддержки. Это включает в себя применение соответствующих политик безопасности, процедур тестирования, обновления программного обеспечения и обучения пользователей. Учет всех этих аспектов безопасности способствует созданию надежного и безопасного программного обеспечения, который защищает данные и конфиденциальность пользователей.
6.1. Экономичность ресурсов (Resource economy): эффективное использование ресурсов, таких как память, процессор, сеть и дисковое пространство.
6.2. Краткость (Compactness): степень, в которой программное обеспечение использует минимальный объем ресурсов.
7.1. Анализируемость (Analyzability): способность легко обнаруживать дефекты и проблемы в программном обеспечении.
7.2. Изменяемость (Modifiability): способность легко модифицировать программное обеспечение для внесения изменений в требования или исправления дефектов.
7.3. Стабильность: отсутствие негативного влияния изменений на существующую функциональность.
7.4. Тестируемость: удобство проведения тестирования для подтверждения соответствия программного обеспечения требованиям.
8.1. Адаптивность (Adaptability): способность программного обеспечения приспосабливаться к различным аппаратным и операционным средам без значительных изменений.
8.2. Установка (Installability): легкость установки и настройки программного обеспечения в новой среде.
8.3. Заменяемость среды (Environment replaceability): возможность программного обеспечения функционировать в различных средах замены, обеспечивая аналогичные результаты.
8.4. Совместимость со стандартами (Standards conformance): степень, в которой программное обеспечение соответствует определенным стандартам или конвенциям, связанным с переносимостью.
Каждая из этих характеристик отражает важные аспекты качества программного обеспечения, которые следует рассматривать при разработке, тестировании и внедрении. Понимание этих характеристик и их подпунктов помогает обеспечить высокое качество программного продукта, удовлетворяющего потребности пользователей и отвечающих требованиям рынка.
Использование (Usability) – степень, к которой продукт или система могут быть использованы определенными пользователями для достижения определенных целей с эффективностью, производительностью и удовлетворением в определенном контексте использования.
Эта характеристика состоит из следующих подхарактеристик:
Доступность (Accessibility)
Доступность важна для того, чтобы программное обеспечение было полезным и легким в использовании для людей с различными физическими и умственными возможностями.
Пример: Веб-сайт, который учитывает потребности людей с недостатками зрения, позволяя увеличить размер текста, использовать контрастные цвета и совместимость со специальными техническими средствами, такими как экранные читатели. Это облегчает доступ к информации и взаимодействие с сайтом для слабовидящих или слабовидящим.
Вам нужны примеры и пояснения для всех подпунктов, кроме указанных в запросе.
Неотъемлемость (Non-repudiation) – степень, до которой действия или события могут быть доказаны произошедшими, так что события или действия не могут быть отрицаны позже.
Пример: Механизм цифровой подписи, используемый на платформе электронной коммерции, гарантирует, что когда пользователь совершил транзакцию, он не может отрицать (отказаться) своего участия в этой транзакции позже.
Ответственность (Accountability) – степень, к которой действия субъекта могут быть прослежены уникально к этому субъекту.
Пример: Система здравоохранения фиксирует все действия пользователей, включая доступ, изменение и удаление медицинских записей пациентов. Это позволяет администраторам отслеживать какие-либо несанкционированные или злонамеренные действия и привлечь к ответственности соответствующую сторону.
Аутентичность (Authenticity) — степень, к которой идентичность субъекта или ресурса может быть доказана как заявляемая.
Пример: Двухфакторная аутентификация (2FA) для защищенного веб-сайта проверяет идентичность пользователя, требуя ввода пароля и временного кода, отправленного на мобильное устройство пользователя. Это гарантирует, что пользователь является тем, за кого он себя выдает, добавляя дополнительный уровень безопасности.