Technische Universität Ilmenau

Software Development - Interactive curriculae of TU Ilmenau

The interactive curriculae provide information on the degree programmes offered by the TU Ilmenau.

Please refer to the respective study and examination rules and regulations for the legally binding curricula (Annex Curriculum).

You can find all details on planned lectures and classes in the course catalogue.

Please note that this page is no longer updated. All modules and study plans from PO version 2021 onwards (Bachelor and Master study programs) are now available on the Campus Portal.

module properties Software Development in degree program Bachelor Ingenieurinformatik 2021
module number200054
examination number220442
departmentDepartment of Computer Science and Automation
ID of group 2236 (Systems and Software Engineering)
module leaderProf. Dr. Armin Zimmermann
term winter term only
languageDeutsch
credit points10
on-campus program (h)56
self-study (h)244
obligationobligatory module
examexamination performance with multiple performances
details of the certificate

Das Modul Softwareentwicklung mit der Prüfungsnummer 220442 schließt mit folgenden Leistungen ab:

  • schriftliche Prüfungsleistung über 90 Minuten (regulär im Wintersemester) mit einer Wichtung von 30% (Prüfungsnummer: 2200699)
  • alternative semesterbegleitende Prüfungsleistung (im Sommersemester) mit einer Wichtung von 70% (Prüfungsnummer: 2200700)



Details zum Abschluss Teilleistung 2:

Software-Projekt (Gruppe)

link to Moodle course https://moodle.tu-ilmenau.de/course/view.php?id=3816
teacherProf. Dr. Armin Zimmermann
signup details for alternative examinations

Dieses Modul enthält mindestens eine alternative semesterbegleitende Abschlussleistung. Bitte beachten Sie, dass diese in der Regel schon zu Beginn des Semesters, in dem diese angeboten wird, angemeldet werden muss.
Über die Details und Zeiträume dazu werden Sie vom Lehrenden und/oder dem Prüfungsamt informiert. Fragen Sie gegebenenfalls unbedingt beim Lehrenden nach.

This module contains at least one alternative exam part. Please note that this must usually be registered at the beginning of the semester in which it is offered.
The lecturer and/or the examination office will inform you about the details and time periods. If necessary, be sure to ask the lecturer.

maximum number of participants
previous knowledge and experience

Programmierkenntnisse

learning outcomeFachkompetenz: Die Studierenden haben nach der Vorlesung grundlegendes Wissen über
Vorgehens- und Prozessmodelle der Softwareentwicklung, sowie über deren
Methodik und Basiskonzepte. Sie können größere Entwicklungsaufgaben
strukturieren, Lösungsmuster erkennen und anwenden, und verstehen den
Entwurf von der Anforderungsermittlung bis hin zur Implementierung.

Methodenkompetenz: Die Studierenden haben Entscheidungskompetenz
hinsichtlich möglicher Prinzipien, Methoden und Werkzeuge des
ingenieurmäßigen Softwareentwurfs. Die Studierenden verfügen über das Wissen, allgemeine Techniken der
Softwareentwicklung bzw. fachspezifische Kenntnisse anzuwenden und
konnten die Praxis des Projektmananagements innerhalb der Software-Projekts erlernen.

Systemkompetenz: Die Studierenden verstehen das grundlegende
Zusammenwirken unterschiedlicher Softwareentwicklungsphasen;
anwendungsorientierte Kompetenzen bezüglich Modellierungsfähigkeit und
Systemdenken sind geschult. Sie sind in der Lage,
Organisations-, Entwurfs- und Implementierungstechniken anzuwenden.


Sozialkompetenz: Die Studierenden verfügen über Fähigkeiten zur entwicklungsbezogenen, effektiven Teamarbeit. Die Studierenden lösen eine komplexe Entwickulungsaufgabe in einem
größeren Team und vertiefen dabei Fertigkeiten in Projektmanagement,
Teamführung und Gruppenkommunikation.
content

In der Lehrveranstaltung werden grundlegende Methoden, Modelle und Vorgehensweisen der Softwaretechnik bzw. des Software Engineering erlernt und am Beispiel geübt. Vorrangig wird die objektorientierte Sichtweise betrachtet, und in den Übungen anhand praktischer Beispiele vertieft. Für Implementierungsbeispiele wird vor allem JAVA verwendet.

- Einführung
- Modellierungskonzepte
  . Überblick Modellierung
  . klassische Konzepte (funktional, datenorientiert, algorithmisch, zustandsorientiert)
  . Grundlagen Objektorientierung
  . Unified Modeling Language (UML)
- Analyse
  . Anforderungsermittlung
  . Glossar, Geschäftsprozesse, Use Cases, Akteure
  . Objektorientierte Analyse und Systemmodellierung
  . Dokumentation von Anforderungen, Pflichtenheft
- Entwurf
  . Software-Architekturen
  . Objektorientiertes Design
  . Wiederverwendung (Design Patterns, Komponenten, Frameworks, Bibliotheken)
- Implementierung
  . Konventionen und Werkzeuge
  . Codegenerierung
  . Testen
- Vorgehensmodelle
  . Überblick, Wasserfall, Spiralmodell, V-Modell XT, RUP, XP
- Projektmanagement
  . Projektplanung
  . Projektdurchführung
- Softwareprojekt
media of instruction and technical requirements for education and examination in case of online participation

Folien, Tafel, Übungsaufgaben

 

literature / references

Brügge, Dutoit: Objektorientierte Softwaretechnik
Balzert: Lehrbuch der Software-Technik - Basiskonzepte und Requirements Engineering
Stark, Krüger: Handbuch der Java-Programmierung
Sommerville: Software Engineering
Oestereich: Analyse und Design mit UML
Rupp: Requirements-Engineering und -management
Höhn, Höppner: Das V-Modell XT
Kruchten: The Rational Unified Process: An Introduction
Beck, Andres: Extreme Programming Explained
Wirfs-Brock, McKean: Object Design: Roles, Responsibilities and Collaborations
Gamma, Helm, Johnson, Vlissides: Entwurfsmuster: Elemente wiederverwendbarer objektorientierter Software
Fowler: Refactoring: Improving the Design of Existing Code

evaluation of teaching