Entwurf von Software Flashcards

1
Q

Definition Softwaredesign

A
  • nicht nur Benutzeroberfläche
  • auch Architektur- und Strukturentscheidungen
  • Datenstrukturen mit Klassen- und ER-Diagrammen
  • Abläufe mit Aktivitäts- und Sequenzdiagrammen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Die Systemarchitektur beeinflusst…

A
  • Systemperformance
  • Angriffssicherheit (Security) des Systems
  • Betriebssicherheit (Safety) des Systems
  • Verfügbarkeit und Wartbarkeit des Systems
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Verteilte Systeme (Standard bei großen Softwaresystemen)

A
  • mehrere Prozesse auf verschiedenen Rechnern

- System mit mehreren Prozessen kann als verteiltes System konzipiert werden, bei mehr als einem Prozessor

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Vorteile verteilte Systeme

A

+ skalierbar (durch zusätzliche Hardware mehr Prozesse / Benutzer bedienen ohne zusätzliche Änderungen)
+ Fehlertoleranz (ABER: Netzwerk ist Single Point of Failure)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Nachteile verteilte Systeme

A
  • sind komplexer

- Datenverkehr zwischen beteiligten Rechnern im Netzwerk erschwert Zugriffsschutz

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Architekturentscheidungen: zentrale vs. dezentrale Datenhaltung (zentrales Repository)

A

+ keine direkte Kommunikation zwischen Subsystemen nötig
+ gut für betriebswirtschaftliche Anwendungen

  • Datensicherung, -schutz, - wiederherstellung, -konsistenz und Zugriffskontrolle dezentral schwieriger zu gewährleisten
  • Knotenzugriff auf zentrale Daten ist langsamer als auf eigener Festplatte (offline gar nicht möglich)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Architekturentscheidungen: Client-Server-Modell

A
  • Server im Rechenzentrum bietet Dienste im Netzwerk an
  • Clients fragen am Benutzerarbeitsplatz Dienste im Netzwerk an
  • Client kennen Server, aber nicht andere Clients
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Architekturentscheidungen: 2-Tier-Client-Server-Modell

A
  • 2 Stufen: Clients und Server
  • Thin-Client: Anwendung läuft komplett auf Server (Client nur für Benutzereingaben und Bildschirmdarstellung) –> einfaches Systemmanagement
    Fat-Client: Server nur für Datenhaltung
    Anwendungslogik, Benutzereingaben und Bildschirmdarstellung auf Client –> effiziente Lastverteilung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Architekturentscheidungen: 3-Tier-Client-Server-Modell

A
  • zentraler Datenbankserver für Persistenz
  • ein oder mehrere Applikationsserver für Anwendungslogik
  • Clients für Benutzereingaben und Bildschirmdarstellung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Architekturentscheidungen

A
  • Webapplikationen können einfaches Systemmanagement und effiziente Lastverteilung vereinen
  • portabler Code und Daten von Server geladen
  • wenn asynchron im Hintergrund: Vermeidung von Wartezeiten
  • Usability und Performance ähnlich von lokaler Software
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Typen von Softwaresystemen: Ereignisverarbeitende Programme (z.B. Echtzeitsysteme, Officeprogramme, Videospiele)

A
  • reagieren ständig und sofort auf Ereignisse wie Benutzereingaben
  • meist Einbenutzersysteme
  • schnelle Reaktion auf Benutzerinteraktionen
  • bearbeiten Daten längere Zeit im Hauptspeicher
  • Architektur: autonome Objekte in Kommunikationsbeziehungen –> verarbeiten Ereignisse und interpretieren Befehle
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Typen von Softwaresystemen: Batchverarbeitende Systeme (z.B. Rechnungsdruck in ERP-Systemen, Mahnungen)

A
  • verarbeiten Daten am Stück ohne Benutzereingriff
  • ähnliche Operationen auf große Datenmengen
  • Architektur: EVA-Komponenten
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Typen von Softwaresystemen: Transaktionsverarbeitende Systeme (z.B. Auftragserfassung in ERP-Systemen, Supermarktkassen-System)

A
  • Schreib- und Lesezugriffe auf großen Datenbestand
  • Benutzer dürfen sich nicht behindern (atomare Transaktionen)
  • Architekturkomponenten: Benutzerinteraktion, Anwendungslogik, Datenhaltung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Typen von Softwaresystemen: Sprachverarbeitende Systeme (z.B. Vorlesen von Websites für Sehbinderte)

A
  • arbeiten Anweisungen ab, die in formaler Sprache formuliert sind (z.B. Compiler und Skriptinterpreter für Makros)
  • Architekturkomponenten: Prüfen, Auswerten und Ausführen von Anweisungen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Echtzeitsysteme

A
  • Sensor empfängt Stimulus –> direktes Aufrufen einer passenden Routine
  • viele nebenläufige, kooperierende Prozesse
  • abhängig von Ergebnissen und dafür benötigte Zeit
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Benutzeroberflächen

A
  • Vermeiden von Benutzerfehlern durch angemessene Benutzerführung
  • Screen-Prototypes für Anforderungen der Anwender
  • immer funktionsfähigere, ausführbare GUI-Prototypen
  • Testphase: User Acceptance und Usability
17
Q

Grundregeln GUI-Entwurf

A

1) Benutzervertrautheit –> Bezeichnungen und Begriffe aus Erfahrungswelt der Benutzer
2) Konsistenz –> vergleichbare Operationen gleich veranlassen
3) Minimale Überraschung –> Benutzer sollten vom System nicht überrascht werden
4) Wiederherstellbarkeit –> Mechanismen zu Wiederherstellung für Benutzer
5) Benutzerführung –> aussagekräftige Rückmeldungen und kontextsensitive Hilfsmittel bei Fehlern
6) Benutzervielfalt –> geeignete Interaktionsmöglichkeiten für versch. Systembenutzer

18
Q

Grundregeln GUI-Entwurf

A
  • relative / numerische Informationen analog abbilden
  • graphische Darstellungen ungenauer, aber übersichtlicher
  • Text platzsparend, aber schwerer zu greifen (gut für Genauigkeit und langsam verändernde Werte)
19
Q

Grundregeln für Systemmeldungen

A

1) Widerspiegeln des Benutzerkontexts
2) Genauigkeit der Meldung basierend auf Nutzererfahrung
3) Meldungen auf Fähigkeiten zugeschnitten (Terminologie)
4) Positiver, aktiv-formulierter Stil
5) der Kultur des Anwenders angepasst Meldung

20
Q

Benutzerinteraktionen

A
  • direkte Manipulation (Videospiele)
  • Menüauswahl
  • Ausfüllen einer Eingabemaske (pers. Angaben)
  • Befehlssprache (Betriebssysteme)
  • natürliche Sprache (Informationsabrufe)