8

In StarUML 5.0, I am trying to define a class with an attribute of the type Guid[] (an array of Guid Structure). But it is not allowable to enter "-guids : Guid[]" since StarUML automatically discards the square brackets.

I have not tried other modeling tools...just want to know how to do this with StarUML.

StarUML seems to accepts if I provide the length of the array, like "-guids : Guid[10], but in the code generated by StarUML, this field is something like

private Guid guids; //the square brackets are missing;

Or I can add an asterisk like "-guids : Guid*", in the code generated, the field is like this

private Guid* guids; 

this is not what i want neither, even with the fact that in C++ a pointer and an array is conceptually interchangeable. (I am coding in C#)

kennyzx
  • 12,845
  • 6
  • 39
  • 83
  • Consider changing the title to be more general so more people can find this. Perhaps "How do I add array attribute to class in StarUML?" – no_one Jul 10 '22 at 18:43

1 Answers1

14

StarUML defines arrays a little differently to standard UML. For your specific problem I would use [*] to define the array. The first example below describes this.

Define an array with an undefined number of elements:

-guids: Guid[*]

Define an array with a specific number of elements:

-guids: Guid[16]

Define a base 0 array with an undefined number of elements:

-guids: Guid[0..*]

Define a base 1 array with an undefined number of elements:

-guids: Guid[1..*]

Define a specific base array with a specific number of elements:

-guids: Guid[1..100]
Karl
  • 166
  • 1
  • 4
  • 2
    I've had a look at the Code Generation process for all the languages. It seems that none of the languages are generated correctly. StarUML will always leave the [ ] out of the declaration. – Karl Nov 09 '11 at 17:34