NEW
A diagram showing classes, attributes, methods, and relationships in object-oriented design.
DESCRIPTION
UML class diagrams represent the static structure of systems using classes, attributes, operations, and relationships such as associations and inheritance. They clarify domain concepts, responsibilities, and interactions among objects. Class diagrams support design discussions, code generation, and documentation. They complement sequence and state diagrams to capture behavior. The notation includes visibility, multiplicities, and stereotypes for precise modeling.
ALTERNATIVE DEFINITIONS
Wikipedia
In software engineering, a class diagram is a type of static structure diagram that describes the structure of a system by showing the system’s classes, their attributes, operations (or methods), and the relationships among objects.
Defines class diagrams as static structure representations focused on classes and relationships.
IBM
Class diagrams describe the types of objects in the system and the various kinds of static relationships that exist among them.
Focuses on object types and static relationships.
OMG UML 2.5.1 Specification
Class Diagrams depict classes and classifiers within a system and the relations among them, providing a view of the static structure.
Presents formal specification emphasizing classifiers and static structure.
RELATED TERMS
UML Object Diagram Sequence Diagram Semantic Relationship Inheritance Aggregation Composition Multiplicity C4 Model
COMPETING TERMS
ER Diagram
KNOWLEDGE AREAS
Software Modeling Software Engineering Data Modeling
TARGET AUDIENCE
Software Architect Software Developer Data Modeler Business Analyst
EXTERNAL SOURCES
- Wikipedia - Class diagram
- OMG - UML 2.5.1 specification entry
- Microsoft - Reference for UML class diagrams in VS
- IBM - IBM guide to class diagrams
TOP QUESTIONS
What does a UML Class Diagram represent?
It shows classes, their attributes and methods, and relationships like associations and inheritance. This helps visualize a system’s static structure.
Category: Overview
When should UML Class Diagrams be used?
Use them during domain analysis, design, and documentation to clarify responsibilities and relations among core entities.
Category: Requirements
How do Class Diagrams differ from ER Diagrams?
Class diagrams focus on object-oriented concepts like methods and inheritance, whereas ER diagrams model data entities and relationships in databases.
Category: Alternatives
What are common mistakes in Class Diagrams?
Overly detailed diagrams become brittle. Mixing conceptual and technical levels can confuse audiences. Keep consistent notation and relevant scope.
Category: Mistakes
How are multiplicities used in Class Diagrams?
Multiplicities specify how many instances participate in an association, clarifying constraints like one-to-many or optional relationships.
Category: Example
Can UML Class Diagrams generate code?
Some tools generate skeleton classes and associations, but manual refinement remains critical to align with actual design decisions.
Category: Opinion
How do stereotypes enhance Class Diagrams?
Stereotypes add semantic tags (e.g., «entity», «service») to refine meaning and guide design patterns or platform mapping.
Category: Requirements
What’s a hot topic around Class Diagrams?
Combining class diagrams with C4 and ADRs for architecture storytelling and cohesive documentation is gaining traction.
Category: Topic
How should teams maintain Class Diagrams?
Automate updates via model sync, limit scope to key domains, and review diagrams during architecture or design reviews.
Category: Management