Beschreibung der Beschaffung
Los 4:
Durch die hier aufgezählten Leistungen sollen alle Phasen eines Anwendungsentwicklungsprojektes abgedeckt werden können (Unterstützung in der Anwendungsentwicklung in den unten benannten Technologien, qualifizierte Unterstützung in querschnittlichen technologieunabhängigen Leistungsfeldern eines Anwendungsentwicklungsprojektes von der Initialisierung bis zur Betriebseinführung). Die Leistungen sind grundsätzlich als Dienstleistung mit eigenständigen Ausarbeitungen bzw. Umsetzungen zu erbringen.
Zur Erfüllung der Aufgabenfelder ist der Auftragnehmer in der Lage, je nach Anforderung des Einzelauftrags Personen mit dem nachfolgenden Kompetenzprofil und Berufserfahrung zu stellen.
Projektsprache ist deutsch. Entsprechende Sprachkenntnisse (Sprachniveau nach dem Europäischen Referenzrahmen mindestens gemäß Stufe C1) werden in Wort und Schrift vorausgesetzt. Unter "Berufserfahrung" sind durch Arbeitstätigkeit erworbene Kompetenzen, Fähigkeiten und Fertigkeiten zu verstehen. Zur Berufserfahrung zählen nicht Ausbildung, Studium, Praktika oder ähnliches.
Technologien: Der Auftragnehmer muss die gesamte Bandbreite der unten aufgeführten Technologien und deren Nachfolgeprodukte abdecken. Angegebene Versionen von Technologien sind als Mindestanforderungen zu verstehen und beinhalten auch die jeweiligen Nachfolgeprodukte. Konkrete Bedarfe richten sich nach den anfordernden Projekten.
NET Microsoft-Technologien im Enterprise-Umfeld: Windows Presentation Founda-tion (WPF), Windows Forms, Universal Windows Platform (UWP), Windows Communication Foundation (WCF) Webservices mit IIS,ASP.NET/ASP.NET core, ASP. NET WebForms,
ASP.NET MVC/ASP.NET Core MVC,ASP.NET Core Blazor, Web Client Software Factory (WCSF), RESTful Web API oder AJAX,
ASP.NET Security, Authentication und Role Provider, VB.NET,C#, .Net Framework,.Net Core,Dependency Injection mit Unity Container und AutoFac,Model-View-ViewModel (MVVM) - Architekturmodell,ADO.NET, Object-Relational-Mapping (ORM) Entity Framework / Entity Framework Core
JAVA -Technologien im Enterprise-Umfeld: Java Platform, Enterprise Edition, JavaServer Faces (JSF 2), PrimeFaces, PrimeNG, Java Persistence API (z.B. mit Hibernate 4),JAX-RS,WildFly, JBoss (EAP) oder Apache Tomcat,iText, jasper reports, APACHE POI oder APACHE Lucene,GUI-Frameworks Standard Widget Toolkit (SWT 3) oder Remote Application Platform (RAP 2)
Web (Frontend)-Entwicklungen: TypeScript, JavaScript (inkl. Frameworks), JQuery, Angular (ab Version 2) oder Blazor, Node.js,Ionic Framework (ab Version 2), Apache Cordova / Ionic Capacitor,HTML 5 (Hypertext Markup Language),CSS 3, Sass (Syntactically Awesome Stylesheets), Foundation CSS
App-Entwicklung:Entwicklung von nativen Apps für iOS Endgeräte und Android Endgeräte,Progressive Web Apps (Service Worker, App Manifest, etc.),Ionic Framework (ab Version 2),Apache Cordova / Ionic Capacitor
Begleitende Technologien: Linux (SUSE, Red Hat oder andere Derivate) bzw. WindowsServer,Entwicklungs-, Konfigurationsmanagement-, Versionsmanagement- und Testunterstützende Werkzeuge (wie Eclipse,Visual Studio (ab 2019), Azure DevOps Server 2019 ff., GIT, Subversion,Maven 2, Nu-Get,JIRA,Jenkins,Nexus), Datenbanken [Oracle (ab 19c): SQL für Oracle; Microsoft SQL-Server (ab 2019):SQL für MS SQL Server, MS SQL Server Reporting Services (ab 2019),SSIS (MS SQL Server Integration Services)],BizTalk-Server (ab 2016),REST / JSON, SOAP / XML (Extensible Markup Language),gRPC / Protocol Buffers Web Services, Progressive Web Apps (Service Worker, App Manifest, etc.), SPA (Single Page Application),Windows-PowerShellKryptographie-Verfahren, Container-Technolgien (Docker), Einbindung von Standardkomponenten (wie Microsoft Office, SharePoint, Microsoft Exchange, Active Directory).
Entwicklung
Aufgaben:
Die Entwicklung umfasst die Mitarbeit bei Entwurf, Entwicklung, Test und Integration der Software. Des Weiteren sind fundierte Kenntnisse in verschiedenen Technologien in der Anwendungsentwicklung vorausgesetzt.
Weitere Aufgaben:Aufwandschätzung für Entwicklungsaufgaben; Anforderungsanalyse; Spezifikation des Anwendungssystems; Anwendungsdesign; Anwendungsarchitektur; Datenbankdesign; Datenbankprogrammierung; Performance-Optimierung von Datenbanken;Anwendungsentwicklung mit agilen Methoden, vorzugsweise SCRUM; Dokumentation der Systemspezifikation und der Entwurfsentscheidungen in der Softwareentwicklungsdokumentation; Entwurf und Implementierung von IT-Sicherheitsthemen in Anwendungssystemen; Unterstützung beim Test (Komponenten-, Integrations- und Abnahmetests); Unterstützung bei der Inbetriebnahme von Anwendungen; Unterstützung bei der Migration von Altsystemen; Integration von Anwendungen in die Infrastruktur; Unterstützung bei Schulungsmaßnahmen für Anwender und Betriebspersonal; Know-how-Transfer zu Mitarbeitern des Auftraggebers
Ausbildung/Fortbildung:
Hochschul- oder Universitätsabschluss in einer IT-nahen Fachrichtung (z.B. Infor-matik, Wirtschaftsinformatik, Naturwissenschaften, Mathematik) oder ein anerkannter Ausbildungsberuf in den Fachbereichen Informatik und Informationstechnologie oder in der Praxis erworbene vergleichbare Kenntnisse und Fähigkeiten.
Berufserfahrung:
Tiefgehende, in mindestens 2-jähriger Berufserfahrung erworbene Kenntnisse in o.g. Technologien der Anwendungsentwicklung und Entwicklungserfahrungen in Softwareentwicklungsprojekten besitzen. Diese Voraussetzungen müssen bei jeder Entwicklung vollständig vorliegen.
Darüber hinaus sind folgende Erfahrungen erforderlich:
-bei der Softwareentwicklung im .NET-Umfeld oder Softwareentwicklung im JAVA-Umfeld, je nach Bestimmung in dem jeweiligen Einzelabruf
-in der Anforderungsanalyse
-bei der Spezifikation des Anwendungssystems
-im Anwendungsdesign
-bei der Anwendungsarchitektur
-im Datenbankdesign
-bei der Anwendungsentwicklung mit agilen Methoden, vorzugsweise Scrum
-beim Umgang mit gängigen Sourcecode-Verwaltungssystemen
-bei der Dokumentation der Systemspezifikation und der Entwurfsentscheidungen in der Softwareentwicklungsdokumentation
-in Tests (Komponenten-, Integrations- und Abnahmetests)
-bei der Inbetriebnahme von Anwendungen
-bei der Migration von Altsystemen
-bei der Integration von Anwendungen in die Infrastruktur
Senior Entwicklung:
-Aufwandschätzungen für Entwicklungsaufgaben
-Anforderungsanalyse
-Spezifikation des Anwendungssystems
-Anwendungsdesign
-Anwendungsarchitektur
-Datenbankdesign
-Datenbankprogrammierung
-Performance-Optimierung von Datenbanken
-Anwendungsentwicklung mit agilen Methoden, vorzugsweise SCRUM
-Dokumentation der Systemspezifikation und der Entwurfsentscheidungen in der Softwareentwicklungsdokumentation
-Entwurf und Implementierung in IT-Sicherheitsthemen in Anwendungssystemen
-Unterstützung beim Test (Komponenten-, Integrations- und Abnahmetests), bei der Inbetriebnahme von Anwendungen,bei der Migration von Altsystemen, bei Schulungsmaßnahmen für Anwender und Betriebspersonal
-Integration von Anwendungen in die Infrastruktur
Senior-Entwicklung
Aufgaben:
Die Senior-Entwicklung umfasst die maßgebliche und führende Mitarbeit bei Ent-wurf, Entwicklung, Test und Integration der Software. Sie setzt eine Expertise für bestimmte Technologien in der Anwendungsentwicklung voraus.
Weitere Aufgaben: Aufwandschätzungen für Entwicklungsaufgaben;Anforderungsanalyse;Spezifikation des Anwendungssystems;Anwendungsdesign;Anwendungsarchitektur;Datenbankdesign;Datenbankprogrammierung;Performance-Optimierung von Datenbanken;Anwendungsentwicklung mit agilen Methoden, vorzugsweise SCRUM;Dokumentation der Systemspezifikation und der Entwurfsentscheidungen in der Softwareentwicklungsdokumentation;Entwurf und Implementierung in IT-Sicherheitsthemen in Anwendungssystemen;Unterstützung beim Test (Komponen-ten-, Integrations- und Abnahmetests),bei der Inbetriebnahme von Anwendungen,bei der Migration von Altsystemen, bei Schulungsmaßnahmen für Anwender und Betriebspersonal;Integration von Anwendungen in die Infrastruktur
Ausbildung/Fortbildung:
Hochschul- oder Universitätsabschluss in einer IT-nahen Fachrichtung (z.B. Informatik, Wirtschaftsinformatik, Naturwissenschaften, Mathematik) oder ein anerkannter Ausbildungsberuf in den Fachbereichen Informatik und Informationstechnologie oder in der Praxis erworbene vergleichbare Kenntnisse und Fähigkeiten.
Berufserfahrung:
Tiefgehende, in mindestens 6-jähriger Berufserfahrung erworbene Kenntnisse in o.g. Technologien der Anwendungsentwicklung und Entwicklungserfahrungen in Softwareentwicklungsprojekten. Diese Voraussetzungen müssen bei jeder Senior-Entwicklung vollständig vorliegen.
Darüber hinaus sind folgende Erfahrungen erforderlich:
-bei der Softwareentwicklung im .NET-Umfeld oder Softwareentwicklung im JAVA-Umfeld, je nach Bestimmung in dem jeweiligen Einzelabruf
-in der Anforderungsanalyse
-bei der Spezifikation des Anwendungssystems
-im Anwendungsdesign
-bei der Anwendungsarchitektur
-im Datenbankdesign
-bei der Anwendungsentwicklung mit agilen Methoden, vorzugsweise Scrum
-beim Umgang mit gängigen Sourcecode-Verwaltungssystemen
-bei der Dokumentation der Systemspezifikation und der Entwurfsentscheidungen in der Softwareentwicklungsdokumentation
-in Tests (Komponenten-, Integrations- und Abnahmetests)
-bei der Inbetriebnahme von Anwendungen
-bei der Migration von Altsystemen
-bei der Integration von Anwendungen in die Infrastruktur