OO Návrh
OO návrhu – zkoumej nejprve data a zapomeň na bezprostřední specifikaci systému – neodpovídá ovšem na další otázky:
• jak najít objekty a třídy
• jak popsat objekty a třídy
• jak popsat relace a společné rysy mezi objekty a třídami
• jak použít objekty a třídy na strukturované programování
Odpověď na otázky je lehká i těžká zároveň. Informační systém má být jakýsi model části reálného světa. Modelování reality OO návrh přirozeně podporuje – svět se skládá z objektů. Na druhé straně neexistuje žádný všeobecný algoritmus jak objekty (spíše jejich třídy) najít. To je už uměním návrháře.
Důležitý pojem použitý v druhé definici je soubor. Vyjadřuje, jak mají být třídy navrhované: jako moduly, které jsou zajímavé a užitečné samy o sobě, nezávisle na systému, do kterého patří. Konstrukce systému potom ve velké míře zahrnuje zespodu – nahoru montáž existujících tříd.
Pojem strukturovaný v definici vyjadřuje existenci relací mezi třídami. K nejběžnější,m patří:
1. relace dědění – viz. OOP
2. relace klient – třída je klientem jiné třídy, pokud používá její služby definované v interfejsu