Опубликован: 18.06.2007 | Уровень: для всех | Доступ: платный | ВУЗ: Сибирский федеральный университет (г. Красноярск)
Лекция 9:

Расширенный анализ требований. Моделирование

< Лекция 8 || Лекция 9: 123 || Лекция 10 >
Аннотация: В этой лекции мы поговорим о моделировании анализа требований. Будут рассмотрены подробно диаграммы UML, поясняющие функциональность системы и внутреннее устройство системы, а также альтернативные языки моделирования

Какие модели использовать

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

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

Чтобы облегчить процесс формулировки и понимания требований для Заказчика, существует ряд приемов. Во-первых, требования можно формулировать на разных уровнях абстракции. Так, уровень описания требований, поддерживаемый в документе "Видение", является достаточно сбалансированным. То же можно сказать и про краткие (в один абзац) описания ключевой функциональности системы. Действуя таким образом, мы, очевидно, решим проблему вовлечения Заказчика в анализ задач, однако указанные выше риски будут снижены недостаточно: концептуальные описания функциональности оставляют много свободы для толкования в ту или иную сторону.

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

На сегодня в арсенале аналитика существуют десятки методик, языков, визуальных представлений, позволяющих моделировать требования к системе. При создании информационных систем стандартом де-факто является универсальный язык моделирования, UML [9.1,9.2]. Некоторые другие нотации были упомянуты в "Контекст задачи анализа требований" .

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

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

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

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

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

Модели UML, поясняющие функциональность системы

Диаграмма вариантов использования

Диаграмма вариантов использования UML, Use case Diagram - одно из самых простых представлений системы. Ее базовые "строительные элементы" - акторы и варианты использования. Диаграмма задумана так, чтобы дать наиболее общее представление о функциональности системы (ее компоненты), не вдаваясь в детали взаимосвязей функций. Поэтому основной вид отношения, используемый в диаграмме - ассоциация между актором и вариантом использования.


Рис. 9.1.

Другие виды отношений - отношение включения (include), расширения (extend) и обобщения/генерализации.

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


Рис. 9.2.

Расширение в точности соответствует точке расширения, используемой при описании варианта использования, см. "Классификация и специфицирование требований" .


Рис. 9.3.

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


Рис. 9.4.
< Лекция 8 || Лекция 9: 123 || Лекция 10 >
Ринат Гатауллин
Ринат Гатауллин

Здравствуйте. Интересует возможность получения диплома( https://intuit.ru/sites/default/files/diploma/examples/P/955/Nekommerch-2-1-PRF-example.jpg ). Курс пройден. Сертификат не подходит. В сертификате ошибка, указано по датам время прохождения около 14 дней, хотя написано 576 часов.

Аминат Албакова
Аминат Албакова

Здравствуйте, я прошла весь курс, но нигде не указано, что курс завершился удачно или что-то в этом роде, не знаю что делать, как получть диплом в электронном виде?

Юлия Ряснова
Юлия Ряснова
Казахстан
Георгий Тихобаев
Георгий Тихобаев
Россия, Новосибирск, НГТУ, 1998