Technische Universität Ilmenau

Software Architecture - 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 module number 101870 - common information
module number101870
departmentDepartment of Computer Science and Automation
ID of group223 (Institut für Technische Informatik und Ingenieurinformatik)
module leader Dr. Detlef Streitferdt
languageEnglisch
term Wintersemester
previous knowledge and experience

Object-Orientation, UML, OO-Programming

C++ and/or Java

learning outcome

 

Students will learn where to use software engineering tools within a given project context. They learn to assess the quality of an architecture. They understand software architecture patterns.

Students know about development processes and ~tools. They learn to estimate development efforts.

Students learn how to make use of development processes in groups/teams. They learn about soft factors and their impact on software development 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.

 

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

You will get the moodle key in the first lecture.


 

literature / references

General

[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
Details reference subject
module nameSoftware Architecture
examination number2200615
credit points5
SWS2
on-campus program (h)22.5
self-study (h)127.5
obligationobligatory module
examalternative examination performance
details of the certificate
A. In the end we will have a written exam (50% of your mark).
 
B. Achievements during the 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.

link to Moodle course
teacher
signup details for alternative examinations
maximum number of participants40
Details in degree program Master Research in Computer & Systems Engineering 2012
ATTENTION: not offered anymore
module nameSoftware Architecture
examination number2200615
credit points5
on-campus program (h)22
self-study (h)128
obligationobligatory module
examalternative examination performance
details of the certificate
A. In the end we will have a written exam (50% of your mark).
 
B. Achievements during the 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.

link to Moodle course
signup details for alternative examinations
maximum number of participants40