Top Down Design per Specification Card
Die beste Möglichkeit, Software top down zu entwerfen und gut wartbar zu dokumentieren, ist ein an Karteikarten erinnernder Ansatz: Specification and Collaboration Cards (SCC).Man geht da vor wie folgt:
- Grundregel ist: Jedes Konzept – und sei es eine ganze Applikation – wird zunächst so beschrieben, dass dieses Beschreibung auf etwa einer Seite Platz hat (diese Seite ist das, was ich als "Karteikarte" bezeichne).
- Teil dieser Beschreibung ist eine Zerlegung in Subkonzepte, die man dann wieder auf eben dieselbe Weise beschreibt.
- Vorteil dieses Verfahrens: Es zwingt zur Abstraktion, denn da die Beschreibung zunächst nur etwa eine Seite Text umfassen darf, wird man gezwungen, sich auf das Wesentliche zu konzentrieren und geeignete Subkonzepte zu definieren, die dann hin zu allen anderen notwendigen Details führen.
- Weiterer Vorteil: Es bleibt dem Leser überlassen, wie weit er in Details einsteigen möchte.
- Und noch ein Vorteil: Man kann solches Design – da es sich auf hierarchisch zueinander angeordnete Specification Cards verteilt – leicht in HTML präsentieren und, wenn geeeignete Regeln zur Notation von Namen eingehalten werden, sogar automatisch über Links verknüpfen und auf formale Vollständigkeit hin prüfen (mehr dazu hier).
- Jede Karte kann, wo hilfreich, durch Bilder illustriert sein (hin und wieder sogar durch ein UML Diagramm).
- Nicht zuletzt ist derart aufgeschriebenes Design extrem änderungsfreundlich (also gut wartbar).
- Zu Projektanfang, wo noch wenig Details erarbeitet sind, werden derart gegliederte Entwurfspapiere sogar von Personen gerne gelesen, denen Entwurfspapiere sonst zu technisch erscheinen (das, so habe ich gemerkt, ist ein großer Vorteil).
- Als Collaboration Card bezeichnet man eine Karte, deren Gegenstand die Interaktion von Systemkomponenten, von User und System, oder von Menschen ist,
die in bestimmten Rollen arbeiten (ein Beispiel findet sich hier).
Note: Das Akronym SCC scheint kaum bekannt, aber einen Spezialfall dieser Technik – sog. Class Responsibility Cards – wurde erstmals beschrieben durch Ivar Jacobson in seinem sehr lesenswerten Buch "Object Oriented Software Engineering: A Use Case Driven Approach" (1992).
stw5272DSV — Design . Specification . Vorteil — News?
Mehr + B G E + S H A + More