In the design class diagrams to define the attributes (and Operations) must be set the value of Type Modifier with one of the following options: &, *, []. What each of these values mean?
In the definition of Operations, why Lower and Upper is used?
Thank you for your question. * indicates that an attribute can have multiple instances. [ ] is used to represent an array.
The use of lower or upper case in naming attribute/operation usually depends on the naming convention of the programming language you use or the naming guidelines defined by your team. We do have syntax checking to ensure the correctness of attributes and operations but the use of upper and lower case is not included in the checking.
*, &, [] are some default modifier provided that is meaningful to certain languages like C++, it can be entered anything specific to the language or modeling purpose, e.g. [][] for a two dimensional array.