- •1.Виды, взаимосвязь и свойства требований
- •1.1.Что такое «требование»?
- •1.2.Виды требований
- •1.2.1.Функциональные требования
- •1.2.2.Нефункциональные требования
- •1.2.2.1.Нефункциональные требования к продукту
- •1.2.2.2.Нефункциональные требования к процессу
- •1.2.2.3.Внешние нефункциональные требования
- •1.5.Вопросы для самоконтроля
- •2.Определение образа и границ проекта
- •2.1.Анализ предметной области
- •2.2.Анализ осуществимости
- •2.3.Определение целей и области действия
- •2.4.Документирование образа и границ проекта
- •2.5.Вопросы для самоконтроля
- •3.Выявление требований
- •3.1.Определение способа сбора и анализа требований
- •3.1.1.Источники возникновения требований
- •3.1.2.Заинтересованные в проекте лица
- •3.2.Опрос (интервью)
- •3.2.1.Подготовка
- •3.2.2.Проведение опроса
- •3.2.3.Определение последующих действий
- •3.3.Совместные семинары
- •3.4.”Мозговой штурм”
- •3.4.1.Роли во время сеансов
- •3.4.2.Правила проведения сеанса
- •3.4.3.Подготовка к сеансу
- •3.4.4.Проведение сеанса
- •3.4.5.Обработка результатов сеанса
- •3.5.Сценарии
- •3.5.1.Сценарии событий
- •3.5.2.Варианты использования
- •3.5.3.Применение модели msc uml
- •3.6.Выявление требований на основе различных точек зрения. Метод vord
- •3.6.1.Идентификация точек зрения
- •3.6.2.Структурирование точек зрения
- •3.6.3.Документирование и отображение системы точек зрения
- •3.7.Этнографический подход
- •3.8.Вопросы для самоконтроля
- •4.Разработка системных требований
- •4.1.Детализация требований пользователей
- •4.2.Системные модели
- •4.2.1. Модели потоков данных
- •4.2.2.Модели конечных автоматов
- •4.2.3.Модели данных
- •4.3.Прототипы
- •4.3.1.Роль прототипов при разработке требований
- •4.3.2.Виды прототипов
- •4.4.Разработка прототипов
- •4.4.1.Экспериментальное прототипирование
- •4.4.2.Эволюционное прототипирование
- •4.4.3.Риски прототипирования
- •4.5.Системные требования
- •4.5.1.Структурированный естественный язык
- •4.5.2.Языки описания программ
- •4.5.3.Графические нотации
- •4.6.Документирование системных требований
- •4.7.Вопросы для самоконтроля
- •5.Документирование требований
- •5.1.Спецификация требований
- •5.2.Состав спецификации требований
- •5.3.Рекомендации по разработке требований
- •5.4.Стандартные шаблоны спецификации
- •5.5.Вопросы для самоконтроля
- •6.Анализ спецификации требований
- •6.1.Оценка качества спецификации требований
- •6.1.1.Характеристики качества спецификации
- •6.1.2.Аттестация требований
- •6.2.Экспертиза спецификации
- •6.3.Прототипирование
- •6.4.Автоматизированный анализ
- •6.5.Тестирование требований
- •6.6.Вопросы для самоконтроля
- •7.Управление требованиями
- •7.1.Причины изменений требований
- •7.2.Принципы управления требованиями
- •7.3.Управление изменениями
- •7.4.Управление версиями
- •7.5.Управление связями требований
- •7.6.Риски, связанные с требованиями
- •7.6.1.Риски этапа выявления требований
- •7.6.2.Риски этапа анализа и спецификации требований
- •7.6.3.Риски управления требованиями
- •7.7.Вопросы для самоконтроля
- •8.Case-средства для управления требованиями
- •8.1.Выбор case-средств для управления требованиями
- •8.2.Уровень зрелости и используемые инструменты
- •8.2.1.Моделирование требований
- •8.2.2.Трассировка требований
- •8.2.3.Управление версиями
- •8.3.Возможности case-средств управления требованиями
- •8.3.1. Средства idf-моделирования
- •8.3.2.Средства uml
- •8.4.Вопросы для самоконтроля
- •Список литературы
3.5.3.Применение модели msc uml
UML (Unified Modeling Language) – это унифицированный язык моделирования. UML представляет собой формальный искусственный язык, который постоянно развивается. Описание UML [3] по большей части формальное, но содержит и явно неформальные составляющие, что заметно отличает его от языков, которые, по общему мнению, являются образцами формализма. UML предназначен для моделирования. Сами авторы UML определяют его как графический язык моделирования общего назначения, предназначенный для спецификации, визуализации, проектирования и документирования всех артефактов, создаваемых при разработке приложений.
Для общего представление функционального назначения системы в UML предназначены диаграмма использования (use case). Диаграмма использования призвана ответить на вопрос: что делает система во внешнем мире?
На диаграмме использования применяются два типа основных сущностей: варианты использования и действующие лица, между которыми устанавливаются следующие основные типы отношений:
ассоциация между действующим лицом и вариантом использования;
обобщение между действующими лицами;
обобщение между вариантами использования;
зависимости (различных типов) между вариантами использования.
Кроме того, на диаграмме использования можно применить специальный графический комментарий – обозначить границу системы (действующие лица находятся снаружи, а варианты использования – внутри). Нотация для варианта использования – это имя, помещенное в овал (или помещенное под овалом). Другими словами, функции, выполняемые системой, на уровне моделирования использования никак не раскрываются – им только даются имена.
Семантически вариант использования – это описание множества возможных последовательностей действий (событий), приводящих к значимому для действующего лица результату. Каждая конкретная последовательность действий называется сценарием.
Пример 3.3
На рисунке 3.2 приведена диаграмма использования “Принять программу в архив”, описывающая процесс сдачи программы в архив организации-разработчика.
На диаграмме изображены действующие лица: разработчик, сдающий программу, приемщик, принимающий и регистрирующий программу, и архив, в котором будет храниться программа.
Диаграмма содержит два варианта использования (овала), имена которых идентифицируют функции: «Управление разработчиком» и «Управление архивом».
Рис. 3.2
Диаграмма описывает процесс на очень высоком уровне и здесь явно не достает более подробного описания вариантов (см. пример 3.2).
Диаграмма использования UML показывает объединение и декомпозицию вариантов использования, но не их содержание. Для описания варианта использования нужно использовать другие средства, например, диаграммы состояний и диаграммы последовательности.
3.6.Выявление требований на основе различных точек зрения. Метод vord
Любая достаточно большая программная система имеет несколько различных групп конечных пользователей. Каждая группа пользователей имеет свой взгляд на систему, свои интересы (свою точку зрения на систему) и поэтому должна участвовать в формировании требований. Эти различные точки зрения могут быть независимыми или пересекаться, но главное, они позволяют рассматривать систему с разных сторон и учитывать интересы всех ее пользователей.
Один из подходов к формированию требований основан на учете различных опорных точек зрения (viewpoint-oriented elicitation) и позволяет обнаруживать на ранних этапах проектирования противоречия в требованиях различных групп пользователей.
Существуют различные интерпретации понятия точки зрения. Приведем некоторые из них [9]:
Точка зрения – это источник информации о системных данных. В этом случае точка зрения – основа для построения модели создания и использования данных в системе.
Точка зрения – это особая часть модели системы и на основе различных точек зрения могут быть построены, например, модели сущность-связь или модели конечного автомата системы.
Точка зрения – это получатель системных сервисов. В этом случае точка зрения (точнее ее носитель) является внешним по отношению к системе и помогает определить данные, необходимые для выполнения системных сервисов и управления ими.
При проектировании интерактивных систем нужно учесть, что взаимодействуют с системой, получая от нее сервисы и поставляя ей данные и управляющие сигналы, конечные (внешние) пользователи. Использование внешних опорных точек зрения позволяет:
более естественно структурировать процесс формирования требований (по точкам зрения);
упростить выбор опорных точек зрения, каждая из которых представляет собой способ взаимодействия пользователя с системой;
выявить нефункциональные требования.
На основе такого подхода к интерпретации и выбору опорных точек был разработан метод VORD (Viewpoint-Oriented Requirements Definition) для формирования и анализа требований.
Метод VORD состоит из четырех основных этапов:
Идентификация точек зрения.
Структурирование точек зрения.
Документирование точек зрения.
Отображение системы точек зрения.