l Partner l Sitemap l Anmeldung l Downloads 
Kostenlose Beratung unter 0800-2222336

Module: Softwaretechnik

Die Entwicklung von Software-Systemen erfolgt heute in Teams, um zeitgerecht komplexe Software fertigzustellen. Es lassen sich drei Bereiche unterscheiden:

Die eigentliche Softwareentwicklung findet in Phasen statt. Ausgehend von den Anforderungen des Auftraggebers wird über die Phasen Planung, Definition, Entwurf und Implementierung ein Softwaresystem entwickelt, das nach der Abnahme gewartet, gepflegt und weiterentwickelt wird.

Eine Softwareentwicklung läuft jedoch nicht von sich aus ab. Software-Management ist erforderlich, um den Entwicklungsprozess vorzugeben, zu planen und zu kontrollieren.

Ein neu entwickeltes Software-System muss heute von vornherein eine gute Qualität besitzen, da fehlerhafte Software zu beträchtlichen Schäden führen kann. Neben dem Software-Management ist daher Software-Qualitätsmanagement erforderlich.

Diese großen Themenbereiche werden in diesem Fachgebiet vermittelt:


Softwaretechnik 1

Studienbereich
Bachelor-Studienabschnitt, Pflichtfach, Empfohlenes Semester: 4. Semester

Fach

Softwaretechnik

Anzahl LP
5

Ziele
In diesem Modul lernen die Studierenden die Basistechniken (Prinzipien, Methoden, Werkzeuge) und die Basiskonzepte der Softwaretechnik kennen. Sie erkennen, dass ein zu entwickelndes Softwaresystem unter folgenden drei Gesichtspunkten, Sichten oder Perspektiven beschrieben, spezifiziert, modelliert, analysiert, entworfen und programmiert werden kann: Statik, Dynamik und Logik. Um die verschiedenen Techniken und Konzepte zu veranschaulichen, werden eine kaufmännische Fallstudie »SemOrg« (für Seminarorganisation) und eine technische, eingebettete Fallstudie »Fensterheber« durchgängig verwendet und referenziert. Die Studierenden erkennen so die Unterschiede der verschiedenen Anwendungsdomänen.

Soweit möglich wird als Notation im grafischen Bereich die UML 2 eingesetzt. Nach Durcharbeitung des Moduls besitzt der Studierende die Kenntnisse, die für das internationale Zertifikat OMG-Certified UML Professionals (Fundamental) erforderlich sind. Auf Wunsch des Studierenden wird eine Prüfung zu diesem Zertifikat vermittelt.

Der Studierende ist anschließend in der Lage vorgegebene Szenarien mit den richtigen Basistechniken und Basiskonzepten zu modellieren.

Ein weiteres Lernziel besteht darin, die Arbeit im Team zu üben. Dazu ist eine Aufgabe in einem Team bestehend aus 3 bis 5 Teilnehmern gemeinsam zu bearbeiten. Jedes Teammitglied bearbeitet die Aufgabe entsprechend seiner Rolle. Über das W3L-Communication Center können die Teammitglieder gemeinsame Besprechungen abhalten.

Inhaltsübersicht

  • I Die Wissenschaftsdisziplin Softwaretechnik
    • Was ist Software?
    • Warum ist Software so schwer zu entwickeln?
    • Was ist Softwaretechnik?
  • II Basistechniken
    • Prinzipien
      • Prinzip der Abstraktion
      • Prinzip der Strukturierung
      • Prinzip der Bindung und Kopplung
      • Prinzip der Hierarchisierung
      • Prinzip der Modularisierung
      • Geheimnisprinzip
      • Prinzip der Lokalität
      • Prinzip der Verbalisierung
      • Abhängigkeiten zwischen den Prinzipien
    • Methoden
    • Werkzeuge
      • Menschen, Methoden, Werkzeuge
      • Klassifikation von Werkzeugen
      • Integrierte Entwicklungsumgebungen
      • Modellgetriebene Entwicklung
      • Auswahlkriterien bei der Anschaffung von Werkzeugen
      • Evaluationsverfahren für die Anschaffung
  • III Basiskonzepte
    • Fallstudie: SemOrg - Die Spezifikation
    • Fallstudie: Fensterheber - Die Spezifikation
    • Statik
      • Funktionalität
      • Funktions-Strukturen
      • Daten
      • Daten-Strukturen
    • Dynamik
      • Kontrollstrukturen
      • Geschäftsprozesse und Use Cases
      • Zustandsautomaten
      • Petrinetze
      • Szenarien
    • Logik
      • Formale Logik
      • Constraints und die OCL in der UML
      • Entscheidungstabellen und Entscheidungsbäume
      • Regeln

Verantwortlich
Prof. Dr. Helmut Balzert

Voraussetzungen & Vorkenntnisse
Modul Grundlagen der Informatik 3

Literatur

  • Buch: Lehrbuch der Softwaretechnik - Basiskonzepte und Requirements Engineering von Helmut Balzert, 3. Auflage, Spektrum Akademischer Verlag, Heidelberg

Weiterführende Literatur

  • Sommerville, Ian; Software Enginneering, Addison-Wesley, Harlow, 8. Auflage
  • Pohl, Klaus; Requirments Engineering, dpunkt-Verlag, Heidelberg, 2007

Online-Kurs

  • Softwaretechnik 1

Hinweis
Voraussetzung für die Zulassung zur Präsenzklausur ist die erfolgreiche Bearbeitung der Teamarbeit.


Softwaretechnik 2

Studienbereich
Bachelor-Studienabschnitt, Pflichtfach, Empfohlenes Semester: 5. Semester

Fach
Softwaretechnik

Anzahl LP
5

Ziele
Im Mittelpunkt dieses Moduls steht das Requirements Engineering. Zu wissen, was der Kunde will, und dies zu ermitteln, zu beschreiben, zu spezifizieren, zu analysieren und in Form einer fachlichen Lösung zu modellieren ist die Aufgabe des Requirements Engineering - im Deutschen auch als Systemanalyse bezeichnet. Die Studierenden lernen, dass im Requirements Engineering die Grundlagen für den Erfolg oder Misserfolg einer Softwareentwicklung gelegt werden.

Der Studierende ist anschl. in der Lage auf der Grundlage von Basistechniken und Basiskonzepten systematisch ein Requirements Engineering durchzuführen und Anforderungen in fachliche Lösungen unter Einsatz der UML überzuführen.

Ein weiteres Lernziel besteht darin, die Arbeit im Team zu üben. Dazu ist eine Aufgabe aus dem Themenbereich »Requirements Engineering« in einem Team bestehend aus 3 bis 5 Teilnehmern gemeinsam zu bearbeiten. Der Tutor teilt den Teammitgliedern Rollen zu (Projektleiter, Systemanalytiker 1 bis 3, Qualitätssicherer). Das Team erhält die Aufgabe, die verbalen Anforderungen eines Auftraggebers mit Methoden des »Requirements Engineering« in ein Lastenheft, Pflichtenheft, Glossar und ein OOA-Modell umzusetzen. Jedes Teammitglied bearbeitet die Aufgabe entsprechend seiner Rolle. Über das W3L-Communication Center können die Teammitglieder gemeinsame Besprechungen abhalten.

Inhaltsübersicht

  • Requirements Engineering
    • Problem vs. Lösung
    • Bedeutung, Probleme und Best Practices
    • Aktivitäten und Artefakte
    • Der Requirements Engineering-Prozess
    • Anforderungen und Anforderungsarten
      • Visionen und Ziele
      • Rahmenbedingungen
      • Kontext und Überblick
      • Nichtfunktionale Anforderungen
      • Qualitätsmerkmale nach ISO/IEC 9126 -1
      • Abnahmekriterien
    • Anforderungen an Anforderungen
    • Anforderungsattribute
    • Natürlichsprachliche Anforderungen
    • Anforderungsschablonen
      • Anforderungsschablone der IEEE 830 -1998
      • Anforderungsschablonen im V-Modell XT
      • Schablonen für Lastenheft, Pflichtenheft und Glossar
      • Schablonen für agile Entwicklungen
    • Anforderungen ermitteln und spezifizieren
    • Anforderungen analysieren, validieren und abnehmen
    • Schätzen des Aufwands
      • Voraussetzungen und Einflussfaktoren
      • Warum ist das Schätzen des Aufwands wichtig?
      • Warum eine Aufwandsschätzung schwierig ist?
      • Schätzverfahren
      • Die Function-Points-Methode
      • Object Points/Application Points
      • COCOMO II
      • Bewertung und weitere Aspekte
    • Anforderungen priorisieren
    • Anforderungen modellieren
      • Beispiel: Objektorientierte Analyse
      • Domänenspezifische Sprachen
    • Fallstudie: SemOrg V1.0 - Die fachliche Lösung
    • Fallstudie: Fensterheber - Die fachliche Lösung
    • Modellierte Anforderungen analysieren, verifizieren und abnehmen

Verantwortlich
Prof. Dr. Helmut Balzert

Voraussetzungen & Vorkenntnisse

  • Modul Softwaretechnik 1
  • Modul Softwaremanagement 1

Literatur

  • Buch: Lehrbuch der Softwaretechnik - Basiskonzepte und Requirements Engineering von Helmut Balzert, 3. Auflage, Spektrum Akademischer Verlag, Heidelberg

Weiterführende Literatur

  • Sommerville, Ian; Software Engineering, Addison-Wesley, Harlow, 8. Auflage
  • Pohl, Klaus; Requirements Engineering, dpunkt-Verlag, Heidelberg, 2007

Online-Kurs

  • Softwaretechnik 2

Hinweis
Voraussetzung für die Zulassung zur Präsenzklausur ist die erfolgreiche Bearbeitung der Teamarbeit.


Softwaretechnik 3

Studienbereich
Bachelor-Studienabschnitt, Pflichtfach, Empfohlenes Semester: 6. Semester

Fach
Softwaretechnik

Anzahl LP

5

Ziele
Im Mittelpunkt dieses Moduls steht die Architektur von Softwaresystemen und ihre Realisierung. Der Studierende ist anschl. in der Lage, auf der Grundlage der Anforderungen und des Systemkontextes geeignete Architekturen zu konzipieren, zu bewerten, zu vergleichen und zu realisieren. Besonderer Wert wird auf den Einsatz von Entwurfsmustern gelegt. Es wird eine Struktur zur Beschreibung von Entwurfsmustern eingeführt. Aus verschiedenen Kategorien werden repräsentative Muster und mögliche Implementierungen dargestellt. Ein wichtiges Lernziel besteht darin, dass die Studierenden selbständig weitere Entwurfsmuster bei Bedarf auswählen, sich aneignen, bewerten und Softwaresysteme damit entwerfen und implementieren können. Durch die Kenntnis von Entwurfsmustern sollen die Studierenden auch komplexe Bibliotheken nutzen können, in denen Konzepte von Entwurfsmustern verwendet werden.

Ein weiteres Lernziel besteht darin, die Arbeit im Team zu üben. Dazu ist eine Aufgabe aus dem Themenbereich »Software-Entwurf« in einem Team bestehend aus 3 bis 5 Teilnehmern gemeinsam zu bearbeiten. Der Tutor teilt den Teammitgliedern Rollen zu (Projektleiter, Software-Architekt 1 bis 3, Qualitätssicherer). Das Team erhält die Aufgabe, ausgehend von einem Pflichtenheft, Glossar, GUI-Konzept und einem OOA-Modell, einen Software-Entwurf als OOD-Modell zu erstellen. Jedes Teammitglied bearbeitet die Aufgabe entsprechend seiner Rolle. Über das W3L-Communication Center können die Teammitglieder gemeinsame Besprechungen abhalten.

Inhaltsübersicht

  • Die Entwurfsphase
    • Einflussfaktoren
    • Von der Einschichten zur Mehrschichten-Architektur
    • Serviceorientierte Architektur
    • Middleware-Plattformen
    • Grundsatzentscheidungen
    • Wechselwirkungen zur Definitions- und Implementierungsphase
    • Objektorientierter Entwurf (OOD)
    • Entwurf der Fachkonzeptschicht
    • Entwurf der GUI-Schicht und Anbindung an die Fachkonzept-Klassen
    • Entwurf der Anbindung an die Datenhaltung
  • Basisarchitekturen
  • Die wichtigsten Entwurfsmuster
    • Konzepte von Entwurfsmustern
    • Beschreibungsstruktur
    • Kategorien Architektur-, Erzeugungs-, Struktur-, Verhaltens- und Synchronisationsmuster
    • Ausgewählte Entwurfsmuster, jeweils mit Beschreibung nach der Beschreibungsstruktur, Klassendiagramme, Sequenzdiagramme, evtl. Kollaborationsdiagramme und Zustandsdiagramme, Anwendungsbeispiel (mit konkreten Klassendiagrammen und Java-Programmen)
      • Beobachter (observer)
      • Model-View-Controller (MVC)
      • Strategie (strategy)
      • Befehl (command)
      • Kompositum (composite)
      • Iterator
      • Besucher (visitor)
      • Singleton
      • Filter
      • Brücke (bridge)
      • Adapter
      • Fassade (Facade)
      • Abstrakte Fabrik (abstract factory)
      • Fabrikmethode
      • Schichten
      • Broker
      • Muster zur Synchronisation
    • Übersicht über weitere Entwurfsmuster
  • Die Implementierungsphase
    • Prinzipien der Implementierung
    • Objektorientierte Programmierung (OOP)
  • Die Abnahme- & Einführungsphase
    • Die Installations- und Deployment-Phase
  • Die Wartungs- & Pflegephase

Verantwortlich
Prof. Dr. Helmut Balzert

Voraussetzungen & Vorkenntnisse

  • Modul Softwaretechnik 1
  • Modul Softwaremanagement 1

Literatur

  • Buch: Lehrbuch der Software-Technik, Entwurf, von Helmut Balzert


Weiterführende Literatur

  • Sommerville, Ian; Software Enginneering, Addison-Wesley, Harlow, 8. Auflage
  • Gamma, Erich; Richard Helm; Ralph Johnson; John Vlissides; Design Patterns: Elements of Reusable Object­Oriented Software , Boston, Addison Wesley, 1995.

Online-Kurs

  • Software-Technik 3

Hinweis
Voraussetzung für die Zulassung zur Präsenzklausur ist die erfolgreiche Bearbeitung der Teamarbeit.


Softwaremanagement 1

Studienbereich
Bachelor-Studienabschnitt, Pflichtfach, Empfohlenes Semester: 4. Semester

Fach
Softwaretechnik

Anzahl LP
5

Ziele
Ziel dieses Moduls ist es, einen Überblick über Prozess- und Qualitätsmodelle der Softwaretechnik zu geben. Als Softwaremanager stellt sich die Frage, wie man die eigene Softwareentwicklung und das Qualitätsmanagement organisiert. Es werden daher Prozess- und Qualitätsmodelle definiert, vorgestellt, klassifiziert und bewertet. Der Studierende kann anschl. für seinen Bereich die richtige Auswahl für ein Prozess- und Qualitätsmodell treffen.

Ein weiteres Lernziel besteht darin, die Arbeit im Team zu üben. Dazu ist eine Aufgabe aus dem Themenbereich »Manuelle Prüfmethoden« in einem Team bestehend aus 3 bis 5 Teilnehmern gemeinsam zu bearbeiten. Der Tutor teilt den Teammitgliedern Rollen zu. Das Team erhält eine Review-Aufgabe, die jedes Teammitglied entsprechend seiner Rolle bearbeiten muss. Anschließend findet über die W3L-Plattform eine moderierte Review-Sitzung statt.

Inhaltsübersicht

  • Prozess­ und Qualitätsmodelle
    • Was ist ein Prozessmodell?
    • Was ist ein Qualitätsmodell?
    • Qualitätsmanagement
    • Manuelle Prüfmethoden (mit Aufgabe in Teamarbeit)
    • Basismodelle
    • Rahmenmodelle
    • Monumentale Modelle
    • Agile Modelle
    • Vergleich, Trends, Auswahl

Verantwortlich
Prof. Dr. Helmut Balzert

Voraussetzungen & Vorkenntnisse

  • Modul Grundlagen der Informatik 3

Literatur

  • Buch: Lehrbuch der Software-Technik - Softwaremanagement von Helmut Balzert, Spektrum Akademischer Verlag, Heidelberg, 2008, 2. Auflage

Online-Kurs

  • Softwaremanagement - Prozess- & Qualtitätsmodelle

Hinweis

  • Bei der Präsenzklausur sind keine Hilfsmittel zugelassen.
  • Voraussetzung für die Zulassung zur Präsenzklausur ist die erfolgreiche Bearbeitung der Teamaufgabe.

Softwaremanagement 2

Studienbereich
Bachelor-Studienabschnitt, Wahlfach, Wahlkatalog 2, Empfohlenes Semester: 5. oder 6. Semester

Fach
Softwaretechnik

Anzahl LP
5

Ziele
Es wird eine Einführung in das Softwaremanagement gegeben. Softwaremanagement unterscheidet sich vom Management anderer Ingenieurbereiche. Diese Unterschiede gegenüber Entwicklungen anderer Disziplinen sind für einen Außenstehenden nur schwer zu erkennen. Daher scheitern viele Manager aus anderen Branchen, wenn sie das Management von Softwareentwicklungen versuchen. Viele Softwaremanager sind von Managementideen geprägt, die aus typischen Produktionsprozessen stammen. Wegen der Besonderheiten einer Softwareentwicklung ist mehr Management als bei Produktionsprozessen erforderlich, nicht weniger. Dennoch gelten allgemeine Management-Prinzipien auch beim Softwaremanagement. Am Anfang werden daher Prinzipien dargestellt, die für jeden Manager gelten. Anschließend wird auf die spezifischen Probleme und Möglichkeiten beim Management von Softwareentwicklungen eingegangen. Es werden die Grundlagen vermittelt, die beherrscht werden müssen, wenn ein Softwareentwickler aus der Fachlaufbahn nach und nach ausscheidet und über das Softwareprojektmanagement zum Softwaremanager aufsteigt.

Zusätzlich werden aktuelle Themen behandelt wie Outsourcing und globale Softwareentwicklung.

Der Studierende weiß anschl. auf welche Punkte er als Softwaremanager achten muss, welche Spezialitäten es im Softwaremanagement zu beachten gilt..

Inhaltsübersicht

  • Allgemeines Management
    • Die Charakteristika des Managements
    • Die Prinzipien des Managements
    • Die Führungsaufgaben des Managements
    • Die Instrumente des Managements
  • Softwaremanagement
    • Softwaremanagement - Was ist anders?
    • Strategie und Taktik
    • Softwareökonomie
    • Einführung von Innovationen
    • Outsourcing
    • Globale Softwareentwicklung
    • Risiken managen
    • Maße definieren, einführen und anwenden
    • Projekte planen und kontrollieren
    • Konfigurationen und Änderungen managen

Verantwortlich
Prof. Dr. Helmut Balzert

Voraussetzungen & Vorkenntnisse

  • Modul Softwaremanagement 1

Literatur

  • Buch: Lehrbuch der Software-Technik - Softwaremanagement von Helmut Balzert, Spektrum Akademischer Verlag, Heidelberg, 2008, 2. Auflage

Weiterführende Literatur

  • Malik, Fredmund; Führen, Leisten, Leben - Wirksames Management für eine neue Zeit, 4. Auflage 2000, Stuttgart, Deutsche Verlags­Anstalt, 2000.
  • Malik, Fredmund; Management - Das A und O des Handwerks, 1. Auflage, Frankfurt, Frankfurter Allgemeine Buch, 2005.
  • DeMarco, Tom; Lister, Timothy; Bärentango - Mit Risikomanagement Projekte zum Erfolg führen, München Wien, Carl Hanser Verlag, 2003.
  • Ebert, Christof; Dumke, Reiner; Software Measurement - Establish, Extract, Evaluate, Execute, Berlin, Springer, 2007.

Online-Kurs

  • Softwaremanagement und Allgemeines Management

Hinweis
Bei der Präsenzklausur sind keine Hilfsmittel zugelassen.


Software-Testen

Studienbereich
Bachelor-Studienabschnitt, Pflichtfach, Empfohlenes Semester: 5. Semester

Fach
Softwaretechnik

Anzahl LP

5

Ziele
In diesem Modul lernt der Studierende, wie er die Qualität von Software-Komponenten und von Software-Systemen sicherstellen kann. Es werden testende, verifizierende und analysierende Verfahren mit ihren Vor- und Nachteilen vorgestellt und an praktischen Beispielen demonstriert. Auf die Besonderheiten beim Testen objektorientierter Komponenten wird eingegangen.

Themenschwerpunkte: Tests als Bestandteil der Softwareentwicklung, Wirksame Testfälle entwickeln, Testen vs. Prüfen, Tests aktiv managen, Tests automatisieren

Die Inhalte sind so gewählt, dass der Studierende anschließend auf eigenen Wunsch das internationale Zertifikat »Certified Tester Foundation Level« erwerben kann, wobei er seine Kenntnisse durch eine getrennte Prüfung bei einer anderen Organisation nachweisen muss.

Inhaltsübersicht

  • Grundlagen
    • Fehler, Störungen und Änderungswünsche
    • Teststufen
    • Testtypen
    • Testgrundsätze
  • Testziele
    • Fehlerkosten senken
    • Testintensität
    • Testorganisation
  • Test als Bestandteil der Softwareentwicklung
    • Prozess- & Qualitätsmodelle
    • Der fundamentale Testprozess
  • Kommunikationsverhalten der Projektbeteiligten
    • Wartungstests
  • Wirksame Testfälle entwickeln
    • Spezifikationsorientierte Testtechniken
    • Strukturorientierte Testtechniken
    • Freies Testen
  • Testen vs. Prüfen
    • Manuelle Prüftechniken
    • Automatisierte Prüftechniken
  • Tests aktiv managen
    • Testerfolg durch Planung
    • Risiken reduzieren
  • Tests automatisieren
    • Übersicht wichtiger Testwerkzeuge
    • Chancen und Risiken
    • Werkzeuge erfolgreich einführen

Verantwortlich
Prof. Dr. Helmut Balzert / Torsten Cleff

Voraussetzungen & Vorkenntnisse

  • Modul Softwaretechnik 1
  • Modul Softwaremanagement 1

Literatur

  • Buch: Basiswissen Testen von Software

Weiterführende Literatur

  • Liggesmeyer, Peter; Software-Qualität - Testen, Analysieren und Verifizieren von Software, Spektrum Akademischer Verlag, Heidelberg, 2002

Online-Kurs

  • SW-Testen