Paradigmen und Konzepte der Softwareentwicklung

Vorlesung

Paradigmen und Konzepte der Softwareentwicklung (PKS)

Lecturer:
  • Prof. Dr. Stefan Eicker
  • Tobias Brogt, M. Sc.
Contact:
Term:
Summer Semester 2017
Cycle:
Sommersemester
Time:
Do 10:15-11:45
Room:
R09 R04 H02
Start:
20.04.2017
End:
20.07.2017
Language:
German
Moodle:
Lecture in Moodle
Participants:

Description:

Die Vorlesung wiederholt zunächst grundlegende Themengebiete und Konzepte wie Objektorientierung, Modellierung, Frameworks und verteilte Programmiermodelle. Des Weiteren werden neben traditionellen Architekturansätzen auch neuere Ansätze wie z.B. serviceorientierte Architekturen behandelt.

Zu den Schwerpunkten dieser Vorlesung zählen zum einen die Einführung und Anwendung von Patterns. Ein Pattern ist die abstrakte Darstellung eines Problems, welches in ähnlicher Form häufig auftritt, und dessen Lösung. Die abstrakte Darstellung ermöglicht die wiederholte Anwendung eines Patterns.

Ein weiterer Schwerpunkt liegt auf den unterschiedlichen Vorgehensweisen der Softwareentwicklung. Hier werden neben traditionellen Verfahren auch aktuelle Ansätze wie RUP, Extreme Programming und Test-Driven Development vorgestellt.

Über diese Themen hinaus erfolgt die Auseinandersetzung mit weiteren praxisrelevanten Themen: Software-Produktmanagements, Versionierung, Konventionen und Quellcodeverwaltung sowie Konfigurationsmanagement und Dokumentation. 

Die Veranstaltung wird zu 50% als Präsenzveranstaltung und zu 50% als Selbststudium angeboten. 

Learning Targets:

Die Studierenden

  • sind in der Lage, Softwareprojekte sowohl zu planen, als auch durchzuführen
  • können die Konzepte des Software-Konfigurationsmanagements erläutern und anwenden
  • haben die Fähigkeit, unterschiedliche Aspekte der Qualitätssicherung von Softwareanwendungen wiederzugeben und zu bewerten
  • kennen die wesentlichen Aspekte der Software-Ergonomie

Outline:

  • Softwarequalität
    • CMMI
    • Qualitätssicherung
    • Qualitätskontrolle
    • Softwaremetriken
    • Verifikation und Validierung
  • Softwarekonfigurationsmanagement
    • Planung des Konfigurationsmanagements
    • Identifikation von Konfigurationseinheiten
    • Konfigurationsdatenbank
    • Änderungsmanagement
    • Versionsmanagement
    • Releasemanagement
    • Buildmanagement
    • Auditing/Reporting
    • CASE-Tools
  • Software Testing
    • Statische Testverfahren
    • Dynamische Testverfahren
    • Teststrategien
    • Softwareergometrie

Literature:

  • ACM: Software Engineering Code of Ethics and Professional Practice; 1999; www.acm.org/serving/se/code.htm
  • Balzert, H.: Lehrbuch der Softwaretechnik, Spektrum, 1998
  • Berlack, H.R.: Software Configuration Management, Wiley 1992
  • Bundesrepublik Deutschland: V-Modell XT, 2004
  • Capability Maturity Model® Integration Version 1.1 (CMMI-SE/SW/IPPD/SS, V1.1), Staged Representation; 2002; Carnegie Mellon University www.sei.cmu.edu/cmmi/cmmi.html
  • Hailpern, B.; Santhanam, P.: "Software debugging, testing, and verification"; IBM Systems Journal, Vol. 41, No. 1, 2002
  • IEEE: Guide to the Software Engineering Body of Knowledge (SWEBOK®, Version 2004), www.swebok.org
  • Kneuper, Ralf: CMMI - Verbesserung von Softwareprozessen mit Capability Maturity Model Integration; 2003; dpunkt.verlag
  • Myers, G.J.: Software Reliability, John Wiley & Sons, Inc., 1976
  • Pressman, R.S.: Software Engineering - A Practitioner's Approach, 6th Edition, McGraw-Hill, 2005
  • Sommerville, Ian: Software Engineering 7; 2005; Pearson Education Limited

Methods of Assessment:

Klausur (6 CP)