РЕДАКТИРОВАТЬ: обновлен следующий комментарий от Александра Павлова ниже (спасибо).
Скорее всего, это фабричный метод. Так что это операция на основе классов, а не на основе экземпляров. Так же, как в java / c # / etc, где в подписи класса объявляются операции на основе классов (например, конструктор / фабрика) и операции на основе экземпляров.
Как и в случае с Java и т. Д., Операция createCustomer()
не будет вызываться для экземпляра. например (Псевдокод)
Customer customer1 = Customer.createCustomer();
Customer customer2 = Customer.createCustomer();
customer1.forename = "Jon";
customer1.surname = "Skeet";
//etc.
Раньше в UML существовало соглашение о том, что операции на основе классов начинаются с символа '$', чтобы отличать их от операций на основе экземпляров. Тем не менее, iirc, это было просто соглашение, не предусмотренное спецификацией UML. (сейчас нет простого доступа к спецификации, чтобы проверить).
НТН.