Mitglied der Fachhochschule Ostschweiz FHO 1 © FHS St.Gallen Software Engineering OOD – Object...

Preview:

Citation preview

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

Recommended