UML colors
Encyclopedia
Role | Moment, Interval |
Description | Party, place, thing |
UML color standards are a set of four colors associated with Unified Modeling Language
Unified Modeling Language
Unified Modeling Language is a standardized general-purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created, by the Object Management Group...
(UML) diagrams. The coloring system indicates which of several archetypes apply to the UML object. UML typically identifies a stereotype with a bracketed comment for each object identifying whether it is a class, interface, etc.
These colors were first suggested by Peter Coad
Peter Coad
Peter Coad is a software entrepreneur and author of books on programming. He is notable for his role in defining what have come to be known as the UML colors, a color-coded notation chiefly useful for simplifying one's understanding of a design or model.-Education:Coad received a Bachelor of...
, Eric Lefebvre, and Jeff De Luca
Jeff De Luca
Jeff De Luca is a global information technology strategist and an author in the field of software development methodology. He is considered the primary architect of Feature Driven Development circa 1999 [^JDLBIO], a lightweight methodology for developing computer software with reduced management...
in a series of articles in The Coad Letter, and later published in their book Java Modeling In Color With UML.
Over hundreds of domain models, it became clear that four major "types" of classes appeared again and again – just named differently to suit the domain. These were termed archetypes (after much discussion) which is meant to convey that the classes of a given archetype follow more or less the same form. That is, attributes
Attribute (computing)
In computing, an attribute is a specification that defines a property of an object, element, or file. It may also refer to or set the specific value for a given instance of such....
, methods
Method (computer science)
In object-oriented programming, a method is a subroutine associated with a class. Methods define the behavior to be exhibited by instances of the associated class at program run time...
, associations
Association (object-oriented programming)
In object-oriented programming, association defines a relationship between classes of objects that allows one object instance to cause another to perform an action on its behalf...
, and interfaces
Protocol (object-oriented programming)
In object-oriented programming, a protocol or interface is a common means for unrelated objects to communicate with each other. These are definitions of methods and values which the objects agree upon in order to cooperate....
are fairly similar among classes of a given archetype.
When attempting to classify a given domain class, one typically asks about the color standards in this order:
-
- pink:moment-interval — Does it represent a moment or interval of time? An example would be an object that temporarily stores login information during the authentication process.
- yellow:roles — Is it a way of participating in an activity (by either a person, place, or thing)? Signing into a system as an administrator, which changes program behavior by requiring a password that guest accounts do not, is one example.
- blue:description — Is it simply a catalog-like description which classifies or 'labels' an object? If users of a system are labeled based on the department of a company they work within and this doesn't change the way the system behaves, this would be a description.
- green:party, place, or thing — Something tangible, uniquely identifiable. Normally, if you get through the above three questions and end up here, your class is a "green." The user of the system and the sub-sections of the system they visit are all PPTs.
Although the actual colors vary, most systems tend to use lighter color palettes so that black text can also be easily read on a colored background. Coad, et al., used the 4-color pastel Post-it note
Post-it note
A Post-it note is a piece of stationery with a re-adherable strip of adhesive on the back, designed for temporarily attaching notes to documents and other surfaces. Although now available in a wide range of colours, shapes, and sizes, Post-it notes are most commonly a square, canary yellow in colour...
s, and later had UML modeling tools support the color scheme by associating a color to one or more class stereotypes.
Many people feel colored objects appeal to the pattern recognition section of the brain. Others advocate that you can begin a modeling process with a stack of four-color note cards or colored sticky notes.
The value of color modeling was especially obvious when standing back from a model drawn or projected on a wall. That extra dimension allowed modelers to see important aspects of the models (the pink classes, for instance), and to spot areas that may need reviewing (unusual combinations of color classes linked together).
The technique also made it easy to help determine aspects of the domain model – especially for newcomers to modeling. For example, by simply looking first for "pinks" in the domain, it was easy to begin to get some important classes identified for a given domain. It was also easy to review the standard types of attributes, methods, and so on, for applicability to the current domain effort.
External links
- Developing a UI Design from a UML Color Model Object-oriented analysis with class archetypes Appeared in The Coad Letter: Modeling and Design Edition, Issue 68