A UML section is a grouping of paragraphs about a common subject. For instance, the English language groups paragraphs into sections, such as the one you are currently reading. UML sections are architectural views. An architectural view is a category of diagrams addressing a specific set of concerns. All the different architectural views determine the different ways in which we can understand a system. For example, all the figures shown so far in this chapter may be organized into different views, including those for addressing functional, structural, behavioral, and other pieces of the project management system. The elements that make up a view are known as view elements. For example, all the elements in the figures are view elements when we classify the diagram on which they appear into a specific view.
Because the UML is a language and not a methodology, it does not prescribe any explicit architectural views, but the UML diagrams may be generally organized around the following commonly used architectural views:
Focuses on the functionality of a system, using use-case diagrams to communicate what functionality the system provides to its users.
Focuses on the structure of a system, using class and object diagrams to communicate what elements and relationships make up the system.
Focuses on the behavior of a system, using sequence, collaboration, state, and activity diagrams to communicate the interactions and collaborations of the elements that make up the system.
Focuses on the implementation of a system, using component diagrams to communicate how the system is implemented.
Focuses on the implementation environment, using deployment diagrams to communicate how the implemented system resides in its environment.
Even though each type of diagram is organized around a single architectural view, any diagram type can be used in any architectural view. For example, an interaction diagram can be used in a use-case view to communicate how users interact with a system. Furthermore, the UML allows us to define our own architectural views, as necessary. For example, we can define a data store architectural view, and we can define a new type of diagram, perhaps called a database schema diagram, to communicate the tables in a database and their relationships. We could then use other types of diagrams to communicate the triggers and stored procedures in a database.