SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Нефункциональные требования
к программному обеспечению

       Наталья Желнова
        Вера Иванова
Содержание
• Классификация нефункциональных требований
• Шаблоны нефункциональных требований
• Численные значения нефункциональных требований
• Связи между нефункциональными и функциональными
  требованиями
• Влияние различных категорий нефункциональных
  требований друг на друга
• Атрибуты качества продукта и нефункциональные
  требования
• Роли в проекте, с которыми взаимодействует аналитик
  при выявлении и уточнении нефункциональных
  требований
Термины и определения

• Определение требований
  – Условие или возможность, требуемая пользователем
    для решения задач или достижения целей
  – Условие или возможность, которые должны
    удовлетворяться системой/компонентом системы или
    которыми система/компонент системы должна
    обладать для обеспечения условий контракта,
    стандартов, спецификаций или др. регулирующими
    документами
  – Документальная репрезентация (зафиксированное
    представление, определение, описание) условий или
    возможностей, перечисленных в предыдущих пунктах
Термины и определения

• Типы требований
  – Потребности (needs) – отражают проблемы
    бизнеса, персоналии или процесса, которые
    должны быть соотнесены с использованием
    системы
  – Функциональные требования
  – Нефункциональные требования
  – Системные требования
Термины и определения

• Функциональные требования
  – Условие или возможность, требуемая
    пользователем для решения задач или
    достижения целей
  – Условие или возможность, которые должны
    удовлетворяться системой/компонентом
    системы или которыми система/компонент
    системы должна обладать для обеспечения
    условий контракта, стандартов, спецификаций
    и др. регулирующих документов
Термины и определения
• Нефункциональные требования
  – Бизнес-правила (Business Rules) – основываются на корпоративных
    регламентах, политиках, стандартах, законодательных актах,
    алгоритмах, etc.
  – Внешние интерфейсы – описание аспектов взаимодействия с
    другими системами, операционной средой
  – Атрибуты качества (Quality Attributes) – дополнительные
    характеристики продукта, важные для пользователей и/или
    разработчиков (переносимость на другие платформы,
    оперативная совместимость, целостность, устойчивость, etc.)
  – Ограничения (Constraints) – условия, ограничивающие выбор
    возможных решений по реализации отдельных требований или их
    наборов
  – Предложения по реализации – предложения, оценивающие
    возможность использования определенных технологических и
    архитектурных решений
  – Предложения по тестированию разрабатываемого ПО –
    дополнения к требованиям, указывающие, каким образом то или
    иное требование должно быть протестировано
  – Юридические требования – требования к лицензированию,
    патентной чистоте, etc.
Термины и определения

• Системные требования
  – Высокоуровневые требования к программному
    обеспечению, содержащему несколько или
    много взаимосвязанных подсистем и
    приложений

  Вигерс Карл. Разработка требований к
  программному обеспечению
  610.12-1990 - IEEE Standard Glossary of Software
  Engineering Terminology
Типы нефункциональных
                            требований
                                              Нефункциональные
                                              требования


                  Требования к                  Организационные               Внешние
                  продукту                      требования                    требования



Требования к          Требования к      Требования к        Требования к
эксплуатации          надежности        переносимости       взаимодействию


          Требования к                                                                     Юридические
          эффективности                           Требования к
                                                                  Стандарты                требования
                                                  реализации



                                                                  Требования о             Требования по
 Требования к            Требования к
                                                                  сохранении               технике
 производительности      памяти
                                                                  конфиденциальности       безопасности
Состав спецификаций
Модель качества ПО
           Характеристики качественного ПО
•   Легко использовать
•   Хорошая производительность
•   Нет ошибок
•   Не портит пользовательские данные при сбоях
•   Можно использовать на разных платформах
•   Может работать 24 часа в сутки и 7 дней в неделю
•   Легко добавлять новые возможности
•   Удовлетворяет потребности пользователей
•   Хорошо документировано
•   etc.
Создание модели качества ПО
• Определение заинтересованных лиц
• Определение критериев качества
• Нахождение решения, удовлетворяющего
  критериям
Модели качества программного
             обеспечения
•   ISO 9126
•   ГОСТ 34
•   McCall’s Quality Model (1977)
•   Boehm’s Quality Model (1978)

1061-1998 IEEE Standard for Software Quality Metrics
Methodology
ISO 8402:1994 Quality management and quality
assurance
Модель качества ISO 9126

Оценка качества ПО основана на трехуровневом рассмотрении:
• Цели (goals) — то, что мы хотим видеть в ПО
• Атрибуты (attributes) —свойства ПО, показывающие
  приближение к целям
• Метрики (metrics) — количественные характеристики степени
  наличия атрибутов
Выделено 6 целей:
• функциональность (functionality)
• надежность (reliability)
• практичность или удобство использования (usability)
• эффективность (efficiency)
• сопровождаемость (maintainability)
• переносимость или мобильность (portability).
Характеристики качества ПО
                (ISO 9126)
Наименование       Набор атрибутов
характеристики
Функциональность   Пригодность к определенной работе(suitability)
                   Точность, правильность (accuracy)
                   Способность к взаимодействию (interoperability)
                   Соответствие стандартам и правилам (compliance)
                   Защищенность (security)
Надёжность         Зрелость, завершенность (обратна к частоте отказов)
                   (maturity)
                   Устойчивость к отказам (fault tolerance)
                   Способность к восстановлению работоспособности при
                   отказах (recoverability)
                   Доступность
                   Готовность
                   Соответствие стандартам надежности (reliability compliance,
                   добавлен в 2001)
Характеристики качества ПО
                 (ISO 9126)
Наименование             Набор атрибутов
характеристики
Практичность, удобство   Понятность (understandability)
использования            Удобство обучения (learnability)
                         Работоспособность (operability)
                         Привлекательность (attractiveness, добавлен в 2001)
                         Соответствие стандартам практичности (usability compliance,
                         добавлен в 2001)
Эффективность            Временные характеристики (time behaviour)
                         Использование ресурсов (resource utilisation)
                         Соответствие стандартам эффективности (efficiency
                         compliance,добавлен в 2001)
Характеристики качества ПО
                (ISO 9126)
Наименование       Набор атрибутов
характеристики
Сопровождаемость   Анализируемость (analyzability)
                   Изменяемость, удобство внесения изменений (changeability)
                   Риск возникновения неожиданных эффектов при внесении
                   изменений (stability)
                   Контролируемость, удобство проверки (testability)
                   Соответствие стандартам сопровождаемости (maintainability
                   compliance, добавлен в 2001)
Переносимость      Адаптируемость (adaptability)
                   Устанавливаемость, удобство установки (installability)
                   Способность к сосуществованию с другим ПО (coexistence)
                   Удобство замены другого ПО данным (replaceability)
                   Соответствие стандартам переносимости (portability
                   compliance, добавлен в 2001)
Характеристики качества

• Функциональность – способность решать задачи,
  которые соответствуют зафиксированным и
  предполагаемым потребностям пользователя, при
  заданных условиях использования
• Надежность – способность выполнять требуемые
  задачи в обозначенных условиях на протяжении
  заданного промежутка времени или указанное
  количество операций
• Удобство использования – возможность легкого
  понимания, изучения, использования и
  привлекательности ПО для пользователя
Характеристики качества
• Эффективность – способность обеспечивать
  требуемый уровень производительности в
  соответствии с выделенными ресурсами, временем
  и другими обозначенными условиями
• Удобство сопровождения – легкость, с которой ПО
  может анализироваться, тестироваться, изменяться
  для исправления дефектов, для реализации новых
  требований, для облегчения дальнейшего
  обслуживания и адаптироваться к изменяющемуся
  окружению
• Переносимость – характеризует ПО с точки зрения
  легкости его переноса из одного окружения
  (software/hardware) в другое
Основные характеристики качества
          ПО (ISO 9126)
• Системная эффективность — применение
  программного продукта по назначению
• Продуктивность — производительность при
  решении основных задач системы, достигаемая при
  реально ограниченных ресурсах в конкретной
  внешней среде применения
• Безопасность — надежность функционирования
  комплекса программ и возможный риск от его
  применения для людей, бизнеса и внешней среды
• Удовлетворение требований и затрат
  пользователей в соответствии с целями
  применения системы
Модель качества ПО по МакКолу

           Характеристики качества:
• Факторы (factors), описывающие ПО с позиций
  пользователя и задаваемые требованиями
• Критерии (criteria), описывающие ПО с
  позиций разработчика и задаваемые как цели
• Метрики (metrics), используемые для
  количественного описания и измерения
  качества
Критерии качества ПО по МакКолу

Критерии качества — числовые уровни факторов, поставленные в
качестве целей при разработке:
• Удобство проверки на соответствие стандартам (auditability)
• Точность управления и вычислений (accuracy)
• Степень стандартности интерфейсов (communication
   commonality)
• Функциональная полнота (completeness)
• Однородность используемых правил проектирования и
• документации (consistency)
• Степень стандартности форматов данных (data commonality)
• Устойчивость к ошибкам (error tolerance)
• Эффективность работы (execution efficiency)
• Расширяемость (expandability)
Критерии качества ПО по МакКолу

• Широта области потенциального использования (generality)
• Независимость от аппаратной платформы (hardware
  independence)
• Полнота протоколирования ошибок и других событий
  (instrumentation)
• Модульность (modularity)
• Удобство работы (operability)
• Защищенность (security)
• Самодокументированность (selfdocumentation)
• Простота работы ( simplicity)
• Независимость от программной платформы (software system
  independence)
• Возможность соотнесения проекта с требованиями (traceability)
• Удобство обучения (training)
Критерии качества ПО по Боэму

Дополнительные атрибуты качества по Боему:
•   ясность (clarity),
•   удобство внесения изменений (modifiability),
•   документированность (documentation),
•   способность к восстановлению функций (resilience),
•   понятность (understandability),
•   адекватность ( validity),
•   функциональность (functionality),
•   универсальность (generality),
•   экономическая эффективность (economy)
ГОСТ 34 (с дополнениями)
Runtime (атрибуты, относящиеся ко времени
работы приложения или системы):
•   Доступность
•   Надежность
•   Требования к времени хранения данных
•   Масштабируемость
•   Требования к удобству использования
•   Требования к безопасности
•   Требования к конфигурируемости
•   Требования к производительности
•   Ограничения
ГОСТ 34 (с дополнениями)
Design time (атрибуты, определяющие ключевые аспекты
проектирования приложения или системы):
• Требования к повторному использованию реализации или
  компонентов приложения/системы
• Требования к расширяемости
• Требования к переносимости
• Требования к взаимодействию
• Требования к поддержке
• Требования к модульности
• Требования к возможности тестирования
• Требования к возможности и простоте локализации
• Требования к совместимости между версиями приложений
См. Нефункциональные требования к ПО
Численные характеристики
Доступность (отказоустойчивость)
• Частота недоступности системы в пределах временного
  интервала, который используется для определения доступности
• Продолжительность недоступности системы
• Доступность по расписанию
   – 5 х 8 (рабочие дни, рабочие часы)
   – 7 х 24 (все дни недели, 24 часа)
   – 365 х 24 (все дни года, 24 часа)
Доступность пять «9 » или 99,999% - стремление индустрии
Например, производители серверов:
Достигнутый результат – 99,998% для кластеров (10 минут
недоступности в течение года)
ПК – 97,5% доступности в среднем (219 часов в год)
Численные характеристики
Классификация по уровню требуемой непрерывности
обслуживания и важности для бизнеса
• Mission Critical- системы, работающие в режиме «боевого
  дежурства».
• Business Critical– системы, критические для управления, с
  режимом работы 24х7х365. Рекомендованное время
  восстановления подобных систем после отказа менее 2 часов.
• Business Operational - обычные бизнес-приложения - системы,
  не требующие работы в реальном времени, с режимом работы
  8х5. Рекомендованное время восстановления подобных систем
  после отказа 4-6 часов.
• Office Production - не критические для управления приложения,
  персональные данные. Рекомендованное время
  восстановления подобных систем после отказа 1-2 рабочих дня.
Численные характеристики
Надежность и доступность
• Операционная мера надежности – MTTF
  (Mean Time To Failure – среднее время до
  отказа или наработка на отказ). Измеряется
  в часах
• Частота отказов: (1/ MTTF)
• Среднее время на устранение отказа –
  MTTR (Mean Time To Repair)
Численные характеристики
  Связь между уровнем дефектов и
  значениями MTTF
Дефектов на KLOC        MTTF
Больше 30               Меньше 2 минут
20-30                   4-15 минут
10-20                   5-60 минут
5-10                    1-4 часа
2-5                     4-24 часа
1-2                     24-160 часов
Меньше 1                Не определено
Численные характеристики
Надежность и доступность (промышленные
средние)
• Среднее число ошибок в бизнес - системах,
  найденное в течение первого года эксплуатации:
  – США 4,44/KLOC
  – Япония 1,96/KLOC
• Среднее число ошибок в ПО
  – CMMI уровень 1 7,38/KLOC
  – CMMI уровень 3 1,30/KLOC
• Число ошибок в системах высокой доступности
  (99,9%+)
  – Должно быть ниже 0,01/KLOC
Численные характеристики
Производительность
Transaction Processing Performance Council
• Число операций в секунду:
   – Ед. измерения: MIPS – миллионы инструкций в секунду
• Число транзакций в секунду
   – TPC-App для серверов приложений и веб-сервисов
   – TPC-C для операций многих пользователей с базой данных
   – TPC-E – новый OLTP тест. Эмулирует брокерскую компанию с
     клиентами, которые генерируют торговые транзакции.
     Компания взаимодействует с финансовыми рынками
   – TPC-H для поддержки принятия решений. Набор
     произвольных бизнес-запросов и параллельная
     модификация данных
Численные характеристики
Производительность
• При заданных параметрах системы
   –   Число серверов
   –   Процессоры
   –   Память
   –   Дисковая подсистема
   –   Сеть
• При заданном объеме базы данных
   – Число записей того или иного сорта, например, число позиций на складе
     или число счетов в банковской системе или число полисов в страховой
     системе
• При меняющемся числе параллельно работающих пользователей
   – Например, 1 – 10 – 100 – 1000 – 10000
• Время отклика системы на воздействие
   – Он-лайн запросы
   – Пакетные запросы (отчеты)
Численные характеристики
Производительность
• Необходимо учитывать разные архитектуры
  – Клиент – сервер
  – Клиент – сервер приложений – сервер базы
    данных
  – Клиент – сервер интерфейса – сервер приложений
    – сервер базы данных
• Как осуществляется балансировка загрузки
  – Автоматически, средствами сервера приложений,
    операционной системы, базы данных
  – Алгоритмами приложения
Численные характеристики
  Безопасность
  • Внешние метрики безопасности:
Метрика          Формула
протоколирование Х = А / В;
доступа          А = число «фактов доступа пользователя к системе и
                 данным», зафиксированных в протоколе системы;
                 В = число «фактов доступа пользователя к системе и
                 данным», которые были произведены во время оценки;
контролируемость Х = А / В;
доступа          А = число обнаруженных видов несанкционированного
                 доступа;
                 В = число видов несанкционированного доступа в
                 спецификации;
Численные характеристики
  Безопасность
  • Внешние метрики безопасности:
Метрика          Формула
предотвращение   а) Х = 1 – А / N;
повреждения      A = число фактов существенного повреждения данных;
данных;          N = число видов тестов, при помощи которых пытались
                 спровоцировать факт повреждения данных;
                 b) Y = 1 – B / N;
                 B = число фактов незначительного повреждения данных;
                 c) Х = A / T или B / T;
                 T = время выполнения операции;
Численные характеристики
  Безопасность
  • Внутренние метрики безопасности:
Метрика            Формула
протоколирование Х = А / В;
доступа          А = число типов доступа, которые были зарегистрированы
                 корректно, как определено в спецификации;
                 В = число типов доступа, которые должны
                 регистрироваться по спецификации;
контроль доступа   Х = А / В;
                   А = число требований контроля доступа, реализованных
                   корректно, в соответствии со спецификацией;
                   В = число требований контроля доступа в спецификации;
Численные характеристики
  Безопасность
  • Внутренние метрики безопасности:
Метрика           Формула
предотвращение    Х = А / В;
повреждения       А = число реализованных механизмов защиты от
данных            повреждения данных;
                  В = число механизмов, требуемых по спецификации;
криптографичес-ка Х = А / В;
я защита данных   А = число реализованных механизмов;
                  В = число требуемых механизмов по спецификации;
Численные характеристики
  Безопасность
 • Метрики безопасности качества в использовании:
    :
Метрика     Формула
безопасность      Х = 1 – А / В;
пользователей и   А = число пользователей, сообщивших о наличии
их здоровья       проблем;
                  В = число пользователей;
безопасность      Х = 1 – А / В;
людей,            А = число людей, подверженных риску;
задействованных   В = число людей, задействованных в использовании
в использовании   продукта;
системы
Численные характеристики
  Безопасность
 • Метрики безопасности качества в использовании:
    :
Метрика     Формула
экономический   Х = 1 – А / В;
ущерб           А = число событий экономического ущерба;
                В = общее число использования системы;
повреждение     Х = 1 – А / В;
прочего ПО      А = число событий повреждения прочего ПО;
                В = общее число использования системы;
Численные характеристики
Если точное значение определить невозможно
• Используйте оценочные значения (границы
  интервалов, за которые нельзя выходить)
• Оценки по порядку величины
  – Например, 1 – 10 – 100 – 1000 – 10000
• Уточняйте требования бизнес-уровня
• Пользуйтесь экспертизой ведущих
  производителей ПО
  – Benchmark tests
  – Техническая документация (MSDN)
Атрибуты качества: проблемы
Общие проблемы:
• Клиентам трудно их определить, и потому они обычно не
  упоминаются
   – У разных классов пользователей свои предпочтения.
• Подразумеваются заказчиками
• Существенны и значимы при выборе архитектурного решения
• Должны быть исследованы во время процесса выявления
  требований при участии всех заинтересованных сторон (а не
  только пользователей)
• Должны быть измеряемы и проверяемы
Атрибуты качества: рабочие группы
Рабочая группа по определению атрибутов качества:
Создание такой группы – это дополнительный способ выявления основных
характеристик систем ПО, смысл которого в привлечении заинтересованных лиц
(владельцы проекта).
• Основные особенности рабочей группы по характеристикам качества:
     – системно-ориентирована
     – сфокусирована на заинтересованных лицах
     – созывается до того, как завершено проектирование архитектуры ПО
•   Результат включает в себя:
     – исходные сценарии
     – сценарии характеристик качества с приоритетами
     – уточненные сценарии
•   Может использоваться для:
     – уточнения требований
     – планирования прототипов для уменьшения рисков
     – проектирования архитектуры
Атрибуты качества: рабочие группы
• Определить список заинтересованных лиц (ЗЛ), с
  которыми можно провести техническое интервью:
   – Представители бизнес-пользователей
   – Архитекторы ПО
   – Ведущие специалисты по тестированию
   – Менеджеры и аналитики зависимых систем
• Составить опросник с архитектурными требованиями:
   – Несколько вопросов для каждого требования
   – Указать приоритет
• Собрать ответы ЗЛ, проанализировать их на
  непротиворечивость.
Атрибуты качества: рабочие группы
Сценарий работы группы по определению
атрибутов качества:
1. Знакомство и представление рабочей группы
2. Представление бизнес-целей и задач
3. Представление плана архитектуры ПО
4. Определение ведущих элементов архитектуры
5. Сценарий «мозговой штурм»
6. Сценарий «консолидация результатов»
7. Сценарий «задание приоритетов»
8. Сценарий «уточнение»
Атрибуты качества: компромиссы
Связь между функциональными и
нефункциональными требованиями
Работа над функциональными требованиями:
• Определение вариантов использования и их
  декомпозиция
• Определение функциональных областей в системе (общие
  цели, общие действующие лица)
• Определение критических факторов, влияющих на
  выполнение сценариев
• Определение действующих ограничений

Weitere ähnliche Inhalte

Was ist angesagt?

OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part IOMG DDS Tutorial - Part I
OMG DDS Tutorial - Part IAngelo Corsaro
 
Intro to GitOps & Flux.pdf
Intro to GitOps & Flux.pdfIntro to GitOps & Flux.pdf
Intro to GitOps & Flux.pdfWeaveworks
 
Embracing Observability in CI/CD with OpenTelemetry
Embracing Observability in CI/CD with OpenTelemetryEmbracing Observability in CI/CD with OpenTelemetry
Embracing Observability in CI/CD with OpenTelemetryCyrille Le Clerc
 
How We Do DevOps at Walmart: OneOps OSS Application Lifecycle Management Plat...
How We Do DevOps at Walmart: OneOps OSS Application Lifecycle Management Plat...How We Do DevOps at Walmart: OneOps OSS Application Lifecycle Management Plat...
How We Do DevOps at Walmart: OneOps OSS Application Lifecycle Management Plat...WalmartLabs
 
Non functional performance requirements v2.2
Non functional performance requirements v2.2Non functional performance requirements v2.2
Non functional performance requirements v2.2Ian McDonald
 
Software Quality Assurance: A mind game between you and devil
Software Quality Assurance: A mind game between you and devilSoftware Quality Assurance: A mind game between you and devil
Software Quality Assurance: A mind game between you and devilNahian Al Hossain Basunia
 
A Top Down Approach to End-to-End Testing
A Top Down Approach to End-to-End TestingA Top Down Approach to End-to-End Testing
A Top Down Approach to End-to-End TestingSmartBear
 
SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...
SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...
SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...Tori Wieldt
 
Successfully Implementing DEV-SEC-OPS in the Cloud
Successfully Implementing DEV-SEC-OPS in the CloudSuccessfully Implementing DEV-SEC-OPS in the Cloud
Successfully Implementing DEV-SEC-OPS in the CloudAmazon Web Services
 
DevOps in a Cloud Native World
DevOps in a Cloud Native WorldDevOps in a Cloud Native World
DevOps in a Cloud Native WorldMichael Ducy
 
Getting sh*t done with Azure Functions (on AKS!)
Getting sh*t done with Azure Functions (on AKS!)Getting sh*t done with Azure Functions (on AKS!)
Getting sh*t done with Azure Functions (on AKS!)Rick van den Bosch
 
ITIL Version 4 Presentation for self reading
ITIL Version 4 Presentation for self readingITIL Version 4 Presentation for self reading
ITIL Version 4 Presentation for self readinggurunath29
 
Snowflake Automated Deployments / CI/CD Pipelines
Snowflake Automated Deployments / CI/CD PipelinesSnowflake Automated Deployments / CI/CD Pipelines
Snowflake Automated Deployments / CI/CD PipelinesDrew Hansen
 
DevOps and Splunk
DevOps and SplunkDevOps and Splunk
DevOps and SplunkSplunk
 
Azure App Service
Azure App ServiceAzure App Service
Azure App ServiceBizTalk360
 

Was ist angesagt? (20)

OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part IOMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
 
Intro to GitOps & Flux.pdf
Intro to GitOps & Flux.pdfIntro to GitOps & Flux.pdf
Intro to GitOps & Flux.pdf
 
Embracing Observability in CI/CD with OpenTelemetry
Embracing Observability in CI/CD with OpenTelemetryEmbracing Observability in CI/CD with OpenTelemetry
Embracing Observability in CI/CD with OpenTelemetry
 
How We Do DevOps at Walmart: OneOps OSS Application Lifecycle Management Plat...
How We Do DevOps at Walmart: OneOps OSS Application Lifecycle Management Plat...How We Do DevOps at Walmart: OneOps OSS Application Lifecycle Management Plat...
How We Do DevOps at Walmart: OneOps OSS Application Lifecycle Management Plat...
 
Non functional performance requirements v2.2
Non functional performance requirements v2.2Non functional performance requirements v2.2
Non functional performance requirements v2.2
 
Software Quality Assurance: A mind game between you and devil
Software Quality Assurance: A mind game between you and devilSoftware Quality Assurance: A mind game between you and devil
Software Quality Assurance: A mind game between you and devil
 
A Top Down Approach to End-to-End Testing
A Top Down Approach to End-to-End TestingA Top Down Approach to End-to-End Testing
A Top Down Approach to End-to-End Testing
 
SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...
SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...
SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...
 
Successfully Implementing DEV-SEC-OPS in the Cloud
Successfully Implementing DEV-SEC-OPS in the CloudSuccessfully Implementing DEV-SEC-OPS in the Cloud
Successfully Implementing DEV-SEC-OPS in the Cloud
 
V model
V modelV model
V model
 
DevOps in a Cloud Native World
DevOps in a Cloud Native WorldDevOps in a Cloud Native World
DevOps in a Cloud Native World
 
DevOps Foundation
DevOps FoundationDevOps Foundation
DevOps Foundation
 
Getting sh*t done with Azure Functions (on AKS!)
Getting sh*t done with Azure Functions (on AKS!)Getting sh*t done with Azure Functions (on AKS!)
Getting sh*t done with Azure Functions (on AKS!)
 
ITIL Version 4 Presentation for self reading
ITIL Version 4 Presentation for self readingITIL Version 4 Presentation for self reading
ITIL Version 4 Presentation for self reading
 
DevOps Best Practices
DevOps Best PracticesDevOps Best Practices
DevOps Best Practices
 
Snowflake Automated Deployments / CI/CD Pipelines
Snowflake Automated Deployments / CI/CD PipelinesSnowflake Automated Deployments / CI/CD Pipelines
Snowflake Automated Deployments / CI/CD Pipelines
 
DevOps and Splunk
DevOps and SplunkDevOps and Splunk
DevOps and Splunk
 
DevOps: Infrastructure as Code
DevOps: Infrastructure as CodeDevOps: Infrastructure as Code
DevOps: Infrastructure as Code
 
Cloud testing
Cloud testingCloud testing
Cloud testing
 
Azure App Service
Azure App ServiceAzure App Service
Azure App Service
 

Ähnlich wie Нефункциональные требования, Наталья Желнова

Нефункциональные требования.pptx
Нефункциональные требования.pptxНефункциональные требования.pptx
Нефункциональные требования.pptxNatalia Zhelnova
 
05 Архитектура информационных систем. Атрибуты качества. Метод ADD
05 Архитектура информационных систем. Атрибуты качества. Метод ADD05 Архитектура информационных систем. Атрибуты качества. Метод ADD
05 Архитектура информационных систем. Атрибуты качества. Метод ADDEdward Galiaskarov
 
Бизнес и системный анализ весна 2013 лекция 6
Бизнес и системный анализ весна 2013 лекция 6Бизнес и системный анализ весна 2013 лекция 6
Бизнес и системный анализ весна 2013 лекция 6Technopark
 
Нефункциональные требования
Нефункциональные требованияНефункциональные требования
Нефункциональные требованияNatalia Zhelnova
 
Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1Technopark
 
Требования к по
Требования к поТребования к по
Требования к поJaneKozmina
 
Инженерия требований
Инженерия требованийИнженерия требований
Инженерия требованийAnatoly Levenchuk
 
Инжиниринг требований
Инжиниринг требованийИнжиниринг требований
Инжиниринг требованийSQALab
 
Тестирование весна 2014 лекция 1
Тестирование весна 2014 лекция 1Тестирование весна 2014 лекция 1
Тестирование весна 2014 лекция 1Technopark
 
QA Lab: тестирование ПО. Эд Изотов: "Jmeter. Достучаться до небес".
QA Lab: тестирование ПО. Эд Изотов: "Jmeter. Достучаться до небес".QA Lab: тестирование ПО. Эд Изотов: "Jmeter. Достучаться до небес".
QA Lab: тестирование ПО. Эд Изотов: "Jmeter. Достучаться до небес".GeeksLab Odessa
 
Наталья Желнова — Как обзавестись аналитиками и получить от них пользу в проекте
Наталья Желнова — Как обзавестись аналитиками и получить от них пользу в проектеНаталья Желнова — Как обзавестись аналитиками и получить от них пользу в проекте
Наталья Желнова — Как обзавестись аналитиками и получить от них пользу в проектеDaria Oreshkina
 
Презентация к докладу на Secon.ru
Презентация к докладу на Secon.ruПрезентация к докладу на Secon.ru
Презентация к докладу на Secon.ruNatalia Zhelnova
 
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUAREТехники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARESQALab
 
Проектирование_и_архитектура_ПС_2022_L05s.ppt
Проектирование_и_архитектура_ПС_2022_L05s.pptПроектирование_и_архитектура_ПС_2022_L05s.ppt
Проектирование_и_архитектура_ПС_2022_L05s.pptdinarium2016
 
Организация процесса тестирования в Agile команде с помощью матрицы квадранто...
Организация процесса тестирования в Agile команде с помощью матрицы квадранто...Организация процесса тестирования в Agile команде с помощью матрицы квадранто...
Организация процесса тестирования в Agile команде с помощью матрицы квадранто...Zestranec
 
Организация тестирования производительности по SWEAT
Организация тестирования производительности по SWEATОрганизация тестирования производительности по SWEAT
Организация тестирования производительности по SWEATSQALab
 
Организация тестирования производительности по SWEAT
Организация тестирования производительности по SWEATОрганизация тестирования производительности по SWEAT
Организация тестирования производительности по SWEATReturn on Intelligence
 

Ähnlich wie Нефункциональные требования, Наталья Желнова (20)

Nfr and quality-models
Nfr and quality-modelsNfr and quality-models
Nfr and quality-models
 
Нефункциональные требования.pptx
Нефункциональные требования.pptxНефункциональные требования.pptx
Нефункциональные требования.pptx
 
05 Архитектура информационных систем. Атрибуты качества. Метод ADD
05 Архитектура информационных систем. Атрибуты качества. Метод ADD05 Архитектура информационных систем. Атрибуты качества. Метод ADD
05 Архитектура информационных систем. Атрибуты качества. Метод ADD
 
Бизнес и системный анализ весна 2013 лекция 6
Бизнес и системный анализ весна 2013 лекция 6Бизнес и системный анализ весна 2013 лекция 6
Бизнес и системный анализ весна 2013 лекция 6
 
Нефункциональные требования
Нефункциональные требованияНефункциональные требования
Нефункциональные требования
 
Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1
 
Требования к по
Требования к поТребования к по
Требования к по
 
Инженерия требований
Инженерия требованийИнженерия требований
Инженерия требований
 
Инжиниринг требований
Инжиниринг требованийИнжиниринг требований
Инжиниринг требований
 
Тестирование весна 2014 лекция 1
Тестирование весна 2014 лекция 1Тестирование весна 2014 лекция 1
Тестирование весна 2014 лекция 1
 
QA Lab: тестирование ПО. Эд Изотов: "Jmeter. Достучаться до небес".
QA Lab: тестирование ПО. Эд Изотов: "Jmeter. Достучаться до небес".QA Lab: тестирование ПО. Эд Изотов: "Jmeter. Достучаться до небес".
QA Lab: тестирование ПО. Эд Изотов: "Jmeter. Достучаться до небес".
 
Наталья Желнова — Как обзавестись аналитиками и получить от них пользу в проекте
Наталья Желнова — Как обзавестись аналитиками и получить от них пользу в проектеНаталья Желнова — Как обзавестись аналитиками и получить от них пользу в проекте
Наталья Желнова — Как обзавестись аналитиками и получить от них пользу в проекте
 
Презентация к докладу на Secon.ru
Презентация к докладу на Secon.ruПрезентация к докладу на Secon.ru
Презентация к докладу на Secon.ru
 
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUAREТехники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
 
Проектирование_и_архитектура_ПС_2022_L05s.ppt
Проектирование_и_архитектура_ПС_2022_L05s.pptПроектирование_и_архитектура_ПС_2022_L05s.ppt
Проектирование_и_архитектура_ПС_2022_L05s.ppt
 
L2 requirements
L2 requirementsL2 requirements
L2 requirements
 
Организация процесса тестирования в Agile команде с помощью матрицы квадранто...
Организация процесса тестирования в Agile команде с помощью матрицы квадранто...Организация процесса тестирования в Agile команде с помощью матрицы квадранто...
Организация процесса тестирования в Agile команде с помощью матрицы квадранто...
 
Организация тестирования производительности по SWEAT
Организация тестирования производительности по SWEATОрганизация тестирования производительности по SWEAT
Организация тестирования производительности по SWEAT
 
Организация тестирования производительности по SWEAT
Организация тестирования производительности по SWEATОрганизация тестирования производительности по SWEAT
Организация тестирования производительности по SWEAT
 
PMIufa 2011-02-24
PMIufa 2011-02-24PMIufa 2011-02-24
PMIufa 2011-02-24
 

Mehr von Alexander Baikin

Модель требований в корпорации
Модель требований в корпорацииМодель требований в корпорации
Модель требований в корпорацииAlexander Baikin
 
Аналитики не нужны требования (поставь запятую, где нужно)
Аналитики не нужны требования (поставь запятую, где нужно)Аналитики не нужны требования (поставь запятую, где нужно)
Аналитики не нужны требования (поставь запятую, где нужно)Alexander Baikin
 
Business rules and additional reqs in Use cases
Business rules and additional reqs in Use casesBusiness rules and additional reqs in Use cases
Business rules and additional reqs in Use casesAlexander Baikin
 
Requirements Engineering: People Processes Tools
Requirements Engineering: People Processes ToolsRequirements Engineering: People Processes Tools
Requirements Engineering: People Processes ToolsAlexander Baikin
 
Инсайды совещаний / Meetings insides
Инсайды совещаний  / Meetings insidesИнсайды совещаний  / Meetings insides
Инсайды совещаний / Meetings insidesAlexander Baikin
 
Работа с требованиями в Интернет стартапе
Работа с требованиями в Интернет стартапеРабота с требованиями в Интернет стартапе
Работа с требованиями в Интернет стартапеAlexander Baikin
 
01. Аналитик. Введение в профессию
01. Аналитик. Введение в профессию01. Аналитик. Введение в профессию
01. Аналитик. Введение в профессиюAlexander Baikin
 
Реверс-инжиниринг требований в проекте по миграции КИС. Алексей Смирнов
Реверс-инжиниринг требований в проекте по миграции КИС.  Алексей СмирновРеверс-инжиниринг требований в проекте по миграции КИС.  Алексей Смирнов
Реверс-инжиниринг требований в проекте по миграции КИС. Алексей СмирновAlexander Baikin
 
Эффективность аналитических работ. Юрий Химонин и Сергей Нужненко
Эффективность аналитических работ.  Юрий Химонин и Сергей НужненкоЭффективность аналитических работ.  Юрий Химонин и Сергей Нужненко
Эффективность аналитических работ. Юрий Химонин и Сергей НужненкоAlexander Baikin
 
Организация управления требованиями. Игорь Архипов
Организация управления требованиями.  Игорь АрхиповОрганизация управления требованиями.  Игорь Архипов
Организация управления требованиями. Игорь АрхиповAlexander Baikin
 
Как вырастить IT-менеджера в техническом ВУЗе? Станислав Ким
Как вырастить IT-менеджера в техническом ВУЗе?  Станислав КимКак вырастить IT-менеджера в техническом ВУЗе?  Станислав Ким
Как вырастить IT-менеджера в техническом ВУЗе? Станислав КимAlexander Baikin
 
Почему у нас менеджеры прототипируют GUI? Рустем Гайфутдинов
Почему у нас менеджеры прототипируют GUI?  Рустем ГайфутдиновПочему у нас менеджеры прототипируют GUI?  Рустем Гайфутдинов
Почему у нас менеджеры прототипируют GUI? Рустем ГайфутдиновAlexander Baikin
 
Бизнес-аналитик: до и после. Анна Власова
Бизнес-аналитик: до и после.  Анна ВласоваБизнес-аналитик: до и после.  Анна Власова
Бизнес-аналитик: до и после. Анна ВласоваAlexander Baikin
 
Круглый стол: Совмещение роли аналитика и руководителя. Илья Корнипаев
Круглый стол: Совмещение роли аналитика и руководителя.  Илья КорнипаевКруглый стол: Совмещение роли аналитика и руководителя.  Илья Корнипаев
Круглый стол: Совмещение роли аналитика и руководителя. Илья КорнипаевAlexander Baikin
 
Цели проекта. Что? Зачем? Как? Константин Быченков
Цели проекта. Что? Зачем? Как?  Константин БыченковЦели проекта. Что? Зачем? Как?  Константин Быченков
Цели проекта. Что? Зачем? Как? Константин БыченковAlexander Baikin
 
Нефункциональные требования к ПО, Вера Иванова
Нефункциональные требования к ПО, Вера ИвановаНефункциональные требования к ПО, Вера Иванова
Нефункциональные требования к ПО, Вера ИвановаAlexander Baikin
 
Requirement Managament System based on Wiki (Confluence+Jira)
Requirement Managament System based on Wiki (Confluence+Jira)Requirement Managament System based on Wiki (Confluence+Jira)
Requirement Managament System based on Wiki (Confluence+Jira)Alexander Baikin
 
Типичные проблемы Выявления Требований и их Решение
Типичные проблемы Выявления Требований и их РешениеТипичные проблемы Выявления Требований и их Решение
Типичные проблемы Выявления Требований и их РешениеAlexander Baikin
 
Планирование процесса Управления Требованиями
Планирование процесса Управления ТребованиямиПланирование процесса Управления Требованиями
Планирование процесса Управления ТребованиямиAlexander Baikin
 

Mehr von Alexander Baikin (20)

Модель требований в корпорации
Модель требований в корпорацииМодель требований в корпорации
Модель требований в корпорации
 
Аналитики не нужны требования (поставь запятую, где нужно)
Аналитики не нужны требования (поставь запятую, где нужно)Аналитики не нужны требования (поставь запятую, где нужно)
Аналитики не нужны требования (поставь запятую, где нужно)
 
Business rules and additional reqs in Use cases
Business rules and additional reqs in Use casesBusiness rules and additional reqs in Use cases
Business rules and additional reqs in Use cases
 
Requirements Engineering: People Processes Tools
Requirements Engineering: People Processes ToolsRequirements Engineering: People Processes Tools
Requirements Engineering: People Processes Tools
 
Инсайды совещаний / Meetings insides
Инсайды совещаний  / Meetings insidesИнсайды совещаний  / Meetings insides
Инсайды совещаний / Meetings insides
 
Работа с требованиями в Интернет стартапе
Работа с требованиями в Интернет стартапеРабота с требованиями в Интернет стартапе
Работа с требованиями в Интернет стартапе
 
01. Аналитик. Введение в профессию
01. Аналитик. Введение в профессию01. Аналитик. Введение в профессию
01. Аналитик. Введение в профессию
 
Реверс-инжиниринг требований в проекте по миграции КИС. Алексей Смирнов
Реверс-инжиниринг требований в проекте по миграции КИС.  Алексей СмирновРеверс-инжиниринг требований в проекте по миграции КИС.  Алексей Смирнов
Реверс-инжиниринг требований в проекте по миграции КИС. Алексей Смирнов
 
Эффективность аналитических работ. Юрий Химонин и Сергей Нужненко
Эффективность аналитических работ.  Юрий Химонин и Сергей НужненкоЭффективность аналитических работ.  Юрий Химонин и Сергей Нужненко
Эффективность аналитических работ. Юрий Химонин и Сергей Нужненко
 
Организация управления требованиями. Игорь Архипов
Организация управления требованиями.  Игорь АрхиповОрганизация управления требованиями.  Игорь Архипов
Организация управления требованиями. Игорь Архипов
 
Как вырастить IT-менеджера в техническом ВУЗе? Станислав Ким
Как вырастить IT-менеджера в техническом ВУЗе?  Станислав КимКак вырастить IT-менеджера в техническом ВУЗе?  Станислав Ким
Как вырастить IT-менеджера в техническом ВУЗе? Станислав Ким
 
Почему у нас менеджеры прототипируют GUI? Рустем Гайфутдинов
Почему у нас менеджеры прототипируют GUI?  Рустем ГайфутдиновПочему у нас менеджеры прототипируют GUI?  Рустем Гайфутдинов
Почему у нас менеджеры прототипируют GUI? Рустем Гайфутдинов
 
Бизнес-аналитик: до и после. Анна Власова
Бизнес-аналитик: до и после.  Анна ВласоваБизнес-аналитик: до и после.  Анна Власова
Бизнес-аналитик: до и после. Анна Власова
 
Круглый стол: Совмещение роли аналитика и руководителя. Илья Корнипаев
Круглый стол: Совмещение роли аналитика и руководителя.  Илья КорнипаевКруглый стол: Совмещение роли аналитика и руководителя.  Илья Корнипаев
Круглый стол: Совмещение роли аналитика и руководителя. Илья Корнипаев
 
Цели проекта. Что? Зачем? Как? Константин Быченков
Цели проекта. Что? Зачем? Как?  Константин БыченковЦели проекта. Что? Зачем? Как?  Константин Быченков
Цели проекта. Что? Зачем? Как? Константин Быченков
 
Нефункциональные требования к ПО, Вера Иванова
Нефункциональные требования к ПО, Вера ИвановаНефункциональные требования к ПО, Вера Иванова
Нефункциональные требования к ПО, Вера Иванова
 
Requirement Managament System based on Wiki (Confluence+Jira)
Requirement Managament System based on Wiki (Confluence+Jira)Requirement Managament System based on Wiki (Confluence+Jira)
Requirement Managament System based on Wiki (Confluence+Jira)
 
Use case in action
Use case in actionUse case in action
Use case in action
 
Типичные проблемы Выявления Требований и их Решение
Типичные проблемы Выявления Требований и их РешениеТипичные проблемы Выявления Требований и их Решение
Типичные проблемы Выявления Требований и их Решение
 
Планирование процесса Управления Требованиями
Планирование процесса Управления ТребованиямиПланирование процесса Управления Требованиями
Планирование процесса Управления Требованиями
 

Нефункциональные требования, Наталья Желнова

  • 1. Нефункциональные требования к программному обеспечению Наталья Желнова Вера Иванова
  • 2. Содержание • Классификация нефункциональных требований • Шаблоны нефункциональных требований • Численные значения нефункциональных требований • Связи между нефункциональными и функциональными требованиями • Влияние различных категорий нефункциональных требований друг на друга • Атрибуты качества продукта и нефункциональные требования • Роли в проекте, с которыми взаимодействует аналитик при выявлении и уточнении нефункциональных требований
  • 3. Термины и определения • Определение требований – Условие или возможность, требуемая пользователем для решения задач или достижения целей – Условие или возможность, которые должны удовлетворяться системой/компонентом системы или которыми система/компонент системы должна обладать для обеспечения условий контракта, стандартов, спецификаций или др. регулирующими документами – Документальная репрезентация (зафиксированное представление, определение, описание) условий или возможностей, перечисленных в предыдущих пунктах
  • 4. Термины и определения • Типы требований – Потребности (needs) – отражают проблемы бизнеса, персоналии или процесса, которые должны быть соотнесены с использованием системы – Функциональные требования – Нефункциональные требования – Системные требования
  • 5. Термины и определения • Функциональные требования – Условие или возможность, требуемая пользователем для решения задач или достижения целей – Условие или возможность, которые должны удовлетворяться системой/компонентом системы или которыми система/компонент системы должна обладать для обеспечения условий контракта, стандартов, спецификаций и др. регулирующих документов
  • 6. Термины и определения • Нефункциональные требования – Бизнес-правила (Business Rules) – основываются на корпоративных регламентах, политиках, стандартах, законодательных актах, алгоритмах, etc. – Внешние интерфейсы – описание аспектов взаимодействия с другими системами, операционной средой – Атрибуты качества (Quality Attributes) – дополнительные характеристики продукта, важные для пользователей и/или разработчиков (переносимость на другие платформы, оперативная совместимость, целостность, устойчивость, etc.) – Ограничения (Constraints) – условия, ограничивающие выбор возможных решений по реализации отдельных требований или их наборов – Предложения по реализации – предложения, оценивающие возможность использования определенных технологических и архитектурных решений – Предложения по тестированию разрабатываемого ПО – дополнения к требованиям, указывающие, каким образом то или иное требование должно быть протестировано – Юридические требования – требования к лицензированию, патентной чистоте, etc.
  • 7. Термины и определения • Системные требования – Высокоуровневые требования к программному обеспечению, содержащему несколько или много взаимосвязанных подсистем и приложений Вигерс Карл. Разработка требований к программному обеспечению 610.12-1990 - IEEE Standard Glossary of Software Engineering Terminology
  • 8. Типы нефункциональных требований Нефункциональные требования Требования к Организационные Внешние продукту требования требования Требования к Требования к Требования к Требования к эксплуатации надежности переносимости взаимодействию Требования к Юридические эффективности Требования к Стандарты требования реализации Требования о Требования по Требования к Требования к сохранении технике производительности памяти конфиденциальности безопасности
  • 10. Модель качества ПО Характеристики качественного ПО • Легко использовать • Хорошая производительность • Нет ошибок • Не портит пользовательские данные при сбоях • Можно использовать на разных платформах • Может работать 24 часа в сутки и 7 дней в неделю • Легко добавлять новые возможности • Удовлетворяет потребности пользователей • Хорошо документировано • etc.
  • 11. Создание модели качества ПО • Определение заинтересованных лиц • Определение критериев качества • Нахождение решения, удовлетворяющего критериям
  • 12. Модели качества программного обеспечения • ISO 9126 • ГОСТ 34 • McCall’s Quality Model (1977) • Boehm’s Quality Model (1978) 1061-1998 IEEE Standard for Software Quality Metrics Methodology ISO 8402:1994 Quality management and quality assurance
  • 13. Модель качества ISO 9126 Оценка качества ПО основана на трехуровневом рассмотрении: • Цели (goals) — то, что мы хотим видеть в ПО • Атрибуты (attributes) —свойства ПО, показывающие приближение к целям • Метрики (metrics) — количественные характеристики степени наличия атрибутов Выделено 6 целей: • функциональность (functionality) • надежность (reliability) • практичность или удобство использования (usability) • эффективность (efficiency) • сопровождаемость (maintainability) • переносимость или мобильность (portability).
  • 14. Характеристики качества ПО (ISO 9126) Наименование Набор атрибутов характеристики Функциональность Пригодность к определенной работе(suitability) Точность, правильность (accuracy) Способность к взаимодействию (interoperability) Соответствие стандартам и правилам (compliance) Защищенность (security) Надёжность Зрелость, завершенность (обратна к частоте отказов) (maturity) Устойчивость к отказам (fault tolerance) Способность к восстановлению работоспособности при отказах (recoverability) Доступность Готовность Соответствие стандартам надежности (reliability compliance, добавлен в 2001)
  • 15. Характеристики качества ПО (ISO 9126) Наименование Набор атрибутов характеристики Практичность, удобство Понятность (understandability) использования Удобство обучения (learnability) Работоспособность (operability) Привлекательность (attractiveness, добавлен в 2001) Соответствие стандартам практичности (usability compliance, добавлен в 2001) Эффективность Временные характеристики (time behaviour) Использование ресурсов (resource utilisation) Соответствие стандартам эффективности (efficiency compliance,добавлен в 2001)
  • 16. Характеристики качества ПО (ISO 9126) Наименование Набор атрибутов характеристики Сопровождаемость Анализируемость (analyzability) Изменяемость, удобство внесения изменений (changeability) Риск возникновения неожиданных эффектов при внесении изменений (stability) Контролируемость, удобство проверки (testability) Соответствие стандартам сопровождаемости (maintainability compliance, добавлен в 2001) Переносимость Адаптируемость (adaptability) Устанавливаемость, удобство установки (installability) Способность к сосуществованию с другим ПО (coexistence) Удобство замены другого ПО данным (replaceability) Соответствие стандартам переносимости (portability compliance, добавлен в 2001)
  • 17. Характеристики качества • Функциональность – способность решать задачи, которые соответствуют зафиксированным и предполагаемым потребностям пользователя, при заданных условиях использования • Надежность – способность выполнять требуемые задачи в обозначенных условиях на протяжении заданного промежутка времени или указанное количество операций • Удобство использования – возможность легкого понимания, изучения, использования и привлекательности ПО для пользователя
  • 18. Характеристики качества • Эффективность – способность обеспечивать требуемый уровень производительности в соответствии с выделенными ресурсами, временем и другими обозначенными условиями • Удобство сопровождения – легкость, с которой ПО может анализироваться, тестироваться, изменяться для исправления дефектов, для реализации новых требований, для облегчения дальнейшего обслуживания и адаптироваться к изменяющемуся окружению • Переносимость – характеризует ПО с точки зрения легкости его переноса из одного окружения (software/hardware) в другое
  • 19. Основные характеристики качества ПО (ISO 9126) • Системная эффективность — применение программного продукта по назначению • Продуктивность — производительность при решении основных задач системы, достигаемая при реально ограниченных ресурсах в конкретной внешней среде применения • Безопасность — надежность функционирования комплекса программ и возможный риск от его применения для людей, бизнеса и внешней среды • Удовлетворение требований и затрат пользователей в соответствии с целями применения системы
  • 20. Модель качества ПО по МакКолу Характеристики качества: • Факторы (factors), описывающие ПО с позиций пользователя и задаваемые требованиями • Критерии (criteria), описывающие ПО с позиций разработчика и задаваемые как цели • Метрики (metrics), используемые для количественного описания и измерения качества
  • 21. Критерии качества ПО по МакКолу Критерии качества — числовые уровни факторов, поставленные в качестве целей при разработке: • Удобство проверки на соответствие стандартам (auditability) • Точность управления и вычислений (accuracy) • Степень стандартности интерфейсов (communication commonality) • Функциональная полнота (completeness) • Однородность используемых правил проектирования и • документации (consistency) • Степень стандартности форматов данных (data commonality) • Устойчивость к ошибкам (error tolerance) • Эффективность работы (execution efficiency) • Расширяемость (expandability)
  • 22. Критерии качества ПО по МакКолу • Широта области потенциального использования (generality) • Независимость от аппаратной платформы (hardware independence) • Полнота протоколирования ошибок и других событий (instrumentation) • Модульность (modularity) • Удобство работы (operability) • Защищенность (security) • Самодокументированность (selfdocumentation) • Простота работы ( simplicity) • Независимость от программной платформы (software system independence) • Возможность соотнесения проекта с требованиями (traceability) • Удобство обучения (training)
  • 23. Критерии качества ПО по Боэму Дополнительные атрибуты качества по Боему: • ясность (clarity), • удобство внесения изменений (modifiability), • документированность (documentation), • способность к восстановлению функций (resilience), • понятность (understandability), • адекватность ( validity), • функциональность (functionality), • универсальность (generality), • экономическая эффективность (economy)
  • 24. ГОСТ 34 (с дополнениями) Runtime (атрибуты, относящиеся ко времени работы приложения или системы): • Доступность • Надежность • Требования к времени хранения данных • Масштабируемость • Требования к удобству использования • Требования к безопасности • Требования к конфигурируемости • Требования к производительности • Ограничения
  • 25. ГОСТ 34 (с дополнениями) Design time (атрибуты, определяющие ключевые аспекты проектирования приложения или системы): • Требования к повторному использованию реализации или компонентов приложения/системы • Требования к расширяемости • Требования к переносимости • Требования к взаимодействию • Требования к поддержке • Требования к модульности • Требования к возможности тестирования • Требования к возможности и простоте локализации • Требования к совместимости между версиями приложений См. Нефункциональные требования к ПО
  • 26. Численные характеристики Доступность (отказоустойчивость) • Частота недоступности системы в пределах временного интервала, который используется для определения доступности • Продолжительность недоступности системы • Доступность по расписанию – 5 х 8 (рабочие дни, рабочие часы) – 7 х 24 (все дни недели, 24 часа) – 365 х 24 (все дни года, 24 часа) Доступность пять «9 » или 99,999% - стремление индустрии Например, производители серверов: Достигнутый результат – 99,998% для кластеров (10 минут недоступности в течение года) ПК – 97,5% доступности в среднем (219 часов в год)
  • 27. Численные характеристики Классификация по уровню требуемой непрерывности обслуживания и важности для бизнеса • Mission Critical- системы, работающие в режиме «боевого дежурства». • Business Critical– системы, критические для управления, с режимом работы 24х7х365. Рекомендованное время восстановления подобных систем после отказа менее 2 часов. • Business Operational - обычные бизнес-приложения - системы, не требующие работы в реальном времени, с режимом работы 8х5. Рекомендованное время восстановления подобных систем после отказа 4-6 часов. • Office Production - не критические для управления приложения, персональные данные. Рекомендованное время восстановления подобных систем после отказа 1-2 рабочих дня.
  • 28. Численные характеристики Надежность и доступность • Операционная мера надежности – MTTF (Mean Time To Failure – среднее время до отказа или наработка на отказ). Измеряется в часах • Частота отказов: (1/ MTTF) • Среднее время на устранение отказа – MTTR (Mean Time To Repair)
  • 29. Численные характеристики Связь между уровнем дефектов и значениями MTTF Дефектов на KLOC MTTF Больше 30 Меньше 2 минут 20-30 4-15 минут 10-20 5-60 минут 5-10 1-4 часа 2-5 4-24 часа 1-2 24-160 часов Меньше 1 Не определено
  • 30. Численные характеристики Надежность и доступность (промышленные средние) • Среднее число ошибок в бизнес - системах, найденное в течение первого года эксплуатации: – США 4,44/KLOC – Япония 1,96/KLOC • Среднее число ошибок в ПО – CMMI уровень 1 7,38/KLOC – CMMI уровень 3 1,30/KLOC • Число ошибок в системах высокой доступности (99,9%+) – Должно быть ниже 0,01/KLOC
  • 31. Численные характеристики Производительность Transaction Processing Performance Council • Число операций в секунду: – Ед. измерения: MIPS – миллионы инструкций в секунду • Число транзакций в секунду – TPC-App для серверов приложений и веб-сервисов – TPC-C для операций многих пользователей с базой данных – TPC-E – новый OLTP тест. Эмулирует брокерскую компанию с клиентами, которые генерируют торговые транзакции. Компания взаимодействует с финансовыми рынками – TPC-H для поддержки принятия решений. Набор произвольных бизнес-запросов и параллельная модификация данных
  • 32. Численные характеристики Производительность • При заданных параметрах системы – Число серверов – Процессоры – Память – Дисковая подсистема – Сеть • При заданном объеме базы данных – Число записей того или иного сорта, например, число позиций на складе или число счетов в банковской системе или число полисов в страховой системе • При меняющемся числе параллельно работающих пользователей – Например, 1 – 10 – 100 – 1000 – 10000 • Время отклика системы на воздействие – Он-лайн запросы – Пакетные запросы (отчеты)
  • 33. Численные характеристики Производительность • Необходимо учитывать разные архитектуры – Клиент – сервер – Клиент – сервер приложений – сервер базы данных – Клиент – сервер интерфейса – сервер приложений – сервер базы данных • Как осуществляется балансировка загрузки – Автоматически, средствами сервера приложений, операционной системы, базы данных – Алгоритмами приложения
  • 34. Численные характеристики Безопасность • Внешние метрики безопасности: Метрика Формула протоколирование Х = А / В; доступа А = число «фактов доступа пользователя к системе и данным», зафиксированных в протоколе системы; В = число «фактов доступа пользователя к системе и данным», которые были произведены во время оценки; контролируемость Х = А / В; доступа А = число обнаруженных видов несанкционированного доступа; В = число видов несанкционированного доступа в спецификации;
  • 35. Численные характеристики Безопасность • Внешние метрики безопасности: Метрика Формула предотвращение а) Х = 1 – А / N; повреждения A = число фактов существенного повреждения данных; данных; N = число видов тестов, при помощи которых пытались спровоцировать факт повреждения данных; b) Y = 1 – B / N; B = число фактов незначительного повреждения данных; c) Х = A / T или B / T; T = время выполнения операции;
  • 36. Численные характеристики Безопасность • Внутренние метрики безопасности: Метрика Формула протоколирование Х = А / В; доступа А = число типов доступа, которые были зарегистрированы корректно, как определено в спецификации; В = число типов доступа, которые должны регистрироваться по спецификации; контроль доступа Х = А / В; А = число требований контроля доступа, реализованных корректно, в соответствии со спецификацией; В = число требований контроля доступа в спецификации;
  • 37. Численные характеристики Безопасность • Внутренние метрики безопасности: Метрика Формула предотвращение Х = А / В; повреждения А = число реализованных механизмов защиты от данных повреждения данных; В = число механизмов, требуемых по спецификации; криптографичес-ка Х = А / В; я защита данных А = число реализованных механизмов; В = число требуемых механизмов по спецификации;
  • 38. Численные характеристики Безопасность • Метрики безопасности качества в использовании: : Метрика Формула безопасность Х = 1 – А / В; пользователей и А = число пользователей, сообщивших о наличии их здоровья проблем; В = число пользователей; безопасность Х = 1 – А / В; людей, А = число людей, подверженных риску; задействованных В = число людей, задействованных в использовании в использовании продукта; системы
  • 39. Численные характеристики Безопасность • Метрики безопасности качества в использовании: : Метрика Формула экономический Х = 1 – А / В; ущерб А = число событий экономического ущерба; В = общее число использования системы; повреждение Х = 1 – А / В; прочего ПО А = число событий повреждения прочего ПО; В = общее число использования системы;
  • 40. Численные характеристики Если точное значение определить невозможно • Используйте оценочные значения (границы интервалов, за которые нельзя выходить) • Оценки по порядку величины – Например, 1 – 10 – 100 – 1000 – 10000 • Уточняйте требования бизнес-уровня • Пользуйтесь экспертизой ведущих производителей ПО – Benchmark tests – Техническая документация (MSDN)
  • 41. Атрибуты качества: проблемы Общие проблемы: • Клиентам трудно их определить, и потому они обычно не упоминаются – У разных классов пользователей свои предпочтения. • Подразумеваются заказчиками • Существенны и значимы при выборе архитектурного решения • Должны быть исследованы во время процесса выявления требований при участии всех заинтересованных сторон (а не только пользователей) • Должны быть измеряемы и проверяемы
  • 42. Атрибуты качества: рабочие группы Рабочая группа по определению атрибутов качества: Создание такой группы – это дополнительный способ выявления основных характеристик систем ПО, смысл которого в привлечении заинтересованных лиц (владельцы проекта). • Основные особенности рабочей группы по характеристикам качества: – системно-ориентирована – сфокусирована на заинтересованных лицах – созывается до того, как завершено проектирование архитектуры ПО • Результат включает в себя: – исходные сценарии – сценарии характеристик качества с приоритетами – уточненные сценарии • Может использоваться для: – уточнения требований – планирования прототипов для уменьшения рисков – проектирования архитектуры
  • 43. Атрибуты качества: рабочие группы • Определить список заинтересованных лиц (ЗЛ), с которыми можно провести техническое интервью: – Представители бизнес-пользователей – Архитекторы ПО – Ведущие специалисты по тестированию – Менеджеры и аналитики зависимых систем • Составить опросник с архитектурными требованиями: – Несколько вопросов для каждого требования – Указать приоритет • Собрать ответы ЗЛ, проанализировать их на непротиворечивость.
  • 44. Атрибуты качества: рабочие группы Сценарий работы группы по определению атрибутов качества: 1. Знакомство и представление рабочей группы 2. Представление бизнес-целей и задач 3. Представление плана архитектуры ПО 4. Определение ведущих элементов архитектуры 5. Сценарий «мозговой штурм» 6. Сценарий «консолидация результатов» 7. Сценарий «задание приоритетов» 8. Сценарий «уточнение»
  • 46. Связь между функциональными и нефункциональными требованиями Работа над функциональными требованиями: • Определение вариантов использования и их декомпозиция • Определение функциональных областей в системе (общие цели, общие действующие лица) • Определение критических факторов, влияющих на выполнение сценариев • Определение действующих ограничений