• Keine Ergebnisse gefunden

46 Softwarearchitektur mit dem Quasar-Architekturstil

N/A
N/A
Protected

Academic year: 2021

Aktie "46 Softwarearchitektur mit dem Quasar-Architekturstil"

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Softwaretechnologie, © Prof. Uwe Aßmann

Technische Universität Dresden, Fakultät Informatik 1

46 Softwarearchitektur mit dem Quasar-Architekturstil

Prof. Dr. U. Aßmann Technische Universität Dresden

Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie

http://st.inf.tu-dresden.de Version 11-0.1, 10.07.11

Optionales Material

Prof. U. Aßmann, Softwaretechnologie 2

Teil IV - Objektorientierter Entwurf (Object-Oriented Design, OOD)

1) Einführung in die objektorientierte Softwarearchitektur 1) Modularität und Geheimnisprinzip

2) Entwurfsmuster für Modularität

3) BCD-Architekturstil (3-tier architectures)

2) Verfeinerung des Entwurfsmodells zum Implementierungsmodell (Anreicherung von Klassendiagrammen)

1) Verfeinerung von Operationen 2) Verfeinerung von Assoziationen 3) Verfeinerung von Vererbung 3) Verfeinerung von Lebenszyklen

1) Verfeinerung von verschiedenen Steuerungsmaschinen 2) Querschneidende Verfeinerung mit Chicken Fattening 4) Objektorientierte Rahmenwerke (frameworks) 5) Softwarearchitektur mit dem Quasar-Architekturstil

Prof. U. Aßmann, Softwaretechnologie 3

Sekundäre Literatur

Johannes Siedersleben (ed.). Quasar: Die sd&m Standardarchitektur.

http://www.openquasar.de

Johannes Siedersleben. Moderne Softwarearchitektur. Umsichtig planen, robust bauen mit Quasar. dpunkt-Verlag, 2004.

Prof. U. Aßmann, Softwaretechnologie 4

Quasar

An architectural style of SD&M, the leading German software house for individual software

Software categories (blood groups)

Component orientation

A-TI-I architectural style

Component-oriented development process

Bisher kannten wir 2 Aspekte von Software, Architektur und Anwendung. Jetzt unterscheiden wir zusätzlich Technik

(2)

Prof. U. Aßmann, Softwaretechnologie 5

Software Blood Groups (Blutgruppen)

(Softwarekategorien nach Wiederverwendbarkeit)

0: independent of application and technology

JDK collections, C++ STL, GNU regexp

A: application- or domain-related. Stems from domain model.

Client, Customer, ...

T: technology-oriented APIs, independent of application, but not of technology

JDBC, CORBA CosNaming

AT: depending on application and technology

To be avoided: hard to maintain, to reuse, to evolve

R: for representation changes of business objects into external representations and back

Serialization, deserialization, encryption, decryption, packing, unpacking

Transporting an object from one language's representation to anothers (e.g., Java to Cobol)

0-Software 0-Software

USES relationships:

T-Software T-Software AT-Software

AT-Software

A-Software A-Software

R-Software R-Software

Prof. U. Aßmann, Softwaretechnologie 6

Architectural Components

0-interfaces contain only technical types (strings, collections etc)

well reusable

A-interfaces contain domain types (account, bill,..)

A-components live in the Application-Logic and the Database tier

Hard to reuse

T-interfaces provide techical APIs

Necessary everywhere

R-interfaces contain both, because they change representation

Are necessary in the middleware and data layer

Special kind of A

Can often be generated from specifications, hence not reusable, but re- generatable

XML tools, e.g., XMI (model interchange)

OMG MOF tools (Model-driven development)

Prof. U. Aßmann, Softwaretechnologie 7

Zweck der Blutgruppen

Zweck der Blutgruppen ist es, Anwendung und Technik möglichst weit voneinander zu trennen, um sie getrennt besser wiederverwenden zu können.

Siedersleben's Blutgruppen-Gesetz:

Jede Schnittstelle, Klasse, und Komponente gehört genau zu einer Softwarekategorie.

Siedersleben's Blutgruppen-Gesetz:

Jede Schnittstelle, Klasse, und Komponente gehört genau zu einer Softwarekategorie.

Prof. U. Aßmann, Softwaretechnologie 8

Wiederverwendbarkeit der Blutgruppen

Die Wiederverwendbarkeit der Gruppen nimmt von 0 nach AT hin ab.

Technisch orientierte Komponenten sind leichter wiederzuverwenden

Anwendungsspezifische schwerer.

Problemfall AT

Die Blutgruppen

durchziehen alle Schichten der BCED-Architektur

Auf jeder Ebene gibt es Technik, Applikation, Repräsentation

0-Software 0-Software

T-Software T-Software AT-Software

AT-Software

A-Software A-Software

R-Software R-Software

--

++

+ -

--

(3)

Prof. U. Aßmann, Softwaretechnologie 9

Blutgruppen-Gesetze

Der Aufruf von A-Komponenten aus T-Komponenten heraus ist gefährlich

Die azyklische USES-

Beziehung von A nach T wird zerstört

Es entsteht AT-Software

Blutgruppen-Kalkül:

A+0 = A

T+0 = T

A + T = AT

0 A T R

0 0 A T R

A A AT

T T

R R

Aufruftabelle:

Siedersleben's AT-Gesetz:

Mischen von A und T führt immer zu sehr schlecht wiederverwendbarer Software.

Siedersleben's AT-Gesetz:

Mischen von A und T führt immer zu sehr schlecht wiederverwendbarer Software.

Prof. U. Aßmann, Softwaretechnologie 10

Was haben wir gelernt?

Jenseits der Begriffe Architektur/Anwendung und BCED kann man die Softwarekomponenten in Blutgruppen einteilen (A, T, 0, R, AT)

Vermeide das Vermischen von bestimmten Gruppen (A und T), denn AT-Software ist schlecht wiederverwendbar

Sortiere alle Pakete/Komponenten in der BCED-Architektur nach Blutgruppen und vermeide Vermischung!

Prof. U. Aßmann, Softwaretechnologie 11

The End

Referenzen

ÄHNLICHE DOKUMENTE

In der bestehenden POS-Plattform wurden zwar auch bisher Technologien eingesetzt, um diese Anforderungen zu erf¨ullen, es handelte sich je- doch nicht um einen einheitlichen Ansatz,

sd&m entwickelte hierzu eine neue Referenz – Quasar Enterprise – ein Quasar auf

ƒ die Softwarearchitektur beschreibt, auf welche Weise die diversen Anforderungen erfüllt werden und kann anhand wünschenswerter Qualitätskriterien beurteilt werden. ƒ

ƒ Telekommunikationssysteme sind von den technischen Randbedingungen und somit auch von der technischen Architektur ähnlich zu eingebetteten Systemen (spezifische Hardware,

A viewtype defines the element types and relationship types used to describe the architecture of a software system from a particular perspective.

Im Rahmen eines Masterprojekts wurde eine erste Version eines Combinator Parsers in Clojure entwi- ckelt, der für die Projekte im Rahmen der Entwicklung von Tools für formale

In dieser Arbeit wurde eine flexible Anwendung für mobile Endgeräte entwickelt, die über eine Typo3- Erweiterung angepasst und mit Inhalten versorgt werden kann. Autor: Jan

Jede Schnittstelle, Klasse, und Komponente gehört genau zu einer Softwarekategorie.