Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


К программному обеспечению




 

Спецификация требований к ПО является составной частью процесса управления требованиями (см. подразд. 1.5). В качестве повторения отметим, что все требования к ПО делятся на функциональные и нефункциональные. Функциональные требования определяют действия, которые должна выполнять система, без учета ограничений, связанных с ее реализацией. Нефункциональ­ные требования описывают атрибуты системы (технические ха­рактеристики) и ее окружения.

Для выявления требований используются (в различных соче­таниях) следующие методы:

· собеседование (интервьюирование);

· анкетирование;

· моделирование и анализ бизнес-процессов (далее будет рас­смотрена методика перехода от объектной бизнес-модели к системным требованиям);

· сессии по выявлению требований (мозговой штурм);

· создание и демонстрация пользователям работающих про­тотипов приложений (для выявления замечаний и дополни­тельных требований).

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

· опрашиваемое лицо может свободно и открыто отвечать на вопросы и почувствовать себя участником проекта;

· лицо, проводящее собеседование, может наблюдать за пове­дением опрашиваемого лица, изменять ход опроса, пере­формулировать или иначе строить вопросы во время собесе­дования.

Недостатки метода собеседования:

· метод трудоемкий и дорогой, поэтому может оказаться не­практичным;

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

Существуют два типа интервью: неструктурированное и структурированное. Неструктурированные интервью проводят с одной общей целью, которая явно не высказывается, и с по­мощью нескольких общих вопросов. Лицо, проводящее собесе­дование, рассчитывает на то, что опрашиваемое лицо должно са­мо определять рамки и направление интервью. В таких интервью часто теряется нить рассуждений, и по этой причине они редко используются при проектировании систем.

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

Анкетирование позволяет с помощью анкет получать сведения от большого количества людей, контролируя правильность их от­ветов. При работе с большой аудиторией этот метод наиболее эф­фективен. Преимущества метода анкетирования заключаются в следующем:

· люди могут заполнять и возвращать анкеты в удобное для них время;

· люди склонны сообщать в ответах действительные факты, если анкетирование анонимное;

· это относительно недорогой способ сбора данных с участи­ем большого количества людей.

Недостатки метода анкетирования:

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

· нет возможности пояснить или переформулировать непра­вильно понятые вопросы, наблюдать и анализировать реак­цию респондента на отдельные вопросы;

· подготовка анкет может потребовать много времени.

Мозговой штурм особенно полезен в ситуациях, когда обсуж­даются новые, нестандартные решения незнакомой проблемы. Большинство новаторских идей очень часто бывают результатом комбинации нескольких, на первый взгляд, не связанных друг с другом идей. Мозговой штурм включает в себя генерацию идей и расстановку приоритетов. Процесс генерации идей обычно под­чиняется правилам, соблюдение которых преследует одну цель — выработку как можно большего числа идей. Критика и споры в этот период не поощряются; существующие пределы и ограниче­ния снимаются, можно изменять и комбинировать идеи.

Основная идея создания прототипа состоит в быстрой пост­ройке модели системы, которая, как предполагается, нужна пользователю. Обычно в прототипах многие детали опускаются, в том числе процедуры контроля входных данных, обработки ошибок, резервного копирования и восстановления данных. Не учитываются также производительность и масштабируемость. Создание прототипа никак не противоречит и не препятствует применению других методов получения требований от пользова­теля. Однако иногда только с помощью прототипа удается заста­вить клиента начать обсуждение требований, которые при другом подходе кажутся слишком абстрактными. Кроме того, работа с прототипом часто помогает получить требования, которые в про­тивном случае так и остались бы неизвестными. Прототип хорош еще и тем, что он является неким осязаемым доказательством (или иллюзией) прогресса в разработке системы. А в некоторых случаях он может даже поддерживать какие-то ограниченные ра­бочие возможности системы. К сожалению, как отмечалось в гла­ве 1, реальный опыт работы с прототипами свидетельствует, что их создание обычно препятствует любому официальному доку­ментированию требований, следовательно, требования формули­руются только в виде кода. Детали работы системы, игнорируе­мые прототипом (обработка ошибок, резервное копирование и др.), могут так и не появиться в виде требований.

Выявленные в результате применения перечисленных мето­дов требования к ПО оформляются в виде ряда документов и мо­делей. К основным документам, регламентируемым технологией Rational Unified Process, относятся:

· Концепция — определяет глобальные цели проекта и основ­ные особенности разрабатываемой системы. Существенной частью концепции является постановка задачи разработки, определяющая требования к выполняемым системой функ­циям.

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

· Дополнительные спецификации (технические требования) - содержит описание нефункциональных требований к сис­теме, таких, как надежность, удобство использования, про­изводительность, сопровождаемость и др.

Примеры документов приведены в подразд. 3.4.2.

Функциональные требования к системе моделируются и до­кументируются с помощью вариантов использования (use case), которые в контексте процесса управления требованиями тракту­ются следующим образом:

· вариант использования фиксирует соглашение между участ­никами проекта относительно поведения системы;

· вариант использования описывает поведение системы при различных условиях, когда система отвечает на запрос одно­го из участников, называемого основным действующим ли­цом;

· основное действующее лицо инициирует взаимодействие с системой, чтобы добиться некоторой цели. Система отвеча­ет, соблюдая интересы всех участников.

Варианты использования — это вид документации, применя­емый, когда требуется сконцентрировать усилия на обсуждении принципиальных требований к разрабатываемой системе, а не на подробном их описании. Стиль их написания зависит от масшта­ба, количества участников и критичности проекта. Существуют четыре уровня точности[24] при описании вариантов использования (расположенные по степени повышения точности):

· Действующие лица и цели (перечисляются действующие лица и все их цели, которые будет обеспечивать система).

· Краткое изложение варианта использования (в один абзац) или основной поток событий (без анализа возможных оши­бок).

· Условия отказа (анализ мест возникновения возможных ошибок в основном потоке событий).

· Обработка отказа (написание альтернативных потоков со­бытий).

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

Методика моделирования вариантов использования в техно­логии Rational Unified Process предусматривает специальное сог­лашение, связанное с группировкой структурных элементов и диаграмм модели. Это соглашение включает следующие правила:

· Все действующие лица, варианты использования и диаграм­мы вариантов использования помещаются в пакет с именем Use Case Model.

· Если моделируется сложная многофункциональная систе­ма, то совокупность всех действующих лиц и вариантов ис­пользования может разделяться на пакеты. В качестве прин­ципов разделения могут использоваться:

структуризации модели в соответствии с типами пользовате­лей (действующих лиц);

функциональная декомпозиция;

разделение модели на пакеты между группами разработчиков (в качестве объектов управления конфигурацией).

Все рекомендации по написанию качественных вариантов ис­пользования, включая перечисленные в подразд. 2.5.1, можно из­ложить в виде набора образцов, которые перечислены в табл. 3.3.

Таблица 3.3

Образцы написания вариантов использования

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

 

Варианты использования, безусловно, не единственный спо­соб выражения функциональных требований. Это объясняется следующими причинами:

· их описания слишком подробны. Заинтересованные лица зачастую желают видеть лишь краткий перечень основных функций;

· некоторые важные функции системы легче выразить в крат­кой форме без привязки к именам вариантов использова­ния.

Следовательно, помимо вариантов использования, функции системы можно выразить через ее свойства (system features), представляющие собой высокоуровневые, краткие утверждения. Более строго в контексте Rational Unified Process системное свой­ство определяется как «наблюдаемая извне и обеспечиваемая системой функция, которая непосредственно удовлетворяет пот­ребности заинтересованного лица». Свойство можно облечь в следующую лингвистическую форму: система будет выполнять «свойство X».

Спецификация требований в технологии Rational Unified Process не требует обязательного моделирования бизнес-процес­сов организации, для которых создается ПО, однако наличие бизнес-моделей существенно упрощает построение системной модели вариантов использования. При переходе от бизнес-моде­ли к начальной версии модели вариантов использования приме­няются следующие правила.

· Для каждого исполнителя в модели бизнес-анализа, кото­рый в перспективе станет пользователем новой системы, в модели вариантов использования создается действующее лицо с таким же наименованием. В состав действующих лиц включаются также внешние системы, играющие в бизнес-процессах пассивную роль источников информации.

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

Такая начальная версия модели описывает минимальный вари­ант системы, пользователями которой являются только исполните­ли бизнес-процессов. Если в дальнейшем в процессе развития сис­темы ее непосредственными пользователями будут становиться действующие лица бизнес-процессов, то модель вариантов исполь­зования будет соответствующим образом модифицироваться.

Применение данных правил будет проиллюстрировано в сле­дующем примере.

 

3.4.2.





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


Дата добавления: 2015-11-05; Мы поможем в написании ваших работ!; просмотров: 418 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Большинство людей упускают появившуюся возможность, потому что она бывает одета в комбинезон и с виду напоминает работу © Томас Эдисон
==> читать все изречения...

3950 - | 3566 -


© 2015-2026 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.