Баллы SNAP

SNAP — это аббревиатура от «Software Non-function Assessment Process», измерения размера нефункционального программного обеспечения. Метод определения размера SNAP дополняет стандарт ISO/IEC 20926:2009, который определяет метод определения размера функционального программного обеспечения. SNAP — это продукт Международной группы пользователей функциональных точек ( IFPUG ), и его размер определяется с помощью «Руководства по практике оценки процесса нефункциональной оценки программного обеспечения (SNAP)» (APM), в настоящее время в версии 2.4. Ссылка «IEEE 2430-2019-IEEE Trial-Use Standard for Non-Functional Sizing Measurements», опубликовано 19 октября 2019 г. ([1]). Также ознакомьтесь со стандартом ISO «Программная инженерия. Стандарт пробного использования для измерений нефункциональных размеров программного обеспечения» (https://www.iso.org/standard/81913.html), опубликованным в октябре 2021 г. Для получения дополнительной информации о SNAP посетите YouTube и выполните поиск по запросу «IFPUG SNAP»; это предоставит серию видеороликов с обзором методологии SNAP.

Введение

Программное приложение может предоставлять два аспекта ценности своим пользователям. В этом контексте первый аспект — это «что» будет делать программное обеспечение, а именно «подмножество требований пользователя. Требования, которые описывают, что программное обеспечение должно делать, с точки зрения задач и услуг». (Определение ISO/IEC 14143-1) Это можно определить как его «функциональность». Одной из метрик, используемых для измерения размера одной единицы этого функционального программного обеспечения, является «функциональная точка». Используя метрику функционального размера (FSM) стандарта ISO, например, в «Руководстве по практике подсчета функциональных точек» IFPUG [1] (FSM ISO/IEC 20926:2009), [2] специалист по подсчету функциональных точек может изучить часть функциональных требований пользователя программного приложения и измерить его функциональный размер в единицах функциональных точек.

Более подробную информацию о метрике функциональной точки и функциональных метриках определения размера программного обеспечения других организаций можно найти в библиографии, статье Википедии « функциональная точка » и многочисленных ссылках в литературе.

Требование пользователя программного обеспечения также может указывать «как» программное обеспечение будет это делать, в частности «Требование к программному обеспечению, которое описывает не то, что программное обеспечение будет делать, а то, как программное обеспечение будет это делать». (Определение ISO/IEC/IEEE 24765:2010) Эти типы программного обеспечения определяются IFPUG как «нефункциональные». Соответствующий размер программного обеспечения измеряется SNAP. IFPUG APM [3] подробно описывает, как определить размер нефункционального программного обеспечения приложения. Нефункциональные аспекты определены и классифицированы в ISO/IEC 25010:2011, «Системная и программная инженерия — Требования и оценка качества систем и программного обеспечения (SQuaRE) — Модели качества систем и программного обеспечения». [4]

Функциональный размер программного обеспечения вместе с нефункциональным размером программного обеспечения следует использовать для измерения общего размера программного обеспечения программных проектов. Оба размера следует использовать для измерения производительности программного проекта, установления контрольных показателей и оценки стоимости и продолжительности программных проектов.

Метод определения нефункциональных требований пользователя

Подобно определению размера функциональных точек, единицей нефункциональности является «точка SNAP». Размер программного обеспечения, полученный путем количественной оценки нефункциональной части приложения, может быть измерен с помощью процедуры в APM. Подобно функциональным точкам, с помощью IFPUG APM специалист по подсчету точек SNAP может изучить программное приложение и измерить размер его нефункциональности в единицах точек SNAP. Также как и функциональные точки, количество точек SNAP в приложении коррелирует с трудозатратами на разработку нефункциональной программной части этого приложения. Оригинальное исследование, подробно описывающее эту корреляцию, находится в CrossTalk The Journal of Defense Software Engineering , как статья «Новая метрика программного обеспечения для дополнения функциональных точек процесса оценки нефункционального программного обеспечения (SNAP)». [5]

Каждый аспект программного обеспечения (функциональный и нефункциональный) требует усилий по разработке, которые пропорциональны их размерам. Организации по разработке программного обеспечения могут использовать свои корреляции между функциональными точками и их трудозатратами, а также между точками SNAP и их трудозатратами, чтобы помочь спрогнозировать свои затраты на разработку программного обеспечения и графики, а также провести аудит проектов, чтобы определить, насколько хорошо было потрачено финансирование и управлялись графики

SNAP распознает четыре категории и 14 подкатегорий нефункциональных требований пользователя. Они приведены в таблице ниже из APM.

1. Операции с данными
1.1.       Проверка ввода данных1.2       Логические и математические операции1.3       Форматирование данных1.4       Внутренние перемещения данных1.5.       Предоставление пользователям дополнительных преимуществ за счет конфигурации данных
2. Дизайн интерфейса
2.1       Пользовательские интерфейсы2.2       Методы помощи2.3.Множественные       методы ввода2.4.       Множество форматов вывода
3. Техническая среда
3.1.Множественная       платформа3.2       Технология баз данных3.3       Пакетные процессы
4. Архитектура
4.1       Программное обеспечение на основе компонентов4.2.Множественные       интерфейсы ввода/вывода

Например, разработка программного обеспечения для изменения размеров полей данных в таблице данных не представляет собой изменения функциональности согласно методам IFPUG. Однако эта разработка требует трудозатрат. Форматирование данных считается нефункциональным и учитывается в подкатегории SNAP 1.3.

Методы справки (подкатегория 2.2) обычно считаются нефункциональными. По сравнению с процессом функциональной точки, который требует, чтобы данные пересекали границу приложения и поддерживали внутренний логический файл, данные справки могут быть закодированы для внутреннего размещения как часть разработки приложения и быть доступными по команде пользователя. Этот доступ может быть любым: от всплывающей справки над значком на экране до доступа к части внутреннего руководства по эксплуатации приложения. Данные не обрабатываются как таковые, поэтому справку обычно считают нефункциональной.

Функциональные баллы и баллы SNAP измеряют два разных аспекта размера программного обеспечения и, следовательно, не суммируются. Например, приложение из 500 функциональных баллов и 300 баллов SNAP не может считаться размером 800 некоторой метрики; функциональные баллы и баллы SNAP должны быть ортогональными. Хорошей ссылкой для получения более подробной информации относительно взаимосвязи между функциональностью и нефункциональностью является документ «Глоссарий терминов для нефункциональных требований и требований проекта, используемых при измерении производительности программного проекта, сравнительном анализе и оценке». [6]

Преимущества

SNAP предоставляет пользователям и командам разработчиков программного обеспечения множество преимуществ в дополнение к использованию только функциональных точек. Ниже приведены шесть из многих примеров.

  • Измерение размера нефункционального программного обеспечения улучшает оценку трудозатрат на разработку программного обеспечения, основанную исключительно на оценке функциональных требований пользователя.
  • Измеряет размер алгоритмов, используя подкатегорию 1.2.
  • Улучшенная оценка трудозатрат должна также привести к более точным оценкам планирования, распределения ресурсов и рисков.
  • Учет размера SNAP улучшает оценку трудозатрат на поддержку программного обеспечения после его развертывания.
  • Показатели производительности проектных групп можно точнее определить, поскольку в измеряемый объем их работы включено больше факторов.
  • Включение как функциональных, так и нефункциональных рабочих продуктов лучше демонстрирует ценность, предоставляемую пользователю.

Кроме того, некоторые усилия по разработке программного обеспечения могут быть измерены как имеющие нулевые функциональные баллы. Например, спринт по обслуживанию программного обеспечения Agile может потребоваться только для изменения длины полей данных в таблицах данных. Это будет измерено как имеющее нулевые функциональные баллы, поскольку это нефункционально; однако эта работа будет учитываться в SNAP. SNAP по крайней мере частично решает проблему «0 функциональных баллов».

Области будущих исследований

Бета-тест SNAP в 2012 году проводился с использованием 48 приложений. Будем надеяться, что дальнейшие исследования улучшат калибровку весовых коэффициентов подкатегорий, чтобы получить еще более сильную статистическую корреляцию. Рекомендуется, чтобы результаты будущих исследований были представлены в Комитет по стандартам нефункциональных размеров IFPUG (NFSSC) для рассмотрения.

Смотрите также

Библиография

Бульоне, Луиджи, и Сантильо, Лука, «NFR: L»Altra Meta Della Mela», информационный бюллетень Итальянской ассоциации показателей программного обеспечения Gruppo Utenti Function Point Italia, www.gufpi-isma.org, декабрь 2011 г.

Международная группа пользователей функциональных точек, «Как функциональные точки и SNAP работают вместе», MetricViews, www.ifpug.org, Принстон-Джанкшен, Нью-Джерси, 08550, США, август 2015 г.

Джонс, Кейперс, «Руководство по выбору показателей и метрик программного обеспечения», CRC Press, Бока-Ротан, Флорида, 33487, США, 2017.

Джонс, Кейперс, «Количественная оценка перспектив мирового рынка программного обеспечения и отрасли», CRC Press, Бока-Ротан, Флорида, 33487, США, 2018.

Ссылки

  1. ^ IFPUG, «Руководство по практике подсчета функциональных точек», т. 4.3, Принстон-Джанкшен, Нью-Джерси, 08550 США, 2009.
  2. ^ "ISO/IEC 20926:2009". ISO . Получено 2024-03-27 .
  3. ^ IFPUG, «Руководство по практике оценки процесса нефункциональной оценки программного обеспечения», т. 2.4, Принстон-Джанкшен, Нью-Джерси, 08550, США, 2017.
  4. ^ ISO/IEC 25010:2011, Системная и программная инженерия. Требования и оценка качества систем и программного обеспечения (SQuaRE). Модели качества систем и программного обеспечения.
  5. ^ CrossTalk Журнал оборонной программной инженерии, «Новая метрика программного обеспечения для дополнения функциональных точек процесса оценки нефункциональности программного обеспечения», Огден ALC/TISE, авиабаза Хилл, штат Юта, июль-август 2013 г.
  6. ^ COSMIC, IFPUG, «Глоссарий терминов для нефункциональных требований и требований проекта, используемых при измерении, сравнительном анализе и оценке производительности программного проекта», версия 1.0, сентябрь 2015 г.
  • ifpug.org
Взято с "https://en.wikipedia.org/w/index.php?title=SNAP_Points&oldid=1271515752"