Анализ требований. Функциональные и нефункциональные требования.



Требования (requirements):

· подробное описание того, что должно быть реализовано

· возможности или условия, которым должна соответствовать система или проект

функциональные — какое поведение должна предлагать система

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

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

Время отклика (Response Time)

Быстрота реагирования (Responsiveness)

Время задержки (Latency)

Пропускная способность (Throughput) количество транзакций в секунду

 (Transactions per second, TPS)

Загрузка (Load)

Чувствительность к загрузке (Load Sensitivity)

     A: отклик — 0,5 с для 10-20 пользов.

     B: отклик — 0,2 с для 10 пользов., 2 с для 20 пользов.

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

Мощность (Capacity)

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

       Антитребование - это некое утверждение, что не должна делать программа. Например: "Программа не должна иметь внешнего загрузчика файлов". Хорошая спецификация должна иметь антитребования, чтобы явно описать, что программа не должна делать.

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

Бизнес-требования (business requirements) содержат высокоуровневые цели организации или заказчиков системы. Как правило, их высказывают те, кто финансируют проект, покупатели системы, менеджер реальных пользователей, отдел маркетинга. В этом документе объясняется, почему организации нужна такая система, то есть описаны цели, которые организация намерена достичь с ее помощью. Мне нравится записывать бизнес-требования в форме документа об образе и границах проекта, который еще иногда называют уставом проекта (project charter) или документом рыночных требований (market requirements document). Определение границ проекта представляет собой первый этап управление общими проблемами увеличения объема работ.

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

Функциональные требования (functional requirements) определяют функциональность ПО, которую разработчики должны построить, чтобы пользователи смогли выполнить свои задачи в рамках бизнес-требований. Иногда они называются требованиями поведения (behavioral requirements), они содержат положения с традиционным «должен» или «должна»: «Система должна по электронной почте отправлять пользователю подтверждение о заказе».
Функциональные требования документируются в спецификации требований к ПО (software requirements specification, SRS), где описывается так полно, как необходимо, ожидаемое поведение системы.

Системные требования (system requirements) - это высокоуровневые требования к продукту, которые содержат многие подсистемы. Говоря о системе, мы подразумеваем программное обеспечение или подсистемы ПО и оборудования. Люди — часть системы, поэтому определенные функции системы могут распространяться и на людей.

Требования и прецеденты. Формат описания прецедента. Структура прецедента.

Прецеде́нт — спецификация последовательностей действий (варианты последовательностей и ошибочные последовательности), которые может осуществлять система, подсистема или класс, взаимодействуя с внешними акторами (англ. Actors).

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

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

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

Один и тот же прецедент может быть описан с различной степенью детализации.

Исполнитель (актер, actor) — некоторая роль, которую пользователь играет по отношению

к системе: люди, организации, машины, программы.

 типы:

· основной (primary)

· вспомогательный (supporting)

· закулисный (offstage)

Прецедент (вариант использования, use case) — множество взаимосвязанных сценариев, объединенных некоторой общей целью пользователя (исполнителя).

Прецеденты — текстовые описания, а не диаграммы.

Форматы прицедентов:

· сжатый (при анализе требований для быстрого определения задач и масштабов системы) (Покупатель подходит к кассе с выбранными товарами. Кассир с помощью системы регистрирует каждый товар. Система отображает...)

· свободный (там же)Возврат товара        

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

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

o Если у системы возникли сложности при коммуникации с внешней системой вычисления налога...

· развернутый (для представления части наиболее важных прецедентов)

Содержимое прецедентов:

· Название

o Оформление продажи

· рамки

o Приложение автоматизации торговли NextGen

· уровень

o пользовательские (user-geal level)

o вспомогательные (subfuncion level)

o Задача, определенная пользователем

· основной исполнитель 

o Кассир

· заинтересованные лица и их требования

o Кассир. Хочет точно и быстро ввести данные, не допуская ошибок в платеже, поскольку недостача вычитается из его зарплаты.

o Продавец. Хочет получить сои комиссионные от продажи. ...

· предусловия (preconditions)

o Кассир идентифицирован и аутентифицирован

· результаты или постусловия (postconditions)

o Данные о продаже сохранены. Налоги корректно вычислены. ... Чек сгенерирован

· Основной успешный сценарий

· Расширения

· Специальные требования

· Список технологий и типов данных

· Частота использования

· Список открытых вопросов


Дата добавления: 2018-05-13; просмотров: 784; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!