Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

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

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio

Eche un vistazo a continuación

1 de 48 Anuncio

Más Contenido Relacionado

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

Más de Natalia Zhelnova (20)

Anuncio

Más reciente (20)

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

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

Notas del editor

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

×