Blatt 4 Flashcards
Wartung (Lebenszyklusphase)
Die Aktivitäten, die nach der Bereitstellung einer Software durchgeführt werden, um Fehler zu beheben, Leistungsverbesserungen vorzunehmen, Sicherheitslücken zu schließen und die Software an veränderte Umgebungen anzupassen. Diese Phase ist entscheidend, um die langfristige Funktionalität und Zuverlässigkeit der Software sicherzustellen.
Betrieb (Lebenszyklusphase)
Im Software-Engineering bezieht sich die Phase des “Betriebs” auf den Zeitraum nach der erfolgreichen Bereitstellung einer Software, wenn diese aktiv genutzt wird. In dieser Lebenszyklusphase werden Überwachung, Wartung, Fehlerbehebung und Aktualisierungen durchgeführt, um einen reibungslosen Betrieb sicherzustellen und die Software den sich ändernden
Anforderungen anzupassen.
Funktionale Dekomposition
Die “funktionale Dekomposition” im Software-Engineering bezieht sich auf eine Methode zur Systemanalyse und -entwicklung, bei der ein großes System in kleinere, gut definierte und funktional eigenständige Teile oder Module zerlegt wird. Diese Zerlegung erfolgt auf der Grundlage der
Funktionen, die jedes Modul erfüllt, und erleichtert die Verwaltung und Entwicklung komplexer Software durch eine hierarchische Struktur von miteinander interagierenden Funktionseinheiten.
Continuous Deployment
“Continuous Deployment” im Software-Engineering bezieht sich auf einen Ansatz, bei dem Softwareänderungen automatisch und kontinuierlich in die Produktionsumgebung überführt und den Endbenutzern zur Verfügung gestellt werden. Dieser Prozess zielt darauf ab, den Entwicklungszyklus zu beschleunigen, indem neue Features, Fehlerkorrekturen oder Verbesserungen schnell und regelmäßig bereitgestellt werden, oft mehrmals am Tag. Dabei werden automatisierte Tests und Mechanismen zur Gewährleistung der Softwarequalität eingesetzt, um eine zuverlässige
Bereitstellung sicherzustellen.
Continuous Integration
“Continuous Integration” (CI) im Software-Engineering bezeichnet eine Entwicklungspraxis, bei der Entwickler regelmäßig und häufig
Codeänderungen in ein gemeinsames Repository integrieren. Ziel
ist es, frühzeitig und kontinuierlich mögliche Konflikte und Probleme bei der Zusammenführung von Codeänderungen zu identifizieren. Dieser Prozess beinhaltet oft die Automatisierung von Builds und
Tests, um sicherzustellen, dass der integrierte Code stabil und kompatibel ist. CI trägt dazu bei, die Softwarequalität zu verbessern, die Entwicklungszeit zu verkürzen und die Integration von Änderungen reibungsloser zu gestalten.
Dokumentation
Im Kontext des Software-Engineerings bezieht sich “Dokumentation” auf den Prozess des Erstellens und Pflegens von schriftlichen Materialien, die relevante Informationen über Softwareprojekte enthalten. Dies kann technische Spezifikationen, Anleitungen für Benutzer, Entwicklerdokumentation, Code-Kommentare, Diagramme und andere schriftliche Ressourcen umfassen. Die Dokumentation dient dazu, die Verständlichkeit, Wartbarkeit und Weiterentwicklung von Software zu erleichtern, indem sie einen klaren Überblick über die Funktionalität, Struktur und Anwendung bietet.
Nicht-funktionale Anforderung
“Nicht-funktionale Anforderungen” im Software-Engineering beziehen sich auf Aspekte einer Software, die nicht direkt mit den spezifischen Funktionen oder Features des Systems Software, die nicht direkt mit den spezifischen Funktionen oder Features des Systems zusammenhängen, sondern eher auf die Qualitätsmerkmale und Leistungsparameter. Das können
beispielsweise Anforderungen bezüglich der Performance, Zuverlässigkeit, Sicherheit, Benutzerfreundlichkeit oder Skalierbarkeit einer Software sein. Diese nicht-funktionalen Anforderungen definieren die Qualitätsmerkmale und Rahmenbedingungen, die die Software erfüllen muss, um den Bedürfnissen der Benutzer und den allgemeinen Zielen des Projekts gerecht zu werden.
Anforderungsanalyse
Die “Anforderungsanalyse” im Software-Engineering ist der Prozess, bei dem die Bedürfnisse und Anforderungen der Benutzer oder Stakeholder identifiziert, verstanden und dokumentiert werden.
Dieser Schritt legt den Grundstein für die Entwicklung einer Software, indem er die Funktionalitäten, Leistungsmerkmale und Randbedingungen definiert, die das Softwareprodukt erfüllen muss.
Architekturtreiber
Im Software-Engineering bezieht sich der Begriff “Architekturtreiber” auf Faktoren, die die Architekturentscheidungen eines Softwareprojekts maßgeblich beeinflussen. Diese Faktoren können technischer, geschäftlicher oder regulatorischer Natur sein und dienen als Leitlinien bei der Gestaltung der Softwarearchitektur, um sicherzustellen, dass die Architektur die wesentlichen Anforderungen und Ziele des Projekts erfüllt.
Pflichtenheft
Im Software-Engineering bezeichnet das “Pflichtenheft” ein Dokument, das die spezifischen Anforderungen und Funktionen einer Software detailliert beschreibt. Es fungiert als verbindliche Grundlage zwischen Auftraggeber und Entwicklerteam und dient als Leitfaden für den Entwicklungsprozess, um sicherzustellen, dass die erstellte Software den erwarteten Anforderungen entspricht.
Nennen Sie – basierend auf dem Target Product Profile – für die Hauptkategorie „Stakeholder“ 8 Anforderungsquellen sowie 2 Quellen für die Hauptkategorie „Angrenzende Systeme“. Falls nötig, nutzen Sie für die Stakeholder den Leitfragen- und/oder Stakeholderkatalog (die
Stakeholder müssen aber klar benannt sein, d.h. keine Organisationen/Abteilungen, sondern Rollen/Funktionen von Personen benennen).
Stakeholder (Anforderungsquellen):
1. Endbenutzer (Nutzer der Raumkontrolleinheit): Welche Funktionen und Benutzererfahrungen sind für sie wichtig?
2. Gebäudetechnikspezialisten: Welche technischen Anforderungen gibt es, die von Fachleuten auf dem Gebiet erfüllt werden müssen?
3. Energieeffizienzbeauftragte: Welche Anforderungen gibt es bezüglich Energieeffizienz und Nachhaltigkeit?
4. IT-Sicherheitsexperten: Welche Sicherheitsanforderungen sind zu berücksichtigen, um Datenintegrität und Benutzerdatenschutz zu gewährleisten?
5. Facility-Manager: Welche Informationen sind für die Verwaltung von Räumen und Gebäuden relevant?
6. Service-Techniker: Welche Anforderungen erleichtern die Wartung und Fehlerbehebung der Raumkontrolleinheit?
7. Compliance-Beauftragte: Gibt es rechtliche oder branchenspezifische Anforderungen, die erfüllt werden müssen?
8. Produktmanager: Welche Anforderungen sind wichtig, um das Produkt erfolgreich auf dem Markt zu positionieren?
Angrenzende Systeme (Quellen für die Hauptkategorie „Angrenzende Systeme“):
1. Gebäudeleitsysteme: Wie integriert sich die Raumkontrolleinheit in bestehende Gebäudeleitsysteme?
2. Smart-Home-Plattformen: Welche Standards müssen erfüllt werden, um die Kompatibilität mit Smart-Home-Lösungen sicherzustellen?