Software Development & Coding (ILV)

Back
Specialization AreaDigital Business Management
Course numberB4.06361.30.710
Course codeSDC
Curriculum2024
Semester of degree program Semester 3
Mode of delivery Presence- and Telecourse
Units per week5,4
ECTS credits9,0
Language of instruction German

Die Studierenden sind in der Lage,
• die grundlegenden Konzepte von Software-Engineering, die entsprechenden Qualitätskriterien, die Skaleneffekte, die Vorgehensmodelle und die Qualitätssicherung vor und nach der Codierung zu verstehen und zu erklären.
• die grundlegenden Kenntnisse des Requirement-Engineerings (Schwerpunkt) und die damit verbundenen Methoden, Prozessen und Darstellungen, die ausgewählten Typen von UML-Diagrammen und die Prinzipien der agilen (SCRUM/Kanban) und verteilten Entwicklung zu verstehen und anzuwenden.
• die grundlegenden Techniken, Methodiken und Heuristiken zum Entwurf von Benutzeroberflächen, die Grundlagen von User Centered Design und Usability Engineering bzw. die Inhalte der User Interface Guidelines zu verstehen.
• Algorithmen und Programmcodes auf Basis der Programmiersprache Python zu erstellen und die grundlegenden Konzepte der Softwareentwicklung zu verstehen und anzuwenden.
• die Prinzipien der client- bzw. serverseitigen Entwicklung von 3-tier Internetapplikationen mit Datenbankanbindung zu benennen.
• die Prinzipien einer HTML 5/Java Script Entwicklung (Web-App) und die Architekturen, Grundlagen und Implementierungsmöglichkeiten von (cloudbasierten) Internetwebservices (RPC/SOAP/REST) im Rahmen von Enterprise Application Integration und Grid-Computing zu verstehen und in einfachen Praxisbeispielen anzuwenden.
• Anforderungen an die Softwareentwicklung zu identifizieren, zu klassifizieren und zu dokumentieren.
• die notwendigen Geschäftsprozesse in der BPMN 2.0 Notation ("Business Process Model and Notation) zu erstellen bzw. einfachere UML ("Unified Modeling Language") Diagramme zu erstellen.
• ein GUI-Prototyp zu bauen und einfache Usability Tests (zur Gebrauchstauglichkeit einer Soft- oder Hardware) durchzuführen.
• einfache Applikationen auf Basis HTML/CSS/Java Script/PHP und MySQL im Responsive Design und einfache (Cloud)Webservices zu erstellen.

• Software-Entwicklung anhand des Software-Lebenszyklus mit Schwerpunkt Requirement Engineering; Vorgehensmodelle und Phasenmodelle - alternative Vorgehensmodelle wie Spiralmodell; Agile Methoden anhand SCRUM/Kanban; Prototyping und Incremental Delivery; Entwurf/ Qualitätssicherung vor der Codierung (Review, Inspection, Walkthrough); Qualitätssicherung nach der Codierung (Testprinzipien, Testabwicklung, Teststrategien);
• Systemdesign und Entwicklungsprozesse innerhalb des Paradigmas des Usability Engineering (benutzerorientierte Systementwicklung und Gestaltung von Arbeitssystemen); Aktuelle Standards, gesetzliche Normen, Designprinzipien und Style Guides zur Gestaltung von Softwarelösungen; Methoden und Vorgehensweisen zur Analyse und Evaluation von Mensch-Computer-Systemen; Planung und Durchführung von Usability und User Experience Studien; Anwendungsmöglichkeiten der vermittelten Grundlagen bei der Systemgestaltung;
• Algorithmen und Datenstrukturen, Logik, Wertebereiche und Datentypen, GUI-Design, Dokumentation von Quellcode anhand der Programmiersprache Python
• Erstellung von Webseiten bzw. -applikationen auf Basis HTML5 (fünfte Fassung der Hypertext Markup Language) /CSS (Cascading Style Sheets) / Java Script bzw. PHP (Hypertext Preprocessor)/MySQL (Datenbankverwaltungssystem) unter Berücksichtigung der Prinzipien des Responsive Designs (Web-App).
• Erstellung von Webservices (SOAP/REST) und Entwicklung einfacher Applikationen auf Basis von frei zugänglichen Webservices (Open Data, Open Government Data) in Kombination mit digitalen Katalogen
· Durchführung einer Software SCRUM-Simulation in englischer Sprache unter Berücksichtigung diverser interkulturelle Aspekte
• Nachhaltigkeit: Die LV berücksichtig die Prinzipien zur Entwicklung von nachhaltiger Software und beinhaltet Aspekte der Ethik

Lutz, M. (2013): Learning Python, 5. Aufl. Beijing: O'Reilly Media.
Jacobsen, J./Meyer, L. (2019): Praxisbuch Usability und UX: Bewährte Usability- und UX-Methoden praxisnah erklärt, 2. Aufl. o.O.: Rheinwerk Computing
Maximini, D. (2018): Scrum - Einführung in der Unternehmenspraxis: Von starren Strukturen zu agilen Kulturen, 2. Aufl. o.O.: Gabler Verlag.
Niegemann, H. M. (Hrsg.) (2008): Usability. In: Kompendium multimediales Lernen. Berlin, Heidelberg: Springer, S. 419-453.
Röpstorff, D.-I. S./Wiechmann, D.-K. R. (2015): Scrum in der Praxis: Erfahrungen, Problemfelder und Erfolgsfaktoren, 2., akt. und überarb. Aufl. Heidelberg: dpunkt.verlag GmbH.
Rupp, C. (2009): Requirements-Engineering und -Management: Professionelle, iterative Anforderungsanalyse für die Praxis, 5., akt. und erw. Auflage. München: Carl Hanser Verlag GmbH & Co. KG.
Nixon, R. (2021): Learning PHP, MySQL & JavaScript: A Step-by-Step Guide to Creating Dynamic Websites, 6. Aufl. Beijing Boston Farnham Sebastopol Tokyo: O'Reilly Media.
Tilkov, S./Eigenbrodt, M./Schreier, S./Wolf, O. (2015): REST und HTTP: Entwicklung und Integration nach dem Architekturstil des Web, 3. Aufl. Heidelberg: dpunkt.verlag GmbH.
Wenz, C./Prevezanos, C. (2018): HTML5 und CSS3 - Start ohne Vorwissen - mit umfangeichen Download Material. 2. Aufl. Burgthann: Markt + Technik Verlag.

Vortrag, interaktives Erarbeiten der Inhalte sowie Übungen in Form von Einzel- und Gruppenarbeiten, Bearbeitung von Fallbeispielen, Diskussion

Kumulative Modulnote: Die Note aus der ILV "Software Development & Coding" fließt gewichtet nach den ECTS Credits in die Modulnote ein.
Prüfungscharakter: immanent
Prüfungsform: Abgabe Einzel- bzw. Gruppenprojekte und mündliche Abschlussprüfung