41406

МЕТОДЫ ВЫЯВЛЕНИЯ ТРЕБОВАНИЙ

Лекция

Информатика, кибернетика и программирование

Пять этапов анализа проблемы Достижение соглашения об определении проблемы Выделение основных причин проблем стоящих за проблемой Выявление заинтересованных лиц и пользователей Определение границ системырешения Выявление ограничений налагаемых на решение 5. Синдром неоткрытых руин Синдром пользователя и разработчика Функции продукта или системы Потребности заинтересованных лиц и пользователей Функции Управление сложностью путем выбора уровня абстракции Атрибуты функций продукта 9. Предельно недорога ...

Русский

2013-10-24

85.5 KB

22 чел.

Лекция N 3 26/11/02

Содержимое предыдущих лекций

Лекция N 1-2 30/10/02-12/11/02

Объектно-ориентированный анализ и проектирование

Управление требованиями

1. Проблема требований

  1.  Цель
    1.  Статистика
    2.  Основные причины успеха и провала проектов
    3.  Высокая цена ошибок требований

2. Введение в управление требованиями

2.1. Определения

2.2. Подход к управлению требованиями

3. Команда разработчиков

3.1. Разработка программного обеспечения как командная деятельность

3.2. Профессиональные навыки, которыми должна обладать команда для эффективного управления требованиями

3.3. Организация команд, разрабатывающих программное обеспечение

4. Анализ проблемы

4.1. Пять этапов анализа проблемы

  1.  Достижение соглашения об определении проблемы
  2.  Выделение основных причин — проблем, стоящих за проблемой
  3.  Выявление заинтересованных лиц и пользователей
  4.  Определение границ системы-решения
  5.  Выявление ограничений, налагаемых на решение

5. Моделирование бизнес – процессов

5.1. Цели моделирования бизнес-процесса

  1.  Использование методов инженерии программного обеспечения для моделирования бизнес – процессов
    1.  Унифицированный язык моделирования (UML)

6. Инженерия систем, интенсивно использующих программное обеспечение

  1.  Задача выявления требований

7.1. Преграды на пути выявления требований

  •  Синдром "да, но..."
  •  Синдром "неоткрытых руин"
  •  Синдром "пользователя и разработчика"

  1.  Функции продукта или системы

  1.  Потребности заинтересованных лиц и пользователей
    1.  Функции
    2.  Управление сложностью путем выбора уровня абстракции
    3.  Атрибуты функций продукта

9. МЕТОДЫ ВЫЯВЛЕНИЯ ТРЕБОВАНИЙ

  1.  Совещания, посвященные требованиям

Ускорение процесса принятия решений

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

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

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

Основные заинтересованные лица собираются на небольшой, но интенсивно используемый период: как правило, не более чем на 1-2 дня. Совещание проводится одним из членов команды или, что даже лучше, опытным ведущим со стороны. Оно посвящено созданию или пересмотру высокоуровневых функций, которые должно предоставлять новое приложение.

  •  Подготовка к совещанию
  •  Распространение концепции
  •  Гарантия участия основных заинтересованных лиц
  •  Логистика
  •  Подготовительные материалы
  •  Роль ведущего
  •  Составление повестки дня
  •  Проведение совещания
  •  Мозговой штурм и отбор идей
  •  Результат и продолжение

  1.  Мозговой штурм и отбор идей

Мозговой штурм включает в себя как генерацию, так и отбор идей

Наиболее творческие, инновационные идеи обычно являются результатом  объединения многих, казалось бы, несвязанных идей

Для определения приоритетов созданных идей можно использовать различные методы голосования

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

Данный процесс имеет ряд очевидных преимуществ.

• Поддерживает участие всех присутствующих.

• Позволяет участникам развивать идеи друг друга.

• Ведущий или секретарь ведет запись всего хода обсуждения.

• Его можно применять при различных обстоятельствах.

• Как правило, в результате получаем множество возможных решений для любой поставленной проблемы.

• Метод способствует свободному мышлению, не ограниченному обычными рамками.

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

Правила проведения мозгового штурма

  1.  Не допускается критика или дебаты.
  2.  Дайте свободу фантазии.
  3.  Генерируйте как можно больше идей.
  4.   Переделывайте и комбинируйте идеи.

Генерация

Отбор идей

Отсечение

Группировка идей

Определение функций

Расстановка приоритетов

Анализ результатов

  1.  Раскадровка

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

Киноиндустрия успешно использовала этот метод со времен появления первых картин на экране.

При создании раскадровки применяются недорогие и простые в обращении средства. Раскадровка имеет следующие преимущества.

• Предельно недорога

• Дружественна пользователю, неформальна и интерактивна

• Обеспечивает ранний анализ пользовательских интерфейсов системы

• Легко создаваема и модифицируема

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

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

Типы раскадровок

В основном, раскадровку можно делать такой, как пожелает команда: команда свободна в выборе способов раскадровки для конкретного приложения. Раскадровки делятся на три типа в зависимости от режима взаимодействия с пользователем: пассивные, активные и интерактивные.

• Пассивные представляют собой историю, рассказываемую пользователю. Они могут состоять из схем, картинок, моментальных копий экрана, презентаций PowerPoint или образцов выходной информации системы. В пассивной раскадровке аналитик играет роль системы и просто проводит пользователя по раскадровке, объясняя следующее: "Когда вы делаете это, происходит вот это".

• Активные пытаются показать пользователю "еще не созданный фильм". Они создаются с помощью анимации или автоматизации, возможно, посредством автоматического последовательного показа слайдов, анимационных средств или даже фильма. Активные раскадровки обеспечивают автоматизированное описание поведения системы при типовом использовании или в операционном сценарии.

• Интерактивные дают пользователю опыт обращения с системой почти такой же реальный, как на практике. Для своего выполнения они требуют участия пользователя. Интерактивные раскадровки могут быть имитационными, в виде макетов или могут даже представлять собой отбрасываемый впоследствии код. Сложная интерактивная раскадровка, основанная на отбрасываемом коде, может быть весьма похожа на отбрасываемый прототип (который обсуждается в следующей главе).

Как видно из рис. 5, эти три типа раскадровки предлагают широкий спектр возможностей — от образцов выходной информации до "живых" демонстрационных версий. Различие между сложными раскадровками и ранними прототипами продукта весьма условно.

Рис. 5. Различные виды раскадровок

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

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

Для построения более сложных пассивных раскадровок можно использовать администраторы представлений, такие как PowerPoint или Harvard Business Graphics.

Интерактивные раскадровки пассивного и активного типа создаются с помощью HyperCard, SuperCard и различных пакетов, которые позволяют быстро разрабатывать пользовательские экраны и выходные отчеты. Интерактивные раскадровки можно создавать с помощью разнообразных специальных пакетов программного обеспечения для интерактивного прототипирования, таких как Dan Brickin's Demo It. Для создания более сложных анимаций и имитаций можно использовать такие средства, как Macromedia's Director и Cinemation компании Vividus.

  1.   Применение прецедентов

Еще один метод описания поведения системы и пользователясостоит в использовании прецедентов. Данный метод кратко рассматривался ранее, где он применялся при моделировании бизнес -процесса.

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

Другими словами, мы будем применять прецеденты для выявления требований, чтобы понять, как должно вести себя приложение, которое мы собираемся разработать для решения проблемы пользователей. Прецеденты настолько важны для фиксации и спецификация системных требований, что мы продолжим их дальнейшую разработку в части 5, "Уточнение определения системы", и части 6. "Построение правильной системы".

Метод прецедентов является частью методологии объектно-ориентированного программирования (Object-Oriented Software Engineering). Это метод анализа и проектирования сложных систем, представляющий собой "основанный на прецедентах" способ описания поведения системы с точки зрения того, как различные пользователи взаимодействуют с ней для достижения своих целей. Такой ориентированный на пользователя подход предоставляет возможность исследовать различные варианты поведения системы при раннем привлечении пользователя.

Как уже отмечалось ранее, прецеденты служат также UML-нредставленнем требований к системе. Прецеденты можно успешно использовать на протяжении всего жизненного цикла программного обеспечения. Помимо фиксации требований к системе, разработанные в процессе выявления требований прецеденты можно применять при анализе и проектировании: они также могут играть значительную роль в процессе тестирования.

Прецедент описывает последовательность действий, выполняемых системой с целью предоставить полезный результат конкретному актору.

Другими словами, прецеденты описывают взаимодействие между пользователем и системой, уделяя основное внимание тому, что система "делает" для пользователя. Кроме того, поскольку действия описываются последовательно, легко "проследить действие" и понять, что делает система. В UML прецедент изображается овальной пиктограммой, содержащей имя данного прецедента.

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

Построение модели прецедентов

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

Первый шаг моделирования прецедентов состоит в создании системной диаграммы, описывающей границы системы и определяющей ее акторы. Это позволяет параллельно осуществить этапы 3 и 4 (из описанных в главе 4 пяти этапов анализа проблемы), в которых требуется выявить заинтересованных лиц системы и определить ее границы.

Например, для системы управления складом.

Как видно из рисунка, система используется многими пользователями, каждый из которых взаимодействует с системой для достижения определенной операционной цели.

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

• Производимое вручную распределение изделий на складе.

• Включение новой единицы хранения.

• Проверка изделий, находящихся на складе.

Применение прецедентов к выявлению требований

Идею прецедентов можно доходчиво описать будущим пользователям системы. Прецеденты пишутся на естественном языке пользователя. Их легко описывать и докумен тировать. Это обеспечивает простой структурированный формат для совместной работы команды-разработчика и пользователя над описанием поведения существующей системы или определением поведения новой системы. Конечно же, каждый пользователь будет обращать внимание на те возможности системы, которые необходимы для выполнения именно его работы. Если поведение полностью исследуется всеми потенциальными пользователями, команде удастся значительно приблизиться к цели полного понимания желаемого поведения системы. После окончания данного процесса останется не так уж много "неоткрытых руин " функциональных возможностей.

Рис. 1. Диаграмма складской системы с указанием акторов

Кроме того, применяя метод прецедентов для непосредственного исследования интерфейсов пользователя, можно получить ранние отклики на этот важный и изменчивый аспект системной спецификации и проекта.

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

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

  1.  Обыгрывание ролей
    1.  Создание прототипов


 

А также другие работы, которые могут Вас заинтересовать

68463. Работа с текстом в Excel 64.5 KB
  Excel предоставляет очень много функций для работы с текстом позволяющие преобразовывать исходные текстовые данные и производить разнообразные действия. Все функции для обработки текста можно просмотреть в диалоговом окне Мастер функций кнопочка fx в категории Текстовые.
68464. Основные положения стереохимии. Реакционная способность гетерофункциональных соединений 97 KB
  Стереохимия изучает пространственное строение органических соединений. Органические молекулы с одинаковой молярной массой, он отличающиеся природой или последовательностью связей между атомами и пространственным расположением атомов называются изомерами.
68465. Аминокислоты, пептиды и белки 820 KB
  Для записи аминокислотных остатков в макромолекулах пептидов и белков используют трехбуквенные сокращения их тривиальных названий (см. табл. 1). –аминокислоты – кристаллические вещества, растворимые в воде. Часть из них обладает сладким вкусом.
68466. НРАВСТВЕННОЕ СОЗНАНИЕ И МОРАЛЬНЫЙ ФАКТОР В ДЕЯТЕЛЬНОСТИ ЮРИСТОВ 103.5 KB
  Оно сформировалось в силу объективной необходимости регуляции отношений между людьми в их совместной деятельности. Честь конкретной личности связывается с ее общественным положением родом деятельности и признаваемыми за ней моральными заслугами.
68467. Юридическая этика – вид профессиональной этики 64.5 KB
  Термин профессиональная этика обычно употребляется для обозначения не столько отрасли этической теории сколько своеобразного нравственного кодекса людей определенной профессии. Профессиональная этика обусловлена особенностями некоторых профессий корпоративными интересами профессиональной культурой.
68468. Нравственные основы законодательства о правосудии и правоохранительной деятельности 158.5 KB
  Нравственное содержание конституционных норм о правосудии и правоохранительной деятельности Правосудие как вид государственной деятельности призванной обеспечить справедливость в отношении тех чьи права и интересы оно затрагивает базируется на правовых и нравственных началах.
68469. Нравственные начала уголовно-процессуального доказывания 88.5 KB
  Установление истины – непременное условие справедливого правосудия по уголовному делу. Именно истины, правды требует общество от судей; истина, правда образуют сущность приговора суда как акта правосудия. Требование установления правды, истины постоянно присутствует в отечественном законодательстве...
68470. Этика предварительного следствия 130.5 KB
  Следователь для раскрытия преступления и обеспечения неуклонения виновного от ответственности наделен обширными властными полномочиями в том числе и по ограничению основных прав и свобод человека и гражданина. Следователь по закону самостоятелен в ведении следствия при принятии наиболее важных решений.
68471. Нравственные начала осуществления правосудия 126 KB
  В период массовых репрессий по приговорам судов были уничтожены сотни тысяч тех кого называли врагами народа истреблялись ни в чем не виновные люди. Урегулированный законом порядок постановления приговора способствует обеспечению равноправия всех судей и учитывает необходимость...