In dem Analysemodell wurde bereits Vererbung eingesetzt, allerdings nur in einem sehr groben Ma\3. So wurde in der Analysephase Wert darauf gelegt, da\3 jedes Objekt stets einen Bezug zur Anwendungswelt besa\3. Hier im Entwurf geht es aber nun darum, eine Basis für eine effiziente Implementierung zu schaffen, d.h. zwei unterschiedliche Klassen, die z.B. eine gleiche (oder sehr ähnliche) Operation besitzen, sollten diese von einer gemeinsamen Oberklasse ererben, auch wenn die Oberklasse abstrakt ist, d.h. Instanzen besitzt. Ähnliche Operationen gilt es soweit anzugleichen, da\3 sie durch eine Implementierung realisiert werden können, damit eine Vererbung vorgenommen werden kann.
Häufig ist es auch angebracht, Verhalten aus einer Klasse in eine neue Oberklasse zu verlegen, wenn dieses Verhalten nur von einer einzigen Unterklasse beerbt wird, denn die damit erhaltene allgemeinere Klasse kann sich z.B. in anderen Projekten oder in späteren Erweiterungen des Systems als nützlich erweisen.
Man mu\3 allerdings beachten, da\3 bei einer Vererbung stets das gesamte Verhalten der Oberklasse an die Unterklasse weitergegeben wird. Wird also für eine zu entwerfende Klasse ein Teil der Funktionalität einer bereits vorhandenen Klasse benötigt, ohne da\3 die neue Klasse ein Spezialfall dieser ist, so ist die Vererbung kein angebrachtes Mittel, dies zu modellieren. Eine bessere Möglichkeit wäre es, die benötigte Funktionalität durch eine Assoziation zwischen den beiden Klassen zu modellieren. Damit kann ein Objekt die benötigten Funktionen einer anderen Klasse selektiv ausführen.