Technische Universität Ilmenau

Softwarearchitekturen - Modultafeln der TU Ilmenau

Die Modultafeln sind ein Informationsangebot zu den Studiengängen der TU Ilmenau.

Die rechtsverbindlichen Studienpläne entnehmen Sie bitte den jeweiligen Studien- und Prüfungsordnungen (Anlage Studienplan).

Alle Angaben zu geplanten Lehrveranstaltungen finden Sie im elektronischen Vorlesungsverzeichnis.

Informationen und Handreichungen zur Pflege von Modulbeschreibungen durch die Modulverantwortlichen finden Sie unter Modulpflege.

Hinweise zu fehlenden oder fehlerhaften Modulbeschreibungen senden Sie bitte direkt an modulkatalog@tu-ilmenau.de.

Modulinformationen zu Softwarearchitekturen im Studiengang Master Informatik 2013
Modulnummer200067
Prüfungsnummer220446
FakultätFakultät für Informatik und Automatisierung
Fachgebietsnummer 223 (Institut für Technische Informatik und Ingenieurinformatik)
Modulverantwortliche(r) Dr. Detlef Streitferdt
TurnusWintersemester
SpracheDeutsch
Leistungspunkte5
Präsenzstudium (h)45
Selbststudium (h)105
VerpflichtungWahlmodul
AbschlussPrüfungsleistung mit mehreren Teilleistungen
Details zum Abschluss

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.

Anmeldemodalitäten für alternative PL oder SL

Die Anmeldung zur alternativen semesterbegleitenden Abschlussleistung erfolgt über das Prüfungsverwaltungssystem (thoska) außerhalb des zentralen Prüfungsanmeldezeitraumes. Die früheste Anmeldung ist generell ca. 2-3 Wochen nach Semesterbeginn möglich. Der späteste Zeitpunkt für die An- oder Abmeldung von dieser konkreten Abschlussleistung ist festgelegt auf den (falls keine Angabe, erscheint dies in Kürze):

 

Beginn der Anmeldung:   05.11.2021

Ende der Anmedlung:      12.11.2021

Letzter Rücktritt:             12.11.2021

max. Teilnehmerzahl
Vorkenntnisse
  • Kenntnisse über Softwareentwicklungsprozesse
  • Objektorientierte Modellierung
  • Objektorientierte Programmierung
Lernergebnisse und erworbene KompetenzenFachkompetenz:

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.

Inhalt

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!)

 

Medienformen

 

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

 

Moodle:

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

 

Literatur

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.
Lehrevaluation