Beim Laden des Videoplayers ist ein Fehler aufgetreten, oder es dauert lange, bis er initialisiert wird. Sie können versuchen, Ihren Browser-Cache zu leeren. Bitte versuchen Sie es später noch einmal und wenden Sie sich an den Helpdesk, wenn das Problem weiterhin besteht.

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.

Seit 4. Mai 2015 im Selbststudium
Kurssprache: English
Programming

Kursinformationen

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.

Lernmaterial

  • Welcome

  • Week 1

  • Week 2

  • Week 3

  • Week 4

  • Week 5

  • Week 6

  • Final Exam:

    The final exam for the course. It is split into a theoretical part and a practical part, both of which can be started and solved independently.
  • Course End Survey

Für diesen Kurs einschreiben

Der Kurs ist kostenlos. Legen Sie sich einfach ein Benutzerkonto auf openHPI an und nehmen Sie am Kurs teil!
Jetzt einschreiben

Lernende

Aktuell
Heute
6.115
Kursende
4. Mai 2015
3.694
Kursstart
10. März 2015
2.268

Bewertungen

Der Kurs wurde mit durchschnittlich 5.0 Sternen bei 1 abgegebenen Stimmen bewertet.

Anforderungen für Leistungsnachweise

  • Den Leistungsnachweis erhält, wer in der Summe aller benoteten Aufgaben mindestens 50% der Höchstpunktzahl erreicht hat.
  • Die Teilnahmebestätigung erhält, wer auf mindestens 50% der Kursunterlagen zugegriffen hat.

Mehr Informationen finden Sie in den Richtlinien für Leistungsnachweise.

Dieser Kurs wird angeboten von

Prof. Dr. Jürgen Döllner

Jürgen Döllner studied mathematics and computer science at the University of Siegen, Germany (1987-1992). He got his Ph.D. in computer science from the University of Münster, Germany, in 1996; he also received here his habilitation degree in 2001. In 2001 he became full professor for computer science at the Hasso-Plattner-Institute at the University of Potsdam, where he is leading the computer graphics and visualization department.

His major research areas are in computer graphics, geoinformatics, software engineering. In particular, the reserach is focused on concepts, tools, and techniques for complex software systems and graphics-based systems. His research topics include geovisualization (3D real-time rendering, 3D non-photorealistic rendering, web mapping, 3D spatial analysis, virtual 3D city models, and 3D virtual environments) as well as software visualization and visual analytics for software engineering (e.g., visualization of complex hierarchies, activities and dynamics, system evolution, software maps, and system metrics).

He is author of more than 200 papers in computer graphics and visualization (for an overview of publications see www.hpi3d.de). He serves as reviewer to a number of international and national journals, conferences, and workshops.