SlideShare uma empresa Scribd logo
1 de 55
Baixar para ler offline
Нефункциональные
требования и модели
качества
Атрибуты качества, модели качества, численные характеристики
атрибутов качества
Требования
Что такое требование*
 Обычное определение
 Что-то, что должен уметь делать продукт или качество, которым этот продукт
должен обладать.
 Дополняющие определения
 Нечто, что вы должны определить перед началом разработки продукта.
 Соглашение, которое должны выработать заказчик и исполнитель, по поводу
того, что система должна делать.
* Charlene Gross, SEI
Определение требований
IEEE 1990
1. Условие или возможность необходимые пользователю
для решение его задачи или достижение цели.
2. Условие или возможность, которым должна отвечать или
которыми должна обладать система или ее
компонента, чтобы удовлетворить контракт, стандарт,
спецификацию или иной формальный документ.
3. Документированное представление условия или
возможности, указанное в (1) или (2).
Что не является требованием
 Детали архитектуры
 Детали реализации
 Сведения о планировании
 Сведения о тестировании
 Любые указания по проектной информации
Бюджет
Время
Инфраструктура разработки
Требование
 Требование – это четкое описание
 цели и назначения программного обеспечения;
 и того, что должно делать ПО для реализации своего назначения.
 Первичные требования обычно представляют позицию пользователя ПО
 Они функционально ориентированы.
 Неформализованные и неполные.
 Должны быть переработаны.
Ограничение
 Архитекторы и разработчики не имеют достаточной
свободы действовать по собственному усмотрению:
 предопределенное архитектурное решение;
 правила и стандарты;
 бюджет и сроки сдачи.
 Это ограничение на то, как архитекторы и
разработчики будут удовлетворять требования.
 Ограничение сужает варианты выбора.
Функциональные и нефункциональные
требования
 Функциональные требования: перечень сервисов, с указанием реакции на
запросы, поведения в определенных ситуациях; а также, что система не
должна делать.
 Нефункциональные требования: характеристики системы и окружения, а
не поведение; плюс ограничения.
 Требования предметной области: характеризуют предметную область, где
будет эксплуатироваться система. Могут быть функциональными и
нефункциональными.
 Не всегда можно разделить функциональные и нефункциональные
требования!
Пользовательские и системные
требования
 Пользовательские требования – описание функциональных и
нефункциональных требований понятным пользователю языком.
 Системные требования – более детализированное описание
пользовательских требований. Обычно, это основа для заключения
контракта на разработку системы.
Нефункциональные требования
 Классификация нефункциональных требований
 Шаблоны нефункциональных требований
 Численные значения нефункциональных
требований
 Связи между нефункциональными и
функциональными требованиями
 Влияние различных категорий нефункциональных
требований друг на друга
 Атрибуты качества продукта и нефункциональные
требования
 Роли в проекте, с которыми взаимодействует
аналитик при выявлении и уточнении
Нефункциональные требования
 Очень давно разработчики осознали важность архитектуры
ПО
 Существует большое количество архитектурных решений,
которые удовлетворяют функциональным требованиям. Но
только некоторые из них соответствуют всей совокупности
требований к
 производительности,
 работоспособности,
 модифицируемости и многим другим.
 Эти требования называются нефункциональными
Термины и определения
 Определение требований
 Условие или возможность, требуемая пользователем для решения задач или
достижения целей
 Условие или возможность, которые должны удовлетворяться
системой/компонентом системы или которыми система/компонент
системы должна обладать для обеспечения условий контракта, стандартов,
спецификаций или др. регулирующими документами
 Документальная репрезентация (зафиксированное представление,
определение, описание) условий или возможностей, перечисленных в
предыдущих пунктах
Термины и определения
 Типы требований
 Потребности (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 рабочий день.
Численные характеристики
Надежность и доступность
 Операционная мера надежности – 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. Сценарий «уточнение»
Атрибуты качества: компромиссы
Связь между функциональными и
нефункциональными требованиями
Работа над функциональными требованиями:
 Определение вариантов использования и их
декомпозиция
 Определение функциональных областей в системе
(общие цели, общие действующие лица)
 Определение критических факторов, влияющих на
выполнение сценариев
 Определение действующих ограничений
Взаимосвязь разновидностей требований и
документов, в которых они представлены

Mais conteúdo relacionado

Mais procurados

шаблон технико коммерческого предложения
шаблон технико коммерческого предложенияшаблон технико коммерческого предложения
шаблон технико коммерческого предложенияNatalia Zhelnova
 
Моделирование бизнес-процессов: методы и инструменты
Моделирование бизнес-процессов: методы и инструментыМоделирование бизнес-процессов: методы и инструменты
Моделирование бизнес-процессов: методы и инструментыSQALab
 
Обучение IT-аналитиков
Обучение IT-аналитиковОбучение IT-аналитиков
Обучение IT-аналитиковNatalia Zhelnova
 
требования к кандидату
требования к кандидатутребования к кандидату
требования к кандидатуNatalia Zhelnova
 
Внедрение Бизнес-Анализа, ИТ Бизнес-Аналитиков и UML
Внедрение Бизнес-Анализа, ИТ Бизнес-Аналитиков и UMLВнедрение Бизнес-Анализа, ИТ Бизнес-Аналитиков и UML
Внедрение Бизнес-Анализа, ИТ Бизнес-Аналитиков и UMLEdgar Khachatryan
 
Контрольный список для проверки требований
Контрольный список для проверки требованийКонтрольный список для проверки требований
Контрольный список для проверки требованийIvan Shamaev
 
отчет об обследовании объекта автоматизации
отчет об обследовании объекта автоматизацииотчет об обследовании объекта автоматизации
отчет об обследовании объекта автоматизацииNatalia Zhelnova
 
шаблон отчет об обследовании объекта автоматизации
шаблон   отчет об обследовании объекта автоматизациишаблон   отчет об обследовании объекта автоматизации
шаблон отчет об обследовании объекта автоматизацииNatalia Zhelnova
 
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUAREТехники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARESQALab
 
Нотации оформления требований
Нотации оформления требованийНотации оформления требований
Нотации оформления требованийJaneKozmina
 
DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...
DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...
DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...it-people
 
практика управления требованиями
практика управления требованиямипрактика управления требованиями
практика управления требованиямиISsoft
 
процессы смк
процессы смкпроцессы смк
процессы смкtrenders
 
Специфика работы бизнес-аналитика в зависимости от типов проектов и методологий
Специфика работы бизнес-аналитика в зависимости от типов проектов и методологийСпецифика работы бизнес-аналитика в зависимости от типов проектов и методологий
Специфика работы бизнес-аналитика в зависимости от типов проектов и методологийSQALab
 
пример описание процесса учета посещаемости и успеваемости студентов R
пример   описание процесса учета посещаемости и успеваемости студентов Rпример   описание процесса учета посещаемости и успеваемости студентов R
пример описание процесса учета посещаемости и успеваемости студентов RNatalia Zhelnova
 
Нефункциональные требования, Наталья Желнова
Нефункциональные требования, Наталья ЖелноваНефункциональные требования, Наталья Желнова
Нефункциональные требования, Наталья ЖелноваAlexander Baikin
 

Mais procurados (20)

Analyst Days 2014
Analyst Days 2014Analyst Days 2014
Analyst Days 2014
 
шаблон технико коммерческого предложения
шаблон технико коммерческого предложенияшаблон технико коммерческого предложения
шаблон технико коммерческого предложения
 
Моделирование бизнес-процессов: методы и инструменты
Моделирование бизнес-процессов: методы и инструментыМоделирование бизнес-процессов: методы и инструменты
Моделирование бизнес-процессов: методы и инструменты
 
Обучение IT-аналитиков
Обучение IT-аналитиковОбучение IT-аналитиков
Обучение IT-аналитиков
 
требования к кандидату
требования к кандидатутребования к кандидату
требования к кандидату
 
Внедрение Бизнес-Анализа, ИТ Бизнес-Аналитиков и UML
Внедрение Бизнес-Анализа, ИТ Бизнес-Аналитиков и UMLВнедрение Бизнес-Анализа, ИТ Бизнес-Аналитиков и UML
Внедрение Бизнес-Анализа, ИТ Бизнес-Аналитиков и UML
 
It global meetup_02a
It global meetup_02aIt global meetup_02a
It global meetup_02a
 
Контрольный список для проверки требований
Контрольный список для проверки требованийКонтрольный список для проверки требований
Контрольный список для проверки требований
 
отчет об обследовании объекта автоматизации
отчет об обследовании объекта автоматизацииотчет об обследовании объекта автоматизации
отчет об обследовании объекта автоматизации
 
шаблон отчет об обследовании объекта автоматизации
шаблон   отчет об обследовании объекта автоматизациишаблон   отчет об обследовании объекта автоматизации
шаблон отчет об обследовании объекта автоматизации
 
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUAREТехники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
 
It global meetup_01
It global meetup_01It global meetup_01
It global meetup_01
 
Нотации оформления требований
Нотации оформления требованийНотации оформления требований
Нотации оформления требований
 
DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...
DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...
DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...
 
практика управления требованиями
практика управления требованиямипрактика управления требованиями
практика управления требованиями
 
процессы смк
процессы смкпроцессы смк
процессы смк
 
Специфика работы бизнес-аналитика в зависимости от типов проектов и методологий
Специфика работы бизнес-аналитика в зависимости от типов проектов и методологийСпецифика работы бизнес-аналитика в зависимости от типов проектов и методологий
Специфика работы бизнес-аналитика в зависимости от типов проектов и методологий
 
пример описание процесса учета посещаемости и успеваемости студентов R
пример   описание процесса учета посещаемости и успеваемости студентов Rпример   описание процесса учета посещаемости и успеваемости студентов R
пример описание процесса учета посещаемости и успеваемости студентов R
 
Нефункциональные требования, Наталья Желнова
Нефункциональные требования, Наталья ЖелноваНефункциональные требования, Наталья Желнова
Нефункциональные требования, Наталья Желнова
 
лаф2013
лаф2013лаф2013
лаф2013
 

Semelhante a Nfr and quality-models

Проектирование_и_архитектура_ПС_2022_L05s.ppt
Проектирование_и_архитектура_ПС_2022_L05s.pptПроектирование_и_архитектура_ПС_2022_L05s.ppt
Проектирование_и_архитектура_ПС_2022_L05s.pptdinarium2016
 
Требования к по
Требования к поТребования к по
Требования к поJaneKozmina
 
Нефункциональные требования.pptx
Нефункциональные требования.pptxНефункциональные требования.pptx
Нефункциональные требования.pptxNatalia Zhelnova
 
Управление требованиями и тестирование ПО
Управление требованиями и тестирование ПОУправление требованиями и тестирование ПО
Управление требованиями и тестирование ПОТранслируем.бел
 
Тестирование требований
Тестирование требованийТестирование требований
Тестирование требованийNickola14
 
Requirements, введение в bug tracking systems.
Requirements, введение в bug tracking systems.Requirements, введение в bug tracking systems.
Requirements, введение в bug tracking systems.DressTester
 
Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1Technopark
 
Инжиниринг требований
Инжиниринг требованийИнжиниринг требований
Инжиниринг требованийSQALab
 
Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Dima Dzuba
 
Бизнес и системный анализ весна 2013 лекция 6
Бизнес и системный анализ весна 2013 лекция 6Бизнес и системный анализ весна 2013 лекция 6
Бизнес и системный анализ весна 2013 лекция 6Technopark
 
Никита Ремизов - Введение в разработку ТЗ
Никита Ремизов - Введение в разработку ТЗНикита Ремизов - Введение в разработку ТЗ
Никита Ремизов - Введение в разработку ТЗDrupalSPB
 
Аліна Петренко: “Майстер-клас: Виявлення ключових вимог на предпроектній фазі...
Аліна Петренко: “Майстер-клас: Виявлення ключових вимог на предпроектній фазі...Аліна Петренко: “Майстер-клас: Виявлення ключових вимог на предпроектній фазі...
Аліна Петренко: “Майстер-клас: Виявлення ключових вимог на предпроектній фазі...Dakiry
 
Аналитик на тёмной стороне
Аналитик на тёмной сторонеАналитик на тёмной стороне
Аналитик на тёмной сторонеSQALab
 
Проектирование_и_архитектура_ПС_2022_L06.ppt
Проектирование_и_архитектура_ПС_2022_L06.pptПроектирование_и_архитектура_ПС_2022_L06.ppt
Проектирование_и_архитектура_ПС_2022_L06.pptdinarium2016
 
Эффективное объектно-ориентированное проектирование и структурное качество пр...
Эффективное объектно-ориентированное проектирование и структурное качество пр...Эффективное объектно-ориентированное проектирование и структурное качество пр...
Эффективное объектно-ориентированное проектирование и структурное качество пр...LuxoftTraining
 
Создание стратегии тестирования на основе анализа ТЗ по ГОСТ 19/34
Создание стратегии тестирования на основе анализа ТЗ по ГОСТ 19/34Создание стратегии тестирования на основе анализа ТЗ по ГОСТ 19/34
Создание стратегии тестирования на основе анализа ТЗ по ГОСТ 19/34Alexandra Varfolomeeva
 

Semelhante a Nfr and quality-models (20)

Проектирование_и_архитектура_ПС_2022_L05s.ppt
Проектирование_и_архитектура_ПС_2022_L05s.pptПроектирование_и_архитектура_ПС_2022_L05s.ppt
Проектирование_и_архитектура_ПС_2022_L05s.ppt
 
Требования к по
Требования к поТребования к по
Требования к по
 
Нефункциональные требования.pptx
Нефункциональные требования.pptxНефункциональные требования.pptx
Нефункциональные требования.pptx
 
Управление требованиями и тестирование ПО
Управление требованиями и тестирование ПОУправление требованиями и тестирование ПО
Управление требованиями и тестирование ПО
 
Sep reqm-lec1
Sep reqm-lec1Sep reqm-lec1
Sep reqm-lec1
 
Тестирование требований
Тестирование требованийТестирование требований
Тестирование требований
 
Requirements, введение в bug tracking systems.
Requirements, введение в bug tracking systems.Requirements, введение в bug tracking systems.
Requirements, введение в bug tracking systems.
 
Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1
 
Инжиниринг требований
Инжиниринг требованийИнжиниринг требований
Инжиниринг требований
 
Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4
 
Бизнес и системный анализ весна 2013 лекция 6
Бизнес и системный анализ весна 2013 лекция 6Бизнес и системный анализ весна 2013 лекция 6
Бизнес и системный анализ весна 2013 лекция 6
 
Никита Ремизов - Введение в разработку ТЗ
Никита Ремизов - Введение в разработку ТЗНикита Ремизов - Введение в разработку ТЗ
Никита Ремизов - Введение в разработку ТЗ
 
Аліна Петренко: “Майстер-клас: Виявлення ключових вимог на предпроектній фазі...
Аліна Петренко: “Майстер-клас: Виявлення ключових вимог на предпроектній фазі...Аліна Петренко: “Майстер-клас: Виявлення ключових вимог на предпроектній фазі...
Аліна Петренко: “Майстер-клас: Виявлення ключових вимог на предпроектній фазі...
 
Requirements in Agile
Requirements in AgileRequirements in Agile
Requirements in Agile
 
Аналитик на тёмной стороне
Аналитик на тёмной сторонеАналитик на тёмной стороне
Аналитик на тёмной стороне
 
Test design print
Test design printTest design print
Test design print
 
MS ALM 2013 Review
MS ALM 2013 ReviewMS ALM 2013 Review
MS ALM 2013 Review
 
Проектирование_и_архитектура_ПС_2022_L06.ppt
Проектирование_и_архитектура_ПС_2022_L06.pptПроектирование_и_архитектура_ПС_2022_L06.ppt
Проектирование_и_архитектура_ПС_2022_L06.ppt
 
Эффективное объектно-ориентированное проектирование и структурное качество пр...
Эффективное объектно-ориентированное проектирование и структурное качество пр...Эффективное объектно-ориентированное проектирование и структурное качество пр...
Эффективное объектно-ориентированное проектирование и структурное качество пр...
 
Создание стратегии тестирования на основе анализа ТЗ по ГОСТ 19/34
Создание стратегии тестирования на основе анализа ТЗ по ГОСТ 19/34Создание стратегии тестирования на основе анализа ТЗ по ГОСТ 19/34
Создание стратегии тестирования на основе анализа ТЗ по ГОСТ 19/34
 

Mais de Natalia Zhelnova

Моделирование бизнес-процессов.pdf
Моделирование бизнес-процессов.pdfМоделирование бизнес-процессов.pdf
Моделирование бизнес-процессов.pdfNatalia Zhelnova
 
критерии отбора аналитиков
критерии отбора аналитиковкритерии отбора аналитиков
критерии отбора аналитиковNatalia Zhelnova
 
варианты использования учетной системы
варианты использования учетной системыварианты использования учетной системы
варианты использования учетной системыNatalia Zhelnova
 
варианты использования системы учета посещаемости и успеваемости
варианты использования системы учета посещаемости и успеваемостиварианты использования системы учета посещаемости и успеваемости
варианты использования системы учета посещаемости и успеваемостиNatalia Zhelnova
 
диаграмма процесса Учет успеваемости и посещаемости
диаграмма процесса Учет успеваемости и посещаемостидиаграмма процесса Учет успеваемости и посещаемости
диаграмма процесса Учет успеваемости и посещаемостиNatalia Zhelnova
 
функциональная спецификация
функциональная спецификацияфункциональная спецификация
функциональная спецификацияNatalia Zhelnova
 
техническое задание (гост 34.602 89)
техническое задание (гост 34.602 89)техническое задание (гост 34.602 89)
техническое задание (гост 34.602 89)Natalia Zhelnova
 
стратегия тестирования
стратегия тестированиястратегия тестирования
стратегия тестированияNatalia Zhelnova
 
руководство системного администратора на ас
руководство системного администратора на асруководство системного администратора на ас
руководство системного администратора на асNatalia Zhelnova
 
руководство пользователя на ас
руководство пользователя на асруководство пользователя на ас
руководство пользователя на асNatalia Zhelnova
 
регламент опытной эксплуатации на по
регламент опытной эксплуатации на порегламент опытной эксплуатации на по
регламент опытной эксплуатации на поNatalia Zhelnova
 
протокол испытаний
протокол испытанийпротокол испытаний
протокол испытанийNatalia Zhelnova
 
пояснительная записка без рамок (рд 50-34.698-90)
пояснительная записка без рамок (рд 50-34.698-90)пояснительная записка без рамок (рд 50-34.698-90)
пояснительная записка без рамок (рд 50-34.698-90)Natalia Zhelnova
 
пим приемочных квалификационных испытаний (ескд)
пим приемочных квалификационных испытаний (ескд)пим приемочных квалификационных испытаний (ескд)
пим приемочных квалификационных испытаний (ескд)Natalia Zhelnova
 
пим предварительных испытаний
пим предварительных испытанийпим предварительных испытаний
пим предварительных испытанийNatalia Zhelnova
 
пим на ас (рд 50 698-90)
пим на ас (рд 50 698-90)пим на ас (рд 50 698-90)
пим на ас (рд 50 698-90)Natalia Zhelnova
 

Mais de Natalia Zhelnova (16)

Моделирование бизнес-процессов.pdf
Моделирование бизнес-процессов.pdfМоделирование бизнес-процессов.pdf
Моделирование бизнес-процессов.pdf
 
критерии отбора аналитиков
критерии отбора аналитиковкритерии отбора аналитиков
критерии отбора аналитиков
 
варианты использования учетной системы
варианты использования учетной системыварианты использования учетной системы
варианты использования учетной системы
 
варианты использования системы учета посещаемости и успеваемости
варианты использования системы учета посещаемости и успеваемостиварианты использования системы учета посещаемости и успеваемости
варианты использования системы учета посещаемости и успеваемости
 
диаграмма процесса Учет успеваемости и посещаемости
диаграмма процесса Учет успеваемости и посещаемостидиаграмма процесса Учет успеваемости и посещаемости
диаграмма процесса Учет успеваемости и посещаемости
 
функциональная спецификация
функциональная спецификацияфункциональная спецификация
функциональная спецификация
 
техническое задание (гост 34.602 89)
техническое задание (гост 34.602 89)техническое задание (гост 34.602 89)
техническое задание (гост 34.602 89)
 
стратегия тестирования
стратегия тестированиястратегия тестирования
стратегия тестирования
 
руководство системного администратора на ас
руководство системного администратора на асруководство системного администратора на ас
руководство системного администратора на ас
 
руководство пользователя на ас
руководство пользователя на асруководство пользователя на ас
руководство пользователя на ас
 
регламент опытной эксплуатации на по
регламент опытной эксплуатации на порегламент опытной эксплуатации на по
регламент опытной эксплуатации на по
 
протокол испытаний
протокол испытанийпротокол испытаний
протокол испытаний
 
пояснительная записка без рамок (рд 50-34.698-90)
пояснительная записка без рамок (рд 50-34.698-90)пояснительная записка без рамок (рд 50-34.698-90)
пояснительная записка без рамок (рд 50-34.698-90)
 
пим приемочных квалификационных испытаний (ескд)
пим приемочных квалификационных испытаний (ескд)пим приемочных квалификационных испытаний (ескд)
пим приемочных квалификационных испытаний (ескд)
 
пим предварительных испытаний
пим предварительных испытанийпим предварительных испытаний
пим предварительных испытаний
 
пим на ас (рд 50 698-90)
пим на ас (рд 50 698-90)пим на ас (рд 50 698-90)
пим на ас (рд 50 698-90)
 

Nfr and quality-models

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