I am trying to digest a large Java Application by modeling it in UML using ArgoUML. In the properties section of the UML diagramming tool there is a helpful checklist that I am assuming is used to help design good software. Most of the checklist items make sense except for 3.
1). Could you write an invariant for this class?
2). Do all constructors establish the class invariant?
3). Do all operations maintain the class invariant?
What is meant by these questions? I am new to object oriented design so an explanation would be helpful.
Thank you in advance.