Podcast
Questions and Answers
Die Größe von Softwaresystemen nimmt tendenziell ab.
Die Größe von Softwaresystemen nimmt tendenziell ab.
False (B)
Welche der folgenden Aussagen beschreibt ein Problem, das durch den wachsenden Umfang und die Komplexität von Softwaresystemen entsteht?
Welche der folgenden Aussagen beschreibt ein Problem, das durch den wachsenden Umfang und die Komplexität von Softwaresystemen entsteht?
- Fehler in Sicherheitskritischer Software haben weniger schwere Folgen.
- Software ist einfacher wiederverwendbar.
- Softwareprojekte werden oft teurer und dauern länger als geplant. (correct)
- Die Heterogenität von Softwaresystemen nimmt ab.
Ein Grund für die Bedeutung der Softwaretechnik ist, dass Software oft [BLANK] ist.
Ein Grund für die Bedeutung der Softwaretechnik ist, dass Software oft [BLANK] ist.
lange in Betrieb
Nennen Sie zwei Gründe, warum die Softwaretechnik wichtig ist.
Nennen Sie zwei Gründe, warum die Softwaretechnik wichtig ist.
Ordnen Sie die folgenden Probleme mit Software den entsprechenden Ursachen zu:
Ordnen Sie die folgenden Probleme mit Software den entsprechenden Ursachen zu:
Welches der folgenden Ziele wird NICHT explizit im Manifest der Softwaretechnik von 2006 genannt?
Welches der folgenden Ziele wird NICHT explizit im Manifest der Softwaretechnik von 2006 genannt?
Software Engineering berücksichtigt ausschließlich die Kosten eines Projekts.
Software Engineering berücksichtigt ausschließlich die Kosten eines Projekts.
Nennen Sie zwei Aspekte der Softwarequalität, die bei Software Engineering berücksichtigt werden.
Nennen Sie zwei Aspekte der Softwarequalität, die bei Software Engineering berücksichtigt werden.
Software Engineering zielt auf die ingenieurmäßige Entwicklung, Wartung, Anpassung und ______ großer Softwaresysteme.
Software Engineering zielt auf die ingenieurmäßige Entwicklung, Wartung, Anpassung und ______ großer Softwaresysteme.
Ordnen Sie die folgenden Aussagen den entsprechenden Vorteilen des Software Engineerings zu:
Ordnen Sie die folgenden Aussagen den entsprechenden Vorteilen des Software Engineerings zu:
Welche der folgenden Aussagen beschreibt keine Eigenschaft von Software?
Welche der folgenden Aussagen beschreibt keine Eigenschaft von Software?
Ein Software-Produkt ist immer eine Einzelanfertigung für einen bestimmten Auftraggeber.
Ein Software-Produkt ist immer eine Einzelanfertigung für einen bestimmten Auftraggeber.
Welche der folgenden Eigenschaften ist KEIN primäres Ziel im Software Engineering?
Welche der folgenden Eigenschaften ist KEIN primäres Ziel im Software Engineering?
Nennen Sie eine Art von Systemsoftware.
Nennen Sie eine Art von Systemsoftware.
Die Anzahl der Fehler in Software pro 1000 Zeilen Quellcode ist im Laufe der Jahre gestiegen.
Die Anzahl der Fehler in Software pro 1000 Zeilen Quellcode ist im Laufe der Jahre gestiegen.
Um welchen Faktor hat sich die Programmkomplexität in etwa alle 5 Jahre erhöht?
Um welchen Faktor hat sich die Programmkomplexität in etwa alle 5 Jahre erhöht?
Defekte in der Software sind immer ______.
Defekte in der Software sind immer ______.
Software muss anpassbar an neue Anforderungen sein, was auch als ______ bezeichnet wird.
Software muss anpassbar an neue Anforderungen sein, was auch als ______ bezeichnet wird.
Ordnen Sie die folgenden Software-Klassifikationen ihrer Beschreibung zu:
Ordnen Sie die folgenden Software-Klassifikationen ihrer Beschreibung zu:
Ordne folgende Phasen der Fahrzeugentwicklung den geschätzten relativen Abstellkosten je Softwarefehler zu:
Ordne folgende Phasen der Fahrzeugentwicklung den geschätzten relativen Abstellkosten je Softwarefehler zu:
Was sind die drei Aspekte, die im Software Engineering berücksichtigt werden müssen?
Was sind die drei Aspekte, die im Software Engineering berücksichtigt werden müssen?
Software Engineering bezieht sich ausschließlich auf das Programmieren von Software.
Software Engineering bezieht sich ausschließlich auf das Programmieren von Software.
Nennen Sie eine der Prinzipien, die im Software Engineering eine Rolle spielen.
Nennen Sie eine der Prinzipien, die im Software Engineering eine Rolle spielen.
Ordnen Sie die folgenden Aufgaben den entsprechenden Bereichen im Software Engineering zu:
Ordnen Sie die folgenden Aufgaben den entsprechenden Bereichen im Software Engineering zu:
Flashcards
Steigende Komplexität von Software
Steigende Komplexität von Software
Software wird immer komplexer, da sie größere Systeme mit unterschiedlichen Komponenten umfasst.
Langlebigkeit von Software
Langlebigkeit von Software
Software wird oft über Jahre hinweg verwendet, was Anpassungen und Erweiterungen erforderlich macht.
Probleme bei Softwareprojekten
Probleme bei Softwareprojekten
Softwareprojekte scheitern oft, werden teurer und später fertiggestellt als geplant.
Mangelnde Wiederverwendbarkeit von Software
Mangelnde Wiederverwendbarkeit von Software
Signup and view all the flashcards
Gefahr von Fehlern in Softwaresystemen
Gefahr von Fehlern in Softwaresystemen
Signup and view all the flashcards
Was ist Software Engineering?
Was ist Software Engineering?
Signup and view all the flashcards
Welche wichtigen Aspekte müssen bei der Softwareentwicklung berücksichtigt werden?
Welche wichtigen Aspekte müssen bei der Softwareentwicklung berücksichtigt werden?
Signup and view all the flashcards
Welche Qualitätsmerkmale sind bei Software wichtig?
Welche Qualitätsmerkmale sind bei Software wichtig?
Signup and view all the flashcards
Was können Software-Ingenieure entwickeln?
Was können Software-Ingenieure entwickeln?
Signup and view all the flashcards
Welche Karriereoptionen bietet Software Engineering?
Welche Karriereoptionen bietet Software Engineering?
Signup and view all the flashcards
Immaterielle Natur von Software
Immaterielle Natur von Software
Signup and view all the flashcards
Änderbarkeit von Software
Änderbarkeit von Software
Signup and view all the flashcards
Anpassungsdruck auf Software
Anpassungsdruck auf Software
Signup and view all the flashcards
Software-Produkt
Software-Produkt
Signup and view all the flashcards
Zuverlässigkeit von Software
Zuverlässigkeit von Software
Signup and view all the flashcards
Wachstum der Codegröße
Wachstum der Codegröße
Signup and view all the flashcards
Fehler in großen Softwaresystemen
Fehler in großen Softwaresystemen
Signup and view all the flashcards
Kosten von Softwarefehlern
Kosten von Softwarefehlern
Signup and view all the flashcards
Herausforderungen in Softwareprojekten
Herausforderungen in Softwareprojekten
Signup and view all the flashcards
Erfolgsstatistik von Softwareprojekten
Erfolgsstatistik von Softwareprojekten
Signup and view all the flashcards
Was sind die wichtigen Aspekte im Software Engineering?
Was sind die wichtigen Aspekte im Software Engineering?
Signup and view all the flashcards
Was gehört zur Softwareentwicklung?
Was gehört zur Softwareentwicklung?
Signup and view all the flashcards
Wie unterscheidet sich Software Engineering von Programmieren?
Wie unterscheidet sich Software Engineering von Programmieren?
Signup and view all the flashcards
Welche Prinzipien prägen Software Engineering?
Welche Prinzipien prägen Software Engineering?
Signup and view all the flashcards
Study Notes
Gründe für die Softwaretechnik
- Systeme werden immer größer und komplexer.
- Systeme umfassen verschiedene, heterogene Komponenten.
- Software ist oft über einen langen Zeitraum in Betrieb.
- Softwareprojekte scheitern häufig, überschreiten das Budget und dauern länger als geplant.
- Software ist oft nicht wiederverwendbar und nur schwer erweiterbar.
- Fehler in sicherheitskritischer Software können zu großen Schäden führen, bis hin zu Gefährdung von Menschenleben.
- Software Engineering zielt auf die ingenieurmäßige Entwicklung, Wartung, Anpassung und Weiterentwicklung großer Softwaresysteme unter Verwendung bewährter systematischer Vorgehensweisen, Prinzipien, Methoden und Werkzeuge.
- Die drei zentralen Aspekte sind Kosten, Termine und Qualität.
- Qualität umfasst Korrektheit, Zuverlässigkeit, Performanz, Sicherheit, Nutzbarkeit, Verständlichkeit, Weiterentwickelbarkeit, Anpassbarkeit und Wartbarkeit.
- Software umfasst Programme, Prozeduren, Regeln und ggf. zugehörige Dokumentation und Daten für den Betrieb eines Computersystems (IEEE Standard).
- Software ist ein Sammelbegriff für Programme, Quellcode, ausführbaren Objektcode, Dokumentation für Entwickler, Betreiber und Nutzer, inklusive Installations- und Compilations-Skripte, sowie die Testumgebung und Software-Tests, die für Weiterentwicklung, Installation und Nutzung erforderlich sind (RWTH Software Verträge).
- Ein Softwaresystem ist ein System (oder Teilsystem), dessen Komponenten aus Software bestehen.
- Ein Software-Produkt ist ein in sich abgeschlossenes Ergebnis eines erfolgreichen Projekts oder Herstellungsprozesses, i. A. für einen Auftraggeber bestimmt.
- Software ist immateriell und nicht durch physikalische Gesetze begrenzt.
- Software unterliegt keinem Verschleiß. Defekte sind immer Konstruktionsfehler.
- Software ist schwer zu vermessen.
- Software gilt als relativ leicht änderbar (im Vergleich zu materiellen technischen Produkten).
- Software unterliegt einem ständigen Anpassungsdruck.
- Software veraltet.
- Zuverlässigkeit bedeutet, dass die Software im Fehlerfall keine Schäden verursacht.
- Benutzbarkeit: Die Software muss sich nach den Bedürfnissen der Benutzer richten. Die Benutzerschnittstelle muss ergonomisch und selbsterklärend sein; Dokumentation muss in allen Detaillierungsgraden ausreichend zur Verfügung stehen.
- Wartbarkeit: Software muss anpassbar an neue Anforderungen sein. Software sollte möglichst plattformunabhängig sein.
- Effizienz: Software muss den ökonomischen Gebrauch der Ressourcen des zugrundeliegenden Systems gewährleisten.
- Die Komplexität von Softwaresystemen wächst exponentiell.
- Die Fehlerrate nimmt mit der Komplexität zu.
- Es sind Qualitätsverbesserungen erforderlich, um die Komplexitätssteigerung zu kompensieren.
- Relative Abstellkosten je Softwarefehler in der Fahrzeugentwicklung variieren.
- Die Anzahl der gefundenen Defekte pro 1000 Codezeilen ist von 1977 bis 2003 deutlich gesunken.
- Die Komplexität nimmt ca. alle 5 Jahre um den Faktor 10 zu.
- Anwendungssoftware wird oft über 20 Jahre eingesetzt.
- In manchen Betrieben entfallen bis zu 60-70% der Softwarekosten auf Anpassungen an Altsoftware.
- Die Erfolgsquote von IT-Projekten ist gering (CHAOS Report, Standish).
Definition von Software Engineering
- Software Engineering ist die Anwendung von fundierten Ingenieurprinzipien, um wirtschaftlich zuverlässige Software zu erstellen, die auf realen Maschinen läuft. (F.L. Bauer, NATO-Konferenz Software-Engineering 1968)
- Software Engineering zielt auf die ingenieurmäßige Entwicklung, Wartung, Anpassung und Weiterentwicklung großer Softwaresysteme unter Verwendung bewährter systematischer Vorgehensweisen, Prinzipien, Methoden und Werkzeuge. (Manifest der Softwaretechnik, 2006)
- Berücksichtigung der folgenden drei Aspekte: Kosten, Termine und Qualität. Die Qualität umfasst Korrektheit, Zuverlässigkeit, Performanz, Sicherheit, Nutzbarkeit, Verständlichkeit, Weiterentwickelbarkeit, Anpassbarkeit und Wartbarkeit.
Aufgabenstellungen der Softwaretechnik
- Softwareentwicklung ist mehr als nur Programmieren!
- Dazu gehören auch: Vorgehensmodelle, Analyse von Anforderungen, Modellierung, Systemmodellierung, Muster, Softwareentwurf (Design), Systementwurf, Oberflächen, Generative Entwicklung, Test.
- Weitere Aufgaben sind: Management großer und komplexer Projekte, Schätzung von Terminen und Kosten, Erfassung von Kunden- und Marktanforderungen, Änderungsmanagement, Sicherstellung eines hohen Qualitätsniveaus, Wartung und Weiterentwicklung von Altsystemen, Softwareproduktlinien, Guter Programmierstil, Entwicklungswerkzeuge, Prinzipien wie Abstraktion, Strukturierung, Hierarchisierung, Modularisierung, Wiederverwendung und Variabilität.
Softwaretechnik vs. Programmieren
- Softwaretechnik befasst sich mit der Größe und Komplexität der Entwicklungsprojekte, Teams, Zusammenarbeit, Komponenten und Qualität.
- Margaret Hamilton, Direktorin der Softwareentwicklungs-Abteilung des Instrumentation Laboratory des MIT, war an der On-Board-Flugsoftware für das Apollo-Raumfahrtprogramm beteiligt (420.837 Zeilen Code).
- Große Software-Beispiele: Windows 7 (40 Millionen), Facebook (61 Millionen) Zeilen Code.
Portfolio der SE-Techniken
- Vergleichbar mit einem Werkzeugkasten: Das richtige Werkzeug für jedes Problem, in der Hand eines Experten.
- Nicht jeder muss alle Werkzeuge beherrschen, aber mehr Wissen ist vorteilhafter.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.