<aside> <img src="/icons/map-pin_gray.svg" alt="/icons/map-pin_gray.svg" width="40px" /> It is important that you are familiar with the different types of UML diagram covered below. You may have to design one for the midterm, most likely relating to your projects done in lab.
</aside>
Before we cover the different software architecture pattern, we’ll first go over a quick review on the types of UML diagrams.
The basic component diagram symbols and notations are described below.
A component is a logical unit block of the system, a slightly higher abstraction than classes.
An interface describes a group of operations used (required) or created (provided) by components.
A port is often used to help expose required and provided interfaces of a component.
Components can also be composed of another component known as subsystems, shown below.
The term "component" refers to a module or type of classes that represent independent systems or subsystems with the ability to interface with the rest of the system.
The basic class diagram symbols and notations are described below.
Classes represent an abstraction of entities with common characteristics.
Visibility markers are used to signify who can access the information contained within a class.
A relationship between classes can be one of the following types:
The basic sequence diagram symbols and notations are described below.
Class roles describe the way an object will behave in context.