PMIufa 2011-02-24

Preview:

DESCRIPTION

Системный подход к формированию требований к программным продуктам

Citation preview

Гвоздев Владимир Ефимович, д.т.н., профессор

Project Management Institute

Московское отделение

Уфимский филиал

2244 февраляфевраля 2011 2011 гг..

СИСТЕМНЫЙСИСТЕМНЫЙ ПОДХОДПОДХОД КК ФОРМИРОВАНИЮФОРМИРОВАНИЮТРЕБОВАНИЙТРЕБОВАНИЙ КК ПРОГРАММНЫМПРОГРАММНЫМ ПРОДУКТАМПРОДУКТАМ

ОСНОВНЫЕОСНОВНЫЕ ВОПРОСЫВОПРОСЫ

� Структура процесса формирования требований

� V-модель жизненного цикла программного продукта

� Архитектура требований

� Архитектура процесса преобразования требований

� Требования к профессиональной квалификацииспециалистов, разрабатывающих требования кпрограммным продуктам

ИНЖЕНЕРИЯИНЖЕНЕРИЯ ТРЕБОВАНИЙТРЕБОВАНИЙ

ИНЖЕНЕРИЯ ТРЕБОВАНИЙ (Requirements engineering) –ключевая проблема в области создания сложных систем, компонентом которых является программная система

Составные части инженерии требований:

� извлечение требований

� специфицирование требований

� валидация требований

ЦЕЛИЦЕЛИ ИССЛЕДОВАНИЯИССЛЕДОВАНИЯТРЕБОВАНИЙТРЕБОВАНИЙ

� определение границ системы

� достижение взаимопонимания между разнымисообществами, интересы которых затрагиваетпоявление системы

� оценка стабильности / изменчивости требований

� ранжирование требований

ПОСЛЕДСТВИЯПОСЛЕДСТВИЯ НЕДОСТАТОЧНОЙНЕДОСТАТОЧНОЙИЗУЧЕННОСТИИЗУЧЕННОСТИ ТРЕБОВАНИЙТРЕБОВАНИЙ

� досрочное прекращение проекта создания системы

� создание системы с неудовлетворительными/

неприемлемыми свойствами

� чрезмерно высокая стоимость эксплуатации

и сопровождения

� частое внесение изменений в систему

ЧТОЧТО ТАКОЕТАКОЕТРЕБОВАНИЯТРЕБОВАНИЯ??

1. Условия или возможности,

необходимые пользователю

для решения проблемы или

достижения цели.

2. Условия или возможности,

которыми должна обладать

или которые должна предоставлять система/компонент

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

стандарта, спецификации или иного формального документа.

3. Документальное представление условий или возможностей,

оговоренных в (1) и (2).

Technical ReportCMU/SEI-92-TR-012 ESC-TR-92-012Issues in RequirementsElicitationMichael G. Christel

Kyo C. Kang

СТРУКТУРАСТРУКТУРА ТРЕБОВАНИЙТРЕБОВАНИЙ

По Sonthwell

1. Функциональныетребования

2. Нефункциональныетребования

а) к преобразованиям/

надежности

б) к интерфейсам

в) ограничения на

конструкцию

По Asworth

1. Функции («что»)

2. Данные («что»)

3. Нефункциональныетребования («насколькохорошо»)

4. Цели («какие потребностипользователейпокрываются»)

5. Ограничения наконструкцию и способреализации (например, использовать COBOL)

Обоснованиецелесообразности создания

программного продукта

СТРУКТУРА ПРОЦЕССА ФОРМИРОВАНИЯ ТРЕБОВАНИЙ

Выявлениеправообладателей

Выделение проблем

Формирование требований

Классификация требований

Представление требованийс использованием шаблонов

•) выявление потребностей•)определение внешней среды•) анализ влияния ПП на существующие бизнес-процессы•) выявление новых возможностей•) цена изменений: ближняя и отдаленная

Грэг Брю: Свинья вовлечена в процессприготовления яичницы с беконом,

а курица в нем участвует

Примеры технологий: •) интервьюирование•) прототипирование•) «Пять почему?» (Toyota)•) JAD»...

Основные свойстватребований: •) ясность•) трассируемость•) полнота•) сбалансированность•) реализуемость•) не обсуждаемые•) обязательные (key)•) необходимые (mandatory)•) дополнительные (optional)•) желательные (desirable)

Халл Э., Джексон К.Дик Дж.Время

VV--МОДЕЛЬМОДЕЛЬ ЖИЗНЕННОГОЖИЗНЕННОГО ЦИКЛАЦИКЛАПРОГРАММНОГОПРОГРАММНОГО ПРОДУКТАПРОДУКТА

АРХИТЕКТУРААРХИТЕКТУРА ТРЕБОВАНИЙТРЕБОВАНИЙ

АРХИТЕКТУРААРХИТЕКТУРА ПРОЦЕССАПРОЦЕССА ПРЕОБРАЗОВАНИЯПРЕОБРАЗОВАНИЯТРЕБОВАНИЙТРЕБОВАНИЙ

ТРЕБОВАНИЯТРЕБОВАНИЯ КК ПРОФЕССИОНАЛЬНОЙПРОФЕССИОНАЛЬНОЙКВАЛИФИКАЦИИКВАЛИФИКАЦИИ СПЕЦИАЛИСТОВСПЕЦИАЛИСТОВ, , РАЗРАБАТЫВАЮЩИХРАЗРАБАТЫВАЮЩИХ ТРЕБОВАНИЯТРЕБОВАНИЯ

� Умение понять проблему, которую предстоит решать с помощьюпрограммного продукта

� Умение выделить сформулировать основные факторы, определяющиеуспех решения проблемы

� Умение определить основные функциональные требования кпрограммному продукту

� Умение определять общесистемные ограничения и ресурсы, которыенеобходимо выделить для производства программного продукта

� Умение выделить и ранжировать приоритеты требований кпрограммному продукту для различных заинтересованных лиц

� Умение оценить реализуемость требований с учетом бюджета и сроковпроекта

� Умение выбрать организационную структуру специалистов, реализующих проект

Благодарим за внимание

www.pmi.ruufa@pmi.ru

Гвоздев Владимир Ефимович

Зав. кафедрой автоматизации проектирования информационных систем

УГАТУ

д.т.н., профессор

Project Management Institute

Московское отделение

Уфимский филиал