Ix 9 2009_design_by_demut_moelle
 

Like this? Share it with your network

Share

Ix 9 2009_design_by_demut_moelle

on

  • 264 views

Die Auswirkungen von Entwurfsentscheidungen Gutes Design ist etwas Grundsätzliches, unabhängig von konkreten Lösungswerkzeugen und Technologien. Jede Modellierung, jede Software sollte genau das ...

Die Auswirkungen von Entwurfsentscheidungen Gutes Design ist etwas Grundsätzliches, unabhängig von konkreten Lösungswerkzeugen und Technologien. Jede Modellierung, jede Software sollte genau das leisten, was ihre Bestimmung ist, und der Komplexität einer Aufgabe angepasst sein. Die Realität sieht aber meist anders aus.

Statistics

Views

Total Views
264
Views on SlideShare
264
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Ix 9 2009_design_by_demut_moelle Document Transcript

  • 1. REPORT SoftwarearchitekturenDie Auswirkungen von Entwurfsentscheidungen sein. Eine genauere Betrachtung des IT-gestützten Alltags zeigt jedoch, dass es gerade die grundsätzlichen und am weitesten akzeptierten Designprinzi- pien sind, die fortwährend verletzt wer- den. Betrachtet man etwa das Konzept der „Separation of Concerns“, stellt man mit Verwunderung fest, dass es ausgerechnet von den der Verbreitung nach erfolgreichsten Programmen mit Füßen getreten wird – und dies auf al- len erdenklichen Ebenen. Bei den populären grafischen E-Mail- Clients etwa lassen sich gleich mehrere Fälle unglücklicher Vermengungen und Verwechslungen beobachten. Da wer- den die lokalen Daten von E-Mails nicht etwa in einem zentralen Verzeich- nis des Benutzers gespeichert, der dann jederzeit mit einem E-Mail-Client sei- ner Wahl darauf zugreifen könnte, son- dern in einer für den eingesetzten Client spezifischen Weise. Die E-Mails gehören in diesem Modell nicht dem Empfänger, sondern vielmehr dem Pro- Design by Demut gramm, über das der Anwender sie er- halten oder verschickt hat. Ebenso wenig gibt es eine Entkopplung der verschie- denen Aufgaben wie Empfang, Filte- rung, Darstellung, Verwaltung, Nach- bereitung oder Versand. Wer auf einen Daniel Mölle neuen E-Mail-Client umsteigen und seine bewährten Filterdefinitionen nicht verlieren will, hat Pech gehabt. Ein noch gravierenderes BeispielGutes Design ist etwas Grundsätzliches, unabhängig für eklatante Designfehler stellt die aus dem Büroalltag nicht mehr wegzu-von konkreten Lösungswerkzeugen und Technologien. denkende WYSIWYG-Textverarbei-Jede Modellierung, jede Software sollte genau das leisten, tung dar. Sie beruht auf der vollständi- gen Aushebelung einer Rollenteilung,was ihre Bestimmung ist, und der Komplexität einer Aufgabe die sich in der Erstellung von Schrift-angepasst sein. Die Realität sieht aber meist anders aus. stücken seit Jahrhunderten bewährt hat: Der Autor als Inhaltsexperte, der Textsetzer als Formexperte, der LeserI n einem modellverliebten Betäti- gungsfeld wie der Informatik spielenDesignentscheidungen eine zentrale nalen Moden ausgesetzt und erfahren individuelle Neubewertungen aufgrund konkreter Erfahrungen Einzelner. Trotz- als Konsument. Bei WYSIWYG be- finden sich Dokumente in einem per- manenten Mischzustand zwischen Er-Rolle. Ob es um die formale Repräsen- dem lässt sich erfreulicherweise fest- stellung, Drucklegung und Lektüre.tation eines Problems, die Abbildung stellen, dass die Softwaretechnik seit Die hiermit einhergehende Verwischungvon Informationen in Datenstrukturen, Jahrzehnten von einer fruchtbaren Dis- der Verantwortlichkeiten wird naturge-den Entwurf einer Architektur oder gar kussion über nützliche Designprin- mäß direkt bestraft: Der Autor – stel-die Formalisierung ganzer Entwick- zipien und Entwurfsregeln begleitet lenweise sogar der Leser – muss auchlungsprozesse geht – stets gilt es, ein wird. Ungeachtet aller Differenzen kris- über das Layout entscheiden, obwohlDesign zu finden, das dem Wesen der tallisieren sich dabei Konzepte heraus, er nie gelernt hat, was etwa Punzen,zu lösenden Aufgabe möglichst nahe die es ermöglichen, Softwaresysteme Ligaturen und Durchschüsse sind. Daskommt. Ergebnisse, die der Natur des steigender Komplexität elegant zu rea- Ergebnis ist ein laienhaft gesetztesSachverhalts zuwiderlaufen, werden lisieren. Dokument. Weil Form und Inhalt nichtüblicherweise bestraft – im schlimms- In Anbetracht des Aufwandes und getrennt sind, bereiten die Versionie-ten Fall spät. der Leidenschaft, mit denen die diver- rung und die parallele Bearbeitung Die Grundregeln guten Designs sen Grundregeln guten Designs erörtert von Dokumenten große Schwierigkei-sind, wie alle anderen Mengen von und unterrichtet wurden, könnte man ten. Da es außerdem keinen klar defi-Prinzipien, zunächst Gegenstand einer leicht zu der Erwartung gelangen, die nierten Zeitpunkt der Drucklegungsubjektiven Wertung. Als solcher unter- in der Realität eingesetzte Software gibt, kämpft der Leser permanent mitliegen sie einem Zeitgeist, sind regio- müsse heute besonders klug strukturiert veralteten Metadaten, inkonsistenten92 iX 9/2009 © Copyright by Heise Zeitschriften Verlag GmbH & Co. KG. Veröffentlichung und Vervielfältigung nur mit Genehmigung des Heise Zeitschriften Verlags.
  • 2. Inhaltsverzeichnissen und bedeutungs- zu neuen Wünschen: Hochintegrierte Ähnlich bezeichnend ist das folgen-freien Indices. Systeme sollen immer umfassendere de Zitat eines höheren Bankangestell- Der IT-gestützte Alltag steckt voller Vorgänge abbilden, begleiten und steu- ten: „Mit unserer neuen Software kannderartiger Beispiele für ungünstiges De- ern. Die Verlockung ist leicht nach- man – da bin ich absolut sicher – einesign, das den natürlichen Arbeitsabläu- vollziehbar. Um ein Beispiel aus der Mondlandung vollständig durchplanen;fen, Zuständigkeiten und Intentionen Geschäftswelt zu bemühen: Es nimmt für die Eröffnung von Konten jedochwiderspricht. Unter den zum Teil ver- wenig Wunder, dass die tiefgreifende ist sie nicht geeignet.“ Es bezieht sichheerenden Fehlentscheidungen, die sich Erfassung sämtlicher Business-Prozes- auf ein Softwaresystem, das nach sei-in diesem Zusammenhang beobachten se der Traum manchen Controllers ist. ner Einführung als Gesamtlösung dielassen, haben nicht selten Millionen Allerdings gilt im Arbeitsalltag dasselbe einzig verbleibende Möglichkeit dar-von Anwendern zu leiden. So werden wie in der Physik: Wenn man noch die stellte, Geschäftsvorgänge abzuwickelnallen Ernstes Versionierungswerkzeuge kleinsten Details erfassen will, gerät – insbesondere also die Eröffnung neu-verkauft und eingesetzt, die den Zu- man in eine Situation, in der schon die er Konten, die seitdem eben nicht mehrstand von Dateien nicht an den Dateien Messung selbst das Messobjekt massiv fünf, sondern tatsächlich dreißig Minu-selbst, sondern an Metadaten festma- beeinflusst. Der anforderungsinhärente ten dauert.chen, die sich beliebig weit von der Designfehler – die Etablierung schwer-Realität entfernen können. Andere be-treiben ganze Serverfarmen mit Desk- fälliger Erfassungsprozesse bis hinunter auf die Ebene der leichtfüßigsten Ge- Rechtzeitigtop-Betriebssystemen. Nicht weniger schäftsvorgänge – verhindert von An- rettend eingreifenhäufig trifft man auf behördenartige In- fang an den Erfolg des Systems.formationssysteme, die ursprünglich zur Die gute Nachricht lautet: Wer für der-Unterstützung von Business-Prozessen artige Auswüchse von Informationssys-gedacht waren, in Wirklichkeit jedoch Mit der wachsenden Komplexität temen sensibilisiert ist, hat gute Chan-bewirken, dass die Geschäftsvorgänge von Software-Systemen nimmt die cen, bereits bei der Erfassung derin einer der Software gefälligen Weise Anforderungen für eine neue Softwareabzuwickeln sind. Bedeutung von Software-Architektur rettend einzugreifen. Fordert etwa ein rapide zu Kunde eine Oberfläche, die die Ab-Höher, schneller, wicklung des darzustellenden Vorgangs falsch wiedergibt, muss man sich trau-weiter und komplexer en, unbequem zu sein. Möchte jemand Beispiele für derartigen Übereifer fin- zwei grundsätzlich verschiedene DingeEine gängige ideelle Vorstellung von den sich in beinahe allen Bereichen. So auf gleiche Weise darstellen, sollte manAnforderungen ist die, dass sie vorge- gibt es heute Automobilhersteller, in über die Konsequenzen nachdenkenben, was eine Software leisten soll, deren Werkstätten ein Mechaniker ein und sie auf konstruktive Weise darle-aber keine Aussage darüber treffen, wie gutes Drittel seiner Arbeitszeit darauf gen. Wer eine Überspreizung zwischendas zu geschehen hat. Angesichts die- verwendet, Auftragsdetails und interne der tatsächlichen und der anforderungs-ser Trennung könnte man sogar zu der Lagerbewegungen zu verbuchen – wo- induzierten Komplexität eines VorgangsAnnahme verleitet sein, Requirements bei seine Performance minutiös doku- spürt, sollte den Unterschied messen.wohnten noch keine Designentschei- mentiert wird. Bei Trivialreparaturen Nebenbei bemerkt können ausufern-dungen inne. Dies ist jedoch aus meh- liegt der Overhead für die detaillierte de Anforderungen auch ein ethischesreren Gründen falsch: Erstens können Verbuchung besonders hoch. Erfasst Problem darstellen [1]. Computer we-insbesondere nichtfunktionale Anfor- wird somit aber offenkundig nicht cken allein durch ihre Verfügbarkeitderungen bereits sehr enge Rahmen- mehr die Dauer der eigentlichen Leis- Begehrlichkeiten, weil sie die syste-bedingungen für das Wie setzen, und tung, sondern vielmehr die des Erfas- matische Erfassung und die zügige Ver-zweitens kann schon das Was beliebig sungsvorgangs. Der Erkenntnisgewinn arbeitung immenser Datenmengen ge-gravierende Verstöße gegen die Natur für den Controller ist dementsprechend statten. Diese Verarbeitung wiederumder jeweiligen Domäne enthalten. gering, um – anlässlich der durch die erfolgt anhand eines in Software gegos- Der Umstand, dass im Lauf der Zeit persönliche Distanz provozierten Fehl- senen Modells; über die Sinnhaftigkeitimmer komplexere Softwaresysteme interpretationen – nicht von einem Er- oder gar die Vertretbarkeit dieses Mo-realisierbar werden, führt naturgemäß kenntnisverlust zu sprechen. dells ist damit allerdings nichts gesagt. In vielen Fällen lässt sich die Frage, aus welchem Grund eine bestimmte Soft- ware gewünscht wird, erstaunlich ein- x-TRACT fach beantworten: weil man sie schrei- ● In der IT gibt es unzählige Beispiele für Software mit ungünstigem Design, das ben kann. den gewünschten Arbeitsabläufen eher entgegenwirkt. So lassen sich auch die hartnäckigen politischen Bestrebungen der letzten ● Der Versuch, alle denkbaren Fälle abzudecken, kann zu unangemessener Jahre, die eine zunehmende Überwa- Komplexität führen, die die Ausführung der eigentlichen Aufgaben behindert. chung privater Kommunikation zum Ziel haben, mühelos erklären. Tatsache ● Elegante Lösungen lassen sich nur dann finden, wenn ein Projektteam die Natur ist: Die hierfür benötigten Informatio- der gestellten Aufgabe verstanden hat und sich nicht von Modeerscheinungen nen sind verfügbar, und Massenspei- beeinflussen lässt. cher ist heute so billig und schnell, dass es mittlerweile schlichtweg plausibeliX 9/2009 93 © Copyright by Heise Zeitschriften Verlag GmbH & Co. KG. Veröffentlichung und Vervielfältigung nur mit Genehmigung des Heise Zeitschriften Verlags.
  • 3. REPORT Softwarearchitekturenist, Verbindungsdaten aus der Festnetz- holfen wirkt und irgendwann wieder getroffen, weil man diese gerade als mo-und Mobiltelefonie sowie von Internet- Fehler provoziert, weil einfache Sach- dern einstuft. Dabei gilt heute wie da-Providern systematisch und langfristig verhalte ins Unübersichtliche ausge- mals: Die Unterwerfung unter eine Mo-zu archivieren. Die nächsten denkbaren dehnt werden. Das Gebot der Beschei- de ist nur dann nützlich, wenn sie demSchritte, etwa die GSM-Ortung oder denheit impliziert keinen Verzicht auf eigentlichen Zweck dient. Der Zweckdie Kennzeichenerfassung, sind tech- Sachverstand oder Intuition. Kurzum, jedoch ist schlichtweg die Lösung ei-nisch ebenfalls bewältigt. Zweitrangig die eleganteste Lösung ist einmal mehr nes Problems, nicht das Abhaken vonist dabei die konkrete Begründung für diejenige, die der Natur des Problems Buzzwords.ihren Einsatz, und sie lässt sich leicht am nächsten kommt. Je mehr Aufgaben eine Technik demden aktuellen Trendthemen anpassen; Entwickler abnimmt, desto stärker musspsychologisch entscheidend ist wie so er sich ihrer Art unterwerfen, Aufgabenoft die Emotion, hier also der Reiz hin- Die Grundregeln guten Designs sind, darzustellen und zu bearbeiten. In die-ter der Idee, eine akribische Erfassung wie alle anderen Mengen von sem Zusammenhang lohnt es sich, diedieser Daten durchzuführen. folgende Frage zu stellen: Bis wohin Spannend allein bleibt die Frage, Prinzipien, zunächst Gegenstand dient die Infrastruktur dem Entwickler,wie das Datengebirge tatsächlich ge- einer subjektiven Wertung ab wann dient er ihr? Wer sich für einenutzt werden wird, wenn es erst mal da schwergewichtige Technik entscheidet,ist – und die nächsten Begehrlichkeiten gibt Kontrolle und somit Macht an sienach sich gezogen hat. Unter anderem ab. Eine solche Entscheidung ist umkönnte man sich mit der Frage beschäf- Heute, mehr als dreieinhalb Jahrzehnte so kritischer, wenn die zu lösendetigen, ob nicht gerade die Nation, deren nach Dijkstras wohlbekanntem Vortrag, Aufgabe ihrer Natur nach eher einfacherste Anwendung maschineller Infor- zeigt sich bezüglich der von ihm ange- ist. (In diesem Kontext sind beispiels-mationssysteme unter anderem der Ju- führten Tugenden ein geteiltes Bild – weise die leidenschaftlich geführten De-denverfolgung diente, heute bei der wenn auch in einem etwas anderen batten zwischen den Verfechtern vonsystematischen Erfassung und Verwah- Zusammenhang, der durch die techno- WS-* und REST interessant.)rung persönlicher Daten durch außerge- logische Entwicklung und den Zuwachs Ein typisches Beispiel für eine pro-wöhnliche Zurückhaltung und Beson- an Komplexität in Softwaresystemen blematische Technik, die viele verfrühtnenheit glänzen sollte. bedingt ist. einsetzen, ist das Multi-Threading. Die Einerseits lässt sich in puncto Code- parallelisierte Ausführung von Program-Vorsicht mit Qualität viel Gutes berichten. Mit Stan- dards wie MISRA-C existieren wohl- men führt extrem schnell an die Gren- zen dessen, was der menschliche Ver-dem Coolness-Faktor durchdachte und breit akzeptierte Vereinbarungen darüber, welche be- stand intuitiv zu begreifen in der Lage ist, wie aufschlussreiche Anekdoten überBereits 1972 hat Edsger Dijkstra in al- rüchtigten Fälle von fehleranfälliger fehlerbehaftete Semaphoren in allerler Deutlichkeit festgestellt, dass Be- und wartungsfeindlicher Programmfor- Deutlichkeit zeigen [4]. Die Folge sindscheidenheit und Demut in der Welt mulierung zu unterlassen sind. Stati- Race Conditions, die ihrerseits Schutz-der Softwareentwicklung ausgespro- sche Analysewerkzeuge wie PC-Lint mechanismen provozieren, deren un-chen wünschenswerte Eigenschaften unterstützen das disziplinierte Coding. bedachter Einsatz wiederum leicht zusind [2]. Gemeint hat er damit vor al- Neuere Programmiersprachen werden Deadlocks führt.lem den Verzicht auf den kryptischen bewusst darauf ausgerichtet, möglichst Nicht minder fragwürdig sind über-Einsatz verfügbarer Sprachmittel. Es frei von Einladungen zu Zeigerakroba- eilte Entscheidungen für komplexemag möglich und reizvoll sein, ein ge- tik oder zu Zugriffen auf interne Reprä- Protokolle und die dafür entworfenenwünschtes Verhalten unter Ausnutzung sentationen zu sein. Überhaupt herrscht Frameworks. Bei der Abwägung ver-erstaunlich komprimierter Anweisun- unter vielen Entwicklern ein ausgepräg- schiedener Kandidaten werden diegen oder gar undokumentierter Seiten- tes Bewusstsein für den hohen Wert les- jeweiligen Features allzu oft mit An-effekte zu realisieren, aber in fast allen barer Quelltexte. erkennung überhäuft, während der an-Fällen ist es in erster Linie eins: bei der fallende Mehraufwand und RisikenFehlersuche und Wartung so hinderlich,dass einigen gesparten Codezeilen und Sich nicht der kaum Erwähnung finden (wie im „De- sign by Buzzword“ üblich) und kaumTaktzyklen unverhältnismäßige Folge-kosten gegenüberstehen. Mode unterwerfen jemand auf die Verhältnismäßigkeit der einzusetzenden Mittel achtet. Der Preis Selbstverständlich gibt es Ausnah- Andererseits lässt sich häufig beobach- für das Vertrauen in die Hochglanz-men vom Coolness-Verbot – beispiels- ten, dass es mit der demütigen Zurück- lösung zeigt sich oft erst später, bei-weise extrem effiziente Verfahren aus nahme des Egos schnell vorbei ist, spielsweise wenn das halbe Projekt-der Welt des „bit fiddling“, die zum wenn es um übergeordnete Designent- team wochenlang damit beschäftigt ist,Teil ansprechend dokumentiert sind [3], scheidungen geht. Während früher zum eine Infrastruktur zu bändigen, die mitderen Einsatz aber nur an wirklich per- Beispiel die Ausnutzung spezieller tech- der Lösung des eigentlichen Problemsformancekritischen Stellen zu empfeh- nischer Eigenheiten eines Prozessors als kaum etwas zu tun hat.len ist. Man bedenke in diesem Zusam- schick galt, trifft dies heute nicht selten Mit der wachsenden Komplexitätmenhang immer, was die Vordenker der auf den Einsatz mächtiger Frameworks von Softwaresystemen nimmt die Be-Zunft über „premature optimization“ und betonierter Abstraktionsmechanis- deutung von Softwarearchitektur rapi-gesagt haben. Genauso klar ist aber men zu. Allzu häufig werden mit einer de zu. Das ist kein Wunder: Eine kleineauch, dass eine übertriebene Ausformu- umwerfenden Leichtfertigkeit Entschei- 1000-Zeilen-Anwendung verträgt einlierung trivialer Programmstücke unbe- dungen für schwergewichtige Techniken schlechtes Design wesentlich eher als94 iX 9/2009 © Copyright by Heise Zeitschriften Verlag GmbH & Co. KG. Veröffentlichung und Vervielfältigung nur mit Genehmigung des Heise Zeitschriften Verlags.
  • 4. ein 100ˇ000-Zeilen-Projekt. Aber auch ware so elegant geschnitten war, dass Tausenden von Projekten zum Einsatzin diesem Kernbereich der Software- sie neben einer sauberen Kapselung al- gekommen und selbst Jahrzehnte spä-technik gilt, dass elegante Lösungen ler Hardwarespezifika die Testbarkeit ter noch unterrichtet worden. Der Kernnur realisierbar sind, wenn das Team beliebiger Modulteilmengen garantier- des Problems: Das Wasserfallmodelldie Natur der Aufgabe verstanden hat. te, der begreift, dass gutes Design et- widerspricht in vielerlei Hinsicht demMarkante Fehleinschätzungen sind kei- was Grundsätzlicheres ist. Objektorien- Wesen von Softwareprojekten; insbe-ne Seltenheit. tierung ist (in viel größerem Umfang sondere die strenge Sequenzialität der als die oben erwähnte SOA-Metapher) verschiedenen Aufgaben wie Anforde-Nützlich, aber eine nützliche Art, über Strukturen nachzudenken und passende Modelle rungserfassung, Implementierung oder Test ist nicht zu halten.keine Sensation in Software abzubilden – aber eben Von dem entgegengesetzten Extrem auch nur das. – der Anwendung hochgradig komple-Ein besonders lehrreiches Beispiel sind xer Prozesse für einfache Projekte – istder Aufstieg und der mittlerweile offen selbstverständlich in ähnlicher Vehe-diskutierte Niedergang von SOA (Ser- Eine wesentliche Voraussetzung menz abzuraten. Wer sein Projektteamvice-oriented Architecture). Der Gedan- für gute Architekturen ist und bleibt zu einer Behörde macht, muss mit be-ke, Modularisierung so weit zu treiben, hördenartiger Effizienz rechnen.dass Komponenten unabhängig vonein- jenseits aller Strömungen das Als einzig vielversprechender Wegander installiert und erst zur Laufzeit korrekte Verständnis der Domäne bleibt die Verwendung solcher Prozess-miteinander verknüpft werden können, modelle, die sich hinsichtlich ihrerist nützlich, aber keine die Weltordnung Komplexität auf das jeweilige Projektauf den Kopf stellende Sensation (zumal zuschneiden lassen, wie es etwa beimsie der seit Jahrzehnten von den Unix- Eine wesentliche Voraussetzung für gu- RUP-Tailoring (Rational Unified Pro-Utilities praktizierten Kultur nach- te Architekturen ist und bleibt jenseits cess) geschieht. Die Kombination auskommt). Wartbarkeit oder Wiederver- aller Strömungen das korrekte Ver- einem angemessenen Entwicklungspro-wendbarkeit von Modulen erhöhen sich ständnis der Domäne, also einmal mehr zess und agilen Methoden ermöglichtnicht dadurch, dass man die Kompo- das Erkennen der Natur der zu lösen- eine Balance zwischen strukturierendernenten als Services bezeichnet. Schnitt- den Aufgabe. So gilt in der Software- Systematik und produktiver Dynamik;stellen bleiben Schnittstellen, und Än- architektur genau wie in der Algorith- sie ist wohl die beste derzeit bekanntederungen an Schnittstellen bleiben mik, dass die elegantesten Lösungen Art, mit nichttrivialen Aufgaben umzu-unabhängig davon, wie oft man das genau dann entstehen, wenn sie die gehen, und wird vermutlich noch Auf-Wort „interoperabel“ bemüht, schwierig. dem untersuchten Problem zugrunde stieg und Fall so mancher Modeer- Jeder nichttriviale Eingriff in die Au- liegende Struktur präzise erfassen und scheinung überdauern. (ka)ßenwirkung eines Moduls bedingt die in der Software ohne künstlichen BallastAnpassung seiner Nachbarn – wenn es wiedergeben. Deshalb kann es jenseits DR. DANIEL MÖLLEkeine Abhängigkeiten gäbe, existierte wiederverwendbarer Entwurfsmuster,auch kein Zusammenhang. Das große die sich auf spezielle Teilprobleme be- ist bei der Zühlke Engineering GmbHPotenzial entkoppelter Anwendungen ziehen, kein Allheilmittel und keine Ein- als Software-Ingenieur mit denliegt eher in solchen Aspekten wie der heitslösung für Architekturfragen geben. Schwerpunkten Eingebettete SystemeTestbarkeit, etwa durch den Austausch Saisonale Modethemen und Hype- und .Net tätig.von Modulen durch Mocks, die Injek- Paradigmen wie SOA, AOP (Aspect-tion von Ereignissen oder die Beobach- oriented Programming), Softwarepro-tung dadurch ausgelöster Reaktionen. duktlinien und so weiter hinken der LiteraturDiese Stärken lassen sich bei gutem versprochenen Erlösungswirkung stets [1]ˇJoseph Weizenbaum; ComputerDesign allerdings auch in eine zur hinterher, weil man die entscheidenden Power and Human Reason;Laufzeit monolithische Applikation Erfolgskriterien des Architekturentwurfs From Judgement to Calculation;einbringen. Insofern ist SOA im We- – Intuition, Erfahrung, Domänenver- W. H. Freeman, 1976sentlichen nichts anderes als eine hilf- ständnis, Vorausahnung kommender An- [2]ˇEdsger W. Dijkstra; Thereiche Metapher, und es wäre mehr als forderungsänderungen – einfach nicht Humble Programmer;verwunderlich, wenn eine einzige Me- formalisieren kann. ACM Turing Lecture 1972:tapher den steinigen Weg zur nächsten www.cs.utexas.edu/~EWD/transcripGrößenordnung von Systemkomplexi-tät in eine gummierte Rolltreppe ver- Ein Schlusswort tions/EWD03xx/EWD340.html [3]ˇHenry S. Warren; Hacker’s Delight;wandeln könnte. über Prozesse Addison-Wesley, 2002 Auf ähnliche Weise wird gerne das [4]ˇGerard J. Holzmann; The SPINMissverständnis bedient, Tugenden wie Die spannende Welt der Entwicklungs- Model Checker; Primer and Refe-Modularität, Separation of Concerns, prozesse enthält mit dem bekannten rence Manual; Addison-Wesley, 2003Information Hiding und so weiter sei- Wasserfallmodell eines der skurrilsten [5]ˇWinston Royce; Managing theen der Welt der objektorientierten Spra- Missverständnisse der Softwaretechnik Development of Large Softwarechen vorbehalten. Wer einmal eine in überhaupt: Obwohl es in der Literatur Systems; Proceedings of IEEErohem C verfasste Firmware für ein ursprünglich als Negativ-Beispiel auf- WESCON 26, 1970eingebettetes System im Handumdre- geführt und schon bei seiner ersten for-hen auf einen nagelneuen Mikrocon- malisierten Beschreibung als unbrauch-troller portieren konnte, weil die Firm- bar herausgestellt wurde [5], ist es in www.ix.de/ix0909092 xiX 9/2009 95 © Copyright by Heise Zeitschriften Verlag GmbH & Co. KG. Veröffentlichung und Vervielfältigung nur mit Genehmigung des Heise Zeitschriften Verlags.