inf006 - Software Engineering II (Complete module description)

inf006 - Software Engineering II (Complete module description)

Original version English PDF download
Module label Software Engineering II
Module code inf006
Credit points 6.0 KP
Workload 180 h
Institute directory Department of Computing Science
Applicability of the module
  • Bachelor's Programme Business Informatics (Bachelor) > Akzentsetzungsbereich Praktische Informatik und Angewandte Informatik
  • Bachelor's Programme Computing Science (Bachelor) > Akzentsetzungsbereich - Wahlbereich Informatik
  • Master of Education Programme (Gymnasium) Computing Science (Master of Education) > Wahlpflichtmodule (Praktische Informatik)
  • Master's Programme Business Informatics (Master) > Akzentsetzungsmodule der Informatik
  • Master's Programme Computing Science (Master) > Praktische Informatik
  • Master's Programme Environmental Modelling (Master) > Mastermodule
Responsible persons
  • Winter, Andreas (module responsibility)
  • Lehrenden, Die im Modul (authorised to take exams)
Prerequisites

Expected/useful experience

from inf005 - Software Engineering I

Professional competence
The students: 

  • recognize the phases in the software life cycle (requirements elicitation, design, implementation, quality assurance)
  • name the tasks involved in each phase
  • recognize and evaluate the arrangement of these activities in classic and agile approaches
  • assess and select suitable process models for the realization of projects
  • understand the advantages of the modelling process with UML
  • develop and evaluate models in different UML notations and their combinations
  • solve given problems with the help of UML notations


Methodological competence
The students:

  • structure, evaluate, differentiate and use procedures of classic and agile project management
  • structure, document and evaluate problems and solutions using the tools of object-oriented modeling
  • apply methods and techniques of object-oriented modeling with UML in a targeted manner


Social competence
The students:

  • create, present and discuss solutions to problems using modeling techniques
  • describe and solve given modeling problems in teams


Self-competence
The students: 

  • reflect on their actions when describing problems and developing solutions
Skills to be acquired in this module

The aim of Software Engineering II is to deepen the topics covered in the Software Engineering. Using blended leaning methods, students deepen their knowledge of software architecture. In the lecture part, the basics of software architecture and selected topics are presented. Students work together research-oriented to develop an overview of the current literature and the current state of research and practical application of methods and techniques in software architecture. In individual presentations, the students detail selected topics and document them in a joint script.  This is supplemented by (invited) lectures on current architecture topics.


Professional competence
The students:

  • deepen methods and techniques of software engineering
  • apply methods and techniques of software engineering specifically to describe, analyze and evaluate software architectures
  • differentiate between techniques for the development of software architectures
  • implement functional and non-functional requirements in software architectures and independently evaluate and reflect on these solutions


Methodological competence
The Students:

  • develop a current research map of software architecture 
  • identify current methods and techniques of software architecture
  • identify and discuss cross-references between the topics of the lecture and the contributions of fellow students
  • present current solution approaches


Social competence
The Students:

  • explain and discuss software engineering solutions in their practical application
  • accept criticism and understand it as assistance


Self-competence
The Students:

  • reflect on their actions when identifying approaches to solve software architecture issues 
  • internalize the development methods presented and add them to their actions
Module contents

The following subjects are provided:

  • software architecture terminology, software architect, necessity of software architectures
  • architecture description, views and viewpoints, architecture patterns, reference viewpoints
  • software architecture development procedures (Siemens, 4+1),
  • formal and informal software specification
  • model-driven architecture
  • domain-specific languages
  • software architecture migration

 

Topics developed and presented individually by students include (depending on the personal interests of the participants)

  • quality of software architectures
  • concrete architecture patterns, styles, viewpoints
  • software deployment
  • distributed architectures, service-oriented architectures, component-oriented architectures, software-defined vehicles, event-driven architecture, architecture of IoT systems/CPS, etc
  • agile software architecture
  • evolution of software architectures
  • evaluation and simulation of software architectures
Recommended reading
  • Slide script for the lecture
  • Ian Sommerville: Software Engineering, Addison-Wesley Longman, Amsterdam, 10. Auflage (Global Edition). 2015.
  • Helmut Balzert: Lehrbuch der Software-Technik, Spektrum Akademischer Verlag, 3. Auflage 2009.
  • Christine Hoffmeister, Robert Nord, Dilip Soni: Applied Software Architecture, Addison Wesley (1. November 1999)
  • Len Bass, Paul Clements, Rick Kazman: Software Architecture in Practice (SEI Series in Software Engineering), Addison Wesley; 4. Edition (3. August 2021)
  • Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Paulo Merson, Robert Nord, Judith Stafford: Documenting Software Architectures: Views and Beyond (SEI Series in Software Engineering), Addison-Wesley Educational Publishers Inc; 2. Edition (5. Oktober 2010)
  • and actual papers from IEEE Software, IEEE Transactions on Software-Engineering, Informatik-Spektrum und various conferences  (ICSE, ICSME, SANER, ICPC, SLE, MODELS etc.)
Links
Language of instruction German
Duration (semesters) 1 Semester
Module frequency every summer term
Module capacity unlimited
Teaching/Learning method V+S
Type of course Comment SWS Frequency Workload of compulsory attendance
Lecture 2 SuSe 28
Seminar 2 SuSe 28
Total module attendance time 56 h
Examination Prüfungszeiten Type of examination
Final exam of module

Accompanying lectures operation

portfolio

 - Active participation (including presentation and discussion of various interim results, self-report)

 - Presentation 30-45 min

 - Elaboration 4-6 pages IEEE