SFIA-Ansicht: Kernkompetenzen im Software-Engineering
Kernkompetenzen im Software-Engineering
Dies sind die Kompetenzen, die üblicherweise von Software-Engineering-Praktikern benötigt werden. Beachten Sie, dass nicht alle aufgeführten Kompetenzen von allen Softwaretechnikern erforderlich sind. Der erforderliche Kompetenzsatz hängt von der Art der beschäftigenden Organisation und/oder den spezifischen Rollen und Verantwortlichkeiten der von ihnen eingesetzten Softwaretechniker ab.
Anforderungsdefinition und -management REQM
Die Erhebung, Analyse, Spezifikation und Validierung von Anforderungen und Einschränkungen auf einem Niveau, das eine effektive Entwicklung und den Betrieb neuer oder geänderter Software, Systeme, Prozesse, Produkte und Dienstleistungen ermöglicht. Das Management von Anforderungen über den gesamten Liefer- und Betriebslebenszyklus der Software, Systeme, Prozesse, Produkte oder Dienstleistungen. Die Verhandlung von Kompromissen, die sowohl für die Stakeholder als auch innerhalb der budgettechnischen, funktionalen, regulatorischen und sonstigen Rahmenbedingungen akzeptabel sind. Die Übernahme und Anpassung von Lebenszyklusmodellen des Anforderungsmanagements auf der Grundlage des Arbeitskontextes und der geeigneten Auswahl aus prädiktiven oder adaptiveren (iterativen / agilen) Ansätzen.
Systemdesign DESN
Das Design von Systemen, die den spezifizierten Anforderungen entsprechen, mit den vereinbarten Systemarchitekturen kompatibel sind und die Unternehmensstandards innerhalb der Grenzen von Leistung und Machbarkeit einhalten. Die Identifikation von Konzepten und deren Überführung in ein Design, das die Grundlage für den Systembau und die Überprüfung bildet. Das Design oder die Auswahl der Komponenten. Die Entwicklung eines vollständigen Sets von detaillierten Modellen, Eigenschaften und/oder Merkmalen, die in einer für die Implementierung geeigneten Form beschrieben werden. Die Übernahme und Anpassung von Lebenszyklusmodellen des Systemdesigns basierend auf dem Kontext der Arbeit und die geeignete Auswahl aus prädiktiven (planbaren) oder adaptiven (iterativen / agilen) Ansätzen.
Softwaredesign SWDN
Die Spezifikation und das Design von Software zur Erfüllung definierter Anforderungen unter Einhaltung vereinbarter Design-Standards und -Prinzipien. Die Definition von Software, Komponenten, Schnittstellen und zugehörigen Merkmalen. Die Identifikation von Konzepten und Mustern und deren Umsetzung in ein Design, das die Grundlage für die Softwareerstellung und -überprüfung bildet. Die Bewertung von Alternativlösungen und Kompromissen. Die Vereinfachung von Designentscheidungen innerhalb der Grenzen von Systemdesign, Designstandards, Qualität, Machbarkeit, Erweiterbarkeit und Wartbarkeit. Die Entwicklung und Iteration von Prototypen / Simulationen, um fundierte Entscheidungen zu ermöglichen. Die Übernahme und Anpassung von Software-Designmodellen, -Werkzeugen und -Techniken auf der Grundlage des Arbeitskontextes und die geeignete Auswahl aus prädiktiven (planbaren) oder adaptiven (iterativen / agilen) Ansätzen.
Programmierung / Software-Entwicklung PROG
Beinhaltet Planung, Entwurf, Erstellung, Änderung, Überprüfung, Test und Dokumentation von neuen und geänderten Softwarekomponenten, um den Beteiligten einen vereinbarten Mehrwert zu liefern. Die Identifizierung, Erstellung und Anwendung vereinbarter Softwareentwicklungs- und Sicherheitsstandards und -prozesse. Übernahme und Anpassung von Lebenszyklusmodellen für die Softwareentwicklung, basierend auf dem Kontext des Arbeitsumfelds und geeignete Auswahl aus prädiktiven (planbaren) oder adaptiven (iterativen / agilen) Ansätzen.
Entwicklung von Echtzeit- / eingebetteten Systemen RESD
Architektur, Design und Entwicklung von zuverlässiger Echtzeit-Software, Betriebssystemen, Tools und Embedded Systems. Einbettung von Computersystemen mit einer dedizierten Funktion in ein größeres mechanisches oder elektronisches System, oft mit Beschränkungen in Bezug auf Echtzeit, Sicherheit und Zuverlässigkeit. Umfasst typischerweise die Schnittstellen zu Hardware, mechanischen Sensoren und Aktoren zur Überwachung und Steuerung in Anwendungen wie Industrie-, Automobil-, Luftfahrt- und Medizintechnik, Robotern und Geräten einschließlich IoT (Internet of Things)-Geräten.
Methoden und Werkzeuge METL
Die Definition, Anpassung, Implementierung, Bewertung, Messung, Automatisierung und Verbesserung von Methoden und Werkzeugen zur Unterstützung von Planung, Entwicklung, Testen, Betrieb, Verwaltung und Wartung von Systemen. Die Gewährleistung, dass Methoden und Werkzeuge innerhalb der Organisation effektiv eingesetzt und genutzt werden.
Configuration Management CFMG
Die Planung, Verwaltung, Kontrolle und Steuerung von Organisations-, Projekt- und Service-Assets und Artefakten. Identifikation, Klassifizierung und Spezifikation von Configuration Items (CIs) und deren Zusammenhänge. Identifizierung der Konfiguration und Version von Quellcode, Software, Systemen, Dokumenten und Service-abhängigen CIs zu bestimmten Zeitpunkten. Systematische Kontrolle von Konfigurationsänderungen und Aufrechterhaltung der Integrität und Nachvollziehbarkeit der Konfiguration über den gesamten Projekt-, System- und/oder Service-Lebenszyklus. Identifikation und Dokumentation der funktionalen und physischen Merkmale von CIs, Kontrolle der Änderungen an diesen Merkmalen, Erfassung und Meldung des Status von Änderungsbearbeitung und Implementierung. Überprüfung und Auditierung von CIs in Bezug auf Datenqualität und Einhaltung vorgegebener interner und externer Anforderungen.
Testen TEST
Planung, Entwicklung, Management, Durchführung von und Berichterstellung zu Tests unter Verwendung angemessener Prüfwerkzeuge und -techniken und gemäß vereinbarten Prozessstandards und branchenspezifischen Vorschriften. Der Zweck des Testens ist sicherzustellen, dass neue und veränderte Systeme, Konfigurationen, Pakete oder Services gemeinsam mit etwaigen Schnittstellen ordnungsgemäß funktionieren (einschließlich Sicherheitsbestimmungen) und dass die mit der Einführung verbundenen Risiken ausreichend verstanden und dokumentiert werden. Die Durchführung von Tests beinhaltet den Prozess der Entwicklung, Verwendung und Pflege von Testware (Testfälle, Test-Skripts, Testberichte, Testpläne usw.) zur Messung und Verbesserung der Qualität der getesteten Software.
Systemintegration und -erstellung SINT
Die Planung, Durchführung und Kontrolle von Aktivitäten zur Integration / Erstellung von Komponenten, Subsystemen und Schnittstellen zur Erstellung von operativen Systemen, Produkten oder Dienstleistungen für die Lieferung an Kunden oder für interne oder temporäre Zwecke wie z.B. Tests. Die Entwicklung organisatorischer Fähigkeiten für die Systemintegration und -aufbau, einschließlich Automatisierung und kontinuierlicher Integration.
Release und Bereitstellung RELM
Das Management von Prozessen, Systemen und Funktionen zur Erstellung, zum Testen und zum Einführen von Änderungspaketen und -Updates (die als „Releases“ eingefügt werden) in eine Live-Umgebung, die den betreffenden Service einführt oder anbietet, um eine kontrollierte und effektive Übergabe an den Betrieb und die Anwendergemeinschaft zu ermöglichen. Dies beinhaltet auch den Einsatz von Automatisierung zur Verbesserung der Effizienz und Qualität von Releases.
Qualitätssicherung QUAS
Der Prozess, durch unabhängige Bewertung und Überprüfung sicherzustellen, dass angemessene Arbeitspraktiken, Qualitätskontrollmaßnahmen, organisatorische Prozesse und Qualitätsstandards vorhanden sind und eingehalten werden und dass bewährte Verfahren in der gesamten Organisation gefördert werden. Die Qualitätssicherung gibt dem internen Management und externen Stellen wie Kunden oder Aufsichtsbehörden die Sicherheit, dass die Qualitätsanforderungen erfüllt werden. Die Qualitätssicherung kann sich auf alle Bereiche beziehen, in denen Qualitätsstandards angewendet werden, einschließlich Produkte, Daten, Dienstleistungen und Geschäftsprozesse.
Messfunktionen MEAS
Entwicklung und Betrieb einer Messmethode zur Unterstützung des vereinbarten organisatorischen Informationsbedarfs. Die Planung, Durchführung und Kontrolle von Aktivitäten zur Messung der Eigenschaften von Prozessen, Produkten und Dienstleistungen, um Leistung, Fortschritt und Hinweise und Erkenntnisse zu aktuellen oder potenziellen Problemen, Problemen und Risiken zu erhalten. Identifikation von Anforderungen, Auswahl von Maßnahmen und Messskalen, Festlegung von Datenerhebungs- und Analysemethoden, Festlegung von Zielwerten und Schwellenwerten. Die Messung kann auf Organisationen, Projekte, Prozesse und Arbeitsprodukte angewendet werden.
Sicherheits-Engineering SFEN
Die Anwendung geeigneter Methoden zur Gewährleistung der Sicherheit von sicherheitsrelevanten Systementwicklungen während des gesamten Lebenszyklus, u. a. Wartung und Wiederverwendung. Dazu gehören Gefahren- und Risikoanalysen, die Festlegung von Sicherheitsanforderungen, sicherheitsbezogenes Systemarchitekturdesign, die Entwicklung formaler Methoden, die Bewertung und Überprüfung der Sicherheit und die Vorbereitung von Sicherheitsanalysen.
Anwendungssupport ASUP
Die Bereitstellung von Wartungs- und Supportservices für Applikationen, entweder direkt für Benutzer des Systems oder auch für Servicebereitstellungsfunktionen. Support beinhaltet typischerweise die Untersuchung und Lösung von Problemen und kann auch die Überwachung ihrer Leistung umfassen. Probleme können durch Beratung oder Schulung von Benutzern, durch die Entwicklung von Korrekturen (dauerhafte oder temporäre) von Fehlern, allgemeine oder standortspezifische Änderungen, Aktualisierung der Dokumentation, Manipulation von Daten oder Definition von Verbesserungen behoben werden. Support beinhaltet häufig enge Zusammenarbeit mit den Entwicklern des Systems und/oder mit Kollegen, die auf bestimmte Bereiche wie Datenbankadministration oder Netzwerk-Support spezialisiert sind.