Skip to content

Latest commit

 

History

History
95 lines (77 loc) · 6.02 KB

02-architecture-constraints.md

File metadata and controls

95 lines (77 loc) · 6.02 KB

Randbedingungen {#constraints}

Technische Randbedingungen {#technical}

Beispiele: Technische Randbedingungen

Randbedingung Erläuterung
Hardware-Infrastruktur Prozessoren, Speicher, Netzwerke, Firewalls und andere relevante Elemente der Hardware- Infrastruktur
Software-Infrastruktur Betriebssysteme, Datenbanksysteme, Middleware, Kommunikationssysteme, Transaktionsmonitor, Webserver, Verzeichnisdienste
Systembetrieb Batch- oder Onlinebetrieb des Systems oder notwendiger externer Systeme?
Verfügbarkeit der Laufzeitumgebung Rechenzentrum mit 7x24h Betriebszeit? Gibt es Wartungs- oder Backupzeiten mit eingeschränkter Verfügbarkeit des Systems oder wichtiger Systemteile?
Grafische Oberfläche Existieren Vorgaben hinsichtlich grafischer Oberfläche (Style Guide)?
Bibliotheken, Frameworks und Komponenten Sollen bestimmte „Software-Fertigteile“ eingesetzt werden?
Programmiersprachen Objektorientierte, strukturierte, deklarative oder Regelsprachen, kompilierte oder interpretierte Sprachen?
Referenzarchitekturen Gibt es in der Organisation vergleichbare oder übertragbare Referenzprojekte?
Analyse- und Entwurfsmethoden Objektorientierte oder strukturierte Methoden?
Datenstrukturen Vorgaben für bestimmte Datenstrukturen, Schnittstellen zu bestehenden Datenbanken oder Dateien
Programmierschnittstellen Schnittstellen zu bestehenden Programmen
Programmiervorgaben Programmierkonventionen, fester Programmaufbau
Technische Kommunikation Synchron oder asynchron, Protokolle
Betriebssystem und Middleware Vorgegebene Betriebssysteme oder Middleware

Organisatorische Randbedingungen {#organisational}

Organisation und Struktur

hier Randbedingungen einfügen

Beispiele: Organisation und Struktur

Randbedingung Erläuterung
Organisationsstruktur beim Auftraggeber Droht Änderung von Verantwortlichkeiten? +Änderung von Ansprechpartnern
Organisationsstruktur des Projektteams mit/ohne Unterauftragnehmer + Entscheidungsbefugnis der Projektleiterin
Entscheidungsträger Erfahrung mit ähnlichen Projekten +Risiko-/Innovationsfreude
Bestehende Partnerschaften oder Kooperationen Hat die Organisation bestehende Kooperationen mit bestimmten Softwareherstellern? +Solche Partnerschaften geben oftmals Produktentscheidungen (unabhängig von Systemanforderungen)vor.
Eigenentwicklung oder externe Vergabe Selbst entwickeln oder an externe Dienstleister vergeben? (Make or buy)
Entwicklung als Produkt oder zur eigenen Nutzung? Bedingt andere Prozesse bei Anforderungsanalyse und Entscheidungen.Im Fall der Produktentwicklung: * Neues Produkt für neuen Markt? * Verbessertes Produkt für bestehenden Markt? * Vermarktung eines bestehenden (eigenen) Systems * Entwicklung ausschließlich zur eigenen Nutzung?

Ressourcen (Budget, Zeit, Personal)

hier Randbedingungen einfügen

Beispiele: Ressourcen (Budget, Zeit, Personal)

Randbedingung Erläuterung
Festpreis oder Zeit/Aufwand? Festpreisprojekt oder Abrechnung nach Zeit und Aufwand?
Zeitplan Wie flexibel ist der Zeitplan? Gibt es einen festen Endtermin? Welche Stakeholder bestimmen den Endtermin?
Zeitplan und Funktionsumfang Was ist höher priorisiert, der Termin oder der Funktionsumfang?
Release-Plan Zu welchen Zeitpunkten soll welcher Funktionsumfang in Releases/Versionen zur Verfügung stehen?
Projektbudget Fest oder variabel? In welcher Höhe verfügbar?

| Budget für technische Ressourcen | Kauf oder Miete von Entwicklungswerkzeugen +(Hardware und Software)? |

| Team | Anzahl der Mitarbeiter und deren Qualifikation, Motivation und kontinuierliche Verfügbarkeit. |

Organisatorische Standards

hier Randbedingungen einfügen

Beispiele: Organisatorische Standards

Randbedingung Erläuterung
Vorgehensmodell Vorgaben bezüglich Vorgehensmodell? Hierzu gehören auch interne Standards zu Modellierung, Dokumentation und Implementierung.
Qualitätsstandards Fällt die Organisation oder das System in den Geltungsbereich von Qualitätsnormen (wie ISO-9000)?
Entwicklungswerkzeuge Vorgaben bezüglich der Entwicklungswerkzeuge (etwa: CASE-Tool, Datenbank, Integrierte Entwicklungsumgebung,Kommunikationssoftware, Middleware, Transaktionsmonitor).
Konfigurations- und Versionsverwaltung Vorgaben bezüglich Prozessen und Werkzeugen
Testwerkzeuge und -prozesse Vorgaben bezüglich Prozessen und Werkzeugen
Abnahme- und Freigabeprozesse Datenmodellierung und Datenbankdesign +Benutzeroberflächen +Geschäftsprozesse (Workflow) +Nutzung externer Systeme (etwa: schreibender Zugriff bei externen Datenbanken)
Service Level Agreements Gibt es Vorgaben oder Standards hinsichtlich Verfügbarkeiten oder einzuhaltender Service-Levels?

Juristische Faktoren

hier Randbedingungen einfügen

Beispiele: Juristische Faktoren

Randbedingung Erläuterung
Haftungsfragen Hat die Nutzung oder der Betrieb des Systems mögliche rechtliche Konsequenzen? +Kann das System Auswirkung auf Menschenleben oder Gesundheit besitzen? +Kann das System Auswirkungen auf Funktionsfähigkeit externer Systeme oder Unternehmen besitzen?
Datenschutz Speichert oder bearbeitet das System „schutzwürdige“ Daten?
Nachweispflichten Bestehen für bestimmte Systemaspekte juristische Nachweispflichten?
Internationale Rechtsfragen Wird das System international eingesetzt? +Gelten in anderen Ländern eventuell andere juristische Rahmenbedingungen für den Einsatz (Beispiel: Nutzung von Verschlüsselungsverfahren)?

Konventionen {#conventions}

Beispiele

  • Programmierrichtlinien
  • Dokumentationsrichtlinien
  • Richtlinien für Versions- und Konfigurationsmanagement
  • Namenskonventionen