Über den (armseligen) Zustand der Dokumentation von Softwarearchitekturen in der Praxis - und was Sie mit einfachen, pragmatischen Mitteln dagegen tun können.
sehr hohe Verbreitung) Unterstützt SQL-1992 Advanced-Level, embedded-mode, (Architektur-) Dokumentation Praktisch keine verfügbar. Open-Source Datenbanksystem, kleine Entwicklergruppe, hohe Kontinuität.
Entwicklungsteam > 5Jahre Massives Know-How über Codestruktur und Laufzeitverhalten - Team kann System warten und erweitern! Kaum Bedarf an Arc-Doku (sondern: User-Doku!)
Linux Institutional Memory A post today in Slashdot reports on the maintainer of the TTY subsystem of the Linux kernel stepping away from his role. <...> loss of intellectual capital. As I've often said, the code is the truth, but it's not the whole truth, and there's considerable architectural knowledge retained in tribal memory. <...> This is yet another reason why, <...> having a reasonably well-understood and accessible statement of a system's significant design decisions - in short, it's architecture - is important. shit happens!
Steckbrief Einmalige Big-Bang Migration, 15-30 MA, Gesamtaufwand ca. 4500 PT sehr hohe Volatilität der Anforderungen (Architektur-) Dokumentation Praktisch keine benötigt!
TWiki + MagicDraw + CVS + (ant/maven) BugZilla für Anforderungen & „Tasks“ Aus (einem kleinen Teil des) Architektur-Modell wird Code generiert. Modell nicht aktuell => Code läuft nicht
1 Telefon- anbieter MoF 2 4 6 7 7 9 8 3 MaMa Input Output Reporting Configuration Operations- Monitoring Campaign Data Management Campaign Process Control Kundenstamm- & Kampagnendaten Ergebnis- daten Marktteilnehmer- daten Rohergebnis- daten Input Receiver Campaign Data Management File Filter UnMarshaller File Archiver Validator Input ErrorHandler Kundenstamm-, Kampagnen- & Rohergebnisdaten validate file archive file decrypt, unzip file create object from record read/write domain objects read file validation rules Campaign Process Control execute CampaignRules schedule Receivers CampaignProcess Control Campaign Rule Processor Campaign Data Management InOut Scheduler Process ErrorHandler determine input schedule Output Configuration read campaign rules read/write domain objects (Rete) Rule Engine Input schedule receivers Campaign Activities Controller notify init Activities fire Rules prepare Session invoke «interface» IMarkt- Teilnehmer getPrimaryKey() name vorname gebdat anrede titel «abstract» BaseMarkt- Teilnehmer «interface» IKontakt strasse nummer strZusatz etage wohnung postleitzahl ort ortsZusatz land AdresseKontakt rufnummer1 rufnummer2 stammnummer durchwahl mobilnummer1 mobilnummer2 faxnummer land erreichbarVon erreichbarBis TelefonKontakt email1 email2 homepageUrl skypeId icqId OnlineKontakt dueDate dueTime maxRepeat NextAction actionName kindOf CampaignActionType 1 * * 1 {ordered list} Markt- Teilnehmer: name: Billy Beispiel vertrag: <empty> Next ActionList: <empty> Markt- Teilnehmer: name: Billy Beispiel vertrag: T-2000 Next ActionList: <empty> Markt- Teilnehmer: name: Billy Beispiel vertrag: T-2000 Next ActionList: 1: DruckeBrief 2: InfoAnFilialen 3: InfoAnCallCenter Importiere Vertragsdaten von Mandant Schritt 1: Input- Aktivität Schritt 2: Bestimme Folgeaktivität Wenn Vertragstyp == "T-2000" Dann DruckeBrief, InfoAnFilialen und InfoAnCallCenter Entwurfsentscheidungen sind wichtig, und sollten als Grundlage der weiteren Entwickulng dem gesamten Team zur Verfügung stehen.Entwurfsentscheidungen sind wichtig, und sollten als Grundlage der weiteren Entwickulng dem gesamten Team zur Verfügung stehen.Entwurfsentscheidungen sind wichtig, und sollten als Grundlage der weiteren Entwickulng dem gesamten Team zur V erfügung stehen. Entwurfsentscheidungen sind wichtig, und sollten als Grundlage der weiteren Entwickulng dem gesamten Team zur Verfügung stehen.
Transaktionen Steckbrief Web-Anwendung mit E-Commerce für Geschäftskunden, hoher Termindruck >>80 MA Entwicklungsteam, >24 Mon. (Architektur-) Dokumentation erst 10 Monate Wiki, dann arc42 & Doku-Tooling.