С Новым годом!
Думаю, с помощью UML Вы не узнаете, как писать грамотный программный код! UML - это язык, на котором грамотный специалист может показать, каким должен быть нужный код (а в некоторых инструментах - и сгенерировать его).
Модельные элементы Use Case (я их называю "прецедентами") предназначены для описания внешних взаимодействий системы, и ничего не говорят о том, как система устроена.
Теперь, конкретно.
Модельный элемент actor (в русскоязычном RUPе - субъект):
- определяет внешние границы системы (выполняет действия вне системы и обменивается с системой информацией)
- (первичный actor) имеет цель, которой он хочет достигнуть с помощью системы
Ваш actor Net-acct, судя по описанию, передает в систему информацию (трафик), и ничего не просит взамен. Система просто обрабатывает полученную от Net-acct информацию, даже деньги списывает, но никому об этом не говорит.
Можно предположить, что есть некий другой actor, в интересах которого все это делается.
Фактически, я вижу всего один большой и сложный use case с условным названием "Учет трафика и списание денежных средств со счета клиента". (Как название - не годится, но, кажется, отражает суть.)
Абстактные прецеденты включения и расширения.
Декомпозировать основной прецедент с использованием абстрактных прецедентов включения имеет смысл только, если этот прецедент является элементом многократного использования (или предполагается его многократное использование в будущем). Абстрактный прецедент расширения имеет смысл выделять, если основной прецедент может быть реализован (и развернут) и выполняться в отсутствие прецедента расширения (не сделали еще).
Декомпозиция предоставляет руководителю проекта простор для маневра при планировании. И только! В других случаях это просто "накладные расходы"!
Не нужно пытаться использовать диаграмму прецедентов, чтобы показать, как работает система. Для этого в UML есть другие средства, в том числе, краткие текстовые описания прецедентов.
Когда Вы перейдете к другим главам замечательной книжки Фоулера, Вы о них узнаете.
Есть синтаксические ошибки.
Спецификация UML допускает только следующие виды отношений между прецедентами: включение, расширение и обобщение (герерализация). Ассоциация между прецедентами "Запись трафика" и "Поиск клиента по IP" недопустима.
Двунаправленные ассоциации в UML не рисуют (их на диаграмме две).
Названия субъектов пишутся с заглавной буквы.
Желаю успехов!
Л. Новиков
http://lnew.ucoz.rulnew@yandex.ru