##entfällt: LE 1 | SWT - Einführung in die Softwaretechnik Flashcards
Was ist Softwaretechnik? Definierte den Begriff!
Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden, Konzepten, Notationen und Werkzeugen für die arbeitsteilige, ingenieurmäßige Entwicklung und Anwendung von umfangreichen Software-Systemen. Zielorientiert bedeutet die Berücksichtigung von Kosten, Zeit, Qualität. (H. Balzert)
Ziele der Softwaretechnik
- Erhöhung der Programmierproduktivität
- Verbesserung der Qualität von Softwareprodukten
- Senken der Entwicklungs- und Wartungskosten
- Automatisierung von Teilgebieten der Softwareerstellung
Best Practices
- Methoden - Vorgehensmodelle
- Werkzeuge - Entwicklungsumgebungen, CASE-TOOLS, Werkzeuge für Anforderungserhebung /-verwaltung und Versions-Buildmanagement
- Standards - Standards für Programmiersprachen, Designstandards und Codingstandards
Sechs Phasen des Softwareentwicklungszyklus
- Analysephase (Ergebnis: Situationsstudie)
- Definitionsphase (Ergebnis: Produkt-Definition)
- Entwurfsphase (Ergebnis: Produkt-Entwurf)
- Implementierungsphase (Ergebnis: Programme)
- Abnahme-/Einführungsphase (Ergebnis: installiertes Produkt)
- Wartungs- und Pflegephase (Ergebnis: gewartetes Produkt)
Qualitätsmerkmale für gute Software
(ISO/IEC 9126 )
- Funktionaliät -> Vorhandensein von Funktionen mit festgelegten Eigenschaften
- Zuverlässigkeit -> Fähigkeit, Leistungsniveau unter festgelegten Bedingungen über festen Zeitraum zu erhalten
- Benutzbarkeit -> Aufwand, der zur Benutzung erforderlich ist
- Effizienz -> Verhältnis, zwischen Leistungsniveau der Software und Umfang der Betriebsmittel
- Wartbarkeit -> Aufwand, der für Änderungen notwendig ist
- Übertragbarkeit -> Eignung, in eine andere Umgebung übertragen zu werden
5 Code Smells und ihr Refactoring
- Große Klassen -> Ausgliedern in kleinere Klassen, Subklassen oder Interfaces
- Codeduplikate -> Abstraktion schaffen um redundanten Quelltext zu vereinheitlichen
- Zu lange Methoden -> Methode neu gliedern, evtl. ausgliedern
- Lange Parameterliste -> Objekt übergeben
- Faule Klasse -> innere Klassen verwenden
Prinzipien des Software Engineerings
- Abstraktion - Verallgemeinerung, Erfassen des Wesentlichen
- Strukturierung - reduzierte Darstellung mit spezifischen Merkmalen für ein komplexes System
- Hierarchisierung - Elemente stehen nach einer Rangordnung zueinander in Beziehung
- Modularisierung - Aufgliederung eines Softwaresystems in Module
- Standardisierung - Vereinheitlichung von Entwicklungsprozess und Produkt
Was versteht man unter dem Begriff Software?
- ausführbares Programm
- Unterscheidung:
- aktive Daten
- ausführbare Programme
- passive Daten
- alle Infos die für erfolgreichen Betrieb des Programmes notwendig sind
- aktive Daten
Was verstehst du unter Technik und Engineering? Beschreibe kurz!
- Technik:
- Handwerk oder Fähigkeit
- Ingenierwissenschaft, Ingenieurwesen
- Engineering:
- technische, wissenschaftliche Fragestellungen theoretisch und praktisch lösen
Teile Softwaretechnik in 5 Kategorien ein und beschreibe diese!