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