Die Informatik des Fachbereiches 3 der Universität Bremen Hier geht es zur Homepage der Verwaltung des Fachbereiches 3 der Universität Bremen Hier geht es zur Homepage der Informatik des Fachbereiches 3 der Universität Bremen Hier geht es zur Homepage der Mathematik des Fachbereiches 3 der Universität Bremen Hier geht es zur Homepage des Fachbereiches 3 der Universität Bremen Hier geht es zur Homepage der Universität Bremen
Zeige Informatik-Format Pdf_icon Digitale Medien-Format Pdf_icon Systems Engineering-Format Pdf_icon Wirtschaftsinformatik-Format Pdf_icon

System Engineering-Ansicht

Modultyp
Grundlagen
Pflichtmodul Diese Vorlesung kann von Studierenden des Studiengangs System Engineering als einzelne Veranstaltung besucht werden. Das zugehörige Projekt zur Veranstaltung (SWP 2) und das Software-Praktikum, das vom Dozenten der Vorlesung SWP betreut wird, kann nur von Studierenden des Studiengangs Informatik belegt werden. Wahlbereich
Spezialisierungsbereich Anzahl Semesterwochenstunden CP Angeboten in jedem
V Ü S P Proj. Anzahl
Software-Projekt-Vorlesung
4 1 0 0 0 5 5 angeboten in jedem SoSe
Software Project (Lecture)         Berechnung des Workloads
Vorgesehenes Semester 2. Semester
Lernziele

  • Das angestrebte Ergebnis des Moduls insgesamt ist es, dass die Studierenden die methodischen und praktischen Fähigkeiten erwerben, in einer Gruppe eine Software-Lösung für ein vorgegebenes nicht-triviales Problem zu finden und zu realisieren.

  • Die zu erwerbenden fachlichen Kompetenzen umfassen alle notwendigen Aktivitäten in der Softwareentwicklung von der Anforderungsanalyse und Aufwandsschätzung, über den Architekturentwurf bis zur Implementierung und den Test. Ebenso gehören dazu die begleitenden Managementaspekte der Gruppenarbeit, Entwicklungsprozess, Planung, qualitätssichernde Maßnahmen, die Dokumentation und das Konfigurationsmanagement.

  • Die zu erwerbenden sozialen Kompetenzen betreffen das Projektmanagement in einem Software-Projekt sowie die Gruppenarbeit über einen längeren Zeitraum und die hierfür notwendige Selbstkompetenz (Zeitmanagement, Übernahme von Verantwortung und mehr).

Lerninhalte

Die folgenden, für ein solches Projekt notwendigen Themen der Softwaretechnik werden in der Vorlesung vermittelt (die Notation UML wird in den entsprechenden Abschnitten als Mittel zum Zweck und im methodischen Zusammenhang eingeführt):

Allgemeines

  • was ist Software?
  • Eigenschaften von Software
  • Software-Lebenszyklus
  • die besondere Bedeutung der Wartung und Evolution
  • Softwarekrise
  • was ist Softwaretechnik?

Projektplanung

  • Grundbegriffe der Projektplanung
  • Vorgehen bei der Planung
  • Inhalt des Projektplans
  • Gantt-Diagramme und kritischer Pfad
  • Projektrisiken
  • Softwareentwicklungsprozesse

Rechtlicher Rahmen der Softwareentwicklung

  • Betriebsverfassungsgesetz (BetrVG), PersVG
  • Arbeitsschutzgesetze, Verordnungen (BildscharbV)
  • Datenschutzgesetze (BDSG)
  • Normen und Richtlinien

Anforderungsanalyse

  • Probleme bei der Anforderungsanalyse
  • Schritte der Anforderungsanalyse
  • Schritte der Ist-Analyse
  • Erhebungstechniken bei der Ist-Analyse (Fragebögen, Interview im Kontext) und Soll-Analyse (Varianten des Prototypings)
  • Aufbau und Inhalt der Anforderungsspezifikation
  • Produktqualitäten
  • Bedeutung und angestrebte Eigenschaften der Anforderungsspezifikation
  • Regeln für die Anforderungsspezifikation
  • Objektorientierte Anforderungsanalyse mit Anwendungsfällen, statischen und dynamischen Modellen mit Klassenbildung, die dem Liskovschen Substitutionsprinzip genügt (unter Verwendung der UML-Diagramme für Anwendungsfälle, Klassendiagramme, Interaktionsund Zustandsdiagramme)

Prüfung der Anforderungsspezifikation

  • Software-Prüfungen im Allgemeinen
  • Review-Varianten
  • Abläufe von Reviews
  • Review-Regeln
  • Review-Checklisten
  • Fallen und Gegenmittel

Software-Architektur

  • Was ist Software-Architektur?
  • Sichten (Views) und Blickwinkel (Viewpoints) der Software-Architektur
  • Einflussfaktoren für die Software-Architektur
  • Entwurf einer Software-Architektur
  • Architekturstile
  • Entwurfsmuster
  • Modularisierung, Separation of Concern, Abstraktion, Information Hiding
  • Architekturreview

Benutzungsschnittstellenentwurf

  • Software-Ergonomie: Aspekte und Qualitäten
  • Interaktionsformen und -mittel
  • Werkzeuge
  • Usability-Evaluationsverfahren

Einsatz von Datenbanken

  • Aufgaben und Architektur von Datenbanksystemen; externe, konzeptionelle und interne Ebene
  • Objektorientierte und relationale Datenbankmodellierung
  • Abbildung von objektorientierten Schemata auf relationale Datenbankschemata
  • Relationale Datenbanksysteme
  • Structured Query Language (SQL): Schemadefinition, Datenmanipulation, Anfragen, Integritätsbedingungen
  • Normalformen: 1NF, 2NF, 3NF

Implementierung

  • Feinentwurf (Klassen, Zustands- und Aktivitätsdiagramme der UML)
  • Programmiersprachen
  • Programmierrichtlinien
  • Code-Qualität und Metriken
  • Vermeidung von Code-Redundanz
  • Entwicklungsumgebungen

Test

  • Möglichkeiten und Grenzen des Testens
  • Testarten (Komponenten-/Integrations-/Systemtests)
  • Test-Varianten: Black-Box, White-Box-Testen
  • Testabdeckungsmaße
  • Testvorbereitung, -durchführung und -protokollierung

Dokumentation

  • interne Software-Dokumentation
  • Benutzungshandbücher und Online-Hilfen

Änderungs- und Konfigurationsmanagement

  • Wartung, Evolution und Reengineering
  • Bedeutung der Software-Wartung
  • Gesetze von Lehman
  • Änderungsprozesse
  • Werkzeuge für das Konfigurationsmanagement

Prüfungsformen

s. Software-Projekt 1

Dokumente (Skripte, Programme, Literatur, usw.)

  • R. Pressman: Software Engineering - A Practitioner’s Approach. 6. Auflage, McGraw-Hill, 2004.
  • I. Sommerville: Software Engineering. 8. Auflage, Addison-Wesley, 2006.
  • W. Zuser, T. Grechenig, M. Köhle: Software Engineering mit UML und dem Unified Process. 2. Auflage, Pearson Studium, 2004.
  • B. Brügge, A. H. Dutoit: Objektorientierte Softwaretechnik mit UML, Entwurfsmustern und Java. Pearson Studium, 2004.
  • Jochen Ludewig, Horst Lichter: Software Engineering - Grundlagen, Menschen, Prozesse, Techniken. dpunkt.verlag, 2006.
  • Helmut Balzert: Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering. 3. Auflage, Spektrum Akademischer Verlag, 2009.
  • Helmut Balzert: Lehrbuch der Softwaretechnik: Softwaremanagement. 2. Auflage, Spektrum Akademischer Verlag, 2008.
  • H. Störrle: UML 2 für Studenten. Pearson Studium, 2005.
  • Chris Rupp, Stefan Queins, Barbara Zengler: UML 2 glasklar. 3. Auflage, Hanser Verlag, 2007.
  • Chris Rupp: Requirements-Engineering und -Management. 5. Auflage, Hanser Verlag, 2009.
  • Klaus Pohl, Chris Rupp: Basiswissen Requirements Engineering. dpunkt.Verlag, 2009.
  • Klaus Pohl: Requirements Engineering - Grundlagen, Prinzipien, Techniken. 2. Auflage, dpunkt.Verlag, 2008.
  • Ramez A. Elmasri, Shamkant B. Navathe: Grundlagen von Datenbanksystemen, 3. Auflage, Pearson Studium, 2009.

Lehrende: Prof. Dr. R. Koschke, Dr. K. Hölscher Verantwortlich: Prof. Dr. R. Koschke
Zurück

Zeige Informatik-Format Pdf_icon Digitale Medien-Format Pdf_icon Systems Engineering-Format Pdf_icon Wirtschaftsinformatik-Format Pdf_icon