SlideShare a Scribd company logo
Нефункциональные
требования
О том, зачем, как и кому определять нефункциональные
требования
О чем этот доклад
➔ Что такое
нефункциональные
требования
➔ На что они влияют
➔ Как их определять
Классификация требований
Вигерс Карл
Разработка требований
к программному
обеспечению
Классификация требований
Свод знаний
BABOK
Функциональные и нефункциональные требования
Функциональные требования: перечень сервисов, с указанием реакции на запросы,
поведения в определенных ситуациях; а также, что система не должна делать
Нефункциональные требования: характеристики системы и её окружения, а не
поведение; плюс ограничения
Требования предметной области: характеризуют предметную область, где будет
эксплуатироваться система. Могут быть функциональными и нефункциональными.
➔ Не всегда можно разделить функциональные и нефункциональные требования
Что не является требованием
➔ Детали архитектуры
➔ Детали реализации
➔ Сведения о планировании
➔ Сведения о тестировании
➔ Любые указания по проектной информации
◆ Бюджет
◆ Время
◆ Инфраструктура разработки
Ограничения
Архитекторы и разработчики не имеют достаточной
свободы действовать по собственному усмотрению:
➔ предопределенное архитектурное решение;
➔ правила и стандарты;
➔ бюджет и сроки сдачи.
Это ограничения, влияющие на то, как архитекторы и
разработчики будут реализовывать требования
➔ Ограничение сужает варианты выбора
Документирование требований
Формат Функциональные
требования
Нефункциональные
требования
User Stories + +
Use Cases + -
Текстовый формат + +
Модели и описания бизнес-
процессов
+ -
Классификация нефункциональных требований
На что влияют нефункциональные требования
➔ Развитие системы, продукта
➔ Архитектура системы
➔ IT-Инфраструктура
➔ Процессы, регламенты и SLA для службы поддержки
➔ etc.
Детали архитектуры, SLA, планы развития системы/продукта не
являются нефункциональными требованиями
Модель качества ПО
Характеристики качественного ПО
➔ Легко использовать
➔ Хорошая производительность
➔ Нет ошибок
➔ Не портит пользовательские данные при сбоях
➔ Можно использовать на разных платформах
➔ Может работать 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)
Характеристики качества ПО (ISO 9126)
Наименование
характеристики
Набор атрибутов
Надёжность Зрелость, завершенность (обратна к частоте
отказов) (maturity)
Устойчивость к отказам (fault tolerance)
Способность к восстановлению
работоспособности при отказах (recoverability)
Доступность
Готовность (коэффициент готовности)
Соответствие стандартам надежности
(reliability compliance, добавлен в 2001)
Характеристики качества ПО (ISO 9126)
Наименование
характеристики
Набор атрибутов
Практичность,
удобство
использования
Понятность (understandability)
Удобство обучения (learnability)
Работоспособность (operability)
Привлекательность (attractiveness, добавлен
в 2001)
Соответствие стандартам практичности
(usability compliance, добавлен в 2001)
Характеристики качества ПО (ISO 9126)
Наименование
характеристики
Набор атрибутов
Эффективность Временные характеристики (time behaviour)
Использование ресурсов (resource utilisation)
Соответствие стандартам эффективности
(efficiency compliance,добавлен в 2001)
Характеристики качества ПО (ISO 9126)
Наименование
характеристики
Набор атрибутов
Сопровожда-
емость
Анализируемость (analyzability)
Изменяемость, удобство внесения изменений
(changeability)
Риск возникновения неожиданных эффектов
при внесении изменений (stability)
Контролируемость, удобство проверки
(testability)
Соответствие стандартам сопровождаемости
(maintainability compliance, добавлен в 2001)
Характеристики качества ПО (ISO 9126)
Наименование
характеристики
Набор атрибутов
Переносимость Адаптируемость (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 (атрибуты, определяющие ключевые аспекты
проектирования приложения или системы):
➔ Требования к повторному использованию реализации или компонентов
приложения/системы
➔ Требования к расширяемости
➔ Требования к переносимости
➔ Требования к взаимодействию
➔ Требования к поддержке
➔ Требования к модульности
➔ Требования к возможности тестирования
➔ Требования к возможности и простоте локализации
➔ Требования к совместимости между версиями приложений
Подход FURPS+
Подход FURPS+ разработан Робертом Грэйди (Robert Grady) из
Hewlett-Packard и предложен в 1992 году
➔ Functionality – функциональность
➔ Usability – удобство использования
➔ Reliability – надежность
➔ Performance – производительность
➔ Supportability – удобство сопровождения
+ Описание различных ограничений, которые необходимо учитывать при
проектировании и разработке системы
FURPS+
Функциональные требования (Functionality):
➔ технологический процесс;
➔ журналирование;
➔ локализация;
➔ печать;
➔ отчетность;
➔ управление системой;
➔ и т.д.
FURPS+
Удобство использования (Usability):
➔ эргономичность пользовательского интерфейса;
➔ защита от человеческого фактора;
➔ эксплуатационная документация;
➔ справка по работе с системой (help);
➔ соответствие интерфейса пользователя стандартам оформления;
➔ [необходимость дополнительного обучения пользователей];
➔ и т.д.
FURPS+
Надежность (Reliability):
➔ допустимая частота/периодичность сбоев;
➔ возможность восстановления системы после сбоев;
➔ время доступности системы (например, 365х24х7);
➔ предсказуемость поведения;
➔ точность вычислений;
➔ и т.д.
FURPS+
Производительность (Performance):
➔ скорость работы, время отклика;
➔ пропускная способность (количество одновременно работающих пользователей,
количество пользовательских запросов, …);
➔ время, необходимое для запуска системы, ее остановки и восстановления ее
работоспособности;
➔ потребление ресурсов;
➔ и т.д.
FURPS+
Удобство сопровождения (Supportability):
➔ диагностические средства;
➔ сервисные возможности;
➔ возможность наращивания функциональности;
➔ кастомизация;
➔ соответствие международным стандартам;
➔ и т.д.
Значения атрибутов качества
➔ Для каждого атрибута качества задаются диапазоны их
допустимых значений
➔ Диапазоны допустимых значений определяют все
зависимые от нефункциональных требований аспекты ЖЦ
продукта/системы
➔ На основании выбранных атрибутов качества и диапазонов
их допустимых значений создаются профили качества
продуктов/систем
Значения атрибутов качества
Примеры
➔ Хорошая производительность:
◆ Число операций в секунду <интервал значений>
◆ Число транзакций в секунду: <интервал значений>
➔ Можно использовать на разных платформах
◆ Список поддерживаемых платформ и ограничений по их
использованию
➔ Может работать 24 часа в сутки и 7 дней в неделю
◆ Частота недоступности системы в пределах временного интервала,
который используется для определения доступности
Определение значений атрибутов качества
Доступность (отказоустойчивость)
➔ Частота недоступности системы в пределах временного интервала, который используется для
определения доступности
➔ Продолжительность недоступности системы
➔ Доступность по расписанию
◆ 5 х 8 (рабочие дни, рабочие часы)
◆ 7 х 24 (все дни недели, 24 часа)
◆ 365 х 24 (все дни года, 24 часа)
Доступность пять «9 » или 99,999% - стремление индустрии
Например, производители серверов:
➔ Достигнутый результат – 99,998% для кластеров (10 минут недоступности в течение года)
Определение значений атрибутов качества
Надежность и доступность
➔ Операционная мера надежности – MTTF (Mean Time To Failure – среднее
время до отказа или наработка на отказ). Измеряется в часах
➔ Частота отказов: (1/ MTTF)
➔ Среднее время на устранение отказа – MTTR (Mean Time To Repair)
Определение значений атрибутов качества
Производительность
➔ При заданных параметрах системы
◆ Число серверов
◆ Процессоры
◆ Память
◆ Дисковая подсистема
◆ Сеть
➔ При заданном объеме базы данных
◆ Число записей того или иного сорта, например, число позиций на складе или
число счетов в банковской системе или число полисов в страховой системе
◆ При меняющемся числе параллельно работающих пользователей
◆ Например, 1 – 10 – 100 – 1000 – 10000
Определение значений атрибутов качества
Производительность
➔ Время отклика системы на воздействие
◆ Онлайн запросы
◆ Пакетные запросы (отчеты)
➔ Разные виды архитектуры
◆ Клиент – сервер
◆ Клиент – сервер приложений – сервер базы данных
◆ Клиент – сервер интерфейса – сервер приложений – сервер базы данных
➔ Как осуществляется балансировка нагрузки
◆ Автоматически, средствами сервера приложений, операционной системы,
базы данных
◆ Алгоритмами приложения
Определение значений атрибутов качества
Безопасность
Метрика Методика определения
протоколирование
доступа
Х = А / В;
А = число «фактов доступа пользователя к системе и данным»,
зафиксированных в протоколе системы;
В = число «фактов доступа пользователя к системе и данным»,
которые были произведены во время оценки
контролируемость
доступа
Х = А / В;
А = число обнаруженных видов несанкционированного доступа;
В = число видов несанкционированного доступа в спецификации
Определение значений атрибутов качества
Безопасность
Метрика Методика определения
предотвращение
повреждения данных
а) Х = 1 – А / N;
A = число фактов существенного повреждения данных;
N = число видов тестов, при помощи которых пытались
спровоцировать факт повреждения данных;
b) Y = 1 – B / N;
B = число фактов незначительного повреждения данных;
c) Х = A / T или B / T;
T = время выполнения операции
d) Х = А / В;
А = число реализованных механизмов защиты от повреждения
данных;
В = число механизмов, требуемых по спецификации
Определение значений атрибутов качества
Безопасность
Метрика Методика определения
экономический ущерб a) Х = 1 – А / В;
А = число событий экономического ущерба;
В = общее число инсталляций системы
b) X = A/T
A = Величина экономического ущерба
T = Время эксплуатации системы
повреждение прочего
ПО
Х = 1 – А / В;
А = число событий повреждения прочего ПО;
В = общее число использования системы
Определение значений атрибутов качества
Если точное значение определить невозможно
➔ Используйте оценочные значения (границы интервалов, за которые нельзя
выходить)
◆ Оценки по порядку величины
◆ Например, 1 – 10 – 100 – 1000 – 10000
➔ Уточняйте требования бизнес-уровня
➔ Пользуйтесь экспертизой ведущих производителей ПО
◆ Benchmark tests
◆ Техническая документация вендоров
Атрибуты качества: общие проблемы
➔ Клиентам трудно их определить, и потому их обычно обходят стороной
◆ У разных классов пользователей свои предпочтения
➔ Подразумеваются заказчиками, а не определяются и не исследуются на
предмет выполнимости
➔ Существенны и значимы при выборе архитектурного решения
➔ Должны быть исследованы во время процесса выявления требований
при участии всех заинтересованных сторон (а не только пользователей)
➔ Должны быть измеряемы и проверяемы
Атрибуты качества: рабочие группы
➔ Определить список заинтересованных лиц (ЗЛ), с которыми
можно провести техническое интервью:
◆ Представители бизнес-пользователей
◆ Архитекторы ПО
◆ Ведущие специалисты по тестированию
◆ Менеджеры и аналитики зависимых систем
➔ Составить опросник с архитектурными требованиями:
◆ Несколько вопросов для каждого требования
◆ Указать приоритет
➔ Собрать ответы ЗЛ, проанализировать их на непротиворечивость
Атрибуты качества: рабочие группы
Сценарий работы группы по определению атрибутов качества:
1. Знакомство и представление рабочей группы
2. Представление бизнес-целей и задач
3. Представление плана архитектуры ПО
4. Определение ведущих элементов архитектуры
5. Сценарий «мозговой штурм»
6. Сценарий «консолидация результатов»
7. Сценарий «задание приоритетов»
8. Сценарий «уточнение»
Связь между функциональными и нефункциональными
требованиями
Работа над функциональными требованиями:
1. Определение вариантов использования и их декомпозиция
2. Определение функциональных областей в системе (общие цели, общие
действующие лица)
3. Определение критических факторов, влияющих на выполнение сценариев
4. Определение действующих ограничений

More Related Content

What's hot

01 introducaocaats
01 introducaocaats01 introducaocaats
01 introducaocaats
Portal_do_Estudante_aud
 
Dispositivos de Entrada e Saída de Dados
Dispositivos de Entrada e Saída de DadosDispositivos de Entrada e Saída de Dados
Dispositivos de Entrada e Saída de Dados
José Ronaldo Trajano
 
Introdução à OpenGL
Introdução à OpenGLIntrodução à OpenGL
Introdução à OpenGL
Herbet Ferreira Rodrigues
 
Apresentação automação residencial final
Apresentação automação residencial finalApresentação automação residencial final
Apresentação automação residencial final
Sandra Pavan
 
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Leinylson Fontinele
 
Apresentação Sistemas Operativos TUDO.pdf
Apresentação Sistemas Operativos TUDO.pdfApresentação Sistemas Operativos TUDO.pdf
Apresentação Sistemas Operativos TUDO.pdf
HelderRangel
 
Sistemas operativos ficha formativa nº3 - resolução
Sistemas operativos   ficha formativa nº3 - resoluçãoSistemas operativos   ficha formativa nº3 - resolução
Sistemas operativos ficha formativa nº3 - resolução
teacherpereira
 
Projeto para WEB
Projeto para WEBProjeto para WEB
Projeto para WEB
Mauricio Mallet Duprat
 
Sistemas Operacionais em redes
Sistemas Operacionais em redesSistemas Operacionais em redes
Sistemas Operacionais em redes
Daniel Brandão
 
VPN - O que é a VPN?
VPN - O que é a VPN?VPN - O que é a VPN?
VPN - O que é a VPN?
mateus rodrigues
 
Diferentes tipos de backups
Diferentes tipos de backupsDiferentes tipos de backups
Diferentes tipos de backups
Bruno Teixeira
 
Sistemas Distribuídos - Comunicação Distribuída – CORBA
Sistemas Distribuídos - Comunicação Distribuída – CORBASistemas Distribuídos - Comunicação Distribuída – CORBA
Sistemas Distribuídos - Comunicação Distribuída – CORBA
Adriano Teixeira de Souza
 
Servidor Proxy Squid
Servidor Proxy SquidServidor Proxy Squid
Servidor Proxy Squid
Frederico Madeira
 
Banco de Dados - Conceitos Básicos
Banco de Dados - Conceitos BásicosBanco de Dados - Conceitos Básicos
Banco de Dados - Conceitos Básicos
Adriano Leite da Silva
 
Padronização de Nomenclatura para Banco de Dados
Padronização de Nomenclatura para Banco de DadosPadronização de Nomenclatura para Banco de Dados
Padronização de Nomenclatura para Banco de Dados
Samuelson Brito
 
Apresentação fedora linux
Apresentação fedora linux Apresentação fedora linux
Apresentação fedora linux
José Nascimento
 
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
Gustavo Zimmermann
 
Trello - Uma visão geral
Trello - Uma visão geralTrello - Uma visão geral
Trello - Uma visão geral
Sandy Maciel
 
Linux Como Tudo Começou
Linux Como Tudo ComeçouLinux Como Tudo Começou
Linux Como Tudo Começou
guestaa94fe
 
[Curso Java Basico] Aula 02: Instalar Java Windows 10
[Curso Java Basico] Aula 02: Instalar Java Windows 10[Curso Java Basico] Aula 02: Instalar Java Windows 10
[Curso Java Basico] Aula 02: Instalar Java Windows 10
Loiane Groner
 

What's hot (20)

01 introducaocaats
01 introducaocaats01 introducaocaats
01 introducaocaats
 
Dispositivos de Entrada e Saída de Dados
Dispositivos de Entrada e Saída de DadosDispositivos de Entrada e Saída de Dados
Dispositivos de Entrada e Saída de Dados
 
Introdução à OpenGL
Introdução à OpenGLIntrodução à OpenGL
Introdução à OpenGL
 
Apresentação automação residencial final
Apresentação automação residencial finalApresentação automação residencial final
Apresentação automação residencial final
 
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
 
Apresentação Sistemas Operativos TUDO.pdf
Apresentação Sistemas Operativos TUDO.pdfApresentação Sistemas Operativos TUDO.pdf
Apresentação Sistemas Operativos TUDO.pdf
 
Sistemas operativos ficha formativa nº3 - resolução
Sistemas operativos   ficha formativa nº3 - resoluçãoSistemas operativos   ficha formativa nº3 - resolução
Sistemas operativos ficha formativa nº3 - resolução
 
Projeto para WEB
Projeto para WEBProjeto para WEB
Projeto para WEB
 
Sistemas Operacionais em redes
Sistemas Operacionais em redesSistemas Operacionais em redes
Sistemas Operacionais em redes
 
VPN - O que é a VPN?
VPN - O que é a VPN?VPN - O que é a VPN?
VPN - O que é a VPN?
 
Diferentes tipos de backups
Diferentes tipos de backupsDiferentes tipos de backups
Diferentes tipos de backups
 
Sistemas Distribuídos - Comunicação Distribuída – CORBA
Sistemas Distribuídos - Comunicação Distribuída – CORBASistemas Distribuídos - Comunicação Distribuída – CORBA
Sistemas Distribuídos - Comunicação Distribuída – CORBA
 
Servidor Proxy Squid
Servidor Proxy SquidServidor Proxy Squid
Servidor Proxy Squid
 
Banco de Dados - Conceitos Básicos
Banco de Dados - Conceitos BásicosBanco de Dados - Conceitos Básicos
Banco de Dados - Conceitos Básicos
 
Padronização de Nomenclatura para Banco de Dados
Padronização de Nomenclatura para Banco de DadosPadronização de Nomenclatura para Banco de Dados
Padronização de Nomenclatura para Banco de Dados
 
Apresentação fedora linux
Apresentação fedora linux Apresentação fedora linux
Apresentação fedora linux
 
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
 
Trello - Uma visão geral
Trello - Uma visão geralTrello - Uma visão geral
Trello - Uma visão geral
 
Linux Como Tudo Começou
Linux Como Tudo ComeçouLinux Como Tudo Começou
Linux Como Tudo Começou
 
[Curso Java Basico] Aula 02: Instalar Java Windows 10
[Curso Java Basico] Aula 02: Instalar Java Windows 10[Curso Java Basico] Aula 02: Instalar Java Windows 10
[Curso Java Basico] Aula 02: Instalar Java Windows 10
 

Similar to Нефункциональные требования.pptx

Нефункциональные требования, Наталья Желнова
Нефункциональные требования, Наталья ЖелноваНефункциональные требования, Наталья Желнова
Нефункциональные требования, Наталья Желнова
Alexander Baikin
 
Nfr and quality-models
Nfr and quality-modelsNfr and quality-models
Nfr and quality-models
Natalia Zhelnova
 
Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1Technopark
 
05 Архитектура информационных систем. Атрибуты качества. Метод ADD
05 Архитектура информационных систем. Атрибуты качества. Метод ADD05 Архитектура информационных систем. Атрибуты качества. Метод ADD
05 Архитектура информационных систем. Атрибуты качества. Метод ADDEdward Galiaskarov
 
Бизнес и системный анализ весна 2013 лекция 6
Бизнес и системный анализ весна 2013 лекция 6Бизнес и системный анализ весна 2013 лекция 6
Бизнес и системный анализ весна 2013 лекция 6Technopark
 
Требования к по
Требования к поТребования к по
Требования к поJaneKozmina
 
Организация тестирования производительности по SWEAT
Организация тестирования производительности по SWEATОрганизация тестирования производительности по SWEAT
Организация тестирования производительности по SWEAT
Return on Intelligence
 
Организация тестирования производительности по SWEAT
Организация тестирования производительности по SWEATОрганизация тестирования производительности по SWEAT
Организация тестирования производительности по SWEAT
SQALab
 
Проектирование_и_архитектура_ПС_2022_L05s.ppt
Проектирование_и_архитектура_ПС_2022_L05s.pptПроектирование_и_архитектура_ПС_2022_L05s.ppt
Проектирование_и_архитектура_ПС_2022_L05s.ppt
dinarium2016
 
Завершение проектов
Завершение проектовЗавершение проектов
Завершение проектов
Timofei Tatarinov
 
QA процесс, часть 2
QA процесс, часть 2QA процесс, часть 2
QA процесс, часть 2
DressTester
 
Тестирование весна 2014 лекция 1
Тестирование весна 2014 лекция 1Тестирование весна 2014 лекция 1
Тестирование весна 2014 лекция 1Technopark
 
Организация тестирования производительности по Sweat
Организация тестирования производительности по SweatОрганизация тестирования производительности по Sweat
Организация тестирования производительности по Sweat
Return on Intelligence
 
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUAREТехники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
SQALab
 
МиСПИСиТ (внешнее описание)
МиСПИСиТ (внешнее описание)МиСПИСиТ (внешнее описание)
МиСПИСиТ (внешнее описание)
Ural Federal University named after First President of Russia B.N. Yeltsin
 
Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Dima Dzuba
 
Эффективное объектно-ориентированное проектирование и структурное качество пр...
Эффективное объектно-ориентированное проектирование и структурное качество пр...Эффективное объектно-ориентированное проектирование и структурное качество пр...
Эффективное объектно-ориентированное проектирование и структурное качество пр...
LuxoftTraining
 
Процесс тестирования
Процесс тестированияПроцесс тестирования
Процесс тестирования
Alexander Solosh
 
Сергей Ревко
Сергей РевкоСергей Ревко
Сергей Ревко
SQALab
 

Similar to Нефункциональные требования.pptx (20)

Нефункциональные требования, Наталья Желнова
Нефункциональные требования, Наталья ЖелноваНефункциональные требования, Наталья Желнова
Нефункциональные требования, Наталья Желнова
 
Nfr and quality-models
Nfr and quality-modelsNfr and quality-models
Nfr and quality-models
 
Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1
 
05 Архитектура информационных систем. Атрибуты качества. Метод ADD
05 Архитектура информационных систем. Атрибуты качества. Метод ADD05 Архитектура информационных систем. Атрибуты качества. Метод ADD
05 Архитектура информационных систем. Атрибуты качества. Метод ADD
 
Бизнес и системный анализ весна 2013 лекция 6
Бизнес и системный анализ весна 2013 лекция 6Бизнес и системный анализ весна 2013 лекция 6
Бизнес и системный анализ весна 2013 лекция 6
 
Требования к по
Требования к поТребования к по
Требования к по
 
Организация тестирования производительности по SWEAT
Организация тестирования производительности по SWEATОрганизация тестирования производительности по SWEAT
Организация тестирования производительности по SWEAT
 
Организация тестирования производительности по SWEAT
Организация тестирования производительности по SWEATОрганизация тестирования производительности по SWEAT
Организация тестирования производительности по SWEAT
 
Проектирование_и_архитектура_ПС_2022_L05s.ppt
Проектирование_и_архитектура_ПС_2022_L05s.pptПроектирование_и_архитектура_ПС_2022_L05s.ppt
Проектирование_и_архитектура_ПС_2022_L05s.ppt
 
Завершение проектов
Завершение проектовЗавершение проектов
Завершение проектов
 
лекция 10 (4часа)
лекция 10 (4часа)лекция 10 (4часа)
лекция 10 (4часа)
 
QA процесс, часть 2
QA процесс, часть 2QA процесс, часть 2
QA процесс, часть 2
 
Тестирование весна 2014 лекция 1
Тестирование весна 2014 лекция 1Тестирование весна 2014 лекция 1
Тестирование весна 2014 лекция 1
 
Организация тестирования производительности по Sweat
Организация тестирования производительности по SweatОрганизация тестирования производительности по Sweat
Организация тестирования производительности по Sweat
 
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUAREТехники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
 
МиСПИСиТ (внешнее описание)
МиСПИСиТ (внешнее описание)МиСПИСиТ (внешнее описание)
МиСПИСиТ (внешнее описание)
 
Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4
 
Эффективное объектно-ориентированное проектирование и структурное качество пр...
Эффективное объектно-ориентированное проектирование и структурное качество пр...Эффективное объектно-ориентированное проектирование и структурное качество пр...
Эффективное объектно-ориентированное проектирование и структурное качество пр...
 
Процесс тестирования
Процесс тестированияПроцесс тестирования
Процесс тестирования
 
Сергей Ревко
Сергей РевкоСергей Ревко
Сергей Ревко
 

More from Natalia Zhelnova

Моделирование бизнес-процессов.pdf
Моделирование бизнес-процессов.pdfМоделирование бизнес-процессов.pdf
Моделирование бизнес-процессов.pdf
Natalia Zhelnova
 
Введение в моделирование бизнес процессов
Введение в моделирование бизнес процессовВведение в моделирование бизнес процессов
Введение в моделирование бизнес процессов
Natalia Zhelnova
 
Киев, BA Con 2017
Киев, BA Con 2017Киев, BA Con 2017
Киев, BA Con 2017
Natalia Zhelnova
 
Введение в моделирование бизнес процессов
Введение в моделирование бизнес процессовВведение в моделирование бизнес процессов
Введение в моделирование бизнес процессов
Natalia Zhelnova
 
требования к кандидату
требования к кандидатутребования к кандидату
требования к кандидату
Natalia Zhelnova
 
должностные обязанности
должностные обязанностидолжностные обязанности
должностные обязанности
Natalia Zhelnova
 
критерии отбора аналитиков
критерии отбора аналитиковкритерии отбора аналитиков
критерии отбора аналитиков
Natalia Zhelnova
 
Нефункциональные требования
Нефункциональные требованияНефункциональные требования
Нефункциональные требования
Natalia Zhelnova
 
Моделирование бизнес-процессов (Analyst Days 2016, СПб)
Моделирование бизнес-процессов (Analyst Days 2016, СПб)Моделирование бизнес-процессов (Analyst Days 2016, СПб)
Моделирование бизнес-процессов (Analyst Days 2016, СПб)
Natalia Zhelnova
 
варианты использования учетной системы
варианты использования учетной системыварианты использования учетной системы
варианты использования учетной системы
Natalia Zhelnova
 
варианты использования системы учета посещаемости и успеваемости
варианты использования системы учета посещаемости и успеваемостиварианты использования системы учета посещаемости и успеваемости
варианты использования системы учета посещаемости и успеваемости
Natalia Zhelnova
 
пример описание процесса учета посещаемости и успеваемости студентов R
пример   описание процесса учета посещаемости и успеваемости студентов Rпример   описание процесса учета посещаемости и успеваемости студентов R
пример описание процесса учета посещаемости и успеваемости студентов R
Natalia Zhelnova
 
диаграмма процесса Учет успеваемости и посещаемости
диаграмма процесса Учет успеваемости и посещаемостидиаграмма процесса Учет успеваемости и посещаемости
диаграмма процесса Учет успеваемости и посещаемости
Natalia Zhelnova
 
Обучение IT-аналитиков
Обучение IT-аналитиковОбучение IT-аналитиков
Обучение IT-аналитиков
Natalia Zhelnova
 
It global meetup_01
It global meetup_01It global meetup_01
It global meetup_01
Natalia Zhelnova
 
It global meetup_02a
It global meetup_02aIt global meetup_02a
It global meetup_02a
Natalia Zhelnova
 
шаблон технико коммерческого предложения
шаблон технико коммерческого предложенияшаблон технико коммерческого предложения
шаблон технико коммерческого предложения
Natalia Zhelnova
 
функциональная спецификация
функциональная спецификацияфункциональная спецификация
функциональная спецификация
Natalia Zhelnova
 
техническое задание (гост 34.602 89)
техническое задание (гост 34.602 89)техническое задание (гост 34.602 89)
техническое задание (гост 34.602 89)
Natalia Zhelnova
 
стратегия тестирования
стратегия тестированиястратегия тестирования
стратегия тестирования
Natalia Zhelnova
 

More from Natalia Zhelnova (20)

Моделирование бизнес-процессов.pdf
Моделирование бизнес-процессов.pdfМоделирование бизнес-процессов.pdf
Моделирование бизнес-процессов.pdf
 
Введение в моделирование бизнес процессов
Введение в моделирование бизнес процессовВведение в моделирование бизнес процессов
Введение в моделирование бизнес процессов
 
Киев, BA Con 2017
Киев, BA Con 2017Киев, BA Con 2017
Киев, BA Con 2017
 
Введение в моделирование бизнес процессов
Введение в моделирование бизнес процессовВведение в моделирование бизнес процессов
Введение в моделирование бизнес процессов
 
требования к кандидату
требования к кандидатутребования к кандидату
требования к кандидату
 
должностные обязанности
должностные обязанностидолжностные обязанности
должностные обязанности
 
критерии отбора аналитиков
критерии отбора аналитиковкритерии отбора аналитиков
критерии отбора аналитиков
 
Нефункциональные требования
Нефункциональные требованияНефункциональные требования
Нефункциональные требования
 
Моделирование бизнес-процессов (Analyst Days 2016, СПб)
Моделирование бизнес-процессов (Analyst Days 2016, СПб)Моделирование бизнес-процессов (Analyst Days 2016, СПб)
Моделирование бизнес-процессов (Analyst Days 2016, СПб)
 
варианты использования учетной системы
варианты использования учетной системыварианты использования учетной системы
варианты использования учетной системы
 
варианты использования системы учета посещаемости и успеваемости
варианты использования системы учета посещаемости и успеваемостиварианты использования системы учета посещаемости и успеваемости
варианты использования системы учета посещаемости и успеваемости
 
пример описание процесса учета посещаемости и успеваемости студентов R
пример   описание процесса учета посещаемости и успеваемости студентов Rпример   описание процесса учета посещаемости и успеваемости студентов R
пример описание процесса учета посещаемости и успеваемости студентов R
 
диаграмма процесса Учет успеваемости и посещаемости
диаграмма процесса Учет успеваемости и посещаемостидиаграмма процесса Учет успеваемости и посещаемости
диаграмма процесса Учет успеваемости и посещаемости
 
Обучение IT-аналитиков
Обучение IT-аналитиковОбучение IT-аналитиков
Обучение IT-аналитиков
 
It global meetup_01
It global meetup_01It global meetup_01
It global meetup_01
 
It global meetup_02a
It global meetup_02aIt global meetup_02a
It global meetup_02a
 
шаблон технико коммерческого предложения
шаблон технико коммерческого предложенияшаблон технико коммерческого предложения
шаблон технико коммерческого предложения
 
функциональная спецификация
функциональная спецификацияфункциональная спецификация
функциональная спецификация
 
техническое задание (гост 34.602 89)
техническое задание (гост 34.602 89)техническое задание (гост 34.602 89)
техническое задание (гост 34.602 89)
 
стратегия тестирования
стратегия тестированиястратегия тестирования
стратегия тестирования
 

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

  • 1. Нефункциональные требования О том, зачем, как и кому определять нефункциональные требования
  • 2. О чем этот доклад ➔ Что такое нефункциональные требования ➔ На что они влияют ➔ Как их определять
  • 3. Классификация требований Вигерс Карл Разработка требований к программному обеспечению
  • 5. Функциональные и нефункциональные требования Функциональные требования: перечень сервисов, с указанием реакции на запросы, поведения в определенных ситуациях; а также, что система не должна делать Нефункциональные требования: характеристики системы и её окружения, а не поведение; плюс ограничения Требования предметной области: характеризуют предметную область, где будет эксплуатироваться система. Могут быть функциональными и нефункциональными. ➔ Не всегда можно разделить функциональные и нефункциональные требования
  • 6. Что не является требованием ➔ Детали архитектуры ➔ Детали реализации ➔ Сведения о планировании ➔ Сведения о тестировании ➔ Любые указания по проектной информации ◆ Бюджет ◆ Время ◆ Инфраструктура разработки
  • 7. Ограничения Архитекторы и разработчики не имеют достаточной свободы действовать по собственному усмотрению: ➔ предопределенное архитектурное решение; ➔ правила и стандарты; ➔ бюджет и сроки сдачи. Это ограничения, влияющие на то, как архитекторы и разработчики будут реализовывать требования ➔ Ограничение сужает варианты выбора
  • 8. Документирование требований Формат Функциональные требования Нефункциональные требования User Stories + + Use Cases + - Текстовый формат + + Модели и описания бизнес- процессов + -
  • 10. На что влияют нефункциональные требования ➔ Развитие системы, продукта ➔ Архитектура системы ➔ IT-Инфраструктура ➔ Процессы, регламенты и SLA для службы поддержки ➔ etc. Детали архитектуры, SLA, планы развития системы/продукта не являются нефункциональными требованиями
  • 11. Модель качества ПО Характеристики качественного ПО ➔ Легко использовать ➔ Хорошая производительность ➔ Нет ошибок ➔ Не портит пользовательские данные при сбоях ➔ Можно использовать на разных платформах ➔ Может работать 24 часа в сутки и 7 дней в неделю ➔ Легко добавлять новые возможности ➔ Удовлетворяет потребности пользователей ➔ Хорошо документировано ➔ etc.
  • 12. Создание модели качества ПО ➔ Определение заинтересованных лиц ➔ Определение критериев качества ➔ Нахождение решения, удовлетворяющего критериям
  • 13. Модели качества ПО ➔ 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
  • 14. Модель качества ISO 9126 Оценка качества ПО основана на трехуровневом рассмотрении: ➔ Цели (goals) — то, что мы хотим видеть в ПО ➔ Атрибуты (attributes) —свойства ПО, показывающие приближение к целям ➔ Метрики (metrics) — количественные характеристики степени наличия атрибутов Выделено 6 целей: ➔ функциональность (functionality) ➔ надежность (reliability) ➔ практичность, или удобство использования (usability) ➔ эффективность (efficiency) ➔ сопровождаемость (maintainability) ➔ переносимость или мобильность (portability)
  • 15. Характеристики качества ПО (ISO 9126) Наименование характеристики Набор атрибутов Функциональность Пригодность к определенной работе (suitability) Точность, правильность (accuracy) Способность к взаимодействию, совместимость (interoperability) Соответствие стандартам и правилам (compliance) Защищенность (security)
  • 16. Характеристики качества ПО (ISO 9126) Наименование характеристики Набор атрибутов Надёжность Зрелость, завершенность (обратна к частоте отказов) (maturity) Устойчивость к отказам (fault tolerance) Способность к восстановлению работоспособности при отказах (recoverability) Доступность Готовность (коэффициент готовности) Соответствие стандартам надежности (reliability compliance, добавлен в 2001)
  • 17. Характеристики качества ПО (ISO 9126) Наименование характеристики Набор атрибутов Практичность, удобство использования Понятность (understandability) Удобство обучения (learnability) Работоспособность (operability) Привлекательность (attractiveness, добавлен в 2001) Соответствие стандартам практичности (usability compliance, добавлен в 2001)
  • 18. Характеристики качества ПО (ISO 9126) Наименование характеристики Набор атрибутов Эффективность Временные характеристики (time behaviour) Использование ресурсов (resource utilisation) Соответствие стандартам эффективности (efficiency compliance,добавлен в 2001)
  • 19. Характеристики качества ПО (ISO 9126) Наименование характеристики Набор атрибутов Сопровожда- емость Анализируемость (analyzability) Изменяемость, удобство внесения изменений (changeability) Риск возникновения неожиданных эффектов при внесении изменений (stability) Контролируемость, удобство проверки (testability) Соответствие стандартам сопровождаемости (maintainability compliance, добавлен в 2001)
  • 20. Характеристики качества ПО (ISO 9126) Наименование характеристики Набор атрибутов Переносимость Адаптируемость (adaptability) Удобство установки (installability) Способность к сосуществованию с другим ПО (coexistence) Удобство замены другого ПО данным (replaceability) Соответствие стандартам переносимости (portability compliance, добавлен в 2001)
  • 21. Характеристики качества ➔ Функциональность – способность решать задачи, которые соответствуют зафиксированным и предполагаемым потребностям пользователя, при заданных условиях использования ➔ Надежность – способность выполнять требуемые задачи в обозначенных условиях на протяжении заданного промежутка времени или указанное количество операций ➔ Удобство использования – возможность легкого понимания, изучения, использования и привлекательности ПО для пользователя ➔ Эффективность – способность обеспечивать требуемый уровень производительности в соответствии с выделенными ресурсами, временем и другими обозначенными условиями ➔ Удобство сопровождения – легкость, с которой ПО может анализироваться, тестироваться, изменяться для исправления дефектов, для реализации новых требований, для облегчения дальнейшего обслуживания и адаптироваться к изменяющемуся окружению ➔ Переносимость – характеризует ПО с точки зрения легкости его переноса из одного окружения (software/hardware) в другое
  • 22. Основные характеристики качества ПО (ISO 9126) ➔ Системная эффективность — применение программного продукта по назначению ➔ Продуктивность — производительность при решении основных задач системы, достигаемая при реально ограниченных ресурсах в конкретной внешней среде применения ➔ Безопасность — надежность функционирования комплекса программ и возможный риск от его применения для людей, бизнеса и внешней среды ➔ Удовлетворение требований и затрат пользователей в соответствии с целями применения системы
  • 23. Модель качества ПО по МакКолу Характеристики качества: ➔ Факторы (factors), описывающие ПО с позиций пользователя и задаваемые требованиями ➔ Критерии (criteria), описывающие ПО с позиций разработчика и задаваемые как цели ➔ Метрики (metrics), используемые для количественного описания и измерения качества
  • 24. Критерии качества ПО по МакКолу Критерии качества — числовые уровни факторов, поставленные в качестве целей при разработке: ➔ Удобство проверки на соответствие стандартам (auditability) ➔ Точность управления и вычислений (accuracy) ➔ Степень стандартности интерфейсов (communication commonality) ➔ Функциональная полнота (completeness) ➔ Однородность используемых правил проектирования и документации (consistency) ➔ Степень стандартности форматов данных (data commonality) ➔ Устойчивость к ошибкам (error tolerance) ➔ Эффективность работы (execution efficiency) ➔ Расширяемость (expandability)
  • 25. Критерии качества ПО по МакКолу ➔ Широта области потенциального использования (generality) ➔ Независимость от аппаратной платформы (hardware independence) ➔ Полнота протоколирования ошибок и других событий (instrumentation) ➔ Модульность (modularity) ➔ Удобство работы (operability) ➔ Защищенность (security) ➔ Самодокументированность (selfdocumentation) ➔ Простота работы ( simplicity) ➔ Независимость от программной платформы (software system independence) ➔ Возможность соотнесения проекта с требованиями (traceability) ➔ Удобство обучения (training)
  • 26. Критерии качества ПО по Боэму Дополнительные атрибуты качества по Боэму: ➔ ясность (clarity), ➔ удобство внесения изменений (modifiability), ➔ документированность (documentation), ➔ способность к восстановлению функций (resilience), ➔ понятность (understandability), ➔ адекватность ( validity), ➔ функциональность (functionality), ➔ универсальность (generality), ➔ экономическая эффективность (economy)
  • 27. ГОСТ 34 (с дополнениями) Runtime (атрибуты, относящиеся ко времени работы приложения или системы): ➔ Доступность ➔ Надежность ➔ Требования к времени хранения данных ➔ Масштабируемость ➔ Требования к удобству использования ➔ Требования к безопасности ➔ Требования к конфигурируемости ➔ Требования к производительности ➔ Ограничения
  • 28. ГОСТ 34 (с дополнениями) Design time (атрибуты, определяющие ключевые аспекты проектирования приложения или системы): ➔ Требования к повторному использованию реализации или компонентов приложения/системы ➔ Требования к расширяемости ➔ Требования к переносимости ➔ Требования к взаимодействию ➔ Требования к поддержке ➔ Требования к модульности ➔ Требования к возможности тестирования ➔ Требования к возможности и простоте локализации ➔ Требования к совместимости между версиями приложений
  • 29. Подход FURPS+ Подход FURPS+ разработан Робертом Грэйди (Robert Grady) из Hewlett-Packard и предложен в 1992 году ➔ Functionality – функциональность ➔ Usability – удобство использования ➔ Reliability – надежность ➔ Performance – производительность ➔ Supportability – удобство сопровождения + Описание различных ограничений, которые необходимо учитывать при проектировании и разработке системы
  • 30. FURPS+ Функциональные требования (Functionality): ➔ технологический процесс; ➔ журналирование; ➔ локализация; ➔ печать; ➔ отчетность; ➔ управление системой; ➔ и т.д.
  • 31. FURPS+ Удобство использования (Usability): ➔ эргономичность пользовательского интерфейса; ➔ защита от человеческого фактора; ➔ эксплуатационная документация; ➔ справка по работе с системой (help); ➔ соответствие интерфейса пользователя стандартам оформления; ➔ [необходимость дополнительного обучения пользователей]; ➔ и т.д.
  • 32. FURPS+ Надежность (Reliability): ➔ допустимая частота/периодичность сбоев; ➔ возможность восстановления системы после сбоев; ➔ время доступности системы (например, 365х24х7); ➔ предсказуемость поведения; ➔ точность вычислений; ➔ и т.д.
  • 33. FURPS+ Производительность (Performance): ➔ скорость работы, время отклика; ➔ пропускная способность (количество одновременно работающих пользователей, количество пользовательских запросов, …); ➔ время, необходимое для запуска системы, ее остановки и восстановления ее работоспособности; ➔ потребление ресурсов; ➔ и т.д.
  • 34. FURPS+ Удобство сопровождения (Supportability): ➔ диагностические средства; ➔ сервисные возможности; ➔ возможность наращивания функциональности; ➔ кастомизация; ➔ соответствие международным стандартам; ➔ и т.д.
  • 35. Значения атрибутов качества ➔ Для каждого атрибута качества задаются диапазоны их допустимых значений ➔ Диапазоны допустимых значений определяют все зависимые от нефункциональных требований аспекты ЖЦ продукта/системы ➔ На основании выбранных атрибутов качества и диапазонов их допустимых значений создаются профили качества продуктов/систем
  • 36. Значения атрибутов качества Примеры ➔ Хорошая производительность: ◆ Число операций в секунду <интервал значений> ◆ Число транзакций в секунду: <интервал значений> ➔ Можно использовать на разных платформах ◆ Список поддерживаемых платформ и ограничений по их использованию ➔ Может работать 24 часа в сутки и 7 дней в неделю ◆ Частота недоступности системы в пределах временного интервала, который используется для определения доступности
  • 37. Определение значений атрибутов качества Доступность (отказоустойчивость) ➔ Частота недоступности системы в пределах временного интервала, который используется для определения доступности ➔ Продолжительность недоступности системы ➔ Доступность по расписанию ◆ 5 х 8 (рабочие дни, рабочие часы) ◆ 7 х 24 (все дни недели, 24 часа) ◆ 365 х 24 (все дни года, 24 часа) Доступность пять «9 » или 99,999% - стремление индустрии Например, производители серверов: ➔ Достигнутый результат – 99,998% для кластеров (10 минут недоступности в течение года)
  • 38. Определение значений атрибутов качества Надежность и доступность ➔ Операционная мера надежности – MTTF (Mean Time To Failure – среднее время до отказа или наработка на отказ). Измеряется в часах ➔ Частота отказов: (1/ MTTF) ➔ Среднее время на устранение отказа – MTTR (Mean Time To Repair)
  • 39. Определение значений атрибутов качества Производительность ➔ При заданных параметрах системы ◆ Число серверов ◆ Процессоры ◆ Память ◆ Дисковая подсистема ◆ Сеть ➔ При заданном объеме базы данных ◆ Число записей того или иного сорта, например, число позиций на складе или число счетов в банковской системе или число полисов в страховой системе ◆ При меняющемся числе параллельно работающих пользователей ◆ Например, 1 – 10 – 100 – 1000 – 10000
  • 40. Определение значений атрибутов качества Производительность ➔ Время отклика системы на воздействие ◆ Онлайн запросы ◆ Пакетные запросы (отчеты) ➔ Разные виды архитектуры ◆ Клиент – сервер ◆ Клиент – сервер приложений – сервер базы данных ◆ Клиент – сервер интерфейса – сервер приложений – сервер базы данных ➔ Как осуществляется балансировка нагрузки ◆ Автоматически, средствами сервера приложений, операционной системы, базы данных ◆ Алгоритмами приложения
  • 41. Определение значений атрибутов качества Безопасность Метрика Методика определения протоколирование доступа Х = А / В; А = число «фактов доступа пользователя к системе и данным», зафиксированных в протоколе системы; В = число «фактов доступа пользователя к системе и данным», которые были произведены во время оценки контролируемость доступа Х = А / В; А = число обнаруженных видов несанкционированного доступа; В = число видов несанкционированного доступа в спецификации
  • 42. Определение значений атрибутов качества Безопасность Метрика Методика определения предотвращение повреждения данных а) Х = 1 – А / N; A = число фактов существенного повреждения данных; N = число видов тестов, при помощи которых пытались спровоцировать факт повреждения данных; b) Y = 1 – B / N; B = число фактов незначительного повреждения данных; c) Х = A / T или B / T; T = время выполнения операции d) Х = А / В; А = число реализованных механизмов защиты от повреждения данных; В = число механизмов, требуемых по спецификации
  • 43. Определение значений атрибутов качества Безопасность Метрика Методика определения экономический ущерб a) Х = 1 – А / В; А = число событий экономического ущерба; В = общее число инсталляций системы b) X = A/T A = Величина экономического ущерба T = Время эксплуатации системы повреждение прочего ПО Х = 1 – А / В; А = число событий повреждения прочего ПО; В = общее число использования системы
  • 44. Определение значений атрибутов качества Если точное значение определить невозможно ➔ Используйте оценочные значения (границы интервалов, за которые нельзя выходить) ◆ Оценки по порядку величины ◆ Например, 1 – 10 – 100 – 1000 – 10000 ➔ Уточняйте требования бизнес-уровня ➔ Пользуйтесь экспертизой ведущих производителей ПО ◆ Benchmark tests ◆ Техническая документация вендоров
  • 45. Атрибуты качества: общие проблемы ➔ Клиентам трудно их определить, и потому их обычно обходят стороной ◆ У разных классов пользователей свои предпочтения ➔ Подразумеваются заказчиками, а не определяются и не исследуются на предмет выполнимости ➔ Существенны и значимы при выборе архитектурного решения ➔ Должны быть исследованы во время процесса выявления требований при участии всех заинтересованных сторон (а не только пользователей) ➔ Должны быть измеряемы и проверяемы
  • 46. Атрибуты качества: рабочие группы ➔ Определить список заинтересованных лиц (ЗЛ), с которыми можно провести техническое интервью: ◆ Представители бизнес-пользователей ◆ Архитекторы ПО ◆ Ведущие специалисты по тестированию ◆ Менеджеры и аналитики зависимых систем ➔ Составить опросник с архитектурными требованиями: ◆ Несколько вопросов для каждого требования ◆ Указать приоритет ➔ Собрать ответы ЗЛ, проанализировать их на непротиворечивость
  • 47. Атрибуты качества: рабочие группы Сценарий работы группы по определению атрибутов качества: 1. Знакомство и представление рабочей группы 2. Представление бизнес-целей и задач 3. Представление плана архитектуры ПО 4. Определение ведущих элементов архитектуры 5. Сценарий «мозговой штурм» 6. Сценарий «консолидация результатов» 7. Сценарий «задание приоритетов» 8. Сценарий «уточнение»
  • 48. Связь между функциональными и нефункциональными требованиями Работа над функциональными требованиями: 1. Определение вариантов использования и их декомпозиция 2. Определение функциональных областей в системе (общие цели, общие действующие лица) 3. Определение критических факторов, влияющих на выполнение сценариев 4. Определение действующих ограничений

Editor's Notes

  1. Требование – пригодное для практического использования представление решения в виде условия или возможности, которые необходимы заинтересованной стороне (стейкхолдеру) для достижения цели, инициированной потребностью. BABOK®Guide различает следующие виды требований: Бизнес-требование (business requirement), которое отвечает на вопросы «Почему это нужно?» или «Зачем я этого хочу?» и представляет собой отображение целей, задач и результатов, объясняющих, для чего было инициировано изменение и каким образом будет оцениваться успех его реализации; Требование стейкхолдера (stakeholder requirement), которое отвечает на вопрос «Что нужно?» и описывает потребности отдельной заинтересованной стороны или целой группы стейкхолдеров, необходимые для выполнения бизнес-требований. Фактически, они могут играть роль проводника от бизнес-требований до требований к решению. Требование к решению (solution requirement), которое отвечает на вопрос «Что я хочу?» и описывает возможность или качество решения, удовлетворяющие требованиям стейкхолдера. Требования к решению делятся на функциональные требования и нефункциональные. Функциональное требование (functional requirement) означает поведенческую возможность, которую должно предоставлять решение. Нефункциональное требование (non-functional requirement) описывает особенности эксплуатации: производительность, информационную безопасность, удобство использования и выражается в измеримых показателях, которые являются своего рода ограничениями варианта реализации (дизайна) решения. Подробнее про нефункциональные требования читайте в нашей новой статье. Переходное требование (transition requirement), которое отвечает на вопрос «Каковы условия реализации перехода от бизнес-потребности к внедренному решению?», описывая возможности решения и условия, каким оно должно соответствовать для перехода из текущего состояния в целевое. В отличие от других видов требования, переходное требование является временным, т.к. становится не нужным после завершения изменения. Например, требование относительно форматов и процедур преобразования данных при переходе от одной системы к другой.