18
Mitglied der Fachhochschule Ostschweiz FHO 1 g.ch © FHS St.Gallen Software Engineering Software Engineering OOD – Object Oriented Design II Komponenten-Design

Mitglied der Fachhochschule Ostschweiz FHO 1 © FHS St.Gallen Software Engineering OOD – Object Oriented Design II Komponenten-Design

Embed Size (px)

Citation preview

Page 1: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering OOD – Object Oriented Design II Komponenten-Design

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

Page 2: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering 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.

Page 3: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering OOD – Object Oriented Design II Komponenten-Design

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

Page 4: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering OOD – Object Oriented Design II Komponenten-Design

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

Page 5: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering OOD – Object Oriented Design II Komponenten-Design

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

Page 6: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering OOD – Object Oriented Design II Komponenten-Design

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:

Page 7: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering OOD – Object Oriented Design II Komponenten-Design

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:

Page 8: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering OOD – Object Oriented Design II Komponenten-Design

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

Page 9: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering OOD – Object Oriented Design II Komponenten-Design

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

Page 10: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering OOD – Object Oriented Design II Komponenten-Design

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.:

Page 11: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering OOD – Object Oriented Design II Komponenten-Design

Mitglied der Fachhochschule Ostschweiz FHO 11www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

Page 12: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering OOD – Object Oriented Design II Komponenten-Design

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

Page 13: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering OOD – Object Oriented Design II Komponenten-Design

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

Page 14: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering OOD – Object Oriented Design II Komponenten-Design

Mitglied der Fachhochschule Ostschweiz FHO 14www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

Detailliertes Klassendiagrammfür die Komponente Reservationen

Page 15: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering OOD – Object Oriented Design II Komponenten-Design

Mitglied der Fachhochschule Ostschweiz FHO 15www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

Schnittstelle (Interface )

Interaktion über Interfaces

Page 16: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering OOD – Object Oriented Design II Komponenten-Design

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

Page 17: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering OOD – Object Oriented Design II Komponenten-Design

Mitglied der Fachhochschule Ostschweiz FHO 17www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

17

Page 18: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering OOD – Object Oriented Design II Komponenten-Design

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