Текстовая расшифровка четвёртого видеоурока курса Введение в профессию аналитика.
Очень часто (и мы тоже будем использовать этот термин) используется такое понятие как нефункциональные требования. Я опять заглянул в Википедию, чтобы повторить путь человека, который хочет найти
Нефункциональные требования — это требования, определяющие свойства, которые система должна демонстрировать, или ограничения, которые она должна соблюдать, не относящиеся к поведению системы.
Вы, наверное, уже догадались, что мне это определение тоже не нравится, поэтому ещё раз вас призываю не ходить в Википедию за определениями. Лучше обратиться к книгам.
Я вам уже показывал картинку из книги Вигерса, перерсисованную мной, но соответствующую его иллюстрации в третьем издании. А здесь приведена это же картинка из первого издания. Она изначально выглядела вот так.
То есть он чётко делил все требования на функциональные и нефункциональные. Но, правда, в этом случае термин «функциональные требования» использовался два раза.
Я думаю, что Вигерсу по этому поводу задавали слишком много вопросов, так что он в последующих редакциях своей книги и в других книгах от этого чёткого деления отказался. Но, тем не менее, оно нам даёт идею, которая заложена в определении функциональных требований. Есть требования, которые определяют способ реализации функций продукта, а есть ещё требования, которые определяют его другие свойства. Которые явно не задействованы в реализации этих функций, но, тем не менее, тоже важны.
Для того, чтобы лучше понять, в чём разница, давайте вспомним, что такое автоматизированные cистемы, о которых я говорил в самом начале курса.
Вот это определение. Кстати, в отличие от Википедии, оно мне очень нравится. Оно очень чётко и не вызывает дополнительных вопросов. Я взял его из стандарта
Автоматизированная система — система, состоящая из персонала и комплекса средств автоматизации его деятельности, реализующая информационную технологию выполнения установленных функций.
Самые главные слова я тут выделил жирным. Как я говорил, концепция автоматизированных систем появилась в эпоху больших машин, когда люди только начали искать способы автоматизации своей деятельности с помощью компьютеров. Что значит автоматизация? Ускорение, повышение эффективности и так далее.
Есть персонал. Это люди. Они выполняют определенную деятельность. Деятельность предполагает
Здесь достаточно условно показано, что функции используются для того, чтобы помогать людям достигать их целей с помощью автоматизированной системы.
Почему я это определение привёл? Потому что оно даёт нам понять, что в эпоху автоматизированных систем функциональная сторона системы считалась главной. То есть система создавалась именно для того, чтобы люди могли
Но уже тогда было понятно, что вопрос не только в том, что они делают, но и в том, как система позволяет им это делать.
Вот снова картинка Вигерса. Она уже и без этого разделения, и здесь правильно говорить, с моей точки зрения, не о чётком делении требований на функциональные и нефункциональные, а о двух сторонах продукта, к которым в той или иной мере относятся разные виды требований.
Есть функциональная сторона продукта, отвечающая на вопрос, ЧТО продукт делает. И есть нефункциональная сторона продукта, отвечающая на вопрос, КАК он это делает. С каким качеством, с какой скоростью, с какими ограничениями и так далее.
И в данном случае это картинка, скорее, показывает, к какой стороне больше тяготеет определённый вид требований.
Большинство
Если говорить про
А вторая особенность в том, что нефункциональные требования всё больше выходят на первый план. Мы в качестве одного из примеров рассматривали систему поиска и бронирования дешёвых билетов. Функция у этой системы одна, и достаточно простая: найти все маршруты по заданному направлению и сравнить их. Или даже просто представить их в определённом порядке пользователю для того, чтобы он смог из них выбрать. То есть, если говорить о функциональных требованиях, наверное, мы можем сравнительно просто эту функцию описать. Но что при этом становится важным?
Вторая особенность, очень важная сейчас, — это удобство использования. Если сайт реализует эту функцию и взаимодействует со всеми этими системами, но он неудобен — например, вы ввели запрос, прошла минута, и вы не понимаете, что там происходит, ищет он или не ищет, завис сайт или нет, — вы просто с него уйдёте к конкуренту, который эту функцию реализует более удобно. В этом случае на первый план выходит такая нефункциональная характеристика, как удобство использования или юзабилити.
Практически по каждому из видов требований на нефункциональной стороне, а также по каждому из атрибутов качества, которые мы ещё сегодня рассмотрим, мы можем сказать, что в определенных ситуациях нефункциональная сторона, особенно для
Функциональная сторона в таких ситуациях исполняет, можно сказать, гигиеническую функцию. То есть без неё нельзя, но она у всех одинаковая. А различия всё больше кроются на нефункциональной стороне, и уже там идет борьба за предпочтения пользователей по тем атрибутам качества, которые для пользователей важны.
Предыдущий урок: Виды требований к программному продукту
Следующий урок: Атрибуты качества программного продукта
Введение в профессию аналитика 2 900 руб. | |
Введение в профессию аналитика (демо) Бесплатно | |
Вебинары Сообщества Аналитиков Бесплатно | |
SQL для непрограммистов Бесплатно | |
SQL для непрограммистов (СЕРТИФИКАТ) 999 руб. |