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
Was sind die vereinten Vorteile von Fast-Clients und Thin-Clients?
- 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
26
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
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
27
Welche Typen von Softwaresystem gibt es? (4)
- Ereignisverarbeitende Systeme - Batchverarbeitende Systeme - Transaktionsverarbeitende Systeme - Sprachverarbeitende Systeme
28
Was machen Ereignisverarbeitende Systeme?
Reagieren ständig und sofort auf Ereignisse wie Benutzereingaben
29
Was macht ein Ereignisverarbeitendes System aus?
- sind meist Einbenutzersysteme - müssen schnell auf Benutzerinteraktionen reagieren - bearbeiten Daten längere Zeit im Hauptspeicher
30
Welche Systeme gehören zu Ereignisverarbeitenden Systemen?
Echtzeitsysteme, aber auch Graphik- und Officeprogramme
31
Architektur Ereignisverarbeitende Systeme
Mehrere autonome Objekte stehen miteinander in Kommunikationsbeziehungen, Sie verarbeiten Ereignisse und interpretieren Befehle
32
Was machen Batchverarbeitende Systeme?
verarbeiten Daten am Stück OHNE Eingriffe des Benutzers
33
Architektur Batchverarbeitende Systeme
Bestehen meist aus Komponenten für Eingabe, Verarbeitung und Ausgabe
34
Wann eignen sich Batchverarbeitende Systeme am besten?
auf eine große Menge von Daten immer ähnliche Operationen angewandt werden müssen
35
Was machen Transaktionsverarbeitende Systeme?
verarbeiten Schreib- und Lesezugriffe auf einen großen Datenbestand
36
Was müssen Transaktionsverarbeitende Systeme sicherstellen?
Benutzer sich nicht gegenseitig behindern und dass jede Transaktion atomar ist (ganz oder gar nicht, aber unter keinen Umständen nur teilweise)
37
Architektur Transaktionsverarbeitende Systeme
bestehen oft auf Komponenten für Benutzerinteraktion, Anwendungslogik, Datenhaltung
38
Was machen Sprachverarbeitende Systeme?
arbeiten Anweisungen ab, die in einer formalen Sprache formuliert sind
39
Was gehört zu Sprachverarbeitenden Systemen?
Compiler und Skriptinterpreter für Makros
40
Architektur Sprachverarbeitende Systeme
Verschiedene Komponenten übernehmen das prüfen, auswerten und ausführen von Anweisungen
41
Bsp. Transaktionsverarbeitende Systeme
ein Kassensystem in einem Supermarkt
42
Bsp. Sprachverarbeitende Systeme
ein System, das sehbehinderten Benutzern Webseiten vorliest
43
Bsp. Batchverarbeitende Systeme
ein System, das Mahnungen über zu zahlende Zeitschriftenabonnementsgebühren druckt
44
Bsp. Ereignisverarbeitende Systeme
ein Fotoalbum, das Funktionen zur Wiederherstellung alter Fotografien bietet
45
Welche Softwaresysteme sind besonders für zeitliche Anforderungen gemacht?
Echtzeitsysteme
46
Wovon hängt die korrekte Funktionsweise eines Echtzeitsystems ab?
Ergebnissen und Zeit in der Ergebnisse erzeugt werden
47
Wie funktioniert ein Echtzeitsysteme?
- 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
Nach grundsätzlicher Entscheidung über die Architektur einer Anwendung erfolgt das ...
objektorientierte Design mit Hilfe der bekannten UML-Modelle
49
True or False | Eine gute GUI hat keinen Einfluss auf die Zuverlässigkeit des Systems
FASLE | Eine gute GUI ist entscheidend für die Zuverlässigkeit des Systems
50
Wodurch können viele "Benutzerfehler" vermieden werden?
durch eine der Zielgruppe angemessene Benutzerführung
51
Worauf ist bei Benutzeroberflächen im Web besonders zu achten?
Benutzer, die sich nicht zurechtfinden, wandern sofort zur Konkurrenz ab
52
Was passiert parallel zur Erstellung der Use-Case-Dokumente?
Screen Prototype auf Papier
53
Warum sidn Screen Prototyps gerne gesehen?
erleichtern Diskussionen mit den Anwendern und helfen, die Anforderungen zu verstehen
54
Was passiert immer Parallel zu Design und Implementierung?
funktionsfähigere ausführbare Prototypen der GUI
55
Was passiert immer parallel zu funktionsfähigeren ausführbaren Prototypen der GUI?
Design und Implementierung
56
Was wird in der Testphase der Benutzeroberfläche gemacht?
In der Testphase wir im rahmen der User Acceptance Test der Testschwerpunkt auf die Usability gesetzt
57
Nenne die Grundregeln für den GUI Entwurf
``` Benutzervertrautheit Konsistenz Minimale Überraschung Wiederherstellbarkeit Benutzerführung Benutzervielfalt ```
58
Nenne die Grundregeln für den GUI Entwurf und beschreibe diese
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
Grundregeln für GUI-Entwurf
- 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
Nenne Grundregeln für Systemmeldungen
``` Kontext Erfahrung Fähigkeiten Stil Kultur ```
61
Nenne Grundregeln für Systemmeldungen und beschreibe diese
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
Nenne Vorteile, Nachteile und Anwendungsbeispiele für "Menüauswahl" bei Benutzerinteraktionen
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
Nenne Vorteile, Nachteile und Anwendungsbeispiele für "Ausfüllen einer Eingabemaske" bei Benutzerinteraktionen
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
Nenne Vorteile, Nachteile und Anwendungsbeispiele für "Befehlssprache" bei Benutzerinteraktionen
Vorteile: Leistungsfähig und flexibel Nachteile: Schwer zu erlenrnen Schwaches Fehlermanagament Anwendungsbsp.: Betriebssysteme Überwachungs- und Steuerungssysteme
65
Nenne Vorteile, Nachteile und Anwendungsbeispiele für "Direkte Manipulation" bei Benutzerinteraktionen
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
Nenne Vorteile, Nachteile und Anwendungsbeispiele für "Natürliche Sprache" bei Benutzerinteraktionen
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