- What is the difference between association, aggregation, and composition?
- Association is a general 'uses' relationship. Aggregation is 'has-a' where the child can exist independently (Department has Employees). Composition is a stronger 'owns' where the child cannot exist without the parent (Order has OrderItems). They differ in lifecycle dependency.
- Should I write UML first or code first?
- For small systems, code-first and generate UML for documentation. For complex systems with multiple teams, design the class structure in UML first to agree on interfaces before parallel implementation. Both approaches are valid depending on team size and system complexity.
- Can the generator handle multiple inheritance?
- Yes — the diagram shows multiple parent classes for a single child. Note that multiple inheritance of implementation (not just interface) is only supported in some languages (C++, Python). Java and TypeScript support only single class inheritance.