78
« : 07 Ноября 2010, 19:47:06 »
ekaterinalog, с реальным примером - тяжело. Потому что это реально большие системы (10 и более человеко-лет разработки), и там ТЗ объемные. Плюс основное на верхнем уровне - это запоминающийся образ, картинка, через который идет описание конкретных кейсов на понятном для бизнеса языке. Когда мы делали управление товарным запасом для магазинов, то нам рассказали, что может быть много разных вариантов деления товарного запаса по назначению, в зависимости от ситуации, при этом разными ситуациями заведуют разные отделы и именно они определяют правила. Мы это свели к двум основным видам: запас, доступный группе магазинов и запас, поделенный по конкретным магазинам, решили что дальше будем описывать приоритеты обхода для бизнес-кейсов через специальные правила. И нарисовали для бизнеса все многообразие их существующих кейсов в этой нотации. Дальше был интерактив, они задавали вопросы - мы рассказывали и результатом было общее понимание - что может система, каковы варианты настройки. Как результат - формализм системы отразился в бизнес-терминах. И после того, как модель верхнего уровня возникла, детали - конкретные алгоритмы настройки процесса управления, или функционал рабочих мест - можно было согласовывать для конкретных групп пользователей, и они по объему - были вполне обозримыми. Примерно тоже самое было с Розничным магазином (это тоже сложный проект) - была декомпозиция на основные блоки - склад, торговый зал, касса и сквозные процессы - выкладка товара, примерка, выписка со склада - были прорисованы, именно они делают систему цельной. А дальше - можно было сосредоточиться на каждом отдельном блоке и работать с ним, формируя его модель.
То есть важно, во-первых, декомпозиция системы а, во-вторых, хорошее верхнеуровневое описание сквозных процессов в ней. Именно его, по моему опыту, обычно не хватает. Ну и все это должно быть в терминах, понятных заказчику, на его языке.
Не знаю, насколько получилось донести мысль. Если пересечемся в реале (например, на круглом столе uml2), могу попробовать рассказать более ясно.