Уровень 1. Начальный (Initial)

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

Уровень 2. Управляемый (Managed)

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

Уровень 3. Определенный (Defined)

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

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

На втором уровне зрелости определены следующие ключевые области:

1. Управление требованиями (Requirements Management) – обеспечение возможности установления единого с заказчиком понимания требований к разрабатываемому продукту.

2. Управление конфигурацией (Configuration Management) – установление и поддержка целостности всех продуктов проекта или процесса за счет обеспечения единой системы идентификации компонентов продукта, контроля над изменениями и управления изменениями компонентов.

Третий уровень характеризуется включением ключевой области:

Разработка требований (Requirements Development)» – разработка и анализ требований заказчика, требований к программному продукту и отдельным его компонентам.

Для обеспечения данных ключевых областей перечислим [6] следующие специфические типы инструментов:

· моделирование требований;

· трассировка требований;

· управление версиями.

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

Таблица 8.1

Уровень Основная цель применения Ключевые области процесса Инструменты Минимальный набор инструментов
Повторяемый Процесс осуществления менеджмента проектов 1. Управление требованиями 1.Моделирование требований Visio, Access
2. Трассировка Excel
2. Менеджмент конфигурации 3. Управление версиями Visual Source Safe

8.2.1. Моделирование требований

Инструментальные средства управления требованиями можно разделить на две категории: моделирование и трассировку. Инструменты моделирования позволяют, используя графические средства, описать модель требования, а затем по определенным (в инструменте) правилам выполнить его структурное или объектно-ориентированное моделирование. Минимальный набор инструментов моделирования состоит из графического пакета Visio, позволяющего построить различные, например, IDF или UML модели требований, и базы данных Access, хранящей структурную информацию требований.

8.2.2. Трассировка требований

Возможности анализа требований и их реализации во многом определяются трассируемостью требований. Трассируемость должна позволять выполнять прослеживание как вперед, от требования до его кода, так и назад, от кода к требованию. Автоматизация трассировки требований становится особенно важной по мере роста сложности разрабатываемого программного продукта. Инструмент должен позволять уникально именовать требование и хранить его краткое описание. Минимальный набор инструментальных средств включает в себя Excel для хранения и управления матрицей трассируемости требований.

Управление версиями

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

8.3. Возможности CASE-средств управления требованиями

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

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

Инструментальные средства позволяют выводить требования в виде документа заданного формата или в виде табличного отчета.

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

Средства IDF-моделирования

Совокупность методик и моделей концептуального проектирования IDEF (Integrated DEFinition) была разработана в США. В настоящее время имеются методики функционального, информационного и поведенческого моделирования, в которые входит достаточно большое число моделей. Например:

1. IDEF0 – функциональное моделирование. Реализует методику функционального моделирования сложных систем, основой которой является методология SADT (Structured Analysis and Design Technique).

2. IDEF2, IDEF3 – поведенческое моделирование, или моделирование деятельности. В основе лежат модели и методы имитационного моделирования систем массового обслуживания, сети Петри, конечные автоматы.

Перечисленные методики относятся к структурным методам.

Platinum BPwin

Platinum BPwin – это наиболее распространенный пакет, поддерживающий технологию моделирования IDEF. В него включены три методологии моделирования: функциональное моделирование (IDEF0), описание бизнес-процессов (IDEF3) и диаграммы потоков данных (DFD).

При создании новой модели достаточно в начальном диалоге выбрать нужную методологию. Рабочий стол BPwin состоит из нескольких окон, панель меню соответствует стандартам Windows и обеспечивает доступ ко всем функциям, а стандартная панель инструментов обеспечивает быстрый доступ к часто выполняемым задачам. Особенностью BPwin является наличие дерева модели, которое позволяет просматривать (в разных режимах) созданные модели, действия и объекты диаграмм, согласно уровням их декомпозиции и т.д. В своем составе BPwin имеет программу «Наставник», позволяющую быстро ознакомиться с нужной методикой и ее реализаций в пакете.

BPwin позволяет печатать диаграммы и строить отчеты по моделям. Определено большое число стандартных отчетов, например:

· отчет по диаграммам, который включает информацию об объектах в активной диаграмме;

· отчет о связях в модели;

· отчет об объектах диаграммы, содержащий информацию об объектах, размещенных на диаграмме (функциональных блоках, хранилищах данных и внешних ссылках);

· отчет о целостности модели, определяющий степень соответствия активной модели и выбранной методологии.

Более подробное описание пакета BPwin и его применения для моделирования (требований) можно найти в [5].

Средства UML

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

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

Rational Rose

Пакет Rational Rose – мощный инструмент анализа и проектирования объектно-ориентированных программных систем. Модель Rose [2] поддерживает четыре представления: представление вариантов использования, логическое представление, представление компонентов и представление размещения.

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

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

Together

Программный пакет Together позволяет:

1. Представлять требования в виде диаграмм использования или в списках системных свойств, связывая их гиперссылками.

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

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

В основе Together лежат следующие идеи:

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

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

3. Автоматизация рутинных операций.

4. Постоянный контроль качества. Аудит позволяет проверить соответствие стандартам, используя встроенные правила или формулируя свои правила контроля. Применяя метрики, определенные в Together, можно провести количественный анализ исходного кода.

Достаточно подробное описание Together и его использование в процессе разработки программных систем можно найти в [6].

Вопросы для самоконтроля

1. Какие недостатки имеет документальное хранение требований?

2. Почему используются CASE-средства управления требованиями?

3. Отчего зависит внедрение автоматизации в процесс управления требованиями?

4. Какие ключевые области процесса, которые определены для разработки требований и на каком уровне зрелости?

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

6. Какие инструменты поддерживают модели концептуального проектирования IDEF ?

7. Что представляет собой пакет Rational Rose?

8. Какие идеи лежат в основе пакета Together?

Список литературы

1. Брауде Э. Технология разработки программного обеспечения. – Спб.: Питер, 2004.

2. Боггс Уэнди. UML и Rational Rose 2002 – М.: Лори-Пресс , 2004

3. Буч Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользователя: Пер. с англ. – М.: ДМК, 2000.

4. Вигерс К. Разработка требований к программному обеспечению /Пер. с англ. – М.: Издательско-торговый дом «Русская редакция», 2004.

5. Дубейковский В. И. Практика функционального моделирования с AllFusion Process Modeler 4.1. Где? Зачем? Как? – М.: ДИАЛОГ-МИФИ, 2004.

6. Кармайкл Э., Хейвуд Д. Быстрая и качественная разработка программного обеспечения : Пер. с англ. – М.: Издательский дом «Вильямс», 2003.

7. Коберн А. Современные методы описания функциональных требований к системам. – М.: Издательство “Лори”, 2002.

8. Константайн Л., Локвуд Л. Разработка программного обеспечения. – СПб.: Питер, 2004.

9. Соммервилл И. Инженерия программного обеспечения, 6-ое издание. : Пер. с англ. – М.: Издательский дом «Вильямс», 2002.

10. Шафер Д., Фатрелл Р., Шафер Л. Управление программными проектами: достижение оптимального качества при минимуме затрат. : Пер. с англ. –М.: Издательский дом «Вильямс», 2003

Наши рекомендации