Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (1158633), страница 112
Текст из файла (страница 112)
На протяжении нескольких собраний пользователи отвечают на вопросы и самостоятельно делятся теми сведениями, которые кажутся им важными. После каждого собрания аналитик объединяет комментарии пользователей, в результате чего модель постепенно совершенствуется. В этом подходе обычно модель пользователям не показывают. Лучше встречаться сразу с несколькими пользователями, чем беседовать с ними поодиночке. Пользователи стимулируют память друг друга. При беседе один на один пользователь может чувствовать себя скованно, чего не происходит на групповых совещаниях. Большинство аналитиков предпочитает встречаться с группами пользователей, объединенными по интересам. Например, на одном собрании могут присутствовать только продавцы, на другом — только конструкторы. Скрытое моделирование (Ъаск-гоош шоде11пд) обладает следующими преимуществами и недостатками.
° Преимущества. Предъявляет минимальные требования к опыту, а потому подходит разработчикам, которые только начинают заниматься моделированием. ° Недостатки. Циклическое взаимодействие с пользователями опытным разработчикам моделей кажется обременительным. Медлительность взаимодействия может представлять проблему и для пользователей, поскольку им приходится участвовать в нескольких интервью. Аналитику приходится аккуратно записывать информацию, чтобы ничего не забыть. 22.4.2. Циклическое моделирование Циклическое моделирование сложнее скрытого, но более эффективно с точки зрения опрелеления требований.
Аналитику все равно приходится встречаться с небольшими группами пользователей, объединенными интересами или функциями, но при этом пользователи видят модель. Когда пользователи формулируют свои требования, аналитик выполняет прослеживание модели и пытается удовлетворить этим требованиям. Простые вопросы могут быть решены непосредственно во время собрания, а сложные — отложены на потом. Мы назвали этот подход циклическим моделированием (гопЫ-гоЪ|п шос1е!1пя), потому что аналитик показывает модель каждой группе пользователей до тех пор, пока все их возможные потребности не будут учтены. Здесь требуется несколько 470 Глава 22 ° Управление моделированием итераций, поскольку одна группа пользователей может поднять вопрос, требующий согласования с предыдущей группой.
При скрытом моделировании группы тоже опрашиваются последовательно, но разница в том, что пользователи не видят саму модель. Начинается циклическое моделирование с затравочной молели, основывающейся на имеющейся деловой документации. Не стоит начинать с пустого листа бумаги, потому что таким образом вы будете напрасно расходовать время и испытывать терпение пользователей. Затравочная модель стимулирует дискуссию. Пользователи видят, что аналитик хорошо подготовился, и могут сосредоточиться на сложных вопросах.
Во время собраний мы сообщаем пользователям, что онн выступают в роли экспертов по бизнесу и что нам нужна их помощь в определении требований к системе. Мы выступаем в роли экспертов по компьютерам, поэтому заботу о деталях они могут предоставить нам. Обычно после этого пользователи облегченно вздыхают. Мы не задерживаемся на формализмах и объясняем нспользуеь~ые обозначения по мере продвижения работы. У участников редко возникают проблемы, потому что мы непрерывно объясняем свою модель. Циклическое моделирование обладает следующими преимуществами и недостатками.
° Преимущества. Требуется меньше собраний, чем при скрытом моделировании. Поскольку модель находится перед глазами, аналитик может решить часть вопросов непосредственно во время собраний. При скрытом моделировании аналитик делает заметки, а потому может пропустить нужные ему детали. ° Недостатки. Циклическое моделирование все равно требует нескольких итераций, и оно малоэффективно для обмена идеями между группами пользователей. При наличии противоречий прийти к компромиссу может быть достаточно сложно.
Аналитик выступает в невыгодной роли посредника между конфликтующими группами пользователей. Этот недостаток присущ также и скрытому моделированию. Некоторые пользователи не понимают моделей или боятся их, и аналитику приходится заботиться об этом.
22.4.3. Моделирование на месте Моделирование на .весте (1гке п1ог(с11пй) подходит для экспертов по моделированию. Мы приглашаем на собрание 10 — 20 человек с раз:шчными интересамп (разработчиков, менеджеров, специалистов гю различным областям бизнеса). Модель создается непосредственно в процессе ведения собрания, в соответствии с предложениями и комментариями. Обычно нам удается не отставать от диалога, а при необходимости мы берем тайм-аут. Модель, которую мы строим при помощи редактора, отображается проектором на большой экран.
Сеанс обычно длится два часа, трех сеансов бывает достаточно для построения 80 Уй структуры модели с 50 классами. Большие и сложные модели требуют дополнительных сеансов. Между сеансами разработчик чистит диаграммы, документирует модель и решает оставшиеся вопросы. 22.4.
Сеансы моделирования 471 Процесс стимулируется размером и разнообразием состава группы. Те, кто поначалу участвовали в дискуссии неохотно, видят реакцию других и чувствуют потребность вступить в беседу, чтобы защитить свою точку зрения. Комментарии одного участника обычно вызывают комментарии другого. Особенно успешно идет моделирование в присутствии скептиков. Моделирование на месте можно начинать с пустого листа, но аналитик должен заранее подготовиться и изучить будущее приложение. Идеи поступают очень быстро, и аналитик должен быть готов к этому, Иногда мы подготавливаем затравочную модель, если у нас есть для нее информация. Обычно мы просим клиента подготовить список требований для стимулироваиия дискуссии в случае пауз.
Мы активно участвуем в беседе, а не просто записываем информацию. Мы задаем вопросы и уточняем ответы, которые кажутся нам неудовлетворительными. Мы вносим предложения, основываясь на своем опыте. Окончательное решение всегда остается за экспертами по бизнесу. Время от времени мы сталкиваемся со сложными проблемами моделирования, решение которых мы откладываем до следующего собрания. Часто активную дискуссию вызывают названия. Это может быть полезно, потому что хорошие названия исключают неправильное понимание модели.
Дискуссии стимулируют выдачу связанной информации. Мы заставляем экспертов по бизнесу придумывать хорошие названия — краткие, четкие и ие допускающие разных интерпретаций. Моделирование на месте обладает следующими преимушествами и недостаткамии. ° Преимущества. Для мастеров моделирования зто наилучший способ получения входных данных от пользователей. Мы постоянио практикуем моделирование на месте, и клиентам нравится быстрое продвижение вперед. Участники обладают разными знаниями и по-разному воспринимают предметную область.
Совместное участие в одном совещании дает им возможность согласовать свои взгляды. Значительный положительный эффект дается тем, что участникам приходится разговаривать друг с другом. Люди, у которых обычно нет времени и желания общаться, оказываются вместе и ведут беседу. ° Недостатки. Аналитик должен быть очень опытным в моделировании, способным вести собрания и умеющим обращаться с редактором моделей. Немногие разработчики сочетают в себе эти качества. Моделирование на месте удобно для выявления структуры системы — классов и отношений между ними.
Оно не так эффективно для поиска атрибутов, потому что большую группу людей трудно заставить сосредоточиться на мелких деталях. Атрибуты следует извлекать из других источников информации. Моделирование иа месте непригодно для сложных приложений, например приложений с метамоделями. Для таких задач мы рекомендуем использовать скрытое моделирование.
В табл. 22.1 сведены преимушества и недостатки трех видов моделирования. 472 Глава 22 ° Управление моделированием Таблица 22.1. Преимущества и недостатки различных подходов к проведению сеансов моделирования Скрытое моделирование Циклическое моделирование Моделирование на месте Суть метода Запись комментариев пользователей и построение модели в их отсутствие Модель демонстрируется пользователям, но разрабатывается в их отсутствие Модель разрабатывае~ся в процессе встречи со всеми пользователями Требуемый опыт Низкий Средний Средняя (около !2 собраний по 2 часа) Очень высокий Производительность (лля модели с 50 классами) Низкая (около 15 собраний по 2 часа) Очень высокая (около 3 собраний по 2 часа) Оптимально Рекомснлация Оптпматьно лля разработчика с опыточ Оптимально лля очень опытного разработчика лля неопытного разработчика молелсй 22.5.
Организация персонала Рис. 22.1. Корпоративная структура Технологическая группа работает в масштабе целой организации. Она распространяет стандарты н методики вычислений, обслуживает прикладные группы. В эту группу следует поместить лучших специалистов по моделям, чтобы их опыт был лоступен всем остальным. Технологическая группа не должна заниматься созданием приложений, для этого есть прикладные группы.
Технологическая группа должна отвечать за сложные вопросы. Размер группы лолжен быть небольшим, чтобы организация не несла слишком больших расходов. Роль прикладных групп несколько иная. Онп должны изучать область деятельности и передавать знания между родственными приложениями.