04 - Entwurf von Software Flashcards
Systemarchitektur beeinflußt: (5)
1) Performance des Systems
2) Security des Systems
3) Safety des Systems
4) Verfügbarkeit des Systems
5) Wartbarkeit des Systems
Definition: Softwaredesign
Nicht nur die Gestaltung der Benutzeroberfläche, sondern auch schon Datenstrukturen, Abläufe und Architektur- und Strukturentscheidungen.
Definition: Verteilte Systeme
Softwaresysteme die auf mehreren Rechnern ablaufen. So können mehrere Prozesse auf verschiedenen Rechner gleichzeitig ablaufen.
Vorteile: Verteiltes System (2)
1) Skalierbarkeit
2) Fehlertolerant
Nachteile: Verteiltes System (2)
1) Komplexer
2) Datenverkehr zwischen den beteiligten Rechnern im Netzwerk erschwert den Zugriffsschutz
Vorteile: Zentrale Datenhaltung (2) - On-Prem
1) Keine direkte Kommunikation zw. den Subsystemen nötig
2) Sicherheit, Datenschutz, Datenhaltung, Datenkonsistenz, Zugriffskontrolle sind hier einfacher zu gewährleisten
Nachteile: Zentrale Datenhaltung (1) - On-Prem
1) Zugriff eines Knotens auf zentrale Daten langsamer als wenn er sie auf der eigenen Festplatte hat.
Definition: 2-Tier-Client-Server-Modell
Hier gibt es nur 2 Stufen, Clients und Server. Man unterscheidet zwischen einen Thin-Client, wo die Anwendungslogik komplett auf dem Server läuft und einem Fat-Client, wo die Anwendungslogik auf Seite des Clients liegt. In beiden fällen übernimmt der Server die Datenhaltung.
Definition: 3-Tier-Client-Server-Modell
Hier sorgt noch zusätzlich zum Client und Server eine Datenbank für die Persistenz. Dabei sind ein oder mehrere Applikationsserver für die Applikationslogik zuständig.
Definition: Ereignisverarbeitende Systeme
Reagieren Ständig und sofort auf Ereignisse wie Benutzereingaben. z.B. Office- und Grafikprogramme
Eigenschaften: Ereignisverarbeitende Systeme (3)
1) Meist Einbenutzersysteme
2) Müssen schnell auf Benutzerinteraktionen reagieren
3) Bearbeiten Daten längere Zeit im Hauptspeicher
Definition: Batchverarbeitende Systeme
Verarbeiten Daten am Stück ohne Eingriff des Benutzers. Sie eignen sich, wenn auf eine große Menge von Daten immer ähnliche Operationen angewandt werden müssen (z.B. Täglicher Rechnungsdruck im ERP).
Definition: Transaktionsverarbeitende Systeme
Verarbeiten Schreib- und Lesezugriffe auf einen großen Datenbestand. Sie müssen sicherstellen, dass die Benutzer sich nicht gegenseitig behindern und dass jede Transaktion atomar ist (z.B. Auftragserfassung im ERP).
Architektur: Transaktionsverarbeitendes System
Bestehen oft aus Komponenten für Benutzerinteraktion, Anwendungslogik und Datenhaltung.
Architektur: Batchverarbeitendes System
Bestehen meist aus Komponenten für Eingabe, Verarbeitung und Ausgabe.
Architektur: Ereignisverarbeitende Systeme
Mehrere autonome Objekte stehen miteinander in Kommunikationsbeziehungen. Sie verarbeiten Ereignisse und interpretieren Befehle.
Definition: Sprachverarbeitende Systeme
Arbeiten Anweisungen ab, die in einer formalen Sprache formuliert sind. Dazu gehören z.B. Compiler und Skriptinterpreter für Makros.
Architektur: Sprachverarbeitende Systeme
Verschiedene Komponenten übernehmen das Prüfen, Auswerten und Ausführen von Anweisungen.
Vorteile: Gutes GUI Design (3)
- Macht ein System Zuverlässig
- Benutzerfehler können durch eine der Zielgruppe angemessene Benutzerführung vermieden werden.
- Erleichtert die Diskussion mit den Anwendern und helfen, die Anforderungen zu verstehen
Grundregeln für den GUI-Entwurf (6)
1) Benutzervertrautheit
2) Konsistenz
3) Minimale Überraschung
4) Wiederherstellbarkeit
5) Benutzerführung
6) Benutzervielfalt
Definition: Benutzervertrautheit (GUI)
Bezeichnungen und Begriffe aus der Erfahrungswelt der Menschen, die am meisten vom System Gebrauch machen sollten verwendet werden.
Definition: Wiederherstellbarkeit (GUI)
Es sollte Wiederherstellbarkeitsmechanismen für den Benutzer geben.
Definition: Benutzerführung (GUI)
Beim Auftreten von Fehlern aussagekräftige Rückmeldungen und kontextsensitive Hilfsmittel für Benutzer anbieten.
Eigenschaften: Text (GUI) (2)
1) Benötigt weniger Bildschirmfläche als eine graphische Darstellung, kann aber nicht auf einen Blick erfasst werden.
2) Vorteilhaft, wenn es auf Genauigkeit ankommt und sich die Werte nur langsam verändern.
Eigenschaften: Graphische Darstellungen (GUI) (3)
1) Ungenauer, dafür aber übersichtlicher
2) Numerische Informationen, die sich ständig verändern werden besser analog abgebildet.
3) Relative Informationen (Skala) werden ebenfalls besser analog abgebildet.
Grundregeln für Systemmeldungen (5)
1) Kontext - sollte Benutzerkontext wiederspiegeln
2) Erfahrung - sollten sich an die verschiedenen
Erfahrungslevel von Nutzern orientieren
3) Fähigkeiten - Sollten auf Fähigkeiten und Erfahrungen des Benutzers zugeschnitten sein
4) Stil - Lieber positiv als negativ ausdrücken
5) Kultur
Benutzerinterkationen (5)
1) Direkte Manipulation
2) Menüauswahl
3) Ausfüllen einer Eingabemaske
4) Befehlssprache
5) Natürliche Sprache
Vorteile: Direkte Manipulation (Benutzerinteraktionen) (2)
1) Schnelle und intuitive Interaktion
2) Leicht zu erlernen
Nachteile: Direkte Manipulation (Benutzerinteraktionen) (2)
1) Möglicherweise schwer zu implementieren
2) Nur angemessen, wenn es optische Anregungsmittel gibt
Vorteile: Menüauswahl (Benutzerinteraktionen) (2)
1) Verhindert Benutzerfehler
2) Wenig Tippen erforderlich
Nachteile: Menüauswahl (Benutzerinteraktionen) (2)
1) Für erfahrene Benutzer zu langsam
2) Kann zu komplex werden, wenn viele Menüoptionen vorhanden sind.
Vorteile: Ausfüllen einer Eingabemaske (Benutzerinteraktionen) (3)
1) Einfache Dateneingabe
2) Leicht zu erlernen
3) Überprüfbar
Nachteile: Ausfüllen einer Eingabemaske (Benutzerinteraktionen) (2)
1) Benötigt viel Platz auf Bildschirm
2) Führt zu Problemen, wenn die Benutzeroptionen nicht mit den Formularfeldern übereinstimmen
Vorteil: Befehlssprache (Benutzerinteraktionen)
1) Leistungsfähig und Flexibel
Nachteile: Befehlssprache (Benutzerinteraktionen (2)
1) Schwer zu erlernen
2) Schwaches Fehlermanagement
Vorteile: Natürliche Sprache (Benutzerinteraktionen) (2)
1) Zugänglich für Gelegenheitsnutzer
2) Leicht erweiterbar
Nachteile: Natürliche Sprache (Benutzerinteraktionen) (2)
1) Erfordert mehr Tippen
2) Systeme, die natürliche Sprache verstehen, sind unzuverlässig