Technische Universität Ilmenau

Softwarearchitekturen - Modultafeln der TU Ilmenau

Die Modultafeln sind ein Informationsangebot zu unseren Studiengängen. Rechtlich verbindliche Angaben zum Verlauf des Studiums entnehmen Sie bitte dem jeweiligen Studienplan (Anlage zur Studienordnung). Bitte beachten Sie diesen rechtlichen Hinweis. Angaben zum Raum und Zeitpunkt der einzelnen Lehrveranstaltungen entnehmen Sie bitte dem aktuellen Vorlesungsverzeichnis.

Fachinformationen zu Softwarearchitekturen im Studiengang Master Informatik 2009
Fachnummer101151
Prüfungsnummer2200451
FakultätFakultät für Informatik und Automatisierung
Fachgebietsnummer 223A (Softwarearchitekturen und Produktlinien)
Fachverantwortliche(r) Dr. Detlef Streitferdt
TurnusWintersemester
SpracheDeutsch
Leistungspunkte6
Präsenzstudium (h)56
Selbststudium (h)124
VerpflichtungWahlpflicht
Abschlussalternative Prüfungsleistung
Details zum Abschluss

Im Verlauf der Veranstaltung sollen bestehende Projekte (Open Source) analysiert und vorgestellt werden. Die Ausarbeitungen (mit Präsentation) zu den jeweiligen Softwarearchitekturen werden zu 50% in die Bewertung mit einfließen (es sind jedoch beide Anteile (Projekt und finale Prüfung) für den Abschluss der Veranstaltung notwendig!)

max. Teilnehmerzahl
Vorkenntnisse
  • Kenntnisse über Softwareentwicklungsprozesse
  • Objektorientierte Modellierung
  • Objektorientierte Programmierung
Lernergebnisse

Fachkompetenz (20%). Die Studierenden können die Werkzeuge des Software Engineering in einem konkreten Projektkontext anwenden. Sie können 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 (40%). Die Studierenden sind fähig die vorgestellten Entwicklungsmethoden und ~werkzeuge anzuwenden und deren Ergebnisse früh im Entwicklungsprozess abzuschätzen. Sie sind fähig aus den vermittelten Methoden und Werkzeugen für ein gegebenes Projekt die passenden auszuwählen und anzuwenden.

Sozialkompetenz (40%). Die Studierenden lernen die Erfordernisse und Ergebnisse von Softwareentwicklungsprozessen innerhalb einer Entwicklergruppe kennen und können deren Bedeutung für ein Softwareprojekt innerhalb einer Firma einschätzen. Sie lernen auch die große Bedeutung der "weichen" Faktoren innerhalb von Softwareentwicklungsprozessen kennen und können deren Auswirkungen abschätzen. Die Studierenden sind fähig die Auswirkungen von Architekturentscheidungen im Kontext einer Entwicklergruppe zu bewerten. Hintergründe der Projektarbeit, Anforderungen und die Bedeutung sozialer Netzwerke sind den Studenten bekannt.

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

Pflichtevaluation:

WS 2011/12 (Fach)

Freiwillige Evaluation:

WS 2009/10 (Vorlesung)

WS 2010/11 (Vorlesung, Übung)

WS 2012/13 (Vorlesung)

WS 2014/15 (Vorlesung)

WS 2015/16 (Vorlesung)

WS 2017/18 (Vorlesung)

Hospitation:

Informationen und Handreichungen zur Pflege von Modul- und Fachbeschreibungen durch den Modul- oder Fachverantwortlichen finden Sie auf den Infoseiten zum Modulkatalog.