Critics concerning attributes of classes.
The current version of ArgoUML has the following critics in this category.
This critic is discussed under an earlier design issues category (see Section 15.4.2, “Revise Attribute Names to Avoid Conflict” ).
Suggestion that no instance variables have been specified for
the given class. Such classes may be created to specify static
attributes and methods, but by convention should then be given the
You have not yet defined a constructor for class class. Constructors initialize new instances such that their attributes have valid values. This class probably needs a constructor because not all of its attributes have initial values.
Defining good constructors is key to establishing class invariants, and class invariants are a powerful aid in writing solid code.
To fix this, add a constructor manually by clicking on
class in the explorer and adding an operation
using the context sensitive pop-up menu in the property tab, or
select class where it appears on a class
diagram and use the
Add Operation tool.
In the UML 1.4 standard, a constructor is an operation with the stereotype ??create??. Although not strictly standard, ArgoUML will also accept ??Create?? as a stereotype for constructors.
By convention in Java and C++ a constructor has the same name as the class, is not static, and returns no value. ArgoUML will also accept any operation that follows these conventions as a constructor even if it is not stereotyped ??create??.
Operators are created in ArgoUML with a default return
Suggestion that the class has too many attributes for a good design, and is at risk of becoming a design bottleneck.
The Wizard of this critic allows setting of the treshold, i.e. the maximum number of attributes allowed before this critic fires.
This number is not stored persistently, and there is no way to reduce it after it has been set higher, except by creating more attributes until the critic fires again. Restarting ArgoUML resets this number to its default: 7.