Automated Visual Software Analytics

Academy
Hasso-Plattner-Institut
Kurzbeschreibung
In this MOOC, we explore how the effectiveness of software development projects can be pro-actively improved by applying concepts, technique... mehr...
In this MOOC, 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. 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. weniger
Kursarten
E-Learning

Dieser Kurs ist neu hier. 0 User folgen diesem Kurs und erhalten Bescheid, wenn es Neues gibt - Kurs jetzt folgen.

Du hast den Kurs besucht? Kurs jetzt bewerten.

Hier kannst du der Eggheads Community deine Fragen zu diesem Kurs stellen. Auch Kursleiter können mitdiskutieren.


Frage stellen

Du must angemeldet sein um zu antworten

Kursinhalt

In this MOOC, 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

Course Contents

Introduction to Software Engineering (week 1)

  • Software Dependency
  • Software Development
  • Software Complexity
  • Software Maintenance
  • Static Source Code Analysis

Software Metrics (week 2)

  • Software Metrics
  • Lines-of-Code (LoC)
  • Code Duplicates
  • Nesting Level (NL)
  • Cyclomatic Complexity (McCabe)
  • Halstead Complexity
  • Module Dependencies
  • OO Metrics

Analytics (week 3)

  • Analytics
  • Visual Analytics
  • Visualization Pipeline
  • Predictive Analytics
  • Software Analytics

Automated Data Mining and Visualization Techniques (week 4)

  • Version Control Systems
  • Mining SW Repositories
  • Treemaps
  • 2.5D Treemaps
  • Hierarchical Circular Bundle Views

Applying Visual Software Analytics (week 5)

  • Software Maps
  • Exploring System Implementations
  • Discovering Error-Prone Code
  • Monitoring Technical Debts
  • Involvement and Knowledge Distribution
  • Refactoring Planning
  • Monitoring Redesign Processes

Related Techniques and Outlook (week 6)

  • Tracing
  • TraceViews
  • Code Usage & Test Coverage
  • Software Effectiveness
  • Prescriptive Software Analytics

Learning Objectives

At the conclusion of this course, participants should be able to

  • outline concepts and methods from scientific fields that contribute to software analytics;
  • describe objectives underlying “data-driven” software engineering approaches;
  • discuss challenges for software maintenance due to software complexity and dependency;
  • list, describe, and compare software metrics as quality measures used in software analytics;
  • outline and contrast different visualization techniques used by software analytics;
  • obtain first experience in using automated visual software analytics tools;
  • reflect on using elements of automated visual software analytics in own projects as means to improve effectiveness of software development processes.

You'll find additional video lecturing material on www.tele-task.de.

Kurssprache
Englisch