3. SE - 4. Entwurf von Software Flashcards

1
Q

Was gehört alles zum Softwaredesign (deutsch: Entwurf) dazu?

A
  • Gestaltung der Benutzeroberfläche
  • Architekturentscheidungen
  • Strukturentscheidungen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wie werden Datenstrukturen entworfen?

A

Mit Hilfe von Klassendiagrammen und Entity-Relationship-Modellen

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

Wie werden Abläufe entworfen?

A

Aktivitäten- und Sequenzdiagrammen

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

Wie kann man Komplexe Algorithmen entwerfen, bevor man sie kodiert?

A

Mit Nassi-Shneiderman Diagrammen

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

Was bestimmen Architekturentscheidungen

A

Struktur des Systems

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

Was beeinflusst die Systemarchitektur?

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

True or False?

Die meisten größeren Softwaresysteme sind heute VERTEILTE SYSTEME?

A

TRUE, sie laufen auf mehreren Rechnern

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

Was ist das Gute an “verteilten Systemen”?

A

Mehrere Prozesse können auf verschiedenen Rechnern gleichzeitig ablaufen
mehr als ein Prozessor vorhanden

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

Vorteile “Verteilte Systeme”

A

Skalierbar

fehlertolerant

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

Was ist das große ABER bei der Fehlertoleranz der verteilten Systeme?

A

Das Netzwerk wird zum Single Point of Failure (SPOF)

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

Definiere “Skalierbarkeit”

A

Ohne Änderung an Software größere Anzahl an Prozessen (vor allem an Benutzern) bedienen, indem zusätzliche Hardware beschafft wird

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

Nachteil “Verteilter Systeme”

A

komplexer

Datenverkehr zwischen den beteiligten Rechnern im Netzwerk erschwert Zugriffsschutz

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

Nachteile “zentrale Repository für alle beteiligten Subsysteme” gegenüber dezentraler Datenhaltung

A
  • Zugriff eines Knotens auf zentrale Daten ist langsamer als wenn es sich auf eigener Festplatte hat.
  • Offline gar nicht möglich.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Vorteil “zentrale Repository für alle beteiligten Subsysteme”

A
  • keine direkte Kommunikation zwischen Subsystemen nötig
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was ist dezentral (zB auf PCs) viel schwieriger zu gewährleisten als in einem Zentralen Rechenzentrum

A

Datensicherung, Datenschutz, Datenwiederherstellung, Datenkonsistenz, Zugriffskontrolle

Da keine dezentrale Datenhaltung

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

Wird betriebswirtschaftlich eher auf zentrale oder dezentrale Datenhaltung gesetzt?

A

Zentraler Datenhaltung
Ausnahmen müssen gut begründet sein, Bsp. Sicherheit nachrangig (öffentliche Katalogdaten werden lokal repliziert) oder wenn Offline Funktionalität zwingend ist (CROM Client)

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

Ist das Client-Server-Modell zentral oder dezentral?

A

zentral im Rechenzentrum

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

Wie funktioniert das Client-Server-Model (Architekturentscheidung)

A
  • Server bieten Dienste im, Netzwerk an

- Clients fragen diese Dienste im Netzwerk nach (Benutzerarbeitsplatz)

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

TRUE or FALSE

Client kennen Server und andere Clients

A

FALSE

Clients kennen Server, aber nicht die anderen Clients

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

Was ist mit Client und Server gemeint?

A

Die ursprünglichen Prozesse der Software

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

Was ist mit Client und Server heutzutage noch gemeint?

A

Hardware, auf denen die Prozesse laufen

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

Beschreibe das 2-Tier-Client-Server-Modell indem du Thin-Client und Fat-Client definierst

A

Es gibt nur 2 Stufen, Client und Server

Thin Client: Anwendungslogik läuft komplett auf Server. Der Client ist nur für Benutzereingaben und Bildschirmdarstellung

Fat Client:
Server übernimmt nur Datenhaltung. Anwendungslogik, Benutzereingaben, Bildschirmdarstellung laufen auf Client

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

Beschreibe die wichtigste Merkmale eines 3-Tier-Client-Server-Modell

A
  • Ein zentrale Datenbankserver sogt für Persistenz
  • 1 oder mehrere Applikationsserver sind für Applikationslogik zuständig
  • Clients übernehmen Benutzereingaben und Bildschirmdarstellung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Welche Vorteile können Webapplikationen vereinen?

A

Fat-Clients (effiziente Lastverteilung) und Thin-Clients (einfaches Systemmanagement)

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

Was sind die vereinten Vorteile von Fast-Clients und Thin-Clients?

A
  • portabler Code und Daten werden bei Bedarf vom Server geladen
  • dies asynchron (im Hintergrund), so werden sekundenlange Wartezeiten des Users vermieden
  • Usability und Performanz von Web-Applikationen nähern sich denen von lokal installierter Software an
  • 100% identisch ist aber systembedingt nicht möglich
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Ordne …
Performance, Security (das System vor Angriffen schützen), Safety (Fehlfunktionen des Systems vermeiden), Verfügbarkeit, Wartbarkeit/Erweiterbarkeit

…zu:
redundate Komponenten, relevante Operationen in möglichst wenigen Subsystemen, alle relevanten Operationen in einem Subsystem, kleine unabhängige Komponenten, Schichtenarchitektur

A

Performance - relevante Operationen in möglichst wenigen Subsystemen

Security (das System vor Angriffen schützen) - Schichtenarchitektur

Safety (Fehlerfunktionen des Systems vermeiden) - alle relevanten Operationen in einem Subsystem

Verfügbarkeit - redundante (mehrmals) Komponenten

Wartbarkeit/ Erweiterbarkeit - kleine unabhängige Komponenten

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

Welche Typen von Softwaresystem gibt es? (4)

A
  • Ereignisverarbeitende Systeme
  • Batchverarbeitende Systeme
  • Transaktionsverarbeitende Systeme
  • Sprachverarbeitende Systeme
28
Q

Was machen Ereignisverarbeitende Systeme?

A

Reagieren ständig und sofort auf Ereignisse wie Benutzereingaben

29
Q

Was macht ein Ereignisverarbeitendes System aus?

A
  • sind meist Einbenutzersysteme
  • müssen schnell auf Benutzerinteraktionen reagieren
  • bearbeiten Daten längere Zeit im Hauptspeicher
30
Q

Welche Systeme gehören zu Ereignisverarbeitenden Systemen?

A

Echtzeitsysteme, aber auch Graphik- und Officeprogramme

31
Q

Architektur Ereignisverarbeitende Systeme

A

Mehrere autonome Objekte stehen miteinander in Kommunikationsbeziehungen, Sie verarbeiten Ereignisse und interpretieren Befehle

32
Q

Was machen Batchverarbeitende Systeme?

A

verarbeiten Daten am Stück OHNE Eingriffe des Benutzers

33
Q

Architektur Batchverarbeitende Systeme

A

Bestehen meist aus Komponenten für Eingabe, Verarbeitung und Ausgabe

34
Q

Wann eignen sich Batchverarbeitende Systeme am besten?

A

auf eine große Menge von Daten immer ähnliche Operationen angewandt werden müssen

35
Q

Was machen Transaktionsverarbeitende Systeme?

A

verarbeiten Schreib- und Lesezugriffe auf einen großen Datenbestand

36
Q

Was müssen Transaktionsverarbeitende Systeme sicherstellen?

A

Benutzer sich nicht gegenseitig behindern und dass jede Transaktion atomar ist (ganz oder gar nicht, aber unter keinen Umständen nur teilweise)

37
Q

Architektur Transaktionsverarbeitende Systeme

A

bestehen oft auf Komponenten für Benutzerinteraktion, Anwendungslogik, Datenhaltung

38
Q

Was machen Sprachverarbeitende Systeme?

A

arbeiten Anweisungen ab, die in einer formalen Sprache formuliert sind

39
Q

Was gehört zu Sprachverarbeitenden Systemen?

A

Compiler und Skriptinterpreter für Makros

40
Q

Architektur Sprachverarbeitende Systeme

A

Verschiedene Komponenten übernehmen das prüfen, auswerten und ausführen von Anweisungen

41
Q

Bsp. Transaktionsverarbeitende Systeme

A

ein Kassensystem in einem Supermarkt

42
Q

Bsp. Sprachverarbeitende Systeme

A

ein System, das sehbehinderten Benutzern Webseiten vorliest

43
Q

Bsp. Batchverarbeitende Systeme

A

ein System, das Mahnungen über zu zahlende Zeitschriftenabonnementsgebühren druckt

44
Q

Bsp. Ereignisverarbeitende Systeme

A

ein Fotoalbum, das Funktionen zur Wiederherstellung alter Fotografien bietet

45
Q

Welche Softwaresysteme sind besonders für zeitliche Anforderungen gemacht?

A

Echtzeitsysteme

46
Q

Wovon hängt die korrekte Funktionsweise eines Echtzeitsystems ab?

A

Ergebnissen und Zeit in der Ergebnisse erzeugt werden

47
Q

Wie funktioniert ein Echtzeitsysteme?

A
  • unmittelbar nach Empfang eines Stimulus von einem Sensor muss eine geeignete Routine abgerufen werden
  • erfolgt üblicherweise mit einer Menge nebenläufiger, miteinander kooperierender Prozesse
48
Q

Nach grundsätzlicher Entscheidung über die Architektur einer Anwendung erfolgt das …

A

objektorientierte Design mit Hilfe der bekannten UML-Modelle

49
Q

True or False

Eine gute GUI hat keinen Einfluss auf die Zuverlässigkeit des Systems

A

FASLE

Eine gute GUI ist entscheidend für die Zuverlässigkeit des Systems

50
Q

Wodurch können viele “Benutzerfehler” vermieden werden?

A

durch eine der Zielgruppe angemessene Benutzerführung

51
Q

Worauf ist bei Benutzeroberflächen im Web besonders zu achten?

A

Benutzer, die sich nicht zurechtfinden, wandern sofort zur Konkurrenz ab

52
Q

Was passiert parallel zur Erstellung der Use-Case-Dokumente?

A

Screen Prototype auf Papier

53
Q

Warum sidn Screen Prototyps gerne gesehen?

A

erleichtern Diskussionen mit den Anwendern und helfen, die Anforderungen zu verstehen

54
Q

Was passiert immer Parallel zu Design und Implementierung?

A

funktionsfähigere ausführbare Prototypen der GUI

55
Q

Was passiert immer parallel zu funktionsfähigeren ausführbaren Prototypen der GUI?

A

Design und Implementierung

56
Q

Was wird in der Testphase der Benutzeroberfläche gemacht?

A

In der Testphase wir im rahmen der User Acceptance Test der Testschwerpunkt auf die Usability gesetzt

57
Q

Nenne die Grundregeln für den GUI Entwurf

A
Benutzervertrautheit
Konsistenz
Minimale Überraschung
Wiederherstellbarkeit
Benutzerführung
Benutzervielfalt
58
Q

Nenne die Grundregeln für den GUI Entwurf und beschreibe diese

A

Benutzervertrautheit
Oberflöche sollte Bezeichnungen und Begriffe aus Erfahrungswelt der Menschen verwenden, die am meisten von System gebrauch machen

Konsistenz
Oberfläche sollte, wo immer möglich, konsistent sein. Bedeutet, dass vergleichbare Operationen auf dieselbe Weise veranlasst werden

Minimale Überraschung
Benutzer sollten vom Systemverhalten nie überrascht werden

Wiederherstellbarkeit
Oberfläche sollte Wiederherstellungsmechanismen für Benutzer enthalten

Benutzerführung
Oberfläche sollte beim Auftreten von Fehlern aussagekräftige Rückmeldungen und kontextsensitive Hilfsmittel für Benutzer anbieten

Benutzervielfalt
Oberfläche sollte für verschiedene Arten von Systembenutzern geeignete Interaktionsmöglichkeiten bereitstellen

59
Q

Grundregeln für GUI-Entwurf

A
  • Text benötigt weniger Bildschirmfläche als graphische Darstellung, kann nicht auf einen Blick erfasst werden
  • Text vorteilhaft, wenn auf Genauigkeit ankommt und Werte sich nur langsam verändern (Sich ständig verändernde Textanzeigen verwirren)
  • Graphische Darstellungen ungenauer, aber übersichtlicher
  • Numerische Informationen, welche sich ständig ändern, werden analog abgebildet
  • Relative Informationen besser analog abgebildet
60
Q

Nenne Grundregeln für Systemmeldungen

A
Kontext
Erfahrung
Fähigkeiten
Stil
Kultur
61
Q

Nenne Grundregeln für Systemmeldungen und beschreibe diese

A

Kontext
Die vom System generierte Meldung sollte aktuellen Benutzerkontext widerspiegeln. Soweit möglic, sollte System wissen, was Benutzer gerade tut und Meldungen ausgeben, die für derzeitige Tätigkeit von Bedeutung sind

Erfahrung
Wenn Benutzer mti Syste vertraut, werden sie durch lange “bedeutungsvolle” Meldungen irritiert. Anfänger finden es schwirig, kurze und knappe Aussagen zu Problemen zu verstehen. Benutzerführungssysteme sollten beide Meldungsarten anieten und es benutzer gestatten, Genauigkeit der Meldung zu steuern.

Fähigkeiten
Meldungen sollten auf Fähigkeiten und Erfahrungen des Nutzers zugeschnitten. Melungen für verschiedene Benutzerklassen solllen abhängig von Leserns vertrauten Terminologien unterschiedlich formuliert sein

Stil
Meldungen eher postive ausgedrückt. Lieber aktive Anrede als passive. Nie verleztztend oder komisch.

Kultur
Gestalter sollte mit Kultur des Landes vertraut sein, inder System verkauft. Eine angemessene Meldung in einer Kultur könnte unzumutbar für eine andere sein

62
Q

Nenne Vorteile, Nachteile und Anwendungsbeispiele für “Menüauswahl” bei Benutzerinteraktionen

A

Vorteile:
Verhindert Benutzerfehler
Weniger Tippen erforderlich

Nachteile:
für erfahrende Benutzer zu langsam
komplex, wenn viele Menüoptionen erhalten

Anwendungsbsp.:
In meisten allgemein eingesetzten Systeme

63
Q

Nenne Vorteile, Nachteile und Anwendungsbeispiele für “Ausfüllen einer Eingabemaske” bei Benutzerinteraktionen

A

Vorteile:
Einfache Dateeingabe
Leicht zu erlernen
Überprüfbar

Nachteile:
Benötigt viel Platz auf Bildschirm
Führt zu Problemen, wenn Benutzeroptionen nicht mit den Formularfeldern übereinstimmen

Anwendungsbsp.:
Bestandskontrolle
Verarbeitung persönlicher Krediten

64
Q

Nenne Vorteile, Nachteile und Anwendungsbeispiele für “Befehlssprache” bei Benutzerinteraktionen

A

Vorteile:
Leistungsfähig und flexibel

Nachteile:
Schwer zu erlenrnen
Schwaches Fehlermanagament

Anwendungsbsp.:
Betriebssysteme
Überwachungs- und Steuerungssysteme

65
Q

Nenne Vorteile, Nachteile und Anwendungsbeispiele für “Direkte Manipulation” bei Benutzerinteraktionen

A

Vorteile:
Schnelle und intuitive Interaktion
Leicht zu erlernen

Nachteile:
Möglicherweise schwierig zu implementieren
nur angemessen, wenn optische Metaphern, Aufgaben, Objekte

Anwendungsbsp.:
Videospiele
CAD Systeme

66
Q

Nenne Vorteile, Nachteile und Anwendungsbeispiele für “Natürliche Sprache” bei Benutzerinteraktionen

A

Vorteile:
Zugänglich für Gelegenheitsnutzer
Leicht erweiterbar

Nachteile:
Erfordert mehr tippen
Systeme, die natürliche Sprache sind unzuverlässig

Anwendungsbsp.:
Systeme zum Abrufen von Informationen