Форум Сообщества Аналитиков

Общий раздел => Примеры => Задачи студентов => Тема начата: Limon от 27 Марта 2016, 13:50:11

Название: Требования к ПО "Блокнот"
Отправлено: Limon от 27 Марта 2016, 13:50:11
Дорогие форумчане!
Мне необходимо описать функциональные и нефункциональные требования к клиент-серверной программе. Клиент программы аналогичен программе "блокнот". То есть - это редактор  текстового файла, с функциями поиска, поиска далее, редактирования шрифта, сохранения файлов на удаленном сервере, информации о программе. Информация о сервере настраивается в клиентской версии.

С функциональными требованиями мне, в целом, все понятно.

А что с нефункциональными? Какие тут могут быть бизнес-правила или ограничения? Какие вообще тут могут быть нефункциональные требования?
Название: Re: Требования к ПО "Блокнот"
Отправлено: Galogen от 27 Марта 2016, 14:43:31
Бизнес-правила - то, что должно выполняться вне зависимости от существования ИС. Что-то т па: блокнтомо может пользоваться только человек, достигший 16 лет.
Ограничения на технологии, стоимость, время выходы продукта на рынок (срок выпуска) и т.п.

Согласно стандарту 9126-4 выделяют:
Эффективность - Способность ПО предоставлять пользователям возможность решать их задачи с необходимой точностью при  использовании в данном контексте
Продуктивность - Способность ПО предоставлять пользователям определенный результаты в рамках ожидаемых затрат ресурсов
Безопасность - Способность ПО обеспечивать необходимый низкий уровень риска нанесения ущерба жизни и здоровью людей, бизнесу, собственности и окружающей среде
Удовлетворение пользователей - Способность ПО приносить удовлетворение пользователям при использовании в заданном контексте

Пофантазируйте. Для чего запишите Ваши функции и спросите себя с каким качеством эти функции будут выполняться? Если это многопользовательское приложение, то подумайте о нагрузке (числе пользователей, частоте запросов, скорости поиска и т.п.)
Название: Re: Требования к ПО "Блокнот"
Отправлено: Denis Beskov от 27 Марта 2016, 15:55:20
А что с нефункциональными? Какие тут могут быть бизнес-правила или ограничения? Какие вообще тут могут быть нефункциональные требования?
К нефункциональным требованиям можно относить:
1. Бизнес-правила
2. Атрибуты качества
3. Ограничения

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

2. Ограничения обычно касаются совместимости с окружением — конкретных платформ, протоколов, стандартов взаимодействия, а также количественных ограничений — размеры файла, БД. Сюда же можно отнести лицензионные ограничения.

3. Атрибутов качества последние стандарты семейства ISO 250XX, пришедшие на смену 9126, выделяют десятки (https://drive.google.com/file/d/0B5mVJNDL7a5LOWh4VUwyTC1lOEU/view?usp=sharing), я предлагаю взять хотя бы базовые 4-6:
http://www.slideshare.net/maieutic/ss-35127562
Название: Re: Требования к ПО "Блокнот"
Отправлено: Limon от 27 Марта 2016, 19:45:34
Огромное спасибо за Ваши советы, рекомендации и ссылки!
Денис, очень понравилась Ваша презентация. Все очень лаконично и по-делу.

Вот что у меня получилось:

Цитировать
Нефункциональные требования
Бизнес-правила
Системой могут пользоваться только сотрудники организации.
Ограничения:
Система работает только с файлами с расширением *.txt
Клиент системы может работать только с файлами, расположенными на сервере.
Данные между клиентом и сервером передаются по протоколу FTP

Атрибуты качества продукта
Производительность:
1. Максимальное количество одновременно работающих клиентов не меньше 100
2. Максимальная частота запросов от пользователя (в минуту) не больше 10
3. Количество исполняемых транзакций (в минуту) не меньше 50
4. Длительность типовых транзакций (операций) не больше 10 секунд
Доступность:
Коэффициент доступности серверной части не менее 96%
Допустимое время простоя (в час) не более 3 минут
Безопасность:
Вероятность утечки данных в результате сбоя не должна превышать 0.1%
Масштабируемость:
Стоимость десятикратного увеличения мощности системы не должна превышать 400%

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

Прошу Вас, укажите на мои ошибки.

Название: Re: Требования к ПО "Блокнот"
Отправлено: Леонид от 28 Марта 2016, 13:15:57
Бизнес-правила
Системой могут пользоваться только сотрудники организации.

А при чем тут бизнес? Это правило про ограничение доступа.

Система работает только с файлами с расширением *.txt

Плохо. На испытания я принесу свой вордовый документ, переименую у всех на глазах в .тхт и докажу, что ваша система "не работает". Потому как у меня-то все "открывается".

Клиент системы может работать только с файлами, расположенными на сервере.
Данные между клиентом и сервером передаются по протоколу FTP

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

Атрибуты качества продукта
Производительность:
1. Максимальное количество одновременно работающих клиентов не меньше 100

Очень плохо. Попрошу продемонстрировать работу для 1.000.000 пользователей. Как покажете?
Рекомендую применять формулировку "до Х..." (в смысле не "дох...", а "до х единиц").

2. Максимальная частота запросов от пользователя (в минуту) не больше 10

Это требование к пользователю?

3. Количество исполняемых транзакций (в минуту) не меньше 50

Что такое "транзакция" в данном случае? "Не меньше 50" - это на всю систему или на пользователя? Или на экземпляр клиента? А то ж транзацией может быть и реакция сервера на нажатие очередной кнопки в поисковой строке.

4. Длительность типовых транзакций (операций) не больше 10 секунд

Аналогично. Понятно, что пример утрирован - но если и в реальности будете так писать, посеете ветер. Много ветра.

Доступность:
Коэффициент доступности серверной части не менее 96%
Допустимое время простоя (в час) не более 3 минут
Безопасность:
Вероятность утечки данных в результате сбоя не должна превышать 0.1%
Масштабируемость:
Стоимость десятикратного увеличения мощности системы не должна превышать 400%

Круто. Будьте готовы все это доказать.

Атрибуты качества использования
Скорость обучения пользованию программой должна быть менее 10 минут

Оно как бы не только от вас зависит. А потому - плохое требование.

Удовлетворенность пользователей и средняя оценка продукта должны быть на уровне ожиданий.

Гм... В чем измерять будете? В количестве постсессионных сигарет?
Название: Re: Требования к ПО "Блокнот"
Отправлено: Humbert от 28 Марта 2016, 16:29:41
Очень плохо. Попрошу продемонстрировать работу для 1.000.000 пользователей. Как покажете?
Рекомендую применять формулировку "до Х..." (в смысле не "дох...", а "до х единиц").

А можно поподробнее?
Чем с точки зрения нынешних методик нагрузочного тестирования формулировака

Максимальное количество одновременно работающих клиентов до  100 пользователей

отличается  от

Максимальное количество одновременно работающих клиентов не меньше 100

Так и так стенд собирать, роботов запускать...

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

Я в восхищении :)
Название: Re: Требования к ПО "Блокнот"
Отправлено: Леонид от 28 Марта 2016, 17:02:42
А можно поподробнее?
Чем с точки зрения нынешних методик нагрузочного тестирования...отличается  от

Это вопрос не тестирования. В первом случае задается верхняя планка допустимого количества, во втором нижняя. Второй легким движением руки можно превратить в "Максимальное количество одновременно работающих клиентов больше 99". Звучит.

Как полностью проверить выполнение требования "не меньше 100"? 1.000 - это не меньше 100. 1.000.000 - это не меньше 100. Тут можно разве что договориться с заказчиком и прописать документально, что тестировать будем на конкретно стольки-то пользователях. Которых не меньше 100, разумеется (например, 147). И то это вряд ли спасет от вопросов ревизоров.
Название: Re: Требования к ПО "Блокнот"
Отправлено: Humbert от 28 Марта 2016, 17:12:22
Это вопрос не тестирования. В первом случае задается верхняя планка допустимого количества, во втором нижняя. Второй легким движением руки можно превратить в "Максимальное количество одновременно работающих клиентов больше 99". Звучит.

Это даже круче, чем с постсессионными сигаретами:)
Название: Re: Требования к ПО "Блокнот"
Отправлено: Denis Beskov от 28 Марта 2016, 17:50:56
По атрибутам качества можно найти много примеров в шаблоне от Atlantic Guild:
http://www.volere.co.uk/template.htm

Сотни вопросов, которые помогают выявить требования к атрибутам качества, можно найти в книге Roxanne E Miller:
http://requirementsquest.com/books-and-software/