• Class: Represents a blueprint or template for objects, defining attributes and
methods that the objects created from it will have.
• Attributes: Represent data fields or properties of a class.
• Operations: Methods or functions that define the behavior of a class.
• Associations: Show relationships between classes; this can include direction,
multiplicity, and labels describing the relationship.
• Generalization: Defines inheritance or an “is-a” relationship between classes, where
a subclass inherits from a superclass.
• Aggregation and Composition: Represent whole-part relationships between
classes. Aggregation implies a looser connection (where parts can exist
independently), whereas composition implies a stronger dependency where parts
are typically destroyed if the whole is destroyed.
• Multiplicity: Defines the number of instances in an association (e.g., one-to-many,
many-to-many).
• Dependency: Represents a situation where one class depends on another to
function, indicated with a dashed arrow.
2. Foundational Idea of UML
The Unified Modeling Language (UML) is a standardized way to visualize, specify, construct,
and document the artifacts of software systems. UML aims to provide a common language
for system architects, developers, and stakeholders, simplifying the design and
understanding of complex systems. It combines best practices from object-oriented
modeling into a unified approach, enabling effective communication and planning across
diverse teams.
3. Differences Between Data Models and Object Models
• Data Models: Focus on the structure of data, how it’s stored, and relationships
between data elements. They emphasize entities, attributes, and relationships within
databases.
• Object Models: Emphasize the structure and behavior of software objects,
representing both data (attributes) and functions (methods) within a class. Object
models focus on how entities interact within a system.
In essence, data models capture static information for data storage, while object models
encapsulate data with behavior, facilitating interactions in a dynamic software
environment.
4. Commonalities and Differences Between ERM and UML Class Diagrams
• Commonalities:
– Both use entities or classes to represent objects or concepts within a system.
– Both depict relationships (associations in UML, relationships in ERM)
between entities.