Fichas
SWT

Fichas del conjunto (87)
- 1Definition Software SystemSystem, dessen Systemkomponenten/Systemelemente aus Software bestehen
Systemkomponente/-elemente stehen in Beziehung zueinander, Systemelemente nicht zerlegbar - 2Definition BasissoftwareNutzung anwendungsabhängiger, gerätebezogener Prozesse (Systemsoftware), Orientierung an Hardware, ergänzt funktionale Fähigkeiten der Hardware -> für spezifische Hardware entwickelt, um Betrieb/ Wartung zu ermöglichen
- 3Definition Anwendungssoftwareauch Applikationssoftware
Nutzung technischer Mittel zur Bearbeitung spezifischen Anwendungsprogramms (nutzt Systemsoftware) - 4Definition Software Produkterfolgreich durchgeführtes Projekt, besteht aus Softwaresystem (Dokumentation + Konfigurationsdaten) und Webseiten
- 5angestrebte Eigenschaften von SoftwareVerlässlichkeit: beim Versagen der Software keine physischen/ökon. Schäden
Benutzbarkeit: nach Bedürfnissen des Nutzers richten, ergonomisch/ selbsterklärend
Wartbarkeit: anpassbar an neue Anforderungen, plattformenunabhängig
Effizienz: muss ökon. Gebrauch von Ressourcen unterliegenden Programms machen - 6Definition Softwaretechniksystematische Entwicklung (Korrekturen, Anpassungen, Erweiterungen)/ Pflege von Softwaresystemen, die spezifizierte funktionale/ nicht funktionale Attribute erfüllen
- 7Organisatorische Aspekte der SoftwaretechnikPlanung, Personalfindung, Stellenbesetzung, Arbeitsorganisation,
Leitung, Kontrolle - 8Systematische Aspekte SoftwaretechnikMethoden/ Werkzeuge zielgerichtet eingesetzt
- 9Funktionale Attribute Nicht-Funktionale Attribute (Qualitätsattribute)- > spezifizieren die Funktion der Software
-> spezifizieren, wie gut die Software ihre Funktion erfüllt - 10Ziel SoftwaretechnikSoftware mit festgelegtem Funktionsumfang,
in hoher Qualität ,
kostengünstig innerhalb des Budgets
zum geplanten Zeitpunkt - 11Werkzeuge der Softwaretechnikautomatisieren Tätigkeiten, die...
-> hohe Präzision erfordern
-> oft wiederholt werden müssen
-> eine Überprüfung erfordern
erhöhen Produktivität - 12Prozess und Produkt der Software Erstellung

- 13Anforderungsanalyse Definition Anforderungeinzelne logische Aussage
beinhaltet ein Schlüsselwort (SHALL, SHOULD, WILL / MUSS,
SOLLTE, WIRD)
Ursache - Wirkung
klar formuliert/ verständlich
durch eindeutige ID nachverfolgbar
testbar - 14Requirements Engineering

- 151. Schritt Anforderungsanalyse: StakeholderanalyseStakeholder = Informationslieferanten
für Ziele, Anforderungen, Randbedingungen
-> alle Personen, die vom Produkt betroffen - 161. Schritt Stakeholder identifizieren

- 172. Schritt Ziele identifzierenvollständig, korrekt, konsistent,
testbar, verstehbar für alle Stakeholder,
umsetzbar, notwendig, eindeutig
Lösungsneutralität
einschränkende
Rahmenbedingungen - 183. Anforderungen aufnehmenInterview, Fragebogen, Inventurmethode, Beobachtungsmethode, Anforderungsworkshop
- 19Use CaseAnforderungen des Anwenders,
aus mehreren Szenarien (Abfolge Schritte zwischen Akteur/System)
System = Blackbox
gutes Use Case: fasst mehrere Arbeitsschritte zusammen, klar definierte Ziele/ Startpunkt - 20Dokumentationsschablone

- 21Use Case Begriffe

- 22Business Use Case System Use CaseInteraktion zwischen Firma/ Geschäftssystem
Interaktion mit zu entwickelnden Softwaresystem - 23Aktivitätsdiagrammevisualisieren Prozesse/ Abläufe (Flow Chart), Detaillierung von Use Case
- 24Begrifflichkeiten

- 25Objekt/-flüsse im Aktivitätsdiagramm

- 26Textuelle Anforderungen - Funktionale Anforderungenbeschreibt, was ein System tun soll

- 27Nicht-Funktionale Anforderungenwelche Eigenschaften soll das Produkt haben

- 28Metriken nicht-funktionaler Anforderungen

- 29Sprachliche PathologienTilgungen: Sachverhalte verkürzt
Generalisierung: verallgemeinert (nie, kein, alle, jeder, alle-> Universalquantoren=
Verzerrung: Einzelaktivitäten im Substantiv zusammengefasst - 30Sprachschablone und Glossar

- 31VorgehensmodelleRahmenwerke, die festlegen
• welche Aktivitäten
• in welcher Reihenfolge
• durch wen (Rollen),
• mit welchen Ergebnissen (Produkte)
für individuelles Projekt relevant
-> definierte, standardisierte Vorgehensweise, machen Projekte plan-/steuerbar, fördern interne/externe Kommunikation, erzwingen struktuiertes, zielorientiertes Handeln - 32Das Wasserfallmodell

- 33Das Wasserfallmodell - Vor- und NachteileVorteile: intuitiv, leicht erlernbar, wenig Managementaufwand, suggeriert planbaren Entwicklungsverlauf, strukturiert und leicht steuerbar
Nachteile: Realität t Modell, wenig Reaktion auf verändernde Anforderungen, Anwender sieht System Ende, Test Ende, lange Laufzeiten, hohe Aufwände späterer Projektphase
Optimierung: möglich in vorige Phase zu springen - 34Prototypische Entwicklung

- 35Iterative Entwicklung

- 36Iterativ inkrementelle Entwicklung

- 37Komplexe Vorgehensmodelled
- 38Das V-Modell des Bundes

- 39Tailoring V-Modell XT

- 40Rational Unified Process

- 41Struktur des RUP

- 42Charakteristik klassischer Software EntwicklungsmethodenDokumentenzentriert: Lastenheft, Pflichtenheft, Designmodelle, Code
Prozessorientiert: Sequentielle Abarbeitung Schritte
Arbeitsteilig
Planorientiert: Vorabplanung Budget, Zeit, Umfang - 43Kritik klassischer Modelleviele Dokumente
•schwer zu verstehen
•aufwendiges Tailering
•wenig Kreativität
•Anpassungen sind aufwendig - 44Überblick agiler Methoden

- 45Zusammenfassung agile MethodenFlexibilität: Änderbarkeit/ Anpassung Anforderungen
Einfachheit: einfache Lösungen anstreben
Zufriedenheit: Rückkopplung Kunden, Transparenz
kürzere Laufzeiten: schneller zum lauffähigen Produkt - 46Vergleich klassische/ agiler Methoden

- 47Grobdesign - Klassendiagrammstatische Sicht auf System,
zur Abbildung
Struktur, statischen Eigenschaften/ Beziehungen, Daten/ Operationen
Beziehungen zwischen Objekten
- Vererbung (Generalisierung, Spezialisierung)
- Benutzung (Assoziation)
- Enthaltensein (Komposition, Aggregation)
- Abhängigkeit - 48Grobdesign - GUI PrototypingDarstellung / Entwurf einzelner Oberflächen
Konzeption des Benutzerverhaltens (Screenfolge, UI-Flow)
Dimensionen:
• Funktionsumfang
• Funktionstiefe
• Darstellungstreue
• Interaktivität
• Datengehalt
• Technische Reife - 49GUI Charakteristik1. Material: aus welchen Mitteln, Materialien, Medien
2. Scope: welche, wie viele Produkteigenschaften
modelliert
3. Fidelity: wie detailliert/ realitätsnah
Produkteigenschaften jeweiligen Dimensionen
realisiert - 50Feindesign -SequenzdiagrammeInteraktion der Klassen auszugsweise nachspielen
• mit Sequenzdiagrammen so beschreiben, dass sie mit
Nutzereingaben beginnen und resultierende Ausgaben
beschreiben - 51Softwarearchitekturlegt übergeordnete Organisation Softwaresystems mit globalen Kontrollstrukturen fest
• definiert die SW-Komponenten des Systems mit Schnittstellen
• beschreibt dynamisches Verhalten Systems, indem
Beziehungen/ Interaktionen zwischen den SWKomponenten
festlegt - 52PaketdiagrammeStrukturierung Software Pakete:
Klassen, die eng zusammenhängen
Klassen die schwach zusammenhängen
- 53Komponentendiagrammstellt logische Komponente und Schnittstellen dar

- 54Systemarchitektur - Deployment DIagrammbeschreibt verwendete Hardware & Deployment (Verteilung Software Komponente auf Hardware)

- 55Systemzerlegung/ Architekturprinzipien - allgemeine HeuristikenKISS - Lösung Problems so einfach wie möglich und nachvollziehbar
YAGNI - keine theoretischen Funktionen, die man später eventuel brauch könnte - 56Softwarespezifische Architekturprinzipien Lose KopplungKopplung der Subsysteme untereinander, Abhängigkeit von Subsystemen
Möglichst lose Kopplung
- Änderungen beteiligten Subsystem geringe
Auswirkungen (Stabilität)
- Erleichtert Wartbarkeit/ Erweiterbarkeit
• Mittel zur Verringerung der Kopplung
- zusätzliche Unterteilung in Subsysteme
aber: dann größere Komplexität - 57Architekturprinzip - Hohe KohäsionBeziehung zwischen Elemnen Elementen Subsystems
Möglichst hohe Kohäsion !
• enge Beziehung oder ähnliche Aufgaben der Elemente
• erleichtert Verständnis, Wartung/ Anpassung
Mittel zum Erreichen hoher Kohäsion
• Datenkapselung, Objektorientierung
• Benutzung geeigneter Patterns - 58Seperation of COncernverschiedene Aspekte trennen, jeden für sich behandeln, verschiedene Subsysteme
reduziert Komplexität, ermöglicht arbeitsteilige Bearbeitung
Mittel zum Erreichen
• Modularisierung
• Orientierung an Anwendungsfällen
• Trennung von technisch und fachlichen Anteilen - 59VerantwortlichkeitsprinzipObjekte/ Klassen erfüllen in Zusammenarbeit mit anderen Klassen/ Objekte Aufgaben eigenverantwortlich

- 60Information Hidingnur Schnittstelle mit Umwelt kommunizieren lassen (interfaces)
- 61Abstraktionwichtige Aspekte identifizieren, unwichtige Details vernachlässigen
explizite Schnittstellen
• Trennung von Schnittstelle und Implementierung
• Liskow-Substitutions-Prinzip
• Schnittstellen Segrationsprinzip - 62Taktiken - Stile -Muster

- 63Architekturmuster - SchichtenarchitekturZerlegungshierarchie
Innerhalb der Schicht, können Bausteine frei agieren
• zwischen zwei Schichten kann nur über die
vorgesehene Schnittstelle kommuniziert werden
bietet darüberlegenden Schicht Dienste an
Abhängigkeit nur von darunterliegenden - 643-Schichten Architektur1. Präsentationsschicht (Benutzeroberfläche, Reaktion auf Dateneingabe)
• der Anwendungsschicht und (fachliche Logik/ Objekte um Geschäftspozesse abzubilden)
• der Persistenzschicht (Dienste, die für dauerhafte Verwaltung sorgen) - 65Model-View-Controller

- 66Pipes und Filters Ketteflexible Architektur zur Bearbeitung Datenströme
Anwendungen mit kompatiblen Ein- und Ausgangsdatenströmen
• Leicht rekonfigurierbar, hoher Grad an Nebenläufigkeit
- 67Repository

- 68Peer-toPeer

- 69EntwurfsmusterEntwurfsmuster primär nach Zweck klassifiziert
Daraus sind drei Gruppen entstanden:
• Erzeugungsmuster (Creational Patterns)
• Strukturmuster (Structural Patterns)
• Verhaltensmuster (Behavioral Patterns)
Sekundär in Klassen- und Objektmuster unterteilt:
• Klassenmuster legen Beziehungen bereits zum Kompilierzeitpunkt
fest, während
• die Beziehungen in Objektmustern zur Laufzeit dynamisch
veränderbar sind - 70Erzeugungsmuster (Creational Patterns)AbstrahierenErzeugung von Objekten–
Entscheidung welcher Typ,
– zu welchem Zeitpunkt;
– auf welche Art (Kontext, Konfiguration etc.)
Delegation der Erzeugung an andere Objekte
( 'Fabrik'-Konzept: Man fordert ein Objekt an) - 71Strukturmuster (Structual Patterns)Fassen Objekte (oder Klassen) zu größeren/
veränderten Strukturen zusammen,
Erlauben unterschiedlichen Strukturen sich einander
anzupassen/miteinander zu verbinden - 72VerhaltensmusterBeschreiben Interaktion zwischen Objekten
– Legen Kontrollflüsse zwischen Objekten fest
Zuständigkeit und/oder Kontrolle werden delegiert - 73Übersicht Muster

- 74Entwurfsmuster Singleton (Erzeugungsmuster, objektbasiert)von Klasse nur genau eine Instanz erzeugt, auf diese Zugriffspunkt
Implementierungseigenschaften:
- statisches Attribut für Objektinstanz
- statische Methode für Zugriff auf Objekt
- privater Konstruktor (verhindert externe Instanzierung) - 75Beispiel Singleton

- 76Beispiel Singletonpublic class Singleton {
private int x=0;
private int y=0;
private static Singleton pkt=null; //für einziges
//Exemplar
private Singleton(int x, int y){
this.x=x;
this.y=y;
}
public static Singleton getPunkt(){
if (pkt==null) // ein einziges Mal erzeugen
pkt= new Singleton(6,42);
return pkt;
} - 77Observer (Verhaltensmuster, Publisher Subscriber, objektbasiert)Verwendung Daten, die von anderer Komponente bereitgestellt
- 78Observer ProblemÄnderung internen Zustands Komponente ->
Inkonsistenzen zwischen kooperierenden Komponenten
für Herstellung Konsistenz Mechanismus benötigt ->
Daten/ Informationen über Zustand
Komponenten ausgetauscht, dabei Komponenten nur lose gekoppelt
vorher nicht bekannt, welche Komponenten internen
Zustand kennen müssen - 79Lösung ObeserverSubjekte für deren Zustand sich viele interessieren
(z. B. Nachrichtenkanäle)
• Die Subjekte bieten die Möglichkeit, dass sich Interessenten
(Beobachter) dynamisch anmelden (z. B. Kanal abonnieren)
• Bei jeder Subjektzustandsänderung werden Interessenten
informiert (neue Nachrichten)
Interessent muss sich bei Subjekt anmelden
Damit Subjekt weiß, wie Interessent angesprochen werden soll,
muss Interessent bestimmte Schnittstelle realisieren - 80Beispiel Grafik Obesever

- 81Beispiel Grafik Observer

- 82Obeser Beispiel

- 83Fassade (Strukturmuster, objektorientiert)stellt einheitliche, zusammengefasste Schnittstelle zu Menge von Schnittstellen Subsystems zur Verfügung
Motivation für Einsatz
– Minimierung Abhängigkeiten zwischen Subsystemen
– vereinfachte Anwendung Subsystems
– Austauschbarkeit Subsystems gewährleisten - 84Fassade

- 85Vor-/ Nachteile Pattern

- 86Test und Qualitätssicherung Ziele von TestenAusführung Programms mit Ziel, Fehlerwirkungen nachzuweisen, Qualität zu bestimmen, Vertrauen in Programm erhöhen, Systemanalyse, um Fehler vorzubeugen
- 87—
Información
- Descripción
- Fichas sobre SWT, creado por Tzoko el 06/07/2015.
- Creado por
- Tzoko · jul 2015
- Actualizado
- 7 mar 2018
- Visitas
- 10
- Valoración