Ис. Конспект лекций Маглинец Ю. А. Красноярск сфу 2007 Введение. Понятие и классификация требований
Скачать 0.88 Mb.
|
Анализ требований и другие рабочие потоки программной инженерии Рассмотрим краткий обзор рабочих потоков RUP и их связь с потоком работ АТ (рис. 5-3). Рис. 5-3 Поток работ «деловое моделирование» служит основой для анализа и формирования требований к АИС, позволяет избежать ошибок. Поток работ «управление средой» предоставляет исходную информацию для рабочей группы АТ, регламентирующую форматы оформления, CASE-средства, регламенты работы. Поток работ «управление» основывается на спецификации требований. Стратегическое и тактическое планирование, формирование промежуточных вех (ожидаемых результатов) тесно увязано с требованиями к системе. Поток работ «анализ и проектирование» осуществляется на основе исходных данных, предоставленных АТ. В определённой мере эти потоки работ проводятся параллельно. При обнаружении проблем, связанных с требованиями, возникает обратная связь от этого потока работ к потоку работ АТ. Деловое моделирование Управление средой Управление проектом Анализ требований Испытание Анализ и проектирование Поток работ «испытание» во многом базируется на модели требований и дополнительных спецификациях, регламентирующих процесс тестирования (тестовые сценарии и пр.). Для потока работ «реализация» связь с требованиями не указана. Между тем автор считает, что требования должны анализироваться и учитываться во ВСЕХ рабочих потоках проекта, даже если это формально не предусмотрено выбранным группой процессом. Людям свойственно ошибаться и ошибки, совершённые на ранних стадиях проекта, при движении от этапа к этапу нарастают, как снежный ком. Поэтому любому участнику команды, заинтересованному в успехе проекта, нелишне заглянуть в спецификацию требований и убедиться в том, что та работа, которая ему поручена, соответствует тому или иному требованию. Это позволяет организовать обратную связь, позволяющую отследить ошибки в спецификациях. Многие проекты зашли в тупик именно из-за оторванности группы, отвечающей за реализацию от группы сбора и анализа требований. 3. Контекст задачи анализа требований. Выявление требований.......................................24 План лекции .............................................................................................................................24 Методологии бизнес-анализа .................................................................................................26 Требования и архитектура АИС.............................................................................................27 Анализ требований и другие рабочие потоки программной инженерии...........................28 Источники требований............................................................................................................29 Стратегии выявления требований..........................................................................................30 Интервью ..................................................................................................................30 Анкетирование .........................................................................................................32 Наблюдение..............................................................................................................32 Самостоятельное описание требований ................................................................32 Совместные семинары.............................................................................................33 Прототипирование...................................................................................................33 Литература к лекции ...............................................................................................................34 Источники требований. Основным источником требований к информационной системе, безусловно, являются соображения, высказанные представителями Заказчика. В соответствие с иерархической моделью требований данная информация структурируется как минимум на 2 уровня: бизнес-требования и требования пользователей. Проблема состоит в том, что требования формулируются к создаваемой, ещё не существующей системе, т.е. по сути решается начальная подзадача задачи проектирования АИС, а представители Заказчика далеко не всегда бывают компетентны в данном вопросе. Поэтому, наряду с требованиями, высказанными Заказчиком, целесообразно собирать и требования от других совладельцев системы: сотрудников аналитической группы исполнителя, внешних экспертов и т.д. Результирующий, часто достаточно сырой материал рассматривается, как документ «Требования совладельцев» 7 . На требования совладельцев обычно не накладывается никаких специальных ограничений. Продолжая рассуждения, начатые в предыдущей лекции, модель создаваемой информационной системы в определённой мере должна отражать модель ОС. Поэтому другим важным источником информации, помимо выявления требований, являются артефакты, описывающие предметную область. Это могут быть документы с описанием бизнес-процессов предприятия, выполненные консалтинговым агентством, либо просто документы (должностные инструкции, распоряжения, своды бизнес-правил), 7 Терминология RUP принятые на предприятии. Одной из немногих методологий, в которых специально выделяются рабочий поток делового моделирования, является Rational Unified Process. Ещё одна альтернатива, используемая при выявлении требований – так называемые «лучшие практики», широко используемые в настоящее время в бизнес-консалтинге и при внедрении корпоративных информационных систем. Лучшие практики представляют собой описания моделей деятельности успешных компаний отрасли, используемые длительное время в сотнях и тысячах компаний по всему миру. Подытоживая сказанное, отметим, что основными источниками, образующими «вход» процесса выявления требований, являются требования, высказанные совладельцами, как таковые или (и) артефакты, описывающие объект исследования. Однако, это – достаточно упрощённый взгляд: чтобы данные поступили «на вход», аналитики требований должны проделать немалую работу, связанную с подбором респондентов и информационных материалов, организацией интервью и т.д. Стратегии выявления требований Интервью Ключевой стратегией выявления требований было и остаётся интервью с экспертами. В ставшей уже классической, но ничуть не утерявшей актуальность монографии Д.Марко [3] в процессе проведения интервью предлагается выделить три подчинённых процесса: подготовку, проведение интервью (опроса) и завершение. Ниже приводится краткий обзор рекомендаций Д.Марко с акцентом на выявление требований (в монографии даны рекомендации по интервьюированию с целью формирования модели объекта исследования). 1. Подготовка Подготовка позволяет спланировать процесс опроса и выработать стратегию управления этим процессом. Важность подготовительного этапа вырастает, если респондент является «дефицитным» полезным ресурсом, например – президентом крупной компании. При подготовке Д.Марко рекомендует следующие шаги: выберите нужного собеседника; договоритесь о встрече; установите предварительную программу встречи; изучите сопутствующую информацию; согласуйте свои действия с группой проектирования 8 При выборе собеседника для целей сбора требований определяющими являются две вещи: Он действительно является экспертом по данному вопросу; Его мнение действительно является ценным при формировании целевого набора требований 9 Важно заранее оговорить цель встречи и ограничить беседу в пределах часа или менее. Практика показывает, что активное общение в процессе интервью, как правило, 8 В нашем случае – группой аналитиков требований 9 На практике возможны ситуации, когда требование, сформулированное одним из представителей Заказчика, не подтверждается другим представителем, имеющим большие властные полномочия. Надо отчётливо понимать, что каждое требование в конечном итоге транслируется, с одной стороны, в компоненту информационной системы, а с другой – может быть выражено в определённом количестве денежных знаков, которые Заказчик должен будет выплатить Исполнителю по приёмке работы. Поэтому право формулировать требования и область компетенции того или иного эксперта должны быть формально оговорены внутренним документом Заказчика, с которым следует ознакомится до начала проведения интервью. ограничивается часом. Если этого времени недостаточно, можно спланировать несколько встреч. Полезными приёмами являются формирование программы беседы и ознакомление с ней респондента, подробное планирование беседы вплоть до записи подготовленных вопросов. Подготовленное таким образом интервью называют структурированным [10]. В дополнение к так построенному интервью автор [10] предлагает проводить неструктурированное интервью, «представляющее собой неформальную встречу, которой не свойственны заготовленные впрок вопросы или заранее поставленные цели». Цель такого интервью – пробудить респондента к креативу в области, в которой интервьюер недостаточно хорошо ориентируется. 2. Проведение опроса Ниже приведёна цитата из [3], с некоторыми сокращениями и исключениям материала, не относящегося к АТ. В проведении опроса самое важное – правильно организовать и поддерживать поток информации от эксперта к вам. Рекомендуется потратить время на обдумывание верного начала опроса, при сборе информации по возможности использовать записи, заканчивать разговор плавно. Обсудим подробнее каждый из этих пунктов. Начиная разговор, не забудьте представиться и сформулировать цель встречи. Это поможет избежать недоразумений и даст беседе правильное направление. Кроме того, обговорите возможность ведения записей. Затем сформулируйте первый вопрос. Помните, что первый вопрос часто задает тон всему разговору, поэтому хорошо продумайте его. Собирайте информацию, делая записи обо всем (о специальных терминах, взаимосвязях между частями системы и т.п.) и ограничивая время беседы. Запишите SADT-функции и данные, попытайтесь набросать диаграмму. Поддерживайте поток информации, задавая вопросы, которые уточняют и подтверждают ответы. Прежде всего, не возражайте. Никогда не задавайте наводящих вопросов или вопросов с короткими ответами "да" или "нет". Вместо этого записывайте то, что вам говорят, и просите подвести итог или дать пояснения. Вы получите от опроса больше, если вы дадите эксперту возможность говорить то, что он хочет сказать, а не то, что вы хотите услышать (конец цитаты). 3. Завершение Следите за возникновением следующих ситуаций [3]: вы уже получили достаточно информации; вы получаете большой объем неподходящей информации; обилие информации вас подавляет; эксперт начинает уставать; у вас с экспертом часто возникают конфликты. Любая из этих причин - достаточное основание для завершения беседы. Когда вы считаете нужным закончить опрос, завершайте беседу плавно. Кратко подытожьте основные пункты и сделайте обзор полученных сведений, которые могут быть опущены или неверно истолкованы. Договоритесь о времени следующей встречи, если она нужна, и получите рекомендации для ближайших опросов. Поставьте эксперта в известность, когда и как вы собираетесь использовать полученную информацию и когда вы пришлете ему материал на рецензирование. Всегда оформляйте материалы опроса сразу же после встречи с экспертом. В этом случае немедленно возникает обратная связь, и вы минимизируете возможность потери важной информации. Что нужно помнить при опросе Следующие рекомендации помогают поддерживать непрерывность потока и достоверность информации, поступающей от эксперта [3]: делайте паузы, пока эксперт думает. Дайте эксперту возможность решать, что сказать дальше. Никогда не перебивайте, подсказывая ответ или задавая другой вопрос; старайтесь не задавать наводящих вопросов, вопросов-подсказок, вопросов, содержащих ответ, потому что это не позволяет эксперту делиться своими знаниями. Старайтесь не задавать контрольных вопросов, так как это прерывает поток информации; делайте записи, чтобы сосредоточиться на предмете разговора и чтобы подготовиться к следующему вопросу, но не становитесь стенографом, иначе вы можете потерять контроль над опросом (конец цитаты). Анкетирование Анкетирование – самый малозатратный для аналитика способ извлечения информации, он же – и наименее эффективный. Обычно применяется как дополнение к другим стратегиям выявления требований. Недостатки анкетирования очевидны: респонденты часто бывают неспособны, либо слабо мотивированы в том, чтобы хорошо и информативно заполнить анкету. Велика вероятность получить неполную или вовсе ложную информацию. Преимущество – в том, что подготовка и анализ анкет требуют небольшой ресурс. Л.Мацяшек [10] рекомендует формулировать в анкетах вопросы с замкнутым циклом ответов в одной из следующих трёх форм. Многоальтернативные вопросы. Эта форма анкеты известна всем, кто когда либо проходил тестирование; может расширяться комментариями респондента в свободной форме. Рейтинговые вопросы. Представляют предопределённый набор ответов на сформулированные вопросы. Используются такие значения, как «абсолютно согласен», «согласен», «отношусь нейтрально», «не согласен», «абсолютно не согласен», «не знаю». Вопросы с ранжированием. Предусматривает ранжирование (упорядочивание) ответов путём присваивания им порядковых номеров, процентных значений и т.п. Наблюдение Наблюдение за работой моделируемой организационной системы - полезная стратегия получения информации (хотя, строго говоря, по результатам наблюдения можно получить модель ОС, а не модель АТ). Различают пассивное и активное наблюдение. При активном наблюдении аналитик работает, как участник команды, что позволяет улучшить понимание процессов. Через наблюдение, а возможно, иучастие аналитики получают информацию о происходящих день за днем операциях из первых рук. Во время наблюдения за работой системы часто возникают вопросы, которые никогда бы не появились, если бы аналитик только читал документы или разговаривал с экспертами. Недостатком этой стратегии является то, что наблюдатель, как и всякий «измерительный прибор», вносит помехи в результаты измерений: сотрудники организации, находясь «под колпаком» могут начать вести себя принципиально по другому, чем обычно. Самостоятельное описание требований Документы – хороший источник информации, потому что они чаще всего доступны и их можно "опрашивать" в удобном для себя темпе. Чтение документов - прекрасный способ получить первоначальное представление о системе и сформулировать вопросы к экспертам. Если опытный аналитик уже исследовал большое число систем такого же типа, что и на предприятии внедрения, он обладает фундаментальными знаниями в соответствующей предметной области, относительно определенного класса систем. Авторы методологии SADT рекомендуют проводить самоопрос с тем, чтобы получить максимальную пользу от своих знаний. По результатам анализа документов и собственных знаний аналитик может составить описание требований и предложить его представителям Заказчика в качестве информации к размышлению, либо – основы для формирования технического задания. Недостаток этой стратегии – опасность пропуска знаний, специфичных для объекта исследования (в случае самоопроса), либо – неформализованных знаний, эмпирических правил и процедур, широко используемых на практике, но не вошедших в документы. Совместные семинары Помимо классического интервью «тет а тет», существует значительное количество методик, предполагающих широкое участие представителей Заказчика и Исполнителя. Правила мозгового штурма предполагают полную раскрепощённость и свободу мнений, даже самых вычурных и на первый взгляд «бредовых». Первое правило мозгового штурма – «полный запрет на любую критику». Всякое высказанное мнение представляет ценность, а полное отсутствие запретов позволяет полноценным образом подключить творческую фантазию. Затем, на втором этапе, все высказанные мнения тщательным образом обсуждаются, заведомо неприемлемые варианты отсеиваются, формируются коллективные предложения. Правила JAD-метода, считающегося одним из современных способов извлечения требований, были впервые сформулированы в конце 1970-х годов компанией IBM. Участники JAD-совещания: Ведущий– специалист в области межличностных коммуникаций. Должен ориентироваться в предметной области, но не обязательно хорошо ориентироваться в проблемах IT. Секретарь – стенографист встречи. Фиксирует её результаты на компьютере. Возможно применение CASE-средств. Заказчики – пользователи или руководители, основные участники, формирующие, обсуждающие требования и принимающие решения. Разработчики – аналитики и другие участники проектной команды. Работают в большей части в пассивном режиме с целью наилучшего понимания проблемной области. Совместные семинары, сохраняя все преимущества режима интервью, привносят дополнительные бонусы: работа в группе более продуктивна, группы быстрее обучаются, более склонны к квалифицированным заключениям, позволяют исключить многие ошибки. Эта стратегия, очевидно, одна из самых затратных, однако она окупается за счёт меньшего количества ошибок и отказе от формализации в пользу живого общения, выработке общего языка и пр. Некоторые методологии (например, XP) зиждутся на постоянном тесном контакте между Заказчиком и Исполнителем и, если такой возможности нет – XP-проект просто не сможет состояться. “Разъясняющие встречи” [12] или «запланированный мозговой штурм» – термин, пришедший из общей практики менеджмента и базирующийся на идеях сотрудничества заинтересованных лиц для совместного анализа путей решения проблем, определения и предупреждения рисков и т.п. Как и проведение интервью, организация семинара требует соблюдения правил, с которыми можно познакомиться в [10,8]. |