Prof. U. Aßmann, Softwaretechnologie
E rinner ung: U M L- A uf gaben im P rakt om at en
►ei nf üh re nd e A uf ga be n zu r Ja va -P ro gr am m ie ru ng
►A uf ga be n zu m Ü bu ng sm at er ia l
►zu sä tzl ich e, ko m pl exe re A uf ga be n
►K la usu rr el eva nt e A uf ga be n (I m pl em en tie ru ng st ei l)
Softwaretechnologie, © Prof. Uwe Aßmann Technische Universität Dresden, Fakultät Informatik2Teil IV : Objek torientierter Entwurf (OOD)
Prof. Dr. rer. nat. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für Informatik TU Dresden Version 11-0.1, 25.06.11Prof. U. Aßmann, Softwaretechnologie
Tei l I V - O bj ekt or ient ier ter E nt w ur f (O bj ect -O rient ed D esi gn, O O D )
1)E in fü hr un g in d ie o bj ekt or ie nt ie rt e S of tw ar ea rch ite kt ur
1)Modularität und Geheimnisprinzip 2)Entwurfsmuster für Modularität 3)BCD-Architekturstil (3-tier architectures) 2)V er fe in er un g de s E nt w ur fsm od el ls zu m I m pl em en tie ru ng sm od el l
1)Verfeinerung von Klassendiagrammen 2)Verfeinerung von Lebenszyklen 3)Verfeinerung mit Object Fattening 3)O bj ekt or ie nt ie rt e R ah m en w er ke ( fr am ew or ks)
4)S of tw ar ea rch ite kt ur m it de m Q ua sa r- A rch ite kt ur st il
Prof. U. Aßmann, SoftwaretechnologieV er fei ner ung von U M L vo n der A nal yse zum E nt w ur f zur Im pl em ent ier ung
Analyse-ModellEntwurfs-Modell (Architektur)Implementierungsmodell (Feinentwurf)Implementierung vollständigneinneinbeinaheja SpracheaUMLdUMLjUMLJava CharakterFachlichkeit; DomäneFachlichkeit und SystemFachlichkeit, System und TechnologieFachlichkeit, System, Technologie und Resourcen TechnologieAnnahme perfekter Technologie; funktionale Essenz perfekt; funktionale Essenz und interne Aktivititätentechnologieabhängig (plattformabhängig)technolgieabhängig (plattformabhängigg), resourcenabhängig Strukturnoch wenigArchitektur des SystemsVerhalten des SystemsLauffähiges Programm
Prof. U. Aßmann, Softwaretechnologie
V er fei ner ung der S pr achkonzept e
Analyse-ModellEntwurfs-Modell (Architektur)Implementierungsmodell (Feinentwurf)Implementierung KlassenBegriffe und Domänenkonzepte; Facetten, Rollen Systemkonzepte; Facetten, Rollen; Komponenten Systemkonzepte nur noch in einfachen Klassen; Rollen aufgelöst durch EntwurfsmusterSystemkonzept ObjekteDomänenobjekteSystemobjekte auf ArchitekturebeneAlle SystemobjekteAlle Systemobjekte VererbungBegriffshierarchien Mehrfachvererbung, Produktverbände
ad-hoc Vererbungkonform, 1-D- Vererbungshierarchiekonform Assoziatione noft ungerichtetmit Kardinalitätenabgeflacht Prof. U. Aßmann, Softwaretechnologie
W as bedeut et V er fei ner ung?
►V er fe in er un gssch rit te vo m A na lyse m od el l zu m E nt w ur fsm od el l
Vervollständigung (Elaboration) mit Einzelheiten Detaillierung Strukturierung und Restrukturierung Abflachen (Flachklopfen, lowering) von Fragmenten: Ersetzen von ausdrucksstarken Konstrukten durch weniger ausdrucksstarke, implementierungsnähere Erhöhung Zuverlässigkeit: Einziehen von qualitätssteigernden Fragmenten Einführung des Architektur-Aspektes des Systems Integration von Unterobjekten ►V e rf ei ne ru n g vo m E nt w ur fs m od e ll zu r Im pl em en tie ru ng sm od el l u nd Im pl em en tie ru ng
Gleiche Verfeinerungsschritte, aber nun in vollständige Modelle (übersetzbar, ausführbar) Umorganisieren von nicht-konformer in konforme Vererbung Auswahl einer ImplementierungsspracheProf. U. Aßmann, Softwaretechnologie
V er fei ne rung sschr itt e bei m Ü be rg ang zum E nt w ur fsm odel l
►V er vo llst än di gu ng f eh le nd er A ng ab en
Typisierung Implementierung von Methoden ►S tr ukt ur ie ru ng
Erhöhung von Wiederverwendung: Einziehen von Paketen zur Strukturierung Einschränkung durch Sichtbarkeiten zur loseren Kopplung (Datenkapselung und Austauschbarkeit) Identifikation von abgeleiteten Modellelementen zur Elimination von Redundanz (Verschlankung) ►Fl ach kl op fe n (A bf la ch en )
Integration von Unterobjekten: Rollen, Facetten, Teile Abflachen der Assoziationen Prof. U. Aßmann, SoftwaretechnologieV er fei ne rung sschr itt e bei m Ü be rg ang zum E nt w ur fsm odel l ( II)
►D et ai lli er un g
Assoziationen: Einziehen von Navigationsrichtungen, um Platz zu sparen Einziehen von Qualifikationen, um Suchen zu beschleunigen Annotation von geordneten und sortierten Assoziationen Einziehen von Schnittstellen zur Sicherstellung von homogenem Verhalten Einziehen von Materialbehälterklassen (Verwaltungsklassen) ►E rh öh un g Zu ve rlä ssi gke it
Verfeinerung der Vererbungsrelation zu konformer Vererbung zur Elimination von Fehlern Schreiben von VerträgenProf. U. Aßmann, Softwaretechnologie