Анализ требований Copyright © Мухортов В. В., Няньчук-Татарский Н. А., 2001-2005 Copyright © ООО «Интекс», 2003-2005.

Презентация:



Advertisements
Похожие презентации
Анализ требований Copyright © Мухортов В. В., Няньчук-Татарский Н. А., Copyright © ООО «Интекс»,
Advertisements

Аналитическая модель (краткий конспект) Copyright © Мухортов В. В., Няньчук-Татарский Н. А., Copyright © ООО «Интекс»,
Диаграммы UML Диаграмма вариантов использования. Основные вопросы Назначение диаграммы вариантов использования Компоненты диаграммы вариантов использования.
Разработка объектно- ориентированного ПО Итеративная модель разработки (развитие водопадной модели) анализ проектирование кодирование тестирование.
4. Моделирование функциональных требований к системе.
Унифицированный язык моделирования UML является графическим языком для визуализации, конструирования и документирования систем, в которых большая роль.
ОБЪЕКТНО-ОРИЕНТИРОВАННАЯ МЕТОДОЛОГИЯ ПРОЕКТИРОВАНИЯ программных систем Rational Unified Process фирмы Rational Software Corporation.
5. Описание вариантов использования. Документация, сопровождающая вариант использования Для пояснения варианта использования он может сопровождаться следующей.
Объектно-ориентированный анализ и дизайн Copyright © Мухортов В. В., Няньчук-Татарский Н. А., Copyright © ООО «Интекс»,
Жизненный цикл программного обеспечения Лекция 4.
Процесс разработки Design and programming are human activities. Forget it and all is lost. B.Stroustrup, 1991.
Жизненный цикл программного обеспечения Подготовил студент 1 курса Лось Павел.
Проектирование архитектуры ИСО 1. UML 2 Структура определения языка 4.
Объектно-ориентированный дизайн Copyright © Мухортов В. В., Няньчук-Татарский Н. А., Copyright © ООО «Интекс»,
Кандидат технических наук, доцент Грекул Владимир Иванович Учебный курс Проектирование информационных систем Лекция 9.
2 Основным понятием программной инженерии является понятие жизненного цикла ПО. Жизненный цикл ПО (software lifecycle) – это период времени, который начинается.
Оценка знаний. 1. Изучение предметной области 2. Поиск и изучение существующих систем 3. Выявление сильных и слабых сторон аналогов 4. Формулирование.
Технология программирования в историческом аспекте.
SOFTWARE DEVELOPMENT PODGOTOVIL TVOU ZHOPY K SDACHE.
Разработка программного обеспечения (Software Engineering) Часть 2. Создание ПО.
Транксрипт:

Анализ требований Copyright © Мухортов В. В., Няньчук-Татарский Н. А., Copyright © ООО «Интекс»,

Процесс разработки ПО Анализ требований и предметной области Системный анализ Проектирование и реализация Сопровождение и развитие

О важности анализа требований 31% проектов – остановлены до завершения 53% проектов стоили 189% от первоначальной оценки В крупных компаниях 9% проектов выполнено в срок и без превышения бюджетов. В мелких компаниях 16% проектов выполнено в срок и без превышения бюджетов. - Отчет Standish Group, 1994, (проанализировано 8000 проектов)

Источники ошибок Недостаточное количество информации от пользователей- 12,8% Неполные спецификации- 12,3% Изменения требований % Отчет Standish Group, 1994, (проанализировано 8000 проектов)

Проекты US Air Force Источники ошибок Требования- 41% Проектирование - 28% Данные- 6% Интерфейс- 6% Окружение- 5% Человеческий фактор- 5% Документация- 2% Остальные- 7% Sheldon F., Reliability Measurement from Theory to Practice, 1992

Стоимость ошибок в требованиях Относительная стоимость исправления ошибок (по фазам) Инициирование проекта- 0,1 – 0,2 Проектирование - 0,5 Кодирование- 1 Компонентное тестирование- 2 Тестирование в момент приемки- 5 Использование и поддержка Davis A., Software Requirements – Objects, Functions and States, 1993

Документирование требований Основным средством документирования требований является текст на естественном языке. Проблемы: Неоднозначность интерпретации Слабое структурирование информации Сложность оценки полноты, непротиворечивости и трудозатрат

Варианты использования (use cases) Вариант использования (use-case) есть средство структурирования требований, Вариант использования описывает соглашение между заинтересованными сторонами (stakeholders) о поведении системы. ( По Alistair Cockburn, Writing the effective Use-Cases)

Заинтересованные стороны Заинтересованные стороны: Пользователи системы Другие системы Заинтересованные стороны называются актерами или актантами (Actor) Актер не является конкретным человеком, а определяет набор ролей в системе.

Варианты использования Actor – внешнее по отношению к системе действующее лицо, некто (или нечто), взаимодействующее с системой. Use case – некая последовательность действий системы, представляющая ценность для Actor-а, вариант использования системы (Ivar Jacobson). Use- case описывает, что делает система, но не указывает как.

Актер Имеет имя (наименование роли) Находится вне системы Заинтересован в функционировании системы По отношению к use-case может быть: активным – инициирует выполнение UC пассивным – так или иначе участвует в выполнение UC

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

Документирование use-cases Имя Основная цель (Goal in context) Основной(-ые) актер(-ы) (Primary actor(s)) Предусловие (Precondition) Постусловие (Postcondition) Условие начала действия (Trigger condition) Точки расширения (Extension points) Сценарии достижения цели Основной сценарий (main success scenario) Альтернативный сценарий 1 (alternative scenario) …

Диаграммы вариантов использования Варианты использования Актеры Отношения между актерами и вариантами использования

Пример: Экзамен Teacher принимает экзамен у Student.

Генерализация actor-ов Различные actors могут играть одну и ту же общую роль в некотором use-case

Включаемые use-cases Stereotype: > Различные use-cases могут иметь общие части Абстрактный use-case не имеет непосредственной ценности для актера

Семантика отношения включения

Расширение use-cases Stereotype: > Некоторые use-cases могут вызываться в контексте других только при некоторых условиях

Семантика отношения расширения

Генерализация вариантов использования Иногда два use-case-а могут иметь некоторую общую последовательность действий. Для того, чтобы показать эту общность используется генерализация use-case-ов.

Семантика генерализации вариантов использования

Замечания Use-case должен описывать ЧТО делает система, но НЕ КАК => Глубокие иерархии use-cases чаще всего бесполезны и ведут к функциональной декомпозиции => Большое количество мелких use-case не прибавят понимания того, что делает система

Типичные ошибки документирования Большое количество информации о пользовательском интерфейсе Отсутствует основной actor Слишком высокая детализация Не описаны действия системы

Диаграммы состояний Описывают состояния объекта и переходы между состояниями State – некое состояние объекта Event – событие, вызывающее переход Transition – переход в новое состояние Condition – условие перехода (true|false) Action – мгновенное непрерываемое действие, сопровождающее переход Activity – деятельность, связанная с состоянием

Пример: сдача экзамена

Пример: вложенные состояния Применение: группировка состояний и упрощение диаграммы Имеют не более одного начального и конечного состояний

Пример: состояния с историей Н – недавнее историческое состояние Н* - глубокое историческое состояние

Диаграммы деятельностей Описывают последовательности действий используются для описания операций и вариантов использования Activity - деятельность Transition – переходы между деятельностями Guard condition – условие перехода Decision – блок принятия решения Concurrent threads – параллельные деятельности Synchronization bar – линейка синхронизации параллельных деятельностей

Пример: банкомат