what is yours (your classes) 2. KISS Design. Include one level of hierarchical relationships (do not showcase Java API unless it is needed) 3. DRY Design. If it looks complicated, it smells 4. Semantic. Apply the symbols correctly 5. Be sure diagram and code match
relationships between classes but have global variables in the code. 2. Using association and aggregation interchangeably. They are not the same 3. Classes are missing either in the class diagram or in the code –code and design are inconsistent. 4. Designs are too complex to understand with lines between classes overlapping. I have to say quite the opposite of Occam's Razor. the simplest explanation is usually the correct one
with the rest of the classes. 6. Using realization and inheritance interchangeably and these relationships don't reflect in the code. 7. Minor Issue: some of the classes that come with java like JPanel, JFrame, JButton are missing in the class diagrams even though they have used them in the code. 8. Request: Help us to color system classes with diverse colors (API vs Your own). Hard to interpret and check for them in the code.