Logo der Fakultät STTP-Logo

Kursangebot

01593 - Fachpraktikum Prozessmodellierungswerkzeuge

Am Lehrgebiet "Softwaretechnik und Theorie der Programmierung" wird seit einigen Jahren das Werkzeug "VIPtool" zur Synthese von Petrinetzen und anderen Modellen verschiedener Prozessbeschreibungssprachen entwickelt. Es handelt sich dabei um eine Java-basierte Plattform. Die Funktionalität des Werkzeugs wird durch Plug-Ins bzw. durch das Zusammenspiel von Plug-Ins realisiert. Im Praktikum geht es darum, neue Algorithmen im Bereich der Prozesssynthese zu entwickeln und durch Plug-Ins zu realisieren. Dabei soll das Praktikum neben Erfahrungen in der Implementierung komplexer Systeme Kompetenz für aktuelle relevante Fragestellungen bei der Prozesssynthese vermitteln. Erfolgreiche Absolventen haben eine sehr gute Grundlage für eine Abschlussarbeit in diesem Gebiet.

Im Praktikum sollen die Studierenden in kleinen Gruppen zusammenarbeiten. In einer ersten Prä-senzphase (3 Tage) am Anfang des Semesters sind einige kleinere Aufgaben zu lösen, um das System kennenzulernen und um mit Gruppenmitgliedern bekannt zu werden. In einer abschließenden Präsenzphase (2 Tage) werden die Ergebnisse vorgestellt und alle Praktikumsteilnehmer zu den von ihnen erstellten Komponenten befragt.

Formale Voraussetzungen:

Im Bachelor-Studiengang Informatik: die erfolgreiche Teilnahme am Grundpraktikum Programmierung

Im Diplomstudiengang: die bestandene Diplom-Vorprüfung

Im Zusatzstudiengang Praktische Informatik: die bestandene Fachprüfung Grundlagen der Praktischen Informatik

Im Studiengang Master of Computer Science: eine bestandene Fachprüfung

Inhaltliche Voraussetzungen:

Vertiefte Fertigkeiten in der Programmierung mit Java. Erfolgreiche Bearbeitung des Kurses 1793. Sicherer Umgang mit mathematischer Notation. Wünschenswert sind zudem Erfahrungen mit Prozessbeschreibungssprachen wie z.B. Petrinetze, BPMN, EPK, UML activity diagrams, auch aus der beruflichen Praxis. Hilfreich ist auch der erfolgreiche Besuch des Programmierpraktikums mit einem Thema aus diesem Bereich, wie z.B. aus dem Wintersemester 2011/12.

01613 - Einführung in die imperative Programmierung

Illustration

Autor: Six | Mitarbeit: Schulz-Gerlach

Umfang: 2 + 1 SWS | ECTS: 5 Leistungspunkte

Studiengänge: Bachelor, Zusatzstudiengang Praktische Informatik, Erweiterungsprüfung zum Lehramt

Der Kurs richtet sich an Programmieranfänger und stellt grundlegende imperative Programmierkonzepte und ihre sinnvolle Anwendung vor. Behandelt werden u.a. einfache und strukturierte Datentypen, Zeiger und einfache dynamische Datenstrukturen (lineare Listen, Binärbäume), einfache und zusammengesetzte Anweisungen, Schleifen, Prozeduren, Funktionen und Rekursion. Alle Beispiele werden in Pascal programmiert. Bei der Vermittlung der Konzepte und ihrer Anwendung wird darauf geachtet, dass der Zugang zur Objektorientierung nicht verstellt wird. Die Bedeutung der Software-Qualitätssicherung wird dadurch unterstrichen, dass von Beginn an Wert auf guten Programmierstil gelegt wird sowie Grundlagen des Softwaretests vermittelt werden.

Qualifikationsziele:
Die Studierenden sind mit grundlegenden imperativen Programmierkonzepten vertraut. Sie kennen Richtlinien für guten Programmierstil sowie Grundlagen des Testens. Die sinnvolle Anwendung sämtlicher Lerninhalte beherrschen sie im Rahmen von Übungsaufgaben.

Vorausgesetzt werden elementare mathematische Schulkenntnisse. Alle weitergehenden Kenntnisse werden im Rahmen des Kurses vermittelt.

nach oben

01793 - Software Engineering I

Illustration

Autoren: Six, Winter

Umfang: 4 + 2 SWS | ECTS: 10 Leistungspunkte

Studiengänge: Bachelor, Diplom, Erweiterungsprüfung zum Lehramt, Master of Computer Science (über Katalog B), Zusatzstudiengang Praktische Informatik

Gegenstand des Kurses ist die methodische Entwicklung objektorientierter Desktop-Applikationen. Der Kurs beginnt mit einem knappen Überblick über das Gebiet Software Engineering und konzentriert sich danach auf "Informatikaspekte" der objektorientierten Softwareentwicklung. Aus Software Engineering-Sicht besteht ein wichtiger Vorteil der Objektorientierung darin, dass ihre Konzepte eine große Durchgängigkeit durch die Entwicklungsabschnitte besitzen. Dies spiegelt sich auch in der Unified Modeling Language (UML) wider, die sich als de-facto-Standard etabliert hat und deren Konstrukte in der Anforderungsermittlung und Realisierung gleichermaßen verwendet werden. Nach dem Überblick werden daher zunächst die für den Kurs relevanten UML-Elemente vorgestellt. Anschließend werden typische Arbeitsschritte der Anforderungsermittlung, der Erstellung der Softwarespezifikation und des Entwurfs besprochen, wobei die UML als Modellierungssprache benutzt wird. Der Kurs ist inspiriert von den Ideen der modellgetriebenen Softwareentwicklung, die die Entwicklung von Softwaresystemen als Folge systematischer Transformationen von Modellen begreift.

Qualifikationsziele:
Die Studierenden sind mit den vielschichtigen Problemen der Entwicklung großer (objektorientierter) Softwaresysteme vertraut. Sie kennen die systematische Ermittlung und UML-basierte Modellierung von Anforderungen sowie die schrittweise Verfeinerung bzw. Transformation der Modelle in ein unmittelbar ausprogrammierbares Entwurfsklassenmodell. Sie können die Lerninhalte auf der Ebene von Übungsaufgaben anwenden und mit UML-Editoren umgehen.

Voraussetzungen:
Grundkenntnisse in Java.

nach oben

01794 - Software Engineering II

Illustration

Dieser Kurs wird zur Zeit überarbeitet und deshalb nicht angeboten.

01895 - Management von Softwareprojekten

Illustration

Autor: Henrich

Umfang: 4 + 2 SWS | ECTS: 10 Leistungspunkte

Studiengänge: Bachelor, Diplom, Master of Computer Science (über Katalog B)

Für das erfolgreiche Gelingen großer Softwareprojekte sind nicht nur erfahrene Softwareentwickler, sondern es ist vor allem auch ein kompetentes Management nötig. Nach einer Einführung behandeln die Kurseinheiten 1 und 2 Vorgehensmodelle für Softwareprojekte sowie verschiedene Formen der Integration von Softwareprojekten in die Organisationsstruktur von Unternehmen und die projektinterne Organisation. Gegenstand der Kurseinheiten 3 und 4 sind Methoden zur Aufwandsschätzung, wie z.B. COCOMO und die Function-Point-Analyse. Außerdem werden Verfahren der Projektplanung, darunter die Netzplantechnik, und das Projektcontrolling betrachtet. In den Kurseinheiten 5 und 6 werden Projekttechniken wie z.B. Kreativitätstechniken, Techniken für Besprechungen, Präsentationen und Dokumentationen vermittelt. Zudem wird durch Erläuterungen zur Führung und Motivation von Mitarbeitern sowie zur Teamarbeit auch die menschliche Komponente im Projekt berücksichtigt. Mit Ausführungen zur Qualitätssicherung und zum Qualitätsmanagement rundet Kurseinheit 7 die Thematik ab.

Qualifikationsziele:
Den Studierenden ist bewusst, wie schwierig und komplex das Management großer Softwareprojekte ist und welche zentrale Bedeutung es für deren erfolgreiche Durchführung besitzt. Sie sind neben projektvorbereitenden, -begleitenden und -abschließenden Managementmethoden auch mit einschlägigen Soft Skills vertraut. Sie können den Lernstoff auf der Ebene von Übungsaufgaben anwenden.

Voraussetzungen:
Grundkenntnisse der Programmierung (Kurse 01613 und 01618).

Bemerkung:
Der Kurs ist Stoff der schriftlichen Bachelor-Prüfung 26310. Leistungsnachweise oder Zertifikate können in Kurs 01895 nicht erworben werden.

nach oben

01917 - Seminar im WS 2011/12: Synthese von Prozessmodellen aus Ablaufmodellen

Inhalt
Im Umfeld verschiedener Modellierungssprachen werden Möglichkeiten diskutiert, wie aus der formalen Beschreibung einzelner Programm- bzw. Prozessabläufe ein Algorithmus bzw. eine vollständige Prozessbeschreibung automatisch generiert werden kann. Derartige Verfahren erlauben die Gewinnung von Prozessen aus Beispielabläufen existierender Systeme, deren Ablaufstruktur nicht (mehr) bekannt ist, die Entwicklung von Systemen aus gegebenen Beispielabläufen und können den Algorithmenentwurf mittels geeigneter Werkzeuge unterstützen. Im Seminar werden verschiedene Syntheseansätze gegenübergestellt, die sich auch auf Grund verschiedener Modellierungssprachen für Abläufe, für Prozesse und verschiedener Anwendungsszenarien unterscheiden.

Voraussetzungen
Das Seminar richtet sich an Studierende im Haupt- bzw. Master-Studium mit Interesse an grund-legenden Fragestellungen der Softwaretechnik; fortgeschrittene Studierende im Bachelor-Studium sind aber nicht grundsätzlich ausgeschlossen. Vertieftes Verständnis mathematischer Terminologie wird benötigt. Die Teilnehmer müssen englische Fachliteratur lesen und verstehen können und ggfs. Sekundärliteratur selbstständig finden und einbeziehen. Sie sollten Erfahrung in der Erstellung von Präsentationen (z.B. mit Powerpoint) haben. Die Zahl der Teilnehmer ist begrenzt.

Durchführung
Jeder Teilnehmer bzw. jede Teilnehmerin erhält eine englischsprachige Originalarbeit, deren Inhalte er/sie präsentiert. Zusätzlich werden Aufsätze verschickt (ca. 70 Seiten), die als Grundlage des Seminars dienen. Diese Aufsätze müssen von allen Teilnehmern durchgearbeitet werden; vertieftes Verständnis ihrer Inhalte kann umgekehrt bei der Präsentation bei allen Teilnehmern vorausgesetzt werden. Die Teilnahme und Diskussionsbereitschaft bei allen Vorträgen ist verpflichtend für alle Teilnehmer.
Der Schwerpunkt bei der Bewertung ist die Präsentation (30 Minuten + 15 Minuten Diskussion + 15 Minuten Feedback zum Präsentationsstil). Eine Vorversion Ihrer Präsentation müssen Sie spätestens drei Wochen vor der Präsenzphase einreichen. Sie erhalten Verbesserungsvorschläge, die Sie berücksichtigen sollten. In eine endgültige Ausarbeitung sollen Diskussionsergebnisse einfließen, deshalb wird diese erst nach der Präsenzphase abgegeben.

Termine
ab 15. September 2011 Themenverteilung
30. September 2011 Bearbeitungsbeginn
02. März 2012 Abgabe der Präsentation
23.-25. März 2012 Präsenzphase in Hagen
18. Mai 2012 Abgabe der Ausarbeitung

Anmeldung
Ihre Anmeldung zum Seminar nehmen Sie bitte vom 01.06.2011 bis spätestens 31.07.2011 per Web-Formular unter http://www.fernuni-hagen.de/mathinf/ws (Menüpunkt Seminare) vor.

nach oben

01917 - Seminar im SS 2012: Moderne Methoden für die Organisation von Softwareprojekten

Inhalt
In diesem Seminar werden ausgewählte Methoden diskutiert, die sich im Laufe der letzten Jahre für die Organisation von Softwareprojekten etabliert haben. Besonders im Fokus stehen dabei Konzepte aus dem Bereich agile und lean. Behandelt werden sowohl Methoden, die ein vollständiges Projekt umfassen (zum Beispiel Scrum) als auch Methoden für einen Teilbereich eines Projekts (zum Beispiel für den Bereich der Moderation). Auch Methoden zur Einleitung von Veränderungen in einem Projekt (zum Beispiel Kanban) werden behandelt. Eine ausgewogene Mischung von theoretischen und praktischen Themen wird angestrebt.

Voraussetzungen
Das Seminar richtet sich an Studierende im Bachelor-Studium. Kenntnisse in Software Engineering I (Kurs 01793) oder dem Management von Softwareprojekten (Kurs 01895) werden vorausgesetzt. Die Studierenden müssen englische Fachliteratur lesen und verstehen können und ggfs. Sekundärliteratur selbständig finden und einbeziehen. Sie sollten Erfahrung in der Erstellung von Präsentationen haben.

Durchführung
Das Seminar wird von Herrn Dr. Thomas Epping geleitet.

Die moodle-Plattform des Seminars ist für Teilnehmer zu erreichen über: https://moodle.fernuni-hagen.de


Auskunft erteilt: Prof. Dr. Jörg Desel, Fakultät für Mathematik und Informatik, Lehrgebiet Softwaretechnik und Theorie der Programmierung, Tel.: 02331-987-2609, Joerg.Desel@FernUni-Hagen.de

Termine
ab 16. März 2012 Themenverteilung
23. März 2012 Bearbeitungsbeginn
15. Juni 2012 Abgabe der Präsentation
07. Juli 2012 Präsenzphase in Hagen
24. August 2012 Abgabe der Ausarbeitung

Anmeldung
Anmeldung vom 01.12.2011 bis 31.01.2012, 24:00, per Web-Formular unter URL http://www.fernuni-hagen.de/mathinf/ss
Bitte beachten Sie auch die Hinweise zur Seminar-Anmeldung in diesem Heft.

02.05.2012
FernUni-Logo FernUniversität in Hagen, Lehrgebiet Softwaretechnik und Theorie der Programmierung