Taken this course? Share your experience with other students.
In this course, we explore how the effectiveness of software development projects can be pro-actively improved by applying concepts, techniques, and tools from software diagnosis. The term "software diagnosis" refers to recently innovated techniques from automated software analysis and software visual analytics that aim at giving insights into information about complex software system implementations, the correlated software development processes, and the system evolution. To this end, all common, traditionally separated infomation sources of software development get automatically extracted, related, and combined. The ultimate goals of these techniques are to provide not only software engineers but also all other stakeholders better instruments to monitor, to comprehend, to discuss, and to steer software development activities. In particular we will investigate how "software maps" as cartography-oriented, general-purpose, powerful visual analytics instruments can be used to improve software development effectiveness and transparency.
As precondition, our interested learners for this course shall have general knowledge about software development processes and procedures and have experience in IT-systems development or software maintenance. This course is especially interesting for - IT-project managers - Software developers, software testers and software engineers - Software architects and modelers - Parties responsible for financing the IT-development in a company
Complex software and software "engineering": a dilemma
Facets of software complexity
Key principles and methods of automated software analysis
Key principles and methods of software visualization
Concepts of software diagnosis
Diagnosis of statics information
Diagnosis of dynamics information
Diagnosis of evolution-related information
Information mining for complex software systems
Information mapping for complex software systems
Software maps - getting insights into hierarchy information