##entfällt: LE 1 | SWT - Einführung in die Softwaretechnik Flashcards

1
Q

Was ist Softwaretechnik? Definierte den Begriff!

A

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)

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

Ziele der Softwaretechnik

A
  • Erhöhung der Programmierproduktivität
  • Verbesserung der Qualität von Softwareprodukten
  • Senken der Entwicklungs- und Wartungskosten
  • Automatisierung von Teilgebieten der Softwareerstellung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Best Practices

A
  • Methoden - Vorgehensmodelle
  • Werkzeuge - Entwicklungsumgebungen, CASE-TOOLS, Werkzeuge für Anforderungserhebung /-verwaltung und Versions-Buildmanagement
  • Standards - Standards für Programmiersprachen, Designstandards und Codingstandards
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Sechs Phasen des Softwareentwicklungszyklus

A
  • 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)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Qualitätsmerkmale für gute Software

(ISO/IEC 9126 )

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

5 Code Smells und ihr Refactoring

A
  1. Große Klassen -> Ausgliedern in kleinere Klassen, Subklassen oder Interfaces
  2. Codeduplikate -> Abstraktion schaffen um redundanten Quelltext zu vereinheitlichen
  3. Zu lange Methoden -> Methode neu gliedern, evtl. ausgliedern
  4. Lange Parameterliste -> Objekt übergeben
  5. Faule Klasse -> innere Klassen verwenden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Prinzipien des Software Engineerings

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was versteht man unter dem Begriff Software?

A
  • ausführbares Programm
  • Unterscheidung:
    • aktive Daten
      • ausführbare Programme
    • passive Daten
      • alle Infos die für erfolgreichen Betrieb des Programmes notwendig sind
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was verstehst du unter Technik und Engineering? Beschreibe kurz!

A
  • Technik:
    • Handwerk oder Fähigkeit
    • Ingenierwissenschaft, Ingenieurwesen
  • Engineering:
    • technische, wissenschaftliche Fragestellungen theoretisch und praktisch lösen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Teile Softwaretechnik in 5 Kategorien ein und beschreibe diese!

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