Software Engineering II
Informatik, 4. Semester
Informatik, 4. Semester
Set of flashcards Details
Flashcards | 54 |
---|---|
Language | Deutsch |
Category | Computer Science |
Level | University |
Created / Updated | 17.01.2017 / 28.11.2019 |
Weblink |
https://card2brain.ch/cards/20170117_software_engineering_ii
|
Embed |
<iframe src="https://card2brain.ch/box/20170117_software_engineering_ii/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Was sind Ziele und Aufgaben des Entwurfs? (6 Stück)
- Entwurf eines Systems, das die Anforderungen des Kunden optimal beschreibt
- sorgt für Umsetzung der nicht-funktionalen und funktionalen Anforderungen
- Beschreibung des Systems auf technischer Ebene
- Ausgangspunkt für Implementierung
- Festlegung auf Architektur des Systems
- auf Bausteinebene
- auf Gesamtsystemebene
- Kommunikationsmittel zwischen den Projekt-Stakeholdern
Wie lässt sich "Architektur" definieren?
- Beschreibung von Systemstrukturen
- erstes Artefakt zur Analyse der Einhaltung von Qualitätseigenschaften
- Beschreibung der Beziehung von Komponenten und Verbindungen
- fundamentale Organisation eines Systems, verkörpert durch
- seine Komponenten,
- deren Beziehungen,
- deren Umwelt,
- die Prinzipien hinter dem Design + der Evolution des Systems
In welche zwei Kategorien lässt sich ein Entwurf unterteilen?
- strategischer Entwurf
- taktischer Entwurf
Was versteht man unter einem strategischen Entwurf?
- Architektur im „Großen“
- Entwurf auf Systemebene
- Entscheidungen über Technologie, Gesamtaufbau des Systems, etc.
Was versteht man unter einem taktischen Entwurf?
- Architektur im "Kleinen“
- Entwurf auf Bausteinebene (also im klassischem SWE-Sinne)
- Entscheidungen über Aufbau der einzelnen Bausteine (z. B. Entwurf der Klassen, usw.)
Die Architektur ist Hauptträger der Systemqualitäten. Welche drei sind dies?
- Performanz
- Veränderbarkeit
- Sicherheit
Fasse das Ziel des Entwurfs in einem kurzen Satz zusammen.
Das Ziel des Entwurf ist eine Abbildung eines Systems, das die Anforderungen optimal beschreibt.
Welche Arten von Anforderungen gibt es? Handelt es sich um Faktoren hinter dem stragischen oder dem taktischen Entwurf?
- Nicht-funktionale Anforderungen:
- z. B. Zuverlässigkeit, Benutzbarkeit, Effizienz, Änderbarkeit, Übertragbarkeit
- Faktoren hinter strategischem Entwurf
- Funktionale Anforderungen:
- z. B. Verarbeitung von Eingaben, Erstellen und etwaige Verarbeitung von Ausgaben
- Faktoren hinter taktischem Entwurf
Was sind Voraussetzungen, um Anforderungen in eine Architektur umzusetzen?
- Erfahrung des Softwarearchitekten
- Unterstützung durch Auftraggeber
Wie hat sich die Softwarearchitektur mit der Zeit verändert?
- prozedurale --> objektorientierte Programmiersprache
- Großcomputer --> mobile Geräte
- monolithische Applikationen --> modulare Systeme
- Unified Modeling Language (UML) zur Abbildung von komplexen Systemen
- 80er, 90er, frühe 00er: Rich-Client-Applikationen
- durch PHP, Java Server Pages, ASP.net --> Webapplikationen
- heutzutage: Server Oriented Architecture (SOA)
Was ist eine Rich-Client-Applikation?
- gesamte Geschäftslogik und Funktionalität der Anwendung wird so weit wie möglich in die Desktop-Applikation verlagert
- etwaiges Backend (z. B. Datenbank-Server) bedient sich ausschließlich Funktionalitäten, die nicht in der Desktop-Anwendung abgebildet werden können
Nenne drei historische Softwarearchitekturen.
- 2-Tier-Architekur
- 3-Tier-Architektur
- Service-orientierte Architektur (SOA)
Was versteht man unter einer 2-Tier-Architektur?
- Anwendung + Backend-Komponente --> Trennung von Logik/Präsentation + Datenbank
- Vorteil: zentral verfügbare Datenmenge, die von mehreren Benutzern verwendet wird; nur an einer Stelle Administrationsaufwand
- Nachteil: Notwendigkeit von erweiterten Maßnahmen zur Sicherstellung der Datenkonsistenz
Was versteht man unter einer 3-Tier-Architektur?
- Geschäftslogik wird aus Anwendungsschicht extrahiert und ähnlich wie die Datenbank zentral verfügbar gemacht --> Präsentation + Logik + Datenbank
- Vorteile: konsistenter Datenzugriff + bessere Wartbarkeit
- Nachteil: längere + detailliertere Planungsphase
Was versteht man unter einer Service-orientierten Architektur?
- Services als komplett eigenständige Komponenten
- Neukonfiguration der Kommunikation mit minimalem Aufwand möglich
Warum ist ein sorfältiger Entwurf von Benutzerschnittstellen so wichtig?
- entscheidender Bestandteil der gesamten Softwareentwicklung
- soll Fähigkeiten, Erfahrung und Erwartungen der voraussichtlichen Benutzer entsprechen
- entscheidend für die Zuverlässigkeit des Systems
Was sind die sechs Grundsätze für den Entwurf von Bedienoberflächen?
- Benutzervertrautheit --> Bezeichnungen + Begriffe aus Erfahrungswelt der Menschen, die am meisten vom System Gebrauch machen
- Konsistenz --> vergleichbare Operationen auf dieselbe Weise veranlassen
- minimale Überraschung --> keine Überraschung vom Systemverhalten
- Wiederherstellbarkeit --> Wiederherstellungsmechanismen für Benutzer
- Benutzerführung --> aussagekräftige Rückmeldungen + kontextsensitive Hilsfmittel für Benutzer beim Auftreten von Fehlern
- Benutzervielfalt --> für versch. Arten von Systembenutzern geeignete Interaktionsmöglichkeiten
Wie lauten die sieben Dialoggrundsätze für interaktive Systeme?
- Aufgabenangemessenheit
- Selbtsbeschreibungsfähigeit
- Steuerbarkeit
- Erwartungskonformität
- Fehlertoleranz
- Individualisierbarkeit
- Lernförderlichkeit
Was versteht man unter Aufgabenangemessenheit?
- System unterstützt Benutzer, seine Arbeitsaufgabe vollständig, korrekt, mit einem vertretbaren Aufwand und zur Arbeitsaufgabe passenden Dialogschritten zu erledigen
- --> einfach + direkt zum Ziel
Was versteht man unter Selbstbeschreibungsfähigkeit?
- Benutzer weiß zu jeder Zeit, in welchem Dialog, an welcher Stelle im Dialog er sich befindet, welche Handlungen unternommen werden können, wie diese ausgeführt werden können
- --> Intuition reicht aus
Was versteht man unter Steuerbarkeit?
- Benutzer ist in der Lage, den Dialogablauf zu starten sowie seine Richtung und Geschwindigkeit zu beeinflussen, bis das Ziel erreicht ist
Was versteht man unter Erwartungskonformität?
- Dialog entspricht den aus dem Nutzungskontext heraus vorhersehbaren Benutzerbelangen sowie allgemeinen anerkannten Konventionen
- Sprache + "Arbeitsgebräuche" der Benutzer sind berücksichigt
- --> entspricht Gewohnheit
Was versteht man unter Fehlertoleranz?
- System bewahrt Benutzer vor Fehlern (z. B. durch klar verständliche Sicherheitsabfragen)
- beabsichtigtes Arbeitsergebnis kann trotz erkennbar fehlerhafter Eingaben entweder mit keinem oder mit minimalem Korrekturaufwand seitens des Benutzers erreicht werden
Was versteht man unter Individualisierbarkeit?
- Mensch-System-Interaktion + Darstellung von Informationen können vom Benutzer geändert werden, um diese an seine individuellen Fähigkeiten + Bedürfnisse anzupassen
Was versteht man unter Lernförderlichkeit?
- Benutzer wird beim Erlernen der Nutzung des interaktiven Systems unterstützt + angeleitet
Was sind die beiden Schlüsselfragen für den Gestalter?
- Wie soll der Benutzer mit dem Computersystem interagieren?
- Wie sollen Informationen des Computersystems dem Benutzer dargestellt werden?
Welche Arten von Interaktionen gibt es?
- Direkte Manipulation
- Menüauswahl
- Ausfüllen einer Eingabemaske
- Befehlssprache
- Natürliche Sprache
Warum ist eine Trennung des Darstellungssystems von den Daten sinnvoll?
- Darstellung kann auf dem Benutzerbildschirm geändert werden, ohne das zugrunde liegende Berechnungssystem angehen zu müssen
Was sind fünf grundlegende Fragen bei der Entscheidung über die Darstellungsform von Informationen?
- Ist der Benutzer an genauen Informationen oder Beziehungen zwischen den Datenwerten interessiert?
- Wie schnell verändern sich die Informationswerte? Sollte die Wertveränderung unmittelbar angezeigt werden?
- Muss der Benutzer auf Informationsänderungen Maßnahmen ergreifen?
- Muss der Benutzer über eine Oberfläche direkt mit der angezeigten Information interagieren?
- Handelt es sich um Text oder um numerische daten? Sind Verhältnisse von Werten zueinander von Bedeutung?
Was ist beim Einsatz von Farben zu beachten?
- Anzahl der verwendeten Farben beschränken
- Farbänderungen bei Änderung des Systemzustands
- Farbcodes zur Unterstützung der vom Benutzer zu verrichtenden Aufgabe
- Farbcode auf bedachte + konsistente Weise verwenden
- sorgsamer Umgang mit Farbpaaren
Was sind die fünf Entwurfsgrundsätze bei der Formulierung von Meldungen?
- Kontext
- Erfahrung
- Fähigkeiten
- Stil
- Kultur
Was sind die fünf Attribute der Benutzerfreundlichkeit?
- Erlernbarkeit
- Antwortgeschwindigkeit
- Stabilität
- Wiederherstellbarkeit
- Anpassungsfähigkeit
Was gibt es für Techniken für die Bewertung von Benutzeroberflächen?
- Experimente
- Fragebögen
- Beobachtungen
- Videoaufnahmen
- Einbeziehung von Code in die Software
Wie sieht der direkte Ansatz für die Oberflächenentwicklung aus?
- jede Klasse, deren Informationen nach außen sichtbar sein sollen --> eigene Oberflächen-Klasse (Boundary-Klasse)
- Methoden der Maskenklasse ergeben sich aus den bisher gefundenen Methoden der vorhandenen Klassen
- Prüfung jeder Methode, ob sie sichtbar sein soll
- Einfügen einer zentralen Oberflächen-Klasse: steuert, welche Maskenklasse aktuell zur Anzeige genutzt wird
- Ausführung: Maskenobjekt benutzt in der Oberfläche eingegebene Werte, um die Methode der genutzen Klasse aufzurufen
Wie lässt sich "Implementierung" definieren?
- Prozess des Umwandelns eines Entwurfs in Hardware-Komponenten, Software-Komponenten oder beides.
- Ergebnis des Prozesses in 1.
Welche Bedingungen müssen vor Start der eigentlichen Implementierung erfüllt sein?
- Vorhandensein einer Architektur
- Definition eines Teams
- Treffen einer Entscheidung bzgl. Programmiersprache und Toolunterstützung