Advanced Software Engineering (in Mechanical Engineering)

  • The aim of the course is to explain students for what purposes, under which conditions and with which consequences computer systems are used for the solution of problems related to Mechanical Engineering.
  • Within the first part of the course the steps from problem description to the final software solution are illustrated. This covers the topics
    • modelling,
    • problem elicitation and analysis,
    • program design and
    • an introduction to UML (Unified Modelling Language).
  • Then the course goes on with a closer examination of the various aspects which comprise software development, concerning with topics like
    • design patterns,
    • agile software processes and
    • project management.
  • Parallel to the lecture the students are given the chance to employ the theoretical input from the course in small software projects.
  • After an introduction to the basics of Java and object-oriented programming, the students stepwise pass through the particular stages of a software development process.

Visualize Code

CFG (control flow graph) generator

staticfg (for python3 code)

source: https://github.com/coetaur0/staticfg.git Error fix: https://github.com/coetaur0/staticfg/issues/16#issue-704702759

Install:

python3 -m venv env
source env/bin/activate

ACHTUNG: erst pip install wheel !

Usage:

  • s. github repo README
  • am besten über das example/build_cfg.py script !

doxygen (for C++ code)

use doxygen call graphs