Материал: u_lectures

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Представитель заказчика – постановка задачи, определение рамок проекта, контроль работы исполнителя, приёмка результатов работы.

Архитектор системы – разработка архитектуры, проектирование подсистем Программист – разработка программного кода.

Тестировщик – составление тест-плана, тестовых сценариев. Менеджер проекта – планирование и контроль исполнения работ.

В рамках курса лекций для всех упомянутых выше лиц будем использовать обобщающий термин «Совладельцы (заинтересованные стороны)» (stakeholders). Совладельцами, вслед за разработчиками RUP и MSF (см., например, [9,13]), будем называть всех участников проекта создания программной системы, прямо или косвенно заинтересованных в его успехе. Авторы большинства современных методологий разработки программных систем сходятся том, что в группе совладельцев ключевую роль играют две группы представителей Заказчика – те, кто ставит стратегические цели и выделяет финансирование и те, кто будет непосредственно использовать разработанный продукт. Причём, в отличие от каскадных методов, где Заказчик подключался в начальной фазе – составлении технического задания и конечной – приёмке готовой работы, в современных методологиях Заказчик, действительно заинтересованный в успехе проекта автоматизации, должен участвовать в нём непрерывно.

Организация работы с требованиями на примере MSF

В MSF для обозначения роли участников команды софтверного проекта используется понятие ролевых кластеров [4].

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

Шесть ролевых кластеров модели проектной группы – это “Управление продуктом” (product management), “Управление программой” (program management), “Разработка” (development), “Тестирование” (test), “Удовлетворение потребителя” (user experience) и “Управление выпуском” (release management). Они ответственны за различные области компетенции (functional areas) и связанные с ними цели и задачи.

MSF организован на базе комбинации каскадной и спиральной моделей. Отдельная стадия работы содержит в себе 5 фаз:

Envisioning (выработка концепции),

Planning (планирование),

Developing (разработка),

Stabilizing (стабилизация),

Deploying (внедрение).

Вфазе выработки концепции работа с требованиями наиболее интенсивна (см.

табл. 1).

 

 

 

 

Табл. 1.

Ролевой кластер

Фокус

 

 

 

Управление продуктом

Общие цели проекта; выявление нужд и требований

 

заказчика; документ общего описания и рамок проекта.

Управление программой

Цели дизайна; концепция решения; структура проекта.

Разработка

Прототипирование;

анализ

технологических

 

возможностей; анализ осуществимости.

 

Удовлетворение потребителя

Необходимые

эксплуатационные

характеристики

 

решения и их влияние на его разработку.

 

Тестирование

Стратегии тестирования; критерии приемлемости, их

 

влияние на разработку решения.

 

Управление выпуском

Требования внедрения и их влияние на разработку

 

решения; требования сопровождения.

 

Как видно из таблицы, все 6 кластеров работают со своими группами требований. Продолжается плотная работа с требованиями и на следующей фазе – фазе

планирования, см. табл. 2.

 

Табл. 2.

Ролевой кластер

Фокус

Управление продуктом

Анализ бизнес-требований

Управление программой

Функциональная спецификация

Удовлетворение потребителя

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

 

требования, требования локализации и общедоступности

 

(accessibility).

Тестирование

Требования тестирования.

Управление выпуском

Эксплуатационные требования.

В фазах разработки и внедрения работа с требованиями сосредотачивается в кластерах управления продуктом и программой, см., соответственно, табл. 3,4.

 

Табл. 3.

Ролевой кластер

Фокус

Управление продуктом

Ожидания заказчика.

Управление программой

Управление функциональной спецификацией.

 

Табл. 4.

Ролевой кластер

Фокус

Управление продуктом

Получение отзывов и оценок заказчика; акт о приеме

 

выполненной работы.

Управление программой

Сопоставление рамок проекта с поставленным решением;

 

управление стабилизацией.

Литература к лекции

1.IEEE Standard 830-1998, «IEEE Recommended Practice for Software Requirements Specifications»

2.Петров В. Н. Информационные системы. – СПб.: Питер, 2002. - 688 с.

3.Вигерс Карл Разработка требований к программному обеспечению/Пер, с англ.

— М.:Издательско-торговый дом «Русская Редакция», 2004. —576с.: ил.

4.Microsoft Solutions Framework. Модель процессов MSF, версия 3.1

http://www.microsoft.com/Rus/Download.aspx?file=/Msdn/Msf/MSF_process_model_rus.doc

5.Леффингуелл Д., Уидриг Д. Принципы работы с требованиями к программному обеспечению. М.: ИД “Вильямс”, 2002.

6.Введение в Rational Unified Process/ Ф. Кратчен – СПб.: Вильямс, 2002. – 240 с.

7.Каменова, Громов. Моделирование бизнеса. Методология ARIS. — М.: ВестьМетаТехнология, 2001.

8.Коберн А. Быстрая разработка программного обеспечения. – М.: Лори, 2002. 314 с.

9.Белые страницы MSF. http://www.microsoft.com/rus/msf

10.Орлик С., Булуй Ю. Введение в программную инженерию и управление жизненным циклом ПО Программная инженерия. Программные требования. Copyright © Сергей Орлик, 2004-2005.

http://www.sorlik.ru/swebok/3-1-software_engineering_requirements.pdf

11.Мацяшек Лешек, А. Анализ требований и проектирование систем. Разработка информационных систем с использованием UML.: Пер. с англ. - М.: Издательский дом "Вильямс", 2002. - 432 с.: ил. - Парал. тит. Англ.

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

13.Унифицированный процесс разработки программного обеспечения/ А. Якобсон, Г. Буч, Дж. Рамбо – СПб.: Питер , 2002. – 496 с.

3. Контекст задачи анализа требований. Выявление требований.

План лекции

Свойства требований Анализ требований, бизнес-анализ, анализ проблемной области

Методологии бизнес-анализа Требования и архитектура АИС

Анализ требований и другие рабочие потоки программной инженерии

Анализ требований, бизнес-анализ, анализ проблемной области Источники требований

Стратегии выявления требований Интервью Анкетирование

Наблюдение Самостоятельное описание требований

Совместные семинары Прототипирование

В настоящее время существуют уже сотни методик, методологий, процессов, стандартов, регламентирующих те или иные детали выбора и комплексирования потоков работ при разработке автоматизированных информационных систем. То, что в АТ стоит в начале цепочки работ и что её результаты во многом определяют успех проекта мало у кого вызывает сомнения. Другое дело – работы, связанные с бизнес-анализом и бизнесмоделированием. Их роль не столь очевидна и принимается далеко не всеми методологиями. Итак, стоит ли собирать информацию о предприятии, для которого разрабатывается (выбирается) АИС в виде бизнес-моделей или стоит пропустить этот этап и сразу формировать артефакты АТ?

Авторы [1], «отцы-основатели» RUP и UML, в этом вопросе дают определённую свободу: можно создавать бизнес-модели при помощи соответствующих расширений UML и рекомендаций RUP, а можно ограничиться выработкой глоссария объектов предметной области. Как и в вопросе выбора глубины проработки артефактов АТ, вопрос

– проводить или не проводить бизнес-анализ (или, точнее говоря, анализ проблемной области), решается в зависимости от конкретной задачи.

Роль глоссария при АТ. Несколько утрируя, можно сказать, что Заказчик и Разработчик всегда говорят на разных языках. Общее понимание вырабатывается с трудом, этот процесс занимает время, но важность его трудно переоценить: ведь успешная реализация проекта в области и внедрения АИС во многом зависит от того, удастся ли выработать и документировать их общее представление о предмете разработки. Если же Разработчик идёт ещё дальше и вникает в особенности ведения дел на предприятии Заказчика – он, во-первых, сможет добиться лучшего понимания требований к АИС и, вовторых, участвовать наряду с Заказчиком в формулировке этих требований, анализе пропущенных требований и пр. Глоссарий (подробнее см. в. лекции 4) можно рассматривать, как документ, удостоверяющий общее понимание основной терминологии Заказчиком и Разработчиком.

Задачу анализа бизнес-процессов (деловое моделирование), столь популярную в последние десятилетия ввиду устойчивой конъюнктуры, следует рассматривать, как часть более общей задачи, анализа проблемной области. Работы, посвящённые анализу проблемной области, появились в отечественной литературе в середине прошлого века; данная тематика неразрывно связано с задачным подходом и инженерией экспертных систем. Применимы ли методы, принятые при построении интеллектуальных систем для такой «более приземлённой» задачи, как задача построения АИС – безусловно, да. Так,

стратегии извлечения знаний, рассмотренные в [2], во многом пересекаются с рекомендациями по работе аналитика [3], методы решения задачи путём редукции на подзадачи и поиска в пространстве состояний нашли своё отражение во множестве методик бизнес-анализа, анализа и синтеза программных систем и этот список можно продолжать. Другой вопрос – насколько результативно применение тех или иных моделей и методов при описании организационных систем.

Ключ к решению этого вопроса лежит в следующем: вначале надо определить цели

изадачи самого бизнес-анализа, как этапа построения КИС.

Спозиций моделирования, анализ требований (АТ) и анализ проблемной области (АПО) – принципиально разные процессы.

АПО преследует классические цели создания модели: налицо объект (автоматизируемое предприятие или организационная система, ОС) и задача аналитика – отразить этот объект в создаваемой модели с требуемой степенью точности (рис. 5-1).

Анализ требований, напротив, направлен на моделирование воображаемого, ещё не существующего объекта (АИС) (рис. 2). Т.е. сначала создаётся модель, а затем, на её основании, синтезируется объект.

Для того, чтобы прояснить связь между этими процессами, необходимо заметить, что создаваемая АИС также является моделью, по отношении к ОС. Таким образом, создавая документ АТ, мы тем самым порождаем как бы «модель второго порядка», т.к. документ АТ является ничем иным, как моделью модели ОС. Не обладая моделью АПО, мы, конечно, можем создать модель АТ. Но при этом мы рискуем тем, что при синтезе оригинала модели (т.е. АИС), не обладая знаниями об ОС, мы можем попасть в ситуацию рассогласования: результирующая АИС не будет ингерентна (согласована с) ОС и, тем самым, не станет жизнеспособной.

 

Модель

зависит

 

 

бизнес-анализа

 

моделирует

 

Модель

М(ОС)

 

 

 

 

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

Предприятие

 

 

М(АИС)

 

 

 

(организационная

моделирует

 

зависит

система, ОС)

 

 

 

 

моделирует

 

 

Аналити-

моделирует

ческая модель

 

 

 

 

М’(АИС)

АИС

моделирует

зависит

 

моделирует

Проектная

зависит Модель зависит модель реализации М’’(АИС)

М’’’(АИС)

Рис. 5-1.

Следует ли из этого, что этап АПО является необходимым звеном создания КИС? Нет, не всегда. Здесь уместно обратиться к классификации задач и методологий А. Коберна [8]. Кроме того, это зависит от состава третьей компоненты «треугольника моделирования» – моделирующего субъекта, в нашем случае – коллектива Разработчика.