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 Research in Computer and Systems Engineering 2016
module number200129
examination number220487
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
languageEnglisch
credit points5
on-campus program (h)45
self-study (h)105
obligationelective module
examexamination performance with multiple performances
details of the certificate

Das Modul Software Architectures mit der Prüfungsnummer 220487 schließt mit folgenden Leistungen ab:

  • schriftliche Prüfungsleistung über 90 Minuten mit einer Wichtung von 50% (Prüfungsnummer: 2200819)
  • alternative semesterbegleitende Prüfungsleistung mit einer Wichtung von 50% (Prüfungsnummer: 2200820)

 

 
 Achievements during the semester (2200820 only in winter semester):

SW projects (open source) will be analyzed and presented during this lecture. The

(1) report (>=10 pages as PDF) together with the
(2) presentation (slides as PDF)

for both parts you receive a mark resulting in 50% of your final mark. Join in groups of 5-7 students per project. Presentation will take place in January.


link to Moodle course https://moodle.tu-ilmenau.de/course/view.php?id=698
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 experienceObject-orientation, UML, OO-Programming

C++ and/or Java
learning outcome

 

Domain competence:

After the lectures students have acquired detailed and general knowledge about software engineering methods and tools. They are able to use this knowledge in the project context and they can assess validity and quality of their deliverables. Students can analyze software development processes and they can tailor the processes according to concrete project features. They understand architectural patterns and styles and they can apply them in the project context.

Methodological competence:

After the exercises students are able to apply the presented methods and estimate the results early in the development cycle. They are able to choose and apply the presented development methods in a given project context.

System competence:

Students understand the overall interferences of the methods and process steps for the development of a software architecture.

Social competence:

Students can develop the architecture documentation of an open source project in the lines of a group exercise / project within the semester. They can correctly assess the implications of the soft factors of software development processes based on their group exercises / projects.

content

This lecture presents software engineering methods and tools. Development activities are embedded in development processes. The lecture teaches students about software architecture goals, ~patterns, the quality of architectures and how to assess this quality.

 

 

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

Slides, PDF-documents, HTML-pages

(Exceptional: Webex for online lectures and exercises.)

literature / referencesGeneral

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

Special Topics ...

Developmentprocesses

[Beck 2000] Kent Beck, "eXtreme Programming eXplained", Addison Wesley, 2000. 
[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. 
[Robe 1999] Suzanne Robertson, James Robertson, "Mastering the Requirements Process", Addison-Wesley, 1999. 
[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.

Architecture, Product Lines 
[Brow 2011] Amy Brown, Greg Wilson (ed.) "The Architecture of Open Source Applications", Vol. 1, http://aosabook.org, 2011.
[Brow 2012] Amy Brown, Greg Wilson (ed.) "The Architecture of Open Source Applications", Vol. 2, http://aosabook.org, 2012. 
[Clem 2002] Paul Clements, Rick Kazman, Mark Klein, "Evaluating Software Architectures", Addison Wesley, 2002. 
[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. 
[Pohl 2005] Klaus Pohl, Günter Böckle, Frank van der Linden,"Software Product Line Engineering - Foundations, Principles, and Techniques", Springer, Heidelberg 2005. 
[Spin 2009] D. Spinellis and G. Gousios, "Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software Design". O'Reilly Media, 2009.

Computer Science add-ons 
[Bern 2003] William Bernbach, "A Technique for Producing Ideas", McGraw-Hill, 2003. 
[Broo 1995] Frederick P. Brooks, Jr., "The Mythical Man Month", Addison-Wesley, 1995. 
[Mich 2006] Michael Michalko, "Thinkertoys: A Handbook of Creative-Thinking Techniques", Ten Speed Press, 2006.
[Your 1997] Edward Yourdon, "Death March", Prentice-Hall, 1997.
evaluation of teaching