在面向对象模型中限制字符串的最佳方法是什么?

时间:2011-03-10 16:50:09

标签: xsd modeling uml

我需要选择一种建模方法来记录现有Web服务集合的扩展。该方法/工具需要由技术业务分析师使用。现有API在XML Schema中定义。 XML Schema适用于一个例外。以PaymentInformation类为例。一位合作伙伴可能会接受Visa和万事达卡作为示例。另一个也除了美国运通。我们希望能够为PartnerA和PartnerB扩展PaymentInformation。

class PaymentInformation
   method // CASH,CC
   ccNumber
   ccType  // MC,V,AMEX

class PaymentInformationPartnerA
   method // CASH,CC,PAYPAL
   ccNumber
   ccType // MC, V

XML Schema的问题是,对类应用限制需要重新定义整个类型。这似乎是一场维护噩梦。 UML似乎不支持受限制的字符串(模式,长度等)。您为此推荐了什么工具/方法?我们有一个偏好,但不是Eclipse IDE的要求。

2 个答案:

答案 0 :(得分:0)

您可以在班级上添加UML约束或条件。这可以是图形注释,也可以是直接在UML元模型上手动编码的信息。 UML模型已经是XMI 2.1,因此就像XML一样,但使用特定的规则。

答案 1 :(得分:0)

不要那样做。如果PaymentInformationPartnerA扩展PaymentInformation,那么对于PaymentInformation的所有使用,您都可以使用PaymentInformationPartnerA,而您可以说某些用途(将值分配给ccType "AMEX")它不是协变的。

您可能最好将约束作为接收消息的端点的前提条件,而不是作为消息类型本身的约束。