software architecture/de

From Lazarus wiki
Revision as of 15:41, 21 September 2013 by Billyraybones (talk | contribs) (typos)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Deutsch (de)

Die Softwarearchitektur beschreibt die Rahmenbedingungen, unter denen die Softwareentwicklung abläuft.
Bei grösseren Projekten, ist die Beschreibung und Festlegung der Softwarearchitektur entscheidend dafür, wie sich Projektverlauf und Projektkosten entwickeln.
Die Qualität mit der die Softwarearchitektur beschrieben wird ist einer der entscheidenden Erfolgsfaktoren bei der Entwicklung eines großen Softwaresystems.
Bestandteil der Softwarearchitektur sollte immer eine grafische Übersicht der beteiligten Komponenten und deren Abhängigkeiten sein.
Grundsätzlich ist eine Softwarearchitektur von Fachleuten und nicht von einer Gruppe begeisterter Laien zu erstellen.

Die Modellierung von Softwarearchitekturen dient:

  • der Dokumentation
  • der Kommunikation
  • der Verständigung über Architekturen
  • dem Minimieren von Risiken durch Berücksichtigung der Einflussfaktoren
  • der Erstellung und der Wartbarkeit des Gesamtsystems


Die Modellierung der Softwarearchitektur kann folgende Informationen enthalten:

  • die zu verwendende Hardware
    • Einzelplatzrechner
    • Datenbankserver
    • Fileserver
    • usw.
  • die Art, wie Daten verarbeitet werden sollen
  • Andere Systeme
    • Vorläufersysteme
    • Nachfolgende Systeme
    • Datenaustauschformate (XML, usw.)
    • Anbindung an Fremdsysteme
  • Datenqualität
  • Dateneingabe
    • elektronisch
    • manuell (Tastatur, Maus usw.)
  • Datenausgabe
    • Bildschirm
    • Drucker
    • Datei
    • Datenbank
    • usw.
  • die Art der Datenhaltung (Datenbank, Dateien aller Art)
    • zu verwendene Datenbank(en) (Dateien aller Art, ORACLE, MS-SQL, INFORMIX, DB2, PostgreSQL, usw.)
    • zu verwendene(s) Dateiformat(e) (Text, CSV, DOC, PDF, JPG usw.)
      • zu verwendene Textcodierung (ANSI, ASCII, UTF7, UTF8, UTF16, UTF32, Unicode, usw.)
  • zu verwendende Programmiersprache(n) (PASCAL, SQL, Basic, C, usw.)
  • Programmierstil
    • CleanCoding
    • Ungarische Notation
    • Objektorientierung
    • usw.
  • Art der Datensicherung (Band, Festplatte, CD, DVD, usw.)
  • LAN-Anbindung
  • WAN-Anbindung
  • Email-Anbindung
  • Intranet-Anbindung
  • Internet-Anbindung
  • usw.


Bewertung der Softwarearchitektur:

  • Identifikation der potentiellen Risiken
    • Datensicherheit des Systems (Qualität der Datenhaltung)
    • Anfälligkeit des Systems für Hard- und Softwarefehler
    • Anfälligkeit des Systems für Sabotage
    • Anfälligkeit des Systems für Datendiebstahl
    • Anfälligkeit des Systems für Spionage
    • usw.
  • Beurteilung der Qualitätsanforderungen
    • Datenkonsistenz
    • u.s.w.