38
Как задавать требования к качеству ПО в цифрах? Денис Бесков, [email protected] Школа системного анализа

Денис Бесков. Как задавать требования к качеству ПО в цифрах?

Embed Size (px)

Citation preview

Page 1: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

Как  задавать  требования  к  качеству  ПО  в  цифрах?  

Денис  Бесков,  [email protected]      

Школа  системного  анализа  

Page 2: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

Вопросы:  

1. Что  такое  качество?  

2. Как  его  задать?  

3. Как  выбрать  конкретные  значения?  

2  

Page 3: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

Обзор  

1.  Качество  как  явление  

2.  Модель  качества  

3.  Атрибуты  и  показатели  качества  продукта  

4.  Атрибуты  и  показатели  качества  в  использовании    

5.  Классы  систем    

6.  Профили  качества    

7.  Влияние  стадии  зрелости    

8.  «Инструкция»  по  применению  

 

3  

Page 4: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

КАЧЕСТВО  КАК  ЯВЛЕНИЕ  

4  

Page 5: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

Качество  как  явление  

Качество  X  —  это  соответствие  (свойств)  X  ожиданиям  ключевых  заинтересованных  лиц  

5  

Нормальное   Высокое  Низкое  

Page 6: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

МОДЕЛЬ  КАЧЕСТВА  ПО  

6  

Page 7: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

Модель  качества  ПО  

7  

ПО  

Пользователь   Разработчик  Другое  ПО  

1.  Внешнее  качество  продукта  

2.  Внутреннее  качество  продукта  

3.  Качество  в  использовании  

Page 8: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

АТРИБУТЫ  КАЧЕСТВА  

8  

Page 9: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

Рассматриваемые  атрибуты  

Атрибуты  качества  продукта  (product  quality  attributes)  1.  Производительность  2.  Эффективность  3.  Надёжность  4.  Доступность  5.  Безопасность  6.  Масштабируемость    

Атрибуты  качества  использования  (quality  in  use)  1.  Скорость  работы  2.  Результативность  3.  Точность  4.  Скорость  обучения  5.  Удовлетворённость  6.  Утомляемость  

9  

Page 10: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

УРОВНИ  КАЧЕСТВА  

10  

Page 11: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

Уровни  качества  

0  —  Низкий  1  —  Средний  2  —  Высокий  3  —  Исключительный  

11  

Page 12: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

АТРИБУТЫ  И  ПОКАЗАТЕЛИ  КАЧЕСТВА  ПРОДУКТА  

12  

Page 13: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

Атрибуты  качества  продукта  

13  

1. Производительность  2. Эффективность  3. Надёжность  4. Доступность  5. Безопасность  6. Масштабируемость  

Page 14: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

Производительность  (П)  

Показатель  /  Уровень   0   1   2   3  П1.1.  Количество  одновременно  работающих  пользователей   1+   10+   100+   1  K+  

П1.2.  Частота  запросов  от  пользователя  в  минуту   -­‐   <=  4   <=  10   <=100  

П1.3.  Количество  исполняемых  транзакций  в  секунду   -­‐   3+   50+   1500+  

П2.1.  Длительность  типовых  операций/транзакций,  для  %  случаев  

80%   -­‐  <=  

5  сек  <=  

3  сек  <=  

1  сек  

95%   -­‐  <=  

10  сек  <=  

5  сек    <=  

3  сек  

14  

Page 15: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

Эффективность  (Э)  

Показатель  /  Уровень   0   1   2   3  

Э1.  Количество  операций  /  (секунду  *  стоимость  оборудования,  k$)  

-­‐   3  +   5  +   15+  

15  

Page 16: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

Надёжность  (Н)  

Показатель  /  Уровень   0   1   2   3  

Н1.  Вероятность  сбоя  (без  ущерба  для  безопасности)  

-­‐   5%   1%   0,1%  

Н2.  Время  восстановления  после  сбоя   -­‐  

<=  5  мин  

<=  30  сек  

<=  5  сек  

16  

Page 17: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

Доступность  (Д)  

Показатель  /  Уровень   0   1   2   3  Д1.  Коэффициент  доступности   50%   96%   99%   99,9%  

Д1.1.  Допустимое  время  простоя  в  час,  минут  

30  мин   3  мин   1  мин   1  сек  

Д1.2.  Допустимое  время  простоя  в  день,  часов  

12  ч   1  ч   15  мин   15  сек  

Д1.3.  Допустимое  время  простоя  в  месяц,  часов  

360  ч   30  ч   7  ч   1    мин  

17  

Page 18: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

Безопасность  (Б)  

Показатель  /  Уровень   0   1   2   3  

Б1.  Стоимость  НСД/взлома,  k$  

0   1  +   30  +   1  000  +  

Б2.  Вероятность  утечки  данных  в  результате  сбоя  

-­‐   <  0,1%  <  

0,01%  <  

0,001%  

18  

Page 19: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

Масштабируемость  (М)  

Показатель  /  Уровень   0   1   2   3  

М1.  Характер  зависимости  времени  выполнения  транзакций  или  стоимости  ресурсов  от  нагрузки  

Степенной,  где  

показатель  >  1  

Линейный  

Степенной,  где  

показатель  <  1  

Логариф-­‐мический  

M2.  Стоимость  десятикратного  увеличения  мощности  системы  

>  1000%   400-­‐900%   <  200%   <  100%  

19  

Page 20: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

АТРИБУТЫ  КАЧЕСТВА  ИСПОЛЬЗОВАНИЯ  (QUALITY  IN  USE)  

20  

Page 21: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

Атрибуты  качества  использования  

21  

1. Скорость  работы  2. Результативность  3. Точность  4. Скорость  обучения  5. Удовлетворённость  6. Утомляемость  

Page 22: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

Скорость  работы  пользователя  (СР)  

Показатель  /  Уровень   0   1   2   3  

СР1.1  Среднее  время  выполнения  учётных*  сценариев,  в  %  случаев  

80%   -­‐   <  5  мин   <  3  мин   <  1  мин  

95%   -­‐   <  15  мин   <  5  мин   <  3  мин  

СР1.2  Среднее  время  выполнения  сложных**  сценариев,  в  %  случаев  

80%   -­‐   <  15  мин   <  10  мин   <  5  мин  

95%   -­‐   <  30  мин   <  15  мин   <  10  мин  

СР1.2  Среднее  время  выполнения  поисковых  сценариев,  в  %  случаев  

80%   -­‐   <  3  мин   <  1  мин    <  20  cек  

95%   -­‐   <  10  мин   <  3  мин   <  1  мин  

22  *        —  учётные  сценарии  —  не  больше  2  экранов  и  20  полей  **  —  сложные  сценарии  —  не  больше  7  экранов  и  100  полей  

Page 23: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

Результативность  (Р)  

Показатель  /  Уровень   0   1   2   3  

Р1.  Процент  успешного  завершения  сценариев  необученным  пользователем  

-­‐   >  66%   >  80%   >  95%  

23  

Page 24: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

Точность  (Т)  

Показатель  /  Уровень   0   1   2   3  

Т1.  Процент  совершённых  ошибок  

>  10%   <  10%   <  5%   <  2%  

24  

Page 25: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

Скорость  обучения  (СО)  

Показатель  /  Уровень   0   1   2   3  

СО1.  Длительность  обучения,  необходимая  для  доведения  результативности  до  95%  

>  4  часов  <  4  

часов  <  10  

минут   0  мин  

25  

Page 26: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

Удовлетворённость  (УД)  

Показатель  /  Уровень   0   1   2   3  

УД1.  Средняя  оценка  пользователями  

Ниже  ожиданий  

На  уровне  ожиданий  

Выше  ожиданий  

Один  из  лучших  продуктов  из  

испробованных  

26  

Page 27: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

Утомляемость  (УТ)  

Показатель  /  Уровень   0   1   2   3  

УТ1.  Время  непрерывной  работы,  после  которой  число  ошибок  вырастает  больше,  чем  на  20%  

>  1  мин  

>  5  мин  

>  20  мин  

>  45  мин  

27  

Page 28: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

КЛАССЫ  ПО  И  СИСТЕМ  

28  

Page 29: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

Классы  по  ГОСТ  28195-­‐89    5012  -­‐  программные  средства  управления  базами  данных;  5013  -­‐  инструментально-­‐технологические  средства  программирования;  5014  -­‐  ПС  интерфейса  и  управления  коммуникациями;  5015  -­‐  ПС  организации  вычислительного  процесса  (планирования,  контроля);  5016  -­‐  сервисные  программы;  5017  -­‐  ПС  обслуживания  вычислительной  техники;  503  -­‐  прикладные  программы  для  научных  исследований;  504  -­‐  прикладные  программы  для  проектирования;  505  -­‐  прикладные  программы  для  управления  техническими  устройствами  и  технологическими  процессами;  506  -­‐  прикладные  программы  для  решения  экономических  задач;  509  -­‐  прочие  ПС.  

29  

Page 30: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

Полезные  сейчас  классы  1.  Обычные  сайты:  1.1.  Home  Site  1.2.  Business  Site  

2.  Мобильные  приложения:  2.1.  Consumer  Mobile  App  2.2.  Enterprise  Mobile  App  

3.  Интернет-­‐магазины  и    настольные  приложения:  

3.1.  Consumer  WebShop  3.2.  Consumer  Desktop  App  

4.  Компоненты:  4.1.  Заказной  компонент  4.2.  Тиражируемый  компонент  

5.  Заказное  ПО:  5.1.  Custom  Enterprise  Desktop  App  5.2.  Custom  Enterprise  Service    6.   ПО  для  компаний:  6.1.  Enterprise  Desktop  App  6.2.  Enterprise  Server  App    7.  Интернет-­‐сервисы:  7.1.  B2C  SaaS  7.2.  B2B  SaaS  

30  

Page 31: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

ПРОФИЛИ  КАЧЕСТВА  

31  

Page 32: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

Профили  качества  Класс  системы   П   Э   Н   Д   Б   М   СР   Р   Т   СО   УД   УТ  

Home  Site   0   1   1   0   0   0   0   0   0   2   -­‐   -­‐  

Business  Site   1   1   1   1   1   1   1   2   1   3   1   2  

Consumer  Mobile  App   1   1   1   1   1   1   2-­‐3   2   2   3   2-­‐3   2  

Enterprise  Mobile  App   1   1   2   1   2   1   1   1   1   2   -­‐   2  

Consumer  Web  Shop   2   2   2   1   2   2   3   3   3   3   2   2  

Consumer  Desktop  App   2   1   2   2   2   1   2   2   2-­‐3   2   2-­‐3   3  

Заказной  компонент   2   2   3   3   3   2   -­‐   -­‐   -­‐   -­‐   -­‐   -­‐  

Тиражируемый  компонент   3   3   3   3   3   3   -­‐   -­‐   -­‐   -­‐   -­‐   -­‐  

Custom  Enterprise  Desktop  App   2   2   2   1   2   1   2   1   2-­‐3   1-­‐2   1   3  

Custom  Enterprise  Service   2   1   3   2   3   2   -­‐   -­‐   -­‐   -­‐   -­‐   -­‐  

Enterprise  Desktop  App   2   2   2   2   3   2   2   2   3   1-­‐2   1   3  

Enterprise  Server  App   3   3   3   3   3   2   -­‐   -­‐   -­‐   -­‐   -­‐   -­‐  

B2C  SaaS   3   3   3   3   3   3   2   3   3   2   2   2  

B2B  SaaS   3   3   3   3   3   3   2   2   3   2   1   3  32  

Page 33: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

Стадии  зрелости  ПО  и  коэффициенты  

-­‐3    Прототип  -­‐2  Ранняя  бета  -­‐1    Демо-­‐версия  0    Промышленная  версия  

33  

Page 34: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

ИНСТРУКЦИЯ  ПО  ПРИМЕНЕНИЮ  

34  

Page 35: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

Инструкция  по  применению  

1.  Определите  класс  системы  2.  Определите  уровень  

зрелости  3.  Выберите  нужный  профиль  

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

35  

Page 36: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

СТАНДАРТЫ  

36  

Page 37: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

Стандарты  по  качеству  ПО  

•  ГОСТ  28195-­‐89Оценка  качества  программных  средств.  Общие  положения  

•  ГОСТ  28806-­‐90  Качество  программных  средств.  Термины  и  определения  

•  ISO/IEC  25010:2011,  Systems  and  software  engineering  —  Systems  and  software  Quality  Requirements  and  Evaluation  (SQuaRE)  —  System  and  software  quality  models    

•  ISO/IEC  25030:2007,  Software  engineering  —  Software  product  Quality  Requirements  and  Evaluation  (SQuaRE)  —  Quality  requirements  

37  

Page 38: Денис Бесков. Как задавать требования к качеству ПО в цифрах?

СПАСИБО  

38  

!