SWE 1 Flashcards
Was ist Software laut Brockhaus Enzyklopädie?
- Sammelbezeichnung für Programme, die für den Betrieb von Rechensystemen zur Verfügung stehen, einschließlich der zugehörigen Dokumentation
Welche Arten von SW gibt es
- Systemsoftware
- Anwendungssoftware
Was ist Systemsoftware
- Speziell für HW entwickelte SW
- Ermöglicht Betrieb und Wartung von HW
- Bsp. OS oder Datenbanken
Was ist Anwendungssoftware
- SW, die Aufgaben mit Hilfe vom Computersystem löst
- Bsp. Textverarbeitungsprogramm
Unterschied Generische und angepasste Produkte
- Generische: Unabhängig am freien Markt
- Angepasste: Speziell für bestimmten Kunden
Definition SWE
- Technische Disziplin, die sich mit allen Aspekten der Softwareherstellung beschäftigt, von der Systemspezifikation bis zur Wartung
Was sind die fundamentalen Software Engineering Aktivitäten
SW-Spezifikation
- Kunden und Ingenieure definieren die Software sowie ihre Randbedingungen und Beschränkungen
SW-Entwicklung
- Entwerfen und Entwickeln der Software
SW-Validierung
- Überprüfung ob SW nach Spezifikationen arbeitet
SW-Evolution
- Wartung und Weiterentwicklung der SW
Was sind Case Tools
- Computer-Aided Software Engineering Tools
- Decken alle Aktivitäten im Entwicklungslebenszyklus ab und sind oft in IDE integriert
Welche Dimensionen der SW-Komplexität gibt es
Komplexität der:
- Daten
- Algorithmen
- Zeitabhängigen Verhaltens
- Systemumgebung
- Benutzerschnittstelle
Erkläre den Unterschied zwischen SWE und Informatik
- Die Informatik beschäftigt sich mit der Theorie und den Grundlagen
- beim Software Engineering geht es um die Entwicklung in der Praxis und die Herstellung nützlicher Software
Wo ist der Unterschied zwischen dem Software Engineering und System Engineering
- Das System Engineering beschäftigt sich mit allen Aspekten computerbasierter
Systementwicklung, darunter Hardware-, Software und Verfahrensentwicklung - Das Software
Engineering ist ein Teil dieses Prozesses.
Was ist ein Softwareprozess
- Ein Satz von Tätigkeiten, deren Ziel die Entwicklung oder Weiterentwickung von Software ist
Was ist ein Vorgehensmodell
- Eine vereinfachte Darstellung eines Softwareprozesses, aus einer bestimmten Perspektive gesehen
Was sind Methoden für SWE
- Strukturierte Ansätze für die Software Entwicklung, darunter Systemmodelle, Notationen, Regeln, Hinweise zum Entwurf und Anleitung zum Vorgehen
Welche Merkmale zeichnen gute Software aus
Die Software soll dem Benutzer die verlangten Funktionen zur Verfügung stellen sowie einfach zu warten, zuverlässig und gut bedienbar sein
Was sind die besten Software Engineering Methoden
- Alle Software Projekte müssen professionell geleitet und entwickelt werden, jedoch sind unterschiedliche Ansätze und Techniken für verschiedene Systeme angebracht
- zB sollten Spiele mittels einer Serie von Prototypen entwickelt werden
- zB sollten sicherheitskritische Kontrollsysteme auf der Basis einer vollständigen und
analysierbaren Spezifikation entworfen werden - Daher gibt es „die beste Methode“ nicht – sondern immer nur für die Situation passende
Welchen Einfluss hat das Internet auf das Software Engineering
- Durch das Internet stehen Software Services zur Verfügung, die die Entwicklung verteilter Service-basierter Software Systeme ermöglichen
- Die Entwicklung dieser verteilten Systeme hat zu wichtigen Neuerungen in Programmiersprachen und bezüglich Wiederverwendbarkeit von Software geführt
Was ist das Wasserfallmodell
- Ein sequentielles Softwareentwicklungsmodell, bei dem jede Phase abgeschlossen sein muss, bevor die nächste beginn
Was ist das iterative Entwicklungsmodell
- Ein Modell, das die Softwareentwicklung in iterativen Zyklen durchführt, um schrittweise Verbesserungen und Anpassungen vorzunehmen
Was sind die Nachteile des Wasserfallmodells?
- Unflexibel gegenüber Änderungen, später Return on Investment, Fehler werden erst spät erkannt
Was ist Prototyping in der Softwareentwicklung
- Die Erstellung einer initialen Version eines Systems, um Konzepte zu demonstrieren und Entwurfsoptionen auszuprobieren
Welche Vorteile bietet Prototyping
- Erhöhte Benutzerfreundlichkeit
- näher am wirklichen Bedarf der Nutzer
- bessere Entwurfsqualität
- bessere Wartbarkeit,
- weniger Entwicklungsaufwand
Was ist das Spiralmodell
- Ein iteratives Modell, das Entwicklung und Wartung integriert und auf Risikoanalyse basiert
Welche Phasen umfasst das Spiralmodell
- Festlegung der Ziele
- Einschätzung und Verringerung der Risiken
- Entwicklung und Validierung,
- Planung
Was ist der Rational Unified Process (RUP)
- Ein iteratives und inkrementelles Softwareentwicklungsmodell, das vier Phasen umfasst: Inception, Elaboration, Construction, Transition
Was versteht man unter Softwarevalidierung
Sicherstellen, dass das System die Spezifikationen und die Bedürfnisse der Benutzer erfüllt
Was sind die Hauptprobleme des traditionellen Wasserfallmodells
Abgrenzungsproblem, Abfolgeproblem, Unflexibilität gegenüber Änderungen, später Return on Investment, Big Bang Einführung
Was versteht man unter Requirements Engineering
- Umfasst die Erhebung, Analyse, Dokumentation und Überprüfung von Anforderungen an ein System,
- Sicherstellung, dass es Bedürfnissen und Erwartungen der Stakeholder entspricht
Was sind die vier generischen Aktivitäten des Requirements Engineering
- Erhebung der Anforderungen
- Analyse der Anforderungen,
- Validierung der Anforderungen
- Anforderungsmanagement
Was ist eine Durchführbarkeitsstudie im Kontext des Requirements Engineering
- Bewertet, ob ein System zur Verwirklichung der Gesamtziele des Unternehmens beiträgt,
- Kompatibilität mit aktuellen Systemen und Ressourcen sicherstellenn
Welche Arten von Anforderungen gibt es
Benutzeranforderungen und Systemanforderungen, die weiter in funktionale und nicht-funktionale Anforderungen unterteilt werden können
Was sind funktionale Anforderungen
- Funktionale Anforderungen beschreiben die spezifischen Dienste und Funktionen, die ein System bieten soll
Was sind nicht-funktionale Anforderungen
- Nicht-funktionale Anforderungen beziehen sich auf die Betriebsbedingungen eines Systems, wie Leistung, Sicherheit und Benutzerfreundlichkeit
Was sind typische Aktivitäten bei der Erhebung und Analyse von Anforderungen
- Entdecken und Sammeln von Anforderungen
- Klassifizierung und Organisation der Anforderungen
- Priorisierung und Verhandlung der Anforderungen
- Spezifikation der Anforderungen