Post on 05-Apr-2015
Mitglied der Fachhochschule Ostschweiz FHO 1www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
S
oft
war
e E
ng
inee
rin
g
OOD – Object Oriented Design II
Komponenten-Design
Mitglied der Fachhochschule Ostschweiz FHO 2www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Lernziele
Sie können ...– das Komponentendiagramm nach UML 2.0 lesen und erstellen.– die einen Komponentendesign aus den Analyseartefakten ableiten.
Mitglied der Fachhochschule Ostschweiz FHO 3www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Literatur
Applikationen objektorientiert konzipieren:– Kapitel 8.1
Lehrbuch der Objektmodellierung:– LE 16 + LE 17– LE 11 – LE 13
Mitglied der Fachhochschule Ostschweiz FHO 4www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Gesamtübersicht
Analyse (OOA)
Design (OOD)
DynamischesAnalysemodell
Anwendungsfall-modell
AnalyseprototypStatisches
Analysemodell
DesignprototypKomponenten-
design
Architektur-design
Datenbank-Design
Implementation lauffähigesSystem
Mitglied der Fachhochschule Ostschweiz FHO 5www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Entwurf (Design)
Modellierung des PSM (Platform Specific Model)
1:1-Abbild der zu implementierenden Realität
Modellierungswerkzeuge bieten Code-Generierung– MDD – Model Driven Development– Forward – Reverse – Roundtrip - Engineering
Basis:– statischen und dynamischen Analysemodelle– Architektur-Artefakte
Mitglied der Fachhochschule Ostschweiz FHO 6www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Input: Resultate aus Architektur
Äussere Architektur: Innere Architektur:
Mitglied der Fachhochschule Ostschweiz FHO 7www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Komponente
Eine Komponente ist ein Softwarebaustein– mit klar definierter Schnittstelle– festgelegtem Verhalten– Qualitäts-Anforderungen:
• Wiederverwendbar• Substituierbar• Wartbar (optimale Grösse!)
Es gibt verschiedene Komponentenmodelle:– JavaBeans, EJB (Enterprise Java Beans)– .NET-Assemblies– MS COM (Component Object Model)
UML-Notation:
Mitglied der Fachhochschule Ostschweiz FHO 8www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Komponentenfestlegung I
Berücksichtigen der Designprinzipien
Komponente immer innerhalb einer Architektursichtweise:• Schicht - Subsystem
Zu angrenzenden Systemen:• Fassaden-Komponente• Repräsentanten externer Systeme (Proxy-Komp.)• Zugriffs-Komponente
Spezialfunktionen:• Steuerung/Kontrolle• Security-Handling • Exception-Handling
Mitglied der Fachhochschule Ostschweiz FHO 9www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Komponentenfestlegung II
Fachkomponenten (nach MVC)– View
– Präsentationskomponenten– Control
– Prüfung-/Steuerungskomponenten– Model
– Sitzungsorientierte Komponenten– Nachrichtenorientierte Komponenten– Persistenz Komponenten –
Data-Access-Komponenten
Mitglied der Fachhochschule Ostschweiz FHO 10www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Modellierung mit Profiles
UML-Profile• Ergänzung des UML-Metamodelles• vordefinierte Stereotypen für J2EE, .NET etc.• Bsp.:
Mitglied der Fachhochschule Ostschweiz FHO 11www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Mitglied der Fachhochschule Ostschweiz FHO 12www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Statische Konzepte
Klassendiagramm• detailliert ausarbeiten• Interface und Control-Klassen modellieren• Navigierbarkeit explizieren• Vererbungsstruktur überarbeiten:
– Mehrfachvererbungen über Interface-Klassen auflösen– möglichst flache Generalisierungshierarchie– Wurzelklassen sollen abstrakt sein– Gemeinsamkeiten so hoch wie möglich in der
Generalisierungshierarchie einordnen– Gemeinsame Attribute als Datentypen spezifizieren– Gemeinsame Operationen als Oberklassen realisieren
Mitglied der Fachhochschule Ostschweiz FHO 13www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Dynamische Konzepte
Für komplexe Operationen:• Aktivitätsdiagramme
Für komplexe Szenarien:• Sequenzdiagramme
Für komplexe Lifecycles von Objekten:• Zustands- bzw. Protokollautomaten
Mitglied der Fachhochschule Ostschweiz FHO 14www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Detailliertes Klassendiagrammfür die Komponente Reservationen
Mitglied der Fachhochschule Ostschweiz FHO 15www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Schnittstelle (Interface )
Interaktion über Interfaces
Mitglied der Fachhochschule Ostschweiz FHO 16www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Interne Details einer Komponente
Textuelle Darstellung
Visuelle Darstellung
Mitglied der Fachhochschule Ostschweiz FHO 17www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
17
Mitglied der Fachhochschule Ostschweiz FHO 18www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Übungen
UML-Übungen• Übung 8
Fallstudie Nutz AG• Auftrag 8