Найти в Дзене

Многоуровневая модель качества программного обеспечения (часть 2)

Качество определяется в стандарте ISO 9126 как вся совокупность его характеристик, относящихся к возможности удовлетворять высказанные или подразумеваемые потребности всех заинтересованных лиц. Стандарт ISO 9126 предлагает использовать для описания внутреннего и внешнего качества ПО многоуровневую модель. На верхнем уровне выделено 6 основных характеристик качества ПО. Внешние факторы качества, которые могут обнаружить пользователи: Внутренние факторы качества, которые видят только разработчики: 1. Функциональность Определение:
Функциональность программного обеспечения — это его способность выполнять требуемые функции и задачи, а также соответствовать требованиям пользователя. Полнота: Программа должна реализовывать все необходимые функции для выполнения задач пользователя. Все ожидаемые компоненты и модули должны быть включены. Пример: Бухгалтерская программа должна уметь корректно рассчитывать налоги, вести отчетность и учитывать все возможные виды транзакций. Корректность: ПО должно
Оглавление

Многоуровневая модель качества ПО в стандарте ISO 9126

Качество определяется в стандарте ISO 9126 как вся совокупность его характеристик, относящихся к возможности удовлетворять высказанные или подразумеваемые потребности всех заинтересованных лиц.

Стандарт ISO 9126 предлагает использовать для описания внутреннего и внешнего качества ПО многоуровневую модель.

На верхнем уровне выделено 6 основных характеристик качества ПО.

Внешние факторы качества, которые могут обнаружить пользователи:

  • корректность;
  • устойчивость;
  • расширяемость;
  • повторное использование;
  • совместимость;
  • эффективность;
  • переносимость;
  • простота использования;
  • функциональность;
  • своевременность.

Внутренние факторы качества, которые видят только разработчики:

  • читаемость;
  • модульность;
  • лёгкость обнаружения ошибок.

Основные характеристики многоуровневой модели качества ПО

1. Функциональность

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

Полнота: Программа должна реализовывать все необходимые функции для выполнения задач пользователя. Все ожидаемые компоненты и модули должны быть включены.

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

Корректность: ПО должно выполнять свои функции точно и без ошибок.

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

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

Пример: Медицинская программа должна соответствовать стандартам и протоколам безопасности данных пациентов.

Совместимость: ПО должно взаимодействовать с другими системами и программными продуктами.

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

2. Надежность

Определение:
Надежность характеризует способность ПО работать без сбоев в течение определенного времени и правильно восстанавливаться после ошибок.

Безотказность: ПО должно продолжать работать, даже если возникает ошибка или сбой, либо должно минимизировать их влияние на пользователя.

Пример: Онлайн-магазин должен продолжать функционировать при высокой нагрузке, даже если некоторые серверы выходят из строя.

Восстанавливаемость: Способность ПО быстро восстанавливаться после сбоев и аварий, а также минимизировать потери данных.

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

Надежность во времени: Это способность системы стабильно работать на протяжении долгого времени без необходимости частого вмешательства разработчиков.

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

Время безотказной работы: Способность ПО быть доступным для использования в течение определенного времени.

Пример: Интернет-банкинг должен быть доступен пользователям круглосуточно с минимальными периодами недоступности.

3. Удобство использования

Определение:
Удобство использования характеризует, насколько просто пользователям изучать и использовать ПО для достижения своих целей.

Легкость изучения: Насколько быстро и легко пользователи могут начать работать с программой, освоив основные функции.

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

Удобство взаимодействия: Насколько легко пользователю взаимодействовать с интерфейсом программы.

Пример: Мобильное приложение должно иметь логичную навигацию, где основные функции находятся на видных местах.

Удовлетворенность: Степень удовлетворения пользователей программным продуктом в процессе работы.

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

Эстетика и дизайн: Визуальная привлекательность и функциональность интерфейса.

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

4. Эффективность

Определение:
Эффективность ПО определяется тем, насколько оптимально оно использует ресурсы, такие как процессорное время, память и энергопотребление.

Время отклика: Насколько быстро ПО реагирует на запросы пользователя и выполняет операции.

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

Использование ресурсов: Насколько эффективно программа использует аппаратные ресурсы, такие как память и процессор.

Пример: Мобильное приложение должно потреблять минимальное количество батареи и работать плавно даже на устаревших устройствах.

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

Пример: Сервис потоковой передачи видео должен обеспечивать высокое качество видео, независимо от количества подключенных пользователей.

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

Определение: сопровождаемость — это способность программного обеспечения легко поддаваться изменениям, адаптации и исправлениям.

Анализируемость: насколько легко понять структуру программы и выявить ошибки или недостатки.

Пример: хорошо документированный код с комментариями упрощает понимание и внесение изменений.

Модифицируемость: легкость внесения изменений в код программы для добавления новых функций или исправления ошибок.

Пример: если требуется изменить интерфейс приложения, то сопровождаемое ПО позволит сделать это без кардинальных изменений в коде.

Тестируемость: насколько легко можно протестировать ПО для выявления ошибок и соответствия требованиям.

Пример: Тестируемое ПО позволяет разработчикам легко создавать тесты для проверки новых функций и исправлений.

Стабильность: способность программы сохранять свою производительность и поведение при внесении изменений.

Пример: Обновления приложения должны быть стабильными и не влиять на основные функции.

6. Переносимость

Определение: переносимость ПО характеризует его способность работать на различных платформах и устройствах без значительных изменений.

Адаптируемость: легкость адаптации ПО к новой операционной системе или аппаратной среде.

Пример: Веб-приложение, которое может запускаться на Windows, macOS и Linux без изменения кода.

Устанавливаемость: насколько просто установить программу на различные системы.

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

Заменяемость: способность программы заменять другую программу с аналогичными функциями без серьезных изменений.

Пример: Замена одного текстового редактора на другой без необходимости переучивать пользователей.

Пример построения многоуровневой модели качества

Пример построения многоуровневой модели качества
Пример построения многоуровневой модели качества