Notation plays an important part in any model—it is the glue that holds the process together. “Notation has three roles:
It serves as the language for communicating decisions that are not obvious or cannot be inferred from the code itself.
It provides semantics that are rich enough to capture all important strategic and tactical decisions.
It offers a form concrete enough for humans to reason and for tools to manipulate.”
 Booch, Grady. Object Solutions. Redwood City, CA: Addison-Wesley, 1995.
The Unified Modeling Language (UML) provides a very robust notation, which grows from analysis into design. Certain elements of the notation (for example, classes, associations, aggregations, inheritance) are introduced during analysis. ...