сверху??? вы имеете в виду диаграмму деятельности???
Нет я имел в виду немного другое
Но вообще системный подход рулит- контекст, декомпозиция контектса, декомпозиция декомпозиции и т.д.
При чем UML позволяет делать это и по функциональному признаку и по объектному.
в UML точно нету струтур для описания блок схем??
диаграмма деятельности часто называется ОО блок-схемой. По сути она и есть, да еще более удобная чем собственно блок-схема. Начальное и конечно состояние есть. Логический элемент есть. Есть действие - акшин и деятельность - активити - сиречь процедура, котора легко может быть декомпозирована на другой диаграмме.
Но функциональный подход в ОО не рулит, реализация идет не по функциям, а по объектам реализующим нужные фичи
У Вас есть задача - Вы ее описали. Задача примерно понятна - концепция системы массового обслуживания. Вы формируете объекты, формируете сценарии взаимодействия этих объектов, эти сценарии описываете
через диаграмы деятельности
через диаграммы последовательности
через диаграммы классов
возможно через диаграммы состояний
Многие утверждают - достаточно диаграммы классов и OCL. Возможно так и есть - особенно в вашем случае.
СМО состоит из генератора заявок - в вашем случае такого веротяно нет - просто есть приемник -буффер таких заявок - некий мультиплексор, принимающий по каналам связи сообщения от клиентов и передающих их в очереди. Это например один класс.
Если очередь едина и имеет дисциплину FIFO, то заявки идут по этой очереди (ну типа массива). Хотя у вас могут быть приоритетные очереди, ограниченные очереди, неограниченные очереди, очереди с разными типами дисциплины постановки и выборки из оной. Это может быть другой класс.
Далее есть некий обработчик запроса-заявки, в ходе которого идет поиск информации клиента из бд (вот вам еще класс-контроллер доступа к бд например) формирование модифицируещего запроса и его выполнения, получение результата, обработка этого результата соотвествующим образом, освобождение устройства обработки запроса и опять выборка еще одного запроса и т.п. - вот еще объект-класс кандидат.
Далее вы уже обдумываете это дело внимательно, смотрите принципы GRASP (разделения обязанностей), вспоминаете инь-ян ООП, пытаетесь создать накой набор классов, который обеспечивает основное преимущестов ООП - повторное использование, расширяемость, модифицируемость проекта - если это надо. А коли это не так важно, то может все будет сделано 1 классом - простору творчества нет границ