Getting Started


Introduction

This website is intended to provide content to developing and understanding how to utilize class modeling and UML techniques. It will cover over the core concepts and techniques involved with class modeling and discuss best practices associated with class modeling.

This class modeling interactive tutorial is created in hopes to provide users with a better understanding of these best practices with detailed explanations of good class diagrams, as well as interactive tutorials to engage the user and solidify the concepts.

What is UML and class modeling?

unified modeling language logo

When starting class modeling, Unified Modeling Language (UML) is considered one of the most widely used modeling language. UML provides a language to specify the details found within a system. It has become the standard for visualizing and designing the conceptual architecture of a system and declared by Object Management Group (OMG), “the standard of modeling object oriented software” (Reference 1).

Class Modeling

When starting with class modeling, the first concept to understand are classes. A class is similar to a template. A class contains the various attributes and methods that the object has access to. For instance, imagine modeling an individual within a system, we can visualize them belonging to a group called “Person.” This group can be considered a class. Thus, within a Person class, it would contain attributes such as first name, last name, and age. The Person class can also have methods, such as determining if it is the birthday of the person.

Often times, classes and objects are interpreted as the same thing, however, they are not. An object is an instantiated class. Instantiation is the creation of an abstraction or a template, such as a class. The object itself has access to the various attributes and methods of the class. Referring back to the Person class, to determine if it is the birthday of the person, the class may have a method called `is_birthday` that returns True if the current day is equal to the birthday or the person, otherwise False.

Object oriented programming has become a standard in most modern day programming languages, and it promotes for the reusability and abstraction of code. Implementing class diagrams is crucial for the development of any application, for it provides a clear and concise overview of how the application will be structured. Therefore, it is important for developers to understand the “best practices” when it comes to creating class diagrams.


>>>>>>> master