Ключевые этапы создания ТЗ для разработки ПО: советы и рекомендации

Радио "аналитик", выпуск 13. о книге карла вигерса "разработка требований к программному обеспечению" с александром байкиным Разработчики игр и ПО
Содержание
  1. Методы Elicitation требования
  2. Интервью
  3. Обзоры
  4. Вопросники
  5. Анализ задания
  6. Анализ домена
  7. Brainstorming
  8. Прототипирование
  9. Замечание
  10. Требование проектируя процесс
  11. Анализ выполнимости
  12. Собирать требования
  13. Спецификация требованию к програмного обеспечения
  14. Утверждение требованию к програмного обеспечения
  15. Группа требований к внешним интерфейсам
  16. системный аналитик программного обеспечения
  17. Группа функциональных требований
  18. Инструменты для разработки требований
  19. Инструменты для выявления, анализа и проверки требований
  20. Инструменты для спецификации требований
  21. Инструменты для проверки документов требований
  22. Инструменты для сравнения требований
  23. Инструменты для отслеживания требований
  24. Инструменты для разработки общих требований
  25. Группа системных требований и ограничений
  26. Выявление требований. Интервью
  27. Подготовка к интервью
  28. Проведение Интервью
  29. Обработка результатов Интервью
  30. Плюсы и минусы метода
  31. Выявление требований
  32. Подготовка к выявлению требований
  33. User Interface требования
  34. Группа требований к видам обеспечения
  35. Выводы
  36. Материалы для самостоятельного изучения
  37. Метрики программного обеспечения и меры

Методы Elicitation требования

Elicitation требований процесс для того чтобы узнать требования для предназначенной программной системы путем связывать с клиентом, конечные пользователи, потребители системы и другие который имеют коль в развитии программной системы.

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

Интервью

Интервью сильное средство для того чтобы собрать требования. Организация может дирижировать несколько типов интервью как:

  • Составленные (закрытые) интервью, где каждая одиночная информация собрать решена заранее, они следовать картиной и делом обсуждения твердо.

  • Non-составленные (раскройте) интервью, где информация собрать не решена заранее, более гибким и более менее пристрастный.

  • Устные интервью

  • Написанные интервью

  • Взаимнооднозначные интервью которые проведены между 2 людьми через таблицу.

  • Групповые интервью которые проведены между группами в составе участники. Они помогают расчехлить любое пропавшее требование по мере того как многочисленние люди включены.

Обзоры

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

Вопросники

Документ с предопределенный комплектом объективных вопросов и соответственно вариантов вручен сверх к всем держателям заклада к ответу, которые собраны и составлены.

Недостаток этого метода, если вариант для некоторого вопроса не упомянут в вопроснике, то вопрос мог быть выйден бесхозный.

Анализ задания

Команда инженеров и проявителей может проанализировать деятельность для которой новая система необходима. Если клиент уже имеет некоторое програмное обеспечение для того чтобы выполнить некоторую деятельность, то она изучена и требования предложенной системы собраны.

Анализ домена

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

Brainstorming

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

Прототипирование

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

Замечание

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

Требование проектируя процесс

Шаг 4 отростчатый, который включает —

  • Анализ выполнимости
  • Собирать требования
  • Спецификация требованию к програмного обеспечения
  • Утверждение требованию к програмного обеспечения

Препятствуйте нам увидеть процесс кратко —

Анализ выполнимости

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

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

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

Выход этого участка должен быть отчетом о анализа выполнимости котором содержать адекватние комментарии и рекомендации для управления о должен ли или не проект быть предпринят.

Собирать требования

Если отчет о осуществимости положителен к предпринимать проект, то ближайший этап начинает с собирать требования от потребителя. Аналитики и инженеры связывают с клиентом и пользователями для того чтобы знать их идеи на чего програмное обеспечение должно обеспечить и которые характеристики они хочет програмное обеспечение включить.

Спецификация требованию к програмного обеспечения

SRS документ созданный специалистом по системному анализу после того как требования собраны от различных держателей заклада.

SRS определяет как предназначенное програмное обеспечение будет взаимодействовать с оборудованием, внешние интерфейсы, скорость деятельности, время на ответ системы, удобоносимость програмного обеспечения через различные платформы, ремонтопригодность, скорость спасения после разбивать, обеспеченность, качество, ограничения etc.

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

SRS должно прийти вверх с следующими характеристиками:

  • Требования к потребителя выражены в естественном языке.
  • Технические требования выражены в составленном языке, который использован внутри организации.
  • Описание конструкции должно быть написано в псевдо Коде.
  • Формат форм и печатей экрана GUI.
  • Условно и математически нотации для DFDs etc.

Утверждение требованию к програмного обеспечения

После того как спецификации требования начаты, утвержены требования упомянутые в этом документе. Потребитель мог попросить противозаконное, непрактичное разрешение или специалисты могут интерпретировать требования неправильно. Это приводит к в огромном увеличении в цене если не ощипано в бутоне. Требования можно проверить против следующих условий —

  • Если их можно практически снабдить
  • Если они действительны и согласно функциональности и домену програмного обеспечения
  • Если любые неоднозначности
  • Если они закончены
  • Если их можно продемонстрировать

Группа требований к внешним интерфейсам

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

Требования к интерфейсам пользователя (UI) очень часто ограничиваются только макетами или скетчами, реже подготовкой прототипов. На самом же деле, макеты и прототипы необходимо дополнять описанием поведения компонентов интерфейса, или формировать типовые компоненты, с однозначно определенным поведением.

Требования к программным интерфейсам указывают на особенности системы к взаимодействию модулей и компонентов системы друг с другом, а также правила и форматы взаимодействия системы с внешним миром (другими системами например). 

Требования к интерфейсам оборудования определяют взаимосвязи и элементы управления любым оборудованием, входящим в систему.

Требования к интерфейсам связи и коммуникации — это требования к каналам и протоколам передачи данных из системы и к системе, а также между распределенными узлами системы при их наличии.

системный аналитик программного обеспечения

Системный аналитик в организации IT — человек, который анализирует требование предложенной системы и гарантирует, что требования задуманы и зарегистрированы должным образом & правильно. Роль аналитика начинается во время Аналитической Фазы программного обеспечения SDLC. Это — обязанность аналитика удостовериться, что развитое программное обеспечение отвечает требованиям клиента.

У системных Аналитиков есть следующие обязанности:

  • Анализ и понимание требований намеченного программного обеспечения
  • Понимание, как проект будет способствовать в организационных целях
  • Идентифицируйте источники требования
  • Проверка требования
  • Развейте и осуществите план управления требованием
  • Документация бизнеса, технического, процесс и требования продукта
  • Координация с клиентами, чтобы расположить по приоритетам требования и удалить и двусмысленность
  • Завершение критериев допустимости с клиентом и другими заинтересованными сторонами

Группа функциональных требований

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

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

Формулировка из области ITСистема должна обеспечивать уведомление заявителя о действиях с его заявлением в системе и результатах рассмотрения запроса.

Абстрактная формулировкаПартия яблок должна быть расфасована в упаковки из жесткого пластика или дерева высотой не более 25 см, шириной не более 40 см, длиной не более 30 см, общим весом (с учетом веса упаковки) не более 10 кг.

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

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

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

Инструменты для разработки требований

Инструменты для выявления, анализа и проверки требований

Принимая во внимание, что эти действия могут включать некоторые артефакты, такие как отчеты о наблюдениях (пользователь наблюдение ), анкеты (интервью, опросы и опросы), варианты использования, пользовательские истории ; такие мероприятия, как требования семинары (charrettes ), мозговой штурм, отображение разума, ролевые игры ; и даже, прототипирование ; программные продукты, обеспечивающие некоторые или все эти возможности, могут использоваться для решения этих задач. Есть по крайней мере один автор, который открыто поддерживает инструменты отображения разума, такие как FreeMind ; и, в качестве альтернативы, для использования спецификации с помощью инструментов примера, таких как Concordion

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

Есть по крайней мере один автор, который открыто поддерживает инструменты отображения разума, такие как FreeMind ; и, в качестве альтернативы, для использования спецификации с помощью инструментов примера, таких как Concordion. Кроме того, идеи и утверждения, вытекающие из этих действий, могут быть собраны и систематизированы с помощью вики и других инструментов совместной работы, таких как Trello. Фактически реализованные функции и соответствие стандартам варьируются от продукта к продукту.

Инструменты для спецификации требований

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

Некоторые из этих инструментов могут импортировать, редактировать, экспортировать и публиковать документы SRS. Они могут помочь или не помочь пользователю следовать стандартам, таким как IEEE 2918-2011, для составления требований в соответствии с некоторой структурой. Точно так же инструмент может использовать или не использовать какой-либо стандарт для импорта или экспорта требований (например, ReqIF ); или вообще не разрешать эти обмены.

Инструменты для проверки документов требований

Инструменты этого типа проверяют, есть ли какие-либо ошибки в документе требований в соответствии с некоторой ожидаемой структурой или стандартом.

Инструменты для сравнения требований

Инструменты этого типа сравнивают два набора требований в соответствии с некоторой ожидаемой структурой документа и стандартом.

Инструменты для отслеживания требований

Инструменты этого типа позволяют отслеживать требования к другим артефактам, таким как модели и исходный код (прямая отслеживаемость), или к предыдущим, таким как бизнес-правила и ограничения (назад прослеживаемость).

Модельно-ориентированное системное проектирование (MBSE) — это формализованное приложение моделирования для поддержки требований к системе, проектирования, анализа, измерения, проверки и проверки действия, начинающиеся на этапе концептуального проектирования и продолжающиеся на протяжении этапов разработки и последующих этапов жизненного цикла. Также можно использовать модельный подход для одних этапов разработки требований и, более традиционный, для других. Возможны всевозможные комбинации.

Уровень формальности и сложности зависит от используемой базовой методологии (например, i * гораздо более формален, чем SysML, и даже более формален, чем UML )

Инструменты для разработки общих требований

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

Существуют даже более функциональные или общие инструменты, которые поддерживают другие этапы и действия. Они классифицируются как инструменты ALM.

Группа системных требований и ограничений

Системные требования и ограничения определяют общие для всей системы характеристики. В данную группу входят целевые показатели системы, требования к структуре и функционированию системы, эргономике, технической эстетике и usabilty ().

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

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

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

Выявление требований. Интервью

Самый популярный и, возможно, эффективный метод выявления требований. Представляет из себя беседу с заказчиком.

Подготовка к интервью

Подготовка к интервью состоит из следующих этапов:

1. Собрать информацию о собеседнике(ах):

а. Роль в проекте?

b. За какие вопросы ответственен?

2. Подготовить вопросы:

a. Сформулировать проблематику интервью.

b. Сформулировать вопросы.

c. Подготовить дополнительные вопросы.

3. Определить тайминг встречи.

a. Нужно стараться уложиться в один час. Чаще всего человек начинает терять концентрацию после 40 минут непрерывной беседы.

b. Для каждого вопроса определить необходимое время на обсуждение.

c. Если вы не успеете задать все вопросы в рамках одной встречи, назначьте несколько встреч.

4. Согласовать календарь встреч.

a. Если предполагается несколько встреч — то не обходимо составить график встреч.

b. Для каждой встречи указать проблематику, вопросы, которые будут обсуждаться, длительность.

От себя рекомендую подготовить файл с вопросами и планом интервью. Для примера — вот шаблон, который использую я:

Протокол интервью

Проект:{}

Дата проведения:{}

Интервьюер: {Кто проводит интервью}

Интервьюируемый:{Кому задаём вопросы}

Проблематика:{Тема интервью}

Вопрос № 1:

Тайминг вопроса:

Текст вопроса:

Таймкод:

Ответы на вопрос:

Стейкхолдер 1 —

Стейкхолдер 2 —

Проведение Интервью

Проведение интервью — сложный навык, который требует времени и практики. Но просто задавать вопросы, я думаю, будет не сложно. Итак, ниже список рекомендаций, которые помогут вам провести интервью:

1. Всегда ведем запись встречи.

a. Спрашиваем собеседника, не против ли он вести запись разговора.

b. Включаем запись после согласия собеседника.

2. Small talk для разрядки.

a. Как настроение?

b. Как погода?

c. И т.д. и т.п.

d. Но не затягиваем, пара вопросов из вежливости, не более.

3. Начинаем с объявления проблематики.

4. Стараемся следовать плану встречи. Вопросы задаём последовательно.

5. Желательно в плане указываем тайм-код, в какую минуту разговора задан вопрос, чтобы упростить дальнейшую обработку протокола.

6. Стараемся раскрывать вопросы дополнительными вопросами. Беседа должна быть живой, не должна скатываться в сухой формат вопрос-ответ, иначе проще отправить собеседнику опросник и не тратить его время на встречу.

7. В конце обсуждения не лишним будет подтвердить позицию собеседника закрытым типом вопроса.

a. Например: Я правильно вас понял, что необходимо реализовать функционал следующим образом {Тезис}?

Обработка результатов Интервью

После проведения интервью необходимо письменно зафиксировать полученную информацию. Рекомендую делать это сразу после интервью. Итак:

1. Заполняем протокол встречи.

a. Читать краткий протокол встречи намного проще, чем смотреть часовую запись в поисках ответов.

2. Направляем участникам встречи результаты в формате «Вопрос — Зафиксированное решение».

b. Это необходимо для получения от заказчика письменного утверждения результатов встречи.

Плюсы и минусы метода

Плюсы метода:

  • Наиболее эффективный способ метод сбора требований.
  • Меньшая вероятность недопонимания между собеседниками.
  • Большая вероятность выявления «скрытых» требований.

Минусы метода:

  • Могут возникнуть сложности согласования требований от разных стейкхолдеров.
  • Высокие временные затраты.
  • Качество проведения интервью напрямую зависит от интервьюера.

Выявление требований

Выявление требований — итеративный процесс, состоящий из следующих этапов:

  1. Подготовка к выявлению.
  2. Выявление.
  3. Утверждение результатов.

Подготовка к выявлению требований

В процессе подготовки к выявлению требований необходимо ответить на следующие вопросы:

1. Что необходимо выяснить? — Анализируем имеющуюся информацию о системе:

а. Анализ текущего описания требований к системе.

b. Анализ текущей реализации системы.

c. Выявление недостающих и/или недостаточно описанных требований.

2. У кого? Где? — Определить источник требований:

а. Собрать список доступных источников, таких как:.

i. Документация.

ii. Артефакты бизнес-процессов и/или текущей реализации системы.

b. Определить список стейкхолдеров, которые могут выступать источником требований к системе.

3. Каким образом? — Выбрать оптимальный метод выявления требований.

User Interface требования

UI важная часть любых программного обеспечения или оборудования или гибридной системы. Програмное обеспечение широко принято если оно —

  • легкий для того чтобы работать
  • быстро в реакции
  • эффектно регулировать рабочие ошибки
  • пользовательский интерфейс обеспечивать простой но последовательный

Принятие потребителя главно зависит о том, как потребитель может использовать программное обеспечение. UI единственный путь для потребителей воспринять систему. Хорошую выполняя программную систему необходимо также оборудовать с привлекательным, ясным, последовательным и отзывчивым пользовательским интерфейсом. В противном случае функциональности программной системы нельзя использовать в удобном пути. Сказана система хороша если она обеспечивает середины использовать ее эффективно. Требования к пользовательского интерфейса кратко упомянуты ниже —

  • Содержимое представление
  • Легкая навигация
  • Простой интерфейс
  • Отзывчивый
  • Последовательные элементы UI
  • Механизм обратной связи
  • Начальные установкы
  • Целевой план
  • Стратегическая польза цвета и текстуры
  • Обеспечьте данные по помощи
  • Подход к потребителя центральный
  • Группа основала установки взгляда

Группа требований к видам обеспечения

Требования к видам обеспечения больше относится к процессам проектирования, разработки, внедрения и сопровождения системы, нежели к самой системе.

Требования к программному обеспечению обычно включают наименования, характеристики, версии ПО, используемого в разработке, сопровождении, тестировании, мониторинге, а также в качестве отдельных элементов системы (включая серверные операционные системы, СУБД, конверторы данных и прочее).

Требования к аппаратному обеспечению содержит характеристики требуемого оборудования и параметры клиентских станций для работы с системой.

Требования к информационному обеспечению описывают совокупность системы классификации и кодирования информации, унифицированных систем документации и информационных массивов. К числу объектов, к которым могут предъявляться требования относятся не только базы данных самой системы, способы ее ведения, кодирования и обновления, но и любые информационные носители (в том числе и физические документы предметной области) относящиеся к процессу эксплуатации системы.

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

Требования к организационному обеспечению включают требования к структуре и функциям подразделений, участвующих в функционировании системы или обеспечивающих эксплуатацию, к организации функционирования системы и порядку взаимодействия персонала АС и персонала объекта автоматизации, к защите от ошибочных действий персонала системы. Несмотря на то, что описание заимствовано из ГОСТ, взаимодействие людей в процессе создания и эксплуатации продукта является важным моментом практически каждого подхода к разработке.

Требования к методическому обеспечению описывают состав нормативно-технической документации системы, количество и содержание руководств для пользователей и администраторов, методики.

Выводы

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

Материалы для самостоятельного изучения

Блоки знаний:

  • Бизнес-анализ — раздел знаний, отвечающий за описание и формализацию бизнес-процессов. Прежде чем интерпретировать бизнес-процессы в виде ПО, необходимо их «правильно» описать и формализовать.
  • Моделирование бизнес-процессов — изучение различных нотаций описания бизнес-процессов. Неразрывно связан с бизнес-анализом.
  • Системный-анализ — раздел знаний, отвечающий за анализ процессов непосредственно в самом ПО.
  • Моделирование систем — изучение нотаций описания систем ПО. Неразрывно связан с системным анализом.
  • Документирование требований — изучение различных сред документирования информации о проекте и системе.
  • Управление требованиями (согласование, управление изменениями, трассировка требований) — отдельный процесс в системе знаний об анализе в ИТ. Является одним из самых сложных процессов на долгосрочных проектах с большим количеством итераций.
  • Прототипирование — изучение различных инструментов для моделирования интерфейсов и архитектуры ПО. Например: Figma для верстки макетов интерфейсов.

Книги:

  • Вигерс, Карл: Разработка требований к программному обеспечению. 3-е издание, дополненное / Карл Вигерс, Джой Битти. — Санкт-Петербург : БХВ-Петербург, 2019. — 736 с.
  • Ильяхов М., Сарычева Л. Пиши, сокращай. Как создавать сильный текст — 2017.
  • Гэртнер, Маркус: ATDD — разработка программного обеспечения через приемочные тесты. — ДМК-Пресс, 2013. — ISBN 978-5-457-42706-8.
  • Gojko Adzic, David Evans — Fifty Quick Ideas to Improve Your User Stories — 2014.
  • Майкл Мескон, Майкл Альберт, Франклин Хедоури — Основы менеджмента

Хоп, Грегор Шаблоны интеграции корпоративных приложений (Signature Series) / Грегор Хоп, Бобби Вульф. — Москва : Вильямс, 2019. — 672 с.

Кон, Майк Пользовательские истории. Гибкая разработка программного обеспечения / Майк Кон. — Москва : Вильямс, 2018. — 256 с.

Паттон, Джефф Пользовательские истории. Искусство гибкой разработки ПО / Джефф Паттон — Санкт-Петербург : Питер, 2019. — 288 с.

Cockburn, Alistair Writing Effective Use Cases / Alistair Cockburn. — Addison-Wesley, 2001.

USE-CASE 2.0

Фаулер, Мартин UML. Основы. Краткое руководство по стандартному языку объектного моделирования / Мартин Фаулер. — Москва : Символ-Плюс, 2018. — 192 с.

Гойко, Аджич Impact Mapping. Как повысить эффективность программных продуктов и проектов по их разработке / Аджич Гойко. — Москва : Альпина Паблишер, 2017. — 86 с.

Коберн, Алистер Быстрая разработка программного обеспечения/ Алистер Коберн. — Москва: Лори, 2002. — 336 с.

Корнипаев, Илья Требования для программного обеспечения: рекомендации по сбору и документированию / Илья Корнипаев. — Книга по требованию, 2013. — 118 с. Книга

Ми, Роберт Шаблоны корпоративных приложений / Роберт Ми, Мартин Фаулер. — Москва : Вильямс, 2018. — 544 с.

Мартин, Роберт Чистая архитектура. Искусство разработки программного обеспечения / Роберт Мартин. — Санкт-Петербург : Питер, 2018. — 352 с.

BABOK 3.0

SWEBOK 3.0

Метрики программного обеспечения и меры

Меры по программному обеспечению могут быть поняты как процесс определения количества и символизации различных признаков и аспектов программного обеспечения.

Метрики программного обеспечения обеспечивают меры для различных аспектов процесса программного обеспечения и программного продукта.

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

Согласно Тому Демарко (Разработчик программного обеспечения), «Вы не можете управлять тем, что Вы не можете измерить». Его высказыванием очень ясно, как важные меры по программному обеспечению.

Давайте посмотрим некоторые метрики программного обеспечения:

  • Метрики размера — LOC (Lines of Code), главным образом вычисленный в тысячах поставленных линий исходного кода, обозначенных как KLOC.

    Граф Единицы функциональности — мера функциональности, предусмотренной программным обеспечением. Количество Единицы функциональности определяет размер функционального аспекта программного обеспечения.

  • Метрики сложности — Сложность McCabe’s Cyclomatic определяет количество верхней границы числа независимых путей в программе, которая воспринята как сложность программы или ее модулей. Это представлено с точки зрения понятий теории графов при помощи графа потока контроля.

  • Качественные метрики — Дефекты, их типы и причины, последствие, интенсивность серьезности и их значений определяют качество продукта.

    Число дефектов, найденных в процессе развития и числе дефектов, о которых сообщает клиент после продукта, установлено или поставлено в конце клиента, определите качество продукта.

  • Метрики процесса — В различных фазах SDLC методы и используемые инструменты, стандарты компании и выполнение развития являются метриками процесса программного обеспечения.

  • Метрики ресурса — Усилие, время и различные используемые ресурсы, представляет метрики для измерения ресурса.

Оцените статью