Vorlesung Softwaretechnik
41 Questions
1 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Welcher Begriff beschreibt das Wachstum der Komplexität im Software Engineering?

  • Minimierung
  • Dekrement
  • Skalierung (correct)
  • Reduzierung

In welchem Bereich ist das Wachstum der Codegröße am höchsten?

  • Unmanned Missions (correct)
  • Manned Missions
  • Netzwerksicherheit
  • Hardwareentwicklung

Was könnte eine Konsequenz der wachsenden Komplexität im Software Engineering sein?

  • Bessere Dokumentation
  • Vereinfachung der Programmierung
  • Erhöhung der Fehlerrate (correct)
  • Reduzierte Hardwareanforderungen

Welches Jahr ist mit dem Verlust der Sonde 'Mars Climate Orbiter' verbunden?

<p>1999 (D)</p> Signup and view all the answers

Welche Aussage bezüglich der Codegröße in der Raumfahrt ist korrekt?

<p>Die Codegröße variiert je nach Missionstyp. (D)</p> Signup and view all the answers

Welche der folgenden Optionen beschreibt die Codegröße für unbemannte Missionen?

<p>Sie beobachtet ein exponentielles Wachstum. (B)</p> Signup and view all the answers

Wie hoch war der Einnahmeausfall durch die Softwareprobleme bei Toll Collect?

<p>5 Milliarden Euro (A)</p> Signup and view all the answers

Was war der Grund für die Aufhebung der einheitlichen Software 'Fiskus'?

<p>Dauer von 13 Jahren ohne Erfolg (B)</p> Signup and view all the answers

Wie viele Verwaltungsleistungen waren bei der Umsetzung des Onlinezugangsgesetzes tatsächlich digital verfügbar?

<p>114 (D)</p> Signup and view all the answers

Was war die Hauptauswirkung des telefonischen Zusammenbruchs bei der europäischen Luftsicherung im Jahr 2013?

<p>Hunderte Flugausfälle (B)</p> Signup and view all the answers

Welcher Anteil der Softwarekosten in manchen Betrieben ist für die Anpassung von Altsoftware verantwortlich?

<p>60-70% (A)</p> Signup and view all the answers

In welchem Jahr wurde der Begriff 'Software Engineering' erstmals geprägt?

<p>1968 (A)</p> Signup and view all the answers

Was stellt die Erfolgsstatistik von IT-Projekten zwischen 1994 und 2015 in Bezug auf die Erfolgsquote dar?

<p>Die Mehrheit der Projekte scheitert. (D)</p> Signup and view all the answers

Welche der folgenden Aussagen beschreibt am besten die Definition von Software Engineering?

<p>Etablierung und Nutzung solider Ingenieurprinzipien zur Herstellung zuverlässiger Software. (A)</p> Signup and view all the answers

Was ist eine der Herausforderungen im Software Engineering, die im Kontext von 'Altlasten' erwähnt wird?

<p>Hohe Kosten durch Anpassung bestehender Software. (C)</p> Signup and view all the answers

Welche Technologien werden für den digitalen Zwilling verwendet?

<p>Meta Quest 2&amp;3 (D)</p> Signup and view all the answers

Welches Thema ist nicht Teil der Promotionsstellen am Lehrstuhl für Software Engineering?

<p>Datenbanksysteme (D)</p> Signup and view all the answers

In welchem Semester wird Softwaretechnik im Bachelorstudiengang angeboten?

<ol start="3"> <li>Semester (B)</li> </ol> Signup and view all the answers

Was ist eine Technologie, die im Kontext von IoT verwendet wird?

<p>Raspberry Pi (B)</p> Signup and view all the answers

Welches der folgenden Themen wird im Bereich 'Software-Architekturen' behandelt?

<p>Entwurfsmuster (B)</p> Signup and view all the answers

Welcher Aspekt ist Teil des Modells basierten DevOps?

<p>Modellbasierte Software-Entwicklung (A)</p> Signup and view all the answers

Was ist kein Bestandteil der im B.Sc./M.Sc. Informatik angebotenen Vorlesungen?

<p>Künstliche Intelligenz (C)</p> Signup and view all the answers

Was beschreibt den digitalen Lebenszyklus von Fahrzeugen?

<p>Die Integration in das Internet of Things (C)</p> Signup and view all the answers

Was bedeutet der Begriff 'Software' im Kontext von Software Engineering?

<p>Ein Sammelbegriff für Programme, Dokumentation und zugehörige Daten. (D)</p> Signup and view all the answers

Was ist ein Softwaresystem?

<p>Ein System, dessen Komponenten aus Software bestehen. (D)</p> Signup and view all the answers

Wie wird ein Produkt im Rahmen des Software Engineering definiert?

<p>Ein abgeschlossenes Ergebnis eines erfolgreich durchgeführten Projekts. (A)</p> Signup and view all the answers

Welche Art von Software ist kein Beispiel für Systemsoftware?

<p>Textverarbeitungssoftware (B)</p> Signup and view all the answers

Welche der folgenden Aussagen trifft nicht auf Software-Produkte zu?

<p>Software-Produkte bestehen nur aus Quellcode. (B)</p> Signup and view all the answers

Was beschreibt die Klassifikation von Software nicht?

<p>Ob es sich um grundlegende Algorithmen handelt. (C)</p> Signup and view all the answers

Was trifft auf Echtzeitanforderungen zu?

<p>Software mit Echtzeitanforderungen muss strikt zeitlich kontrolliert werden. (B)</p> Signup and view all the answers

Was ist ein Beispiel für ein Produkt, das häufig als Teil eines Software-Entwicklungsprozesses erstellt wird?

<p>Eine Software-Dokumentation (A)</p> Signup and view all the answers

Welche der folgenden Missionen hatte die größte Anzahl an Non-Comment Source Lines (NCSL)?

<p>Cassini (D)</p> Signup and view all the answers

Wie hoch war die Steigerungsrate der Programmkomplexität in den letzten Jahrzehnten?

<p>Steigerung um 10x alle 10 Jahre (D)</p> Signup and view all the answers

Was ist der Zusammenhang zwischen Programmgröße und Fehleranzahl auf 1000 LOC?

<p>Mit größerer Programmgröße nimmt die Fehleranzahl zu (C)</p> Signup and view all the answers

Welches Jahr war nicht in der Grafik zur Anzahl der Non-Comment Source Lines dargestellt?

<p>2010 (C)</p> Signup and view all the answers

Was ist erforderlich, um echte Qualitätsverbesserungen in der Softwareentwicklung zu erreichen?

<p>Steigerung der Programmkomplexität überkompensieren (A)</p> Signup and view all the answers

Welche der folgenden Missionen hat die geringste Anzahl an NCSL?

<p>Mariner-6 (D)</p> Signup and view all the answers

Wie hoch war die Anzahl der Fehler auf 1000 LOC im Zusammenhang mit der Programmgröße?

<p>Sie steigt mit der Programmgröße (C)</p> Signup and view all the answers

In welchem Jahr hatte das Shuttle die höchste Anzahl an NCSL?

<p>1980 (A)</p> Signup and view all the answers

Welche Mission wird durch eine Programmgröße von 175.000 NCSL repräsentiert?

<p>Pathfinder (A)</p> Signup and view all the answers

Was ist ein wichtiges Ergebnis in der Grafik zur Fehleranzahl und Programmgröße?

<p>Die Fehleranzahl kann mit zunehmender Programmgröße zunehmen (A)</p> Signup and view all the answers

Flashcards

Softwaredebakel

Ein Softwareprojekt, das aufgrund von Fehlern, Verzögerungen oder Budgetüberschreitungen scheitert.

Mars Climate Orbiter

Der Verlust der Raumsonde Mars Climate Orbiter im Jahr 1999 aufgrund einer fehlerhaften Umrechnung von Einheiten.

Toll Collect

Ein deutsches Projekt zur Einführung eines einheitlichen Systems für die Mauterhebung auf Autobahnen, das durch zahlreiche Verzögerungen und Softwareprobleme geplagt war.

Fiskus

Ein deutsches Projekt zur Einführung einer einheitlichen Software für alle Finanzämter, das nach 13 Jahren und 900 Millionen Euro aufgegeben wurde.

Signup and view all the flashcards

DB-Fahrkartenautomaten-Ausfall

Der Ausfall aller 7000 Fahrkartenautomaten der Deutschen Bahn im Jahr 2009, der zu hohen Kosten führte.

Signup and view all the flashcards

Wachsende Komplexität

Die Zunahme an Komplexität von Softwareprojekten, die mit größerem Umfang einhergeht.

Signup and view all the flashcards

Skalierung

Ein wichtiger Faktor, der die Komplexität in Softwareprojekten beeinflusst.

Signup and view all the flashcards

Entwicklung der Codegröße

Die Entwicklung der Größe von Softwaresystemen, insbesondere für bemannte und unbemannte Raumfahrtmissionen.

Signup and view all the flashcards

Exponentielle Codegröße (unbemannt)

Die Größe des Codes für unbemannte Raumfahrtmissionen wächst exponentiell.

Signup and view all the flashcards

Exponentielle Codegröße (bemannt)

Die Größe des Codes für bemannte Raumfahrtmissionen wächst ebenfalls exponentiell, allerdings langsamer als bei unbemannten Missionen.

Signup and view all the flashcards

Digitaler Zwilling

Ein digitales Abbild eines realen Systems, das dessen Eigenschaften und Verhalten repliziert.

Signup and view all the flashcards

Virtuelle Besichtigung

Ein virtuelles System, das es ermöglicht, ein reales Objekt in einer digitalen Umgebung zu erkunden.

Signup and view all the flashcards

MQTT

Ein Protokoll, das die Kommunikation zwischen IoT-Geräten ermöglicht.

Signup and view all the flashcards

Modellbasierte Software-Entwicklung

Eine Software-Engineering-Methode, die die Entwicklung von Modellen vorrangig behandelt.

Signup and view all the flashcards

Modellbasiertes DevOps

Ein Ansatz, der Software-Entwicklung und -Betrieb integriert.

Signup and view all the flashcards

MontiCore

Eine Sprache zur Definition von Programmiersprachen.

Signup and view all the flashcards

Software-Engineering

Ein Fachgebiet, das sich mit der Entwicklung, Wartung und Verwendung von Softwaresystemen beschäftigt.

Signup and view all the flashcards

Internet of Things (IoT)

Ein Netzwerk von physischen Objekten, die mit dem Internet verbunden sind und Daten austauschen.

Signup and view all the flashcards

Einzelanfertigung

Software, die speziell für einen bestimmten Kunden oder Zweck entwickelt wird. Im Gegensatz zu generischen Produkten (z. B. Betriebssysteme) wird sie nicht für den Massenmarkt produziert.

Signup and view all the flashcards

Systemsoftware

Systemsoftware ist die Grundlage für die Arbeit auf einem Computer. Sie umfasst z. B. Betriebssysteme, Compiler oder Editoren.

Signup and view all the flashcards

Anwendungssoftware

Anwendungssoftware (Applicationsoftware) ist Software, die zur Lösung spezifischer Aufgaben entwickelt wird. Sie dient der Interaktion mit dem Nutzer, z. B. Textverarbeitungsprogramme, Webbrowser oder Spiele.

Signup and view all the flashcards

Produktintegrierte Software

Software, die in andere Produkte integriert wird, z. B. in einen Automobilsteuerungscomputer.

Signup and view all the flashcards

Embedded Software

Embedded Software ist eine spezielle Form von Produktintegrierter Software, die in Geräten eingesetzt wird. Sie hat meist sehr spezifische Aufgaben und ist normalerweise fest mit der Hardware verbunden.

Signup and view all the flashcards

Echtzeitsoftware

Software, die in Echtzeit-Systemen eingesetzt wird. Sie muss innerhalb eines bestimmten Zeitlimits bestimmte Aufgaben erledigen, z. B. in Navigationssystemen oder Steuerungssystemen von Maschinen.

Signup and view all the flashcards

Nicht-Echtzeitsoftware

Software, bei der die Ausführungszeit keine entscheidende Rolle spielt. Sie wird z. B. für Verwaltungsaufgaben, Textverarbeitung oder Spiele verwendet.

Signup and view all the flashcards

Softwareprodukt

Ein Softwareprodukt ist das Ergebnis eines erfolgreichen Softwareentwicklungsprojekts. Es kann ein Teilprodukt (z. B. eine Komponente) oder ein komplettes System sein, das für einen Kunden oder den Markt entwickelt wurde.

Signup and view all the flashcards

Was ist Software Engineering?

Die Softwareentwicklung beschäftigt sich mit der Anwendung von ingenieurwissenschaftlichen Prinzipien und Methoden zur Erstellung hochwertiger Software.

Signup and view all the flashcards

Wie erfolgreich sind IT-Projekte?

Die meisten Softwareprojekte scheitern oder erleben große Herausforderungen. Die Erfolgsrate liegt meist unter 50%.

Signup and view all the flashcards

Was sind "Altlasten" in der Softwareentwicklung?

Alte Software ist eine große Herausforderung. Oft ist alte Software über 20 Jahre alt und muss angepasst werden, was kostspielig ist.

Signup and view all the flashcards

Was ist "Faktor 10 in 5 Jahren"?

Faktor 10 in 5 Jahren bedeutet, dass die Kosten für die Wartung und Anpassung alter Software in 5 Jahren um das Zehnfache steigen können.

Signup and view all the flashcards

Wann wurde Software Engineering als Disziplin etabliert?

Software Engineering wurde erstmals 1968 als Disziplin etabliert.

Signup and view all the flashcards

NCSL (Non-Comment Source Lines)

Die NCSL (Non-Comment Source Lines) repräsentiert die Gesamtzahl der Codezeilen in einem Softwareprojekt, ohne Kommentare. Diese Kennzahl dient dazu, die Komplexität und den Umfang des Projekts zu messen.

Signup and view all the flashcards

Komplexitätssteigerung in der Raumfahrt

Die NCSL zeigt, wie sich die Komplexität und das Volumen von Raumfahrtprojekten von 1968 bis 2005 entwickelt haben. Die Grafik zeigt einen exponentiellen Anstieg der NCSL im Laufe der Zeit.

Signup and view all the flashcards

Exponentielles Komplexitätswachstum

Die Komplexität von Softwareprojekten wächst exponentiell mit der Zeit. Im Beispiel der Raumfahrt hat sich die NCSL in etwa 10 Jahren verzehnfacht.

Signup and view all the flashcards

Linearer Fehleranstieg

Die Anzahl der Fehler in Softwareprojekten steigt linear mit der Größe des Programms. Dies zeigt, dass mehr Code auch mehr Fehler bedeutet.

Signup and view all the flashcards

Qualitätsverbesserungen bei Softwarekomplexität

Um die Qualität von Software zu verbessern, muss die Steigerung der Programkomplexität durch effiziente Programmiermethoden und strenge Tests überkompensiert werden. Einfach mehr Code zu schreiben, führt zu mehr Fehlern.

Signup and view all the flashcards

KNCSL (Kilo Non-Comment Source Lines)

Die KNCSL (Kilo Non-Comment Source Lines) ist eine Einheit, die die Komplexität von Softwareprojekten in Tausenden von Codezeilen misst.

Signup and view all the flashcards

Codegrößen von Raumfahrtprojekten

Das Apollo-Programm hatte etwa 8.500 Zeilen Code, das Raumschiff Shuttle etwa 470.000 Zeilen, und die Internationale Raumstation (ISS) ca. 1.5 Millionen Zeilen Code.

Signup and view all the flashcards

Codegrößen von Raumfahrtmissionen

Die Mariner-6-Mission hatte ca. 30.000 Codezeilen, die Voyager-Mission ca. 3.000 Zeilen, und die Galileo-Mission ca. 8.000 Zeilen Code.

Signup and view all the flashcards

Codegrößen von Weltraumteleskopen und Mars-Missionen

Die Spitzer-Mission (SIRTF) benötigte ca. 554.000 Zeilen Code, die Mars Reconnaissance Orbiter (MRO) ca. 545.000 Zeilen und die Mars Exploration Rovers (MER) ca. 555.000 Zeilen.

Signup and view all the flashcards

Fehleranzahl in Relation zur Codegröße

Die Grafik zeigt den linearen Anstieg der Fehleranzahl (absolute Fehler) in Bezug auf die programmierte Codegröße (in 1000 Zeilen Code). Mehr Code führt proportional zu mehr Fehlern.

Signup and view all the flashcards

Study Notes

Vorlesung Softwaretechnik

  • Der Professor für Software Engineering an der RWTH Aachen ist Bernhard Rumpe.
  • Die Vorlesungsseite ist unter http://www.se-rwth.de/ zu finden.
  • Wichtige Themenbereiche der Softwaretechnik sind u.a. Software-Lebenszyklus, Objekt-orientierte Software, Software-Architektur, Algorithmen, Programmierung, verschiedene Programmiersprachen (Python, Java), Software-Management, SDLC.
  • Die Industrie erfährt einen erhöhten Bedarf an IT-Fachkräften.
  • Softwarefehler können hohe Kosten verursachen und zu ernsthaften Problemen führen (z.B. Boeing 737 Max Softwarefehler).
  • Die Ariane-5 Rakete erlebte 1996 einen Fehlstart aufgrund eines Softwarefehlers, der bei bereits erfolgreich genutzten Systemen wiederholt aufgetreten ist (Ariane-4).
  • Softwarefehler führten zu Schäden im Umfang von Milliarden US-$. (z.B. Intel Pentium FDIV Fehler, NASA Mars Climate Orbiter).

Softwaretechnik - Warum, Was, Wie und Wozu?

  • Die Vorlesung befasst sich mit den Gründen, dem Wesen und dem Zweck der Softwaretechnik.
  • Die Literaturhinweise sind Sommerville 1.1 und Balzert Band 1, LE 1.

Softwaretechnik - Organisatorisches

  • Die Literaturhinweise sind ebenfalls Sommerville 1.1 und Balzert Band 1, LE 1.
  • Ansprechpartner und Dozierende werden vorgestellt.
  • Moodle-Informationen (Adresse) werden bereitgestellt für weitere Informationen.

Software-Systeme

  • Softwaresysteme bestehen aus Programmen, Regeln, Verfahren und (ggf.) zugehöriger Dokumentation.
  • Die zugehörige Literatur ist Sommerville 1.1 und Balzert Band 1, LE 1.
  • Software-Systeme werden in der Vorlesung mit Diagrammen illustriert.

Software-Produkte

  • Begriffliche Klärung von Softwaresystemen und Softwaresystemen.
  • Ein Softwaresystem ist ein Sammelbegriff für ein System aus verschiedenen Komponenten, die aus Software bestehen.
  • Ein Software-Produkt ist das Ergebnis eines Projekts.

Klassifikation von Software

  • Die Vorlesung behandelt verschiedene Arten von Software (Generisch, Produkt-integriert, Echtzeit, Intensität der Datenverarbeitung, Verteilung und Cloud-basiert).

Besonderheiten von Software

  • Software ist immateriell, unverbrauchbar und anfällig für Fehler.
  • Die Software ist veränderungsbedürftig und unterliegt einem kontinuierlichen Anpassungsdruck (z. B. bei neuen technischen Erfordernissen oder veränderten Kundenerwartungen).

Einige wichtige Eigenschaften von Software

  • Zuverlässigkeit, Benutzbarkeit, Wartbarkeit, Effizienz. (Grundelemente, um die Funktionalität der Software zu gewährleisten).

Komplexitätswachstum und -Fehlerrate

  • Die Komplexität von Software, insbesondere von Software in der Raumfahrt, nimmt exponentiell zu (Stichwort: Non-Comment Source Lines (NCSL)).
  • Die Anzahl von Fehlern steigt im Verhältnis mit steigender Komplexität.

Geschätzte relative Abstellkosten je Software-Fehler

  • Kosten für Softwarefehler können sehr hoch sein, besonders bei komplexer Fahrzeugentwicklung (Typisches Fehlerabbaukurve).

Zunehmende Qualitätsanforderungen

  • Die Anforderungen an Softwarequalität nehmen zu, während die Größe und Komplexität der Software exponentiell zunimmt.
  • Es ist notwendig, die Komplexität der Software mit den Qualitätsanforderungen zu kompensieren.

Erfolgsstatistik von IT-Projekten

  • Die Erfolgsrate von IT-Projekten liegt deutlich unter 50%, und die Entwicklung von Software ist herausfordernd. (Statistische Daten zu Projekterfolgen).

Herausforderungen

  • Darstellung der auftretenden Herausforderungen in der Softwareentwicklung mit Cartoon-Bildern. (Illustrierte Darstellung verschiedener Herausforderungen in der Softwareentwicklung)

Definition, Übersicht

  • Definition von Softwaresystemen.
  • Grafiken zum Verständnis der Komponenten von Softwaresystemen.

Software Engineering

  • Definition von Software Engineering.
  • Beschreibt Grundsätze der Erstellung von Software, inklusive der technischen, administrativen und qualitativen Bedingungen.

Aufgabenstellungen der Softwaretechnik

  • Aufgaben und Herausforderungen in der Softwaretechnik, die über die reine Programmierung hinausgehen. (Vorgehensmodelle, Analyse, Tests).

Softwaretechnik vs. Programmieren

  • Unterscheide zwischen Softwareengineering und Programmierung.
  • Anwendungsbeispiele für große Softwarekomplexität (z. B. Windows, Facebook).

Portfolio der SE-Techniken

  • Softwareentwicklungsmodelle und -techniken.
  • Vergleichbar mit einem Werkzeugkasten für verschiedene Aufgaben.

Und was ist mit KI im Software Engineering?

  • Einführung von KI-Technologien im Software Engineering Bereich.

Themen Überblick

  • Übersicht über die Themen der Vorlesung Softwaretechnik (Organisatorisches, Vorgehensmodelle, Analyse, Design, Implementierung, Test, Qualität, Wiederverwendung und Variabilität usw.).

Wozu? Lernziele

  • Verständnis über die Praxis anwendbaren Verfahren in der Softwareentwicklung (Modellierung, Phasen und Prozesse).

Literatur

  • Wichtige Literaturhinweise für die Softwaretechnik-Vorlesung. (z. B. Sommerville, Ludewig & Lichter, Balzert).

Was haben wir heute gelernt?

  • Zusammenfassung der Inhalte der Softwarelehre und deren Anwendungen.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Description

In dieser Vorlesung zu Softwaretechnik werden wichtige Themen wie der Software-Lebenszyklus, objektorientierte Software und die Rolle von Algorithmen behandelt. Besonderer Fokus liegt auf den Herausforderungen in der Industrie, wie Softwarefehler und deren weitreichende Folgen. Lernen Sie die Kernprinzipien der Softwarearchitektur und Programmierung kennen.

Use Quizgecko on...
Browser
Browser