Softwareentwicklung – Design
Unter einem "Design" verstehe ich in der Softwareentwicklung das Treffen der grundlegenden Entscheidungen, wie ein neues Softwareprojekt umgesetzt werden soll:
Ein Design-
Recherchen
Wenn man ein Design-
Hintergrundinformationen
Als wichtig empfinde ich, auch Hintergrundinformationen anzugeben, warum etwas so oder so vorgegeben wird. Streng genommen sind solche Informationen entbehrlich, aber manchmal hat sogar der Programmierer, der ganz zuletzt in der Informationskette sitzt, eine gute Idee der Vereinfachung, die niemand vor ihm hatte (z. B. weil nur der Programmierer weiß, wie die Software intern arbeitet). Je weniger Informationen man ihm gibt, desto weniger Vorschläge kann er jedoch machen.
Hintergrundinformationen werden z. B. auch im Request for Comment 1521 gegeben (nach "rationale" suchen).
Testfälle
Sehr überrascht war ich, wie mir mein Vorgesetzter erklärt hat, dass man schon bei der Erstellung des Designs Fallbeispiele angeben muss, die das korrekte, zu erwartende Ergebnis angeben, wenn die und die Ausgangsbedingungen vorliegen. Wenn die Software eine komplexe Berechnung vornehmen soll, bedeutet das meines Erachtens, dass ich die Software zuerst selbst schreiben muss (z. B. in Excel), bevor die Programmierer die Software dann nocheinmal schreiben können. Das erscheint mir absurd.
Vergleiche
- Du willst dich von einem Karikaturisten portraitieren lassen und musst in der Auftragsbeschreibung die fertige Karikatur beilegen.
- Ein Musiker soll ein neues Lied komponieren. Dazu verlangt er das gewünschte Lied, damit er am Ende feststellen kann, ob er richtig komponiert hat.
Weiter
Siehe auch
- Usability – Design aus Sicht der Benutzer
Weblinks
- Erfahrungsbericht über SAP Business Warehouse, 22.3.2002 – Ein Beispiel, wie schlechtes Design bzw. falsche Konfiguration und unzureichende Schulung zu unbrauchbaren Ergebnissen und Frustrationen beim Benutzer führen kann