Beruf Softwarearchitekt / Softwarearchitektin
Softwarearchitekten erstellen das technische Konzept und das funktionale Modell eines Softwaresystems auf der Grundlage funktionaler Spezifikationen. Außerdem gestalten sie die Architektur des Systems oder verschiedene Module und Komponenten im Einklang mit den Anforderungen der Unternehmen oder Kunden, der technischen Plattform, der Computersprache oder der Entwicklungsumgebung.
Persönlichkeitstyp
Wissen
- Unified Modelling Language
Die für die Softwareentwicklung verwendete Mehrzwecksprache für die Modellierung bietet eine Standardvisualisierung von Systemdesigns.
- Werkzeuge für das Software-Konfigurationsmanagement
Die Software-Programme zur Durchführung von Konfigurationsidentifizierung, -überwachung, -buchführung und -audit, z. B. CVS, ClearCase, Subversion, GIT und TortoiseSVN, die für dieses Management geeignet sind.
- Objektorientierte Modellierung
Objektorientiertes Modell, das auf Klassen, Objekten, Methoden und Schnittstellen basiert, sowie deren Anwendung in der Softwareentwicklung und -analyse sowie in der Programmierung und in Programmiertechniken.
- Systementwicklungszyklus
Abfolge von Schritten, wie Planung, Einrichtung, Testen und Einsatz, sowie die Modelle für die Entwicklung und das Lebenszyklusmanagement eines Systems.
- Geschäftsprozessmodellierung
Instrumente, Methoden und Begriffe wie Geschäftsprozessmodell und -notation (BPMN) und Business Process Execution Language (BPEL), die dazu dienen, die Merkmale eines Geschäftsprozesses zu beschreiben und zu analysieren und seine Weiterentwicklung zu modellieren.
Fertigkeiten
- Software an Systemarchitekturen anpassen
Anpassen des Systemdesigns und der technische Spezifikationen an die Software-Architektur, um die Integration und Interoperabilität der Systemkomponenten sicherzustellen.
- Softwarearchitektur definieren
Erstellung und Dokumentierung der Struktur von Softwareprodukten, einschließlich Komponenten, Kopplung und Schnittstellen. Sicherstellen der Durchführbarkeit, Funktionalität und Kompatibilität mit bestehenden Plattformen.
- Geschäftsbeziehungen aufbauen
Aufbau positiver und langfristiger Beziehungen zwischen Unternehmen und interessierten Dritten wie Lieferanten, Händlern, Aktionären und anderen Interessenträgern, die über das Unternehmen und seine Ziele informiert werden sollen.
- Kundenfeedback zu Anwendungen einholen
Sammlung der Rückmeldungen und Analyse der Daten von Kunden zum Ermitteln von Anfragen oder Problemen, um die Anträge und die Kundenzufriedenheit insgesamt zu verbessern.
- Softwarespezifikationen analysieren
Bewertung der Spezifikationen eines zu entwickelnden Softwareprodukts oder Systems, indem funktionale und nicht funktionale Anforderungen, Einschränkungen und mögliche Anwendungsfälle ermittelt werden, die die Interaktion zwischen der Software und ihren Nutzern veranschaulichen.
- Gestaltungsprozess
Ermittlung der Arbeitsabläufe und der Ressourcenanforderungen für einen bestimmten Prozess unter Verwendung verschiedener Instrumente, wie Prozesssimulationssoftware, Flussdiagramme und Modelle.
- Technische Anforderungen definieren
Festlegen technischer Eigenschaften von Waren, Materialien, Methoden, Verfahren, Diensten, Systemen, Softwarelösungen und Funktionalitäten, indem die besonderen Bedürfnisse, die gemäß den Kundenanforderungen erfüllt werden müssen, ermittelt und berücksichtigt werden.
- Technische Dokumentation bereitstellen
Vorbereiten der Dokumentation bestehender und zukünftiger Produkte oder Dienstleistungen, Beschreiben ihrer Funktion und Zusammensetzung auf eine Weise, die für ein breites Publikum ohne technischen Hintergrund verständlich ist und festgelegten Anforderungen und Normen entspricht. Halten der Dokumentation auf dem neuesten Stand.
- Flussdiagramm erstellen
Erstellen eines Diagramms zur Veranschaulichung des systematischen Fortschritts mithilfe von Verbindungslinien und verschiedenen Symbolen.
- Softwaredesign entwickeln
Umsetzung diverser Anforderungen in ein klares, strukturiertes Softwaredesign.
- Softwareentwicklung überwachen
Organisieren, Planen und Überwachen der Entwicklung von Anwendungen und Frameworks zur Schaffung eines Softwareprodukts von der frühesten Planungsphase bis zum Testen des Endprodukts.
- Berichte über Kosten-Nutzen-Analysen bereitstellen
Erarbeiten, Verfassen und Weiterleiten von Berichten mit einer aufgeschlüsselten Kostenanalyse der Vorschläge und Haushaltspläne des Unternehmens. Vorabanalyse der finanziellen oder sozialen Kosten und des Nutzens eines Vorhabens oder einer Investition über einen bestimmten Zeitraum.
- Anforderungen der Geschäftswelt analysieren
Analysieren der Bedürfnisse und Erwartungen der Kunden in Bezug auf ein Produkt oder eine Dienstleistung, um Abweichungen und mögliche Unstimmigkeiten zwischen den beteiligten Akteuren zu ermitteln und zu beheben.
Mögliche Kenntnisse und Fähigkeiten
systemtheorie agiles projektmanagement prolog ressourcenplanung durchführen scala apl c# javascript prozessorientiertes management perl abap groovy jenkins sas language java ansible auszeichnungssprachen verwenden erlang ml matlab schlankes projektmanagement asp.net apache maven objective-c assembly webprogrammierung ikt-sicherheitsgesetzgebung ruby sap r3 c++ datenbankschema konzipieren ikt-projektmanagement-methoden computerprogrammierung haskell mitarbeiter führen swift smalltalk data-warehouse-methoden umsetzen staf aufgaben-algorithmisierung ikt-systemtheorie anwenden ikt-problembehebung durchführen php ajax microsoft visual c++ risikoanalyse durchführen scratch vbscript lisp common lisp salt openedge advanced business language typescript visual basic cobol pascal coffeescript ikt-beratung anbieten r puppet rechnergestützte softwareentwicklungswerkzeuge verwenden python softwareprototyp entwickelnSource: Sisyphus ODB