Technische Universität Ilmenau

Software Architectures - 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 Architectures in degree program Master Informatik 2021
module number200067
examination number220446
departmentDepartment of Computer Science and Automation
ID of group 223 (Institut für Technische Informatik und Ingenieurinformatik)
module leader Dr. Detlef Streitferdt
term winter term only
languageDeutsch
credit points5
on-campus program (h)45
self-study (h)105
obligationelective module
examexamination performance with multiple performances
details of the certificate

Das Modul Softwarearchitekturen mit der Prüfungsnummer 220446 schließt mit folgenden Leistungen ab:

  • mündliche Prüfungsleistung über 30 Minuten mit einer Wichtung von 50% (Prüfungsnummer: 2200716)
  • alternative semesterbegleitende Prüfungsleistung mit einer Wichtung von 50% (Prüfungsnummer: 2200717)



Details zum Abschluss Teilleistung 2: Im Verlauf der Veranstaltung sollen bestehende Projekte (Open Source) analysiert und vorgestellt werden. Es ist eine Ausarbeitungen mit Präsentation zu erstellen.

link to Moodle course
teacherDetlef Streitferdt
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
  • Kenntnisse über Softwareentwicklungsprozesse
  • Objektorientierte Modellierung
  • Objektorientierte Programmierung
learning outcomeFachkompetenz:

Die Studierenden
verfügen über Kenntnisse und Überblickswissen über Methoden und Werkzeuge des
Software Engineering. Sie können dieses Wissen im Projektkontext anwenden und
die Aussagekraft / Qualität der jeweiligen Ergebnisse bewerten. Die
Studierenden sind fähig Softwareentwicklungsprozesse zu analysieren und auf die
jeweiligen Gegebenheiten eines Projektes anzupassen. Sie verstehen
Architekturmuster / ~stile und können diese im Projektkontext einsetzen.

Methodenkompetenz:

Die Studierenden
sind fähig die vorgestellten Entwicklungsmethoden anzuwenden und deren
Ergebnisse früh im Entwicklungsprozess abzuschätzen. Sie sind fähig aus den
vermittelten Methoden die für ein gegebenes Projekt passfähigen auszuwählen und
anzuwenden.

Systemkompetenz:

Die Studierenden
verstehen das grundsätzliche Zusammenwirken der Methoden und Prozessschritte
der Entwicklung einer Softwarearchitektur.

Sozialkompetenz:

Die Studierenden können im Rahmen der semesterbegleitenden Gruppenpaufgabe die
Architekturdokumentation eines Open Source Projektes
erarbeiten. Sie können die
Auswirkungen der "weichen" Faktoren innerhalb von
Softwareentwicklungsprozessen durch die eigene Gruppenarbeit richtig
abschätzen.

Über ein studentisches Projekt während
des Semesters, mit einer Abschlusspräsentation, wird das anwendungsnahe
Implementierungswissen geprüft. In der Prüfung wird der Fokus nur noch
auf das integrative Verständnis gelegt, sodass hier eine Reduktion der
Prüfungsbelastung während des Prüfungszeitraumes erreicht wird.

content

Diese Vorlesung vermittelt Studenten der Informatik und Ingenieurinformatik Methoden und Techniken des Software  Engineering. Über die Einbettung der Aktivitäten in den Softwareentwicklungsprozess werden die einzelnen Schritte und in den Übungen vertieft. Die Veranstaltung enthält die Erarbeitung von Softwarearchitekturzielen, Beschreibungsansätze der verschieden Modelle und Dokumente, Vorgehen bei der Entwicklung (Prozesse), Entscheidungsfindung, Architekturstile / -muster und ihre Qualitätseigenschaften, sowie die Prüfung/Bewertung von Architekturen.
(Die Vorlesung wird in Deutsch gehalten, einige der Materialien sind jedoch nur in Englisch verfügbar - was allerdings im Hinblick auf die spätere Arbeitswelt nur von Vorteil ist!)

 

media of instruction and technical requirements for education and examination in case of online participation

 

  • Vorlesungsfolien
  • PDF Dokumente (auch wissenschaftliche Beiträge)
  • Prozessbeschreibungen (HTML), Templates

 

Moodle: https://moodle2.tu-ilmenau.de/course/view.php?id=4463

Webex für die online Vorlesungen und Übungen.

literature / references

Umfassende Werke

[Balz 1996] Helmut Balzert, "Lehrbuch der Software-Technik", Spektrum Akademischer Verlag, 1996.
[Fowl 1999] Martin Fowler, "Refactoring - Improving the Design of Existing Code", Addison Wesley, 1999.
[Gamm 1995] Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, "Design Patterns - Elements of Reusable Object-Oriented Software", Addison Wesley, 1995.
[Mart 2009] Robert C. Martin, "Clean Code", Prentice Hall, 2009.
[McCo 2004] Steve McConnell, "Code Complete 2nd Edition", Microsoft Press, 2004.
[Rooc 2004] Stefan Roock, Martin Lippert, "Refactorings in großen Softwareprojekten", dpunkt.Verlag GmbH, 2004.
[Somm 2007] Ian Sommerville,"Software Engineering", Pearson Studium, 2007.
[Mens 2008] T. Mens and S. Demeyer, Eds., Software Evolution. Springer-Verlag New York Inc, 2008.


              Spezielle Themen ...

Entwicklungsprozesse
[Beck 2000] Kent Beck, "eXtreme Programming eXplained", Addison Wesley, 2000.
[Buns2002] C. Bunse and A. von Knethen, Vorgehensmodelle kompakt. Fraunhofer Publica [http://publica.fraunhofer.de/oai.har] (Germany), 2002.
[Carr 1993] Marvin J. Carr, Suresh L. Konda, Ira Monarch, F. Carol Ulrich, Clay F. Walker, "Taxonomy-Based Risk Identification", Carnegie Mellon University, Technical Report CMU/SEI-93-TR-6, ESC-TR-93-183, 1993.
[Open 2011] Eclipse Process Framework, "Open Unified Process, OpenUP", content retrieved 2011-10-01, 2011.

Requirements
[Bere 2009] Brian Berenbach, Daniel J. Paulish, Juergen Kazmeier, Arnold Rudorfer, "Software & Systems Requirements Engineering In Practice", Mc Graw Hill, 2009.
[Haya 1990] S. I. Hayakawa, "Language in Thought and Action", Harvest Books, 1990.
[KoSo 1998] Gerald Kotonya, Ian Sommerville, "Requirements Engineering - Processes and Techniques", John Wiley & Sons, 1998.
[Kula 2000] Daryl Kulak, Eamonn Guiney, "Use Cases - Requirements in Context", Addison-Wesley, 2000.
[Lams 2001] Axel van Lamsweerde, "Goal-Oriented Requirements Engineering: A Guided Tour", in Proceedings of the 5th IEEE International Symposium on Requirements Engineering (RE 2001), 27-31 August 2001, Toronto, Canada, 2001.
[Lams 2009] Axel van Lamsweerde, "Requirements Engineering: From System Goals to UML Models to Software Specifications", John Wiley & Sons, 2009.
[McCo 2006] Steve McConnell, "Software Estimation", Microsoft Press, 2006.
[Pohl 2008] Klaus Pohl, "Requirements Engineering: Grundlagen, Prinzipien,Techniken", dpunkt.Verlag GmbH, 2008.
[Robe 1999] Suzanne Robertson, James Robertson, "Mastering the Requirements Process", Addison-Wesley, 1999.
[Rupp 2002] Chris Rupp, "Requirements-Engineering und -Management", Hanser Verlag, 2002.
[Schu 2000] G. Gordon Schulmeyer, Garth R. Mackenzie, "Verification & Validation of Modern Software-Intensive Systems", Prentice Hall, 2000.
[SoSa 1997] Ian Sommerville, Pete Sawyer, "Requirements Engineering: A Good Practice Guide", John Wiley & Sons, 1997.
[Wieg 1999] Karl E. Wiegers, "Software Requirements", Microsoft Press, 1999.
[With 2007] Stephen Withall, "Software Requirement Patterns", Microsoft Press, 2007.

Architektur, Produktlinien
[Boec 2004] Günter Böckle, Peter Knauber, Klaus Pohl, Klaus Schmid, "Software-Produktlinien: Methoden, Einführung und Praxis", dpunkt.Verlag GmbH, 2004.
[Clem 2002] Paul Clements, Rick Kazman, Mark Klein, "Evaluating Software Architectures", Addison Wesley, 2002.
[Hrus 2012] P. Hruschka and G. Starke, Architektur-Knigge für Softwarearchitekten-Der Verschätzer. 2012.
[Kang 1990] K. Kang, S. Cohen, J. Hess, W. Novak, and A. Peterson, "Feature-Oriented Domain Analysis (FODA) Feasibility Study", SEI Institute, Carnegie Mellon University, USA, CMU/SEI-90-TR-021, 1990.
[Kazm 2000] Rick Kazman, Mark Klein, Paul Clements, "ATAM: Method for Architecture Evaluation", TECHNICAL REPORT, CMU/SEI-2000-TR-004, ESC-TR-2000-004, 2000.
[Lind 2007] F. J. van der Linden, K. Schmid, and E. Rommes, Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering. Berlin: Springer, 2007.
[Love 2005] Robert Love, "Linux Kernel Development (2nd Edition)", Novell Press, 2005.
[Masa 2007] Dieter Masak, "SOA? Serviceorientierung in Business und Software", Springer Verlag, 2007.
[Pohl 2005] Klaus Pohl, Günter Böckle, Frank van der Linden,"Software Product Line Engineering - Foundations, Principles, and Techniques", Springer, Heidelberg 2005.
[Posc 2007] Torsten Posch, Klaus Birken, Michael Gerdom, "Basiswissen Softwarearchitektur", d.punkt Verlag, 2004 oder 2007.
[Spin 2009] D. Spinellis and G. Gousios, Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software Design. O'Reilly Media, 2009.
evaluation of teaching