a standard set of software development visual notations and other artifacts used to express requirements and specifications of a software system
integration of several different notations for describing software designed
a general, repeatable solution to a commonly occurring problem in software design