Software Engineering für Elektrotechnik

Fakultät

Ingenieurwissenschaften und Informatik

Version

Version 6.0 vom 20.07.2022

Modulkennung

11B0399

Modulname (englisch)

Software Engineering for BSEE

Studiengänge mit diesem Modul
  • Elektrotechnik (B.Sc.)
  • Elektrotechnik im Praxisverbund (B.Sc.)
  • Mechatronik (B.Sc.)
Niveaustufe

2

Kurzbeschreibung

Die Studierenden sollen Software-Entwicklung als Ingenieuraufgabe eingebettet in den Kontext eines technischen Systems kennen lernen.

Lehrinhalte
  1. Lebenszyklus von Software-Produkten
  2. Basiskonzepte der Projektdefinition, -planung und -durchführung
  3. Aufbau von Anforderungs-, System- und Testspezifikationen
  4. Objektorientierte Analyse und Design mit der UML (Unified Modeling Language)
  5. Modulbildung und Modultest
  6. Einbindung von Klassen-Bibliotheken
  7. Testverfahren und Dokumentationstechnik
  8. Produkt- und Prozessqualität.
  9. Besonderheiten verteilter, technischer Systeme
Lernergebnisse / Kompetenzziele

Wissensverbreiterung
Die Studierenden kennen und verstehen wesentliche Grudsätze der Software-Entwicklung für technsiche Systeme. Sie kennen Lebenszyklusmodelle und können sie richtig umsetzen. Sie sind in der Lage, Anforderungen an Software systematisch und dokumentiert zu analysieren und objektorientiert zu implementieren.
Wissensvertiefung
Die verschiedenen Ansätze der Software-Entwicklung für technische Systeme werden verstanden. Typische Vorgehensmodelle und deren Meilensteinergebnisse und Dokumentationsformen werden beherrscht. Wichtige Grundfunktionen können eigenständig implementiert werden. Die Behandlung typischer Fehlersituationen wird richtig umgesetzt. Die Nutzung fremder Klassenbibliotheken wird beherrscht. In Entrwicklungsgruppen werden Module getrennt entwickelt und getestetet und dann integriert. Die wesentlcihen Anforderungen an Systemtests und deren Dokuemntation werden beherrscht.
Können - instrumentale Kompetenz
Die Studierenden, die dieses Modul erfolgreich studiert haben, verstehen die Software-Entwicklung als Teilbeitrag zur Entwicklung eines Gesamtsystems. Sie treffen die optimale Auswahl folgender Bestandteile der Software des technischen Systems:
- Betriebssystem
- Programmiersprache
- verwendete Konstrukte
- Bedienmöglichkeiten
Sie können mit einer beschränkten Auswahl objektorientierter Darstellungsmöglichkeiten umgehen und diese zum richtigen Zeitpunkt für objektorienteirte Analyse und Design einsetzen.
Sie entwickeln und dokumentieren Software-Module selbstständig und kennen die wesentlichen Punkte des Systemtests.
Können - kommunikative Kompetenz
Die Studierenden, , die dieses Modul erfolgreich studiert haben, arbeiten Anforderungen in einem mehrstufigen Prozess heraus, auch wenn der Auftraggeber wenig technische Kompetenz besitzt.
Sie machen Aufwand und Nutzen transparent.
Die Erarbeitung von Lösungen und die Vorstellung der Ergebnisse wird in Form von Präsentationen durchgeführt und stärkt damit die Fähigkeit, vor Publikum das Wesentliche eines Themas herauszuarbeiten und transparent und ansprechend darzustellen.
Können - systemische Kompetenz
Die Studierenden, die dieses Modul erfolgreich studiert haben, analysieren die Anforderungen an eine die Software technischer Systeme und leiten daraus die richtige Lösungsstrategie einschl Auswahl der Programmiersprache und der verwendeten Konstrukte ab. Sie berücksichtigen die Einschränkungen technischer Systeme im Vergleich zu Standard-Desktop-Rechnern optimieren die Umsetzung dementsprechend.
Sie können auch in mittleren Projektgruppen eine sinnvolle Aufteilung der Entwicklungsarbeit vornehmen und verfolgen.
Die Studierenden entwickeln die Software für technische Systeme unter Berücksichtigung der Anforderungen und verschiedener Hardware-Randbedingungen. Sie gehen dabei nach einem Vorgehensmodell vor und dokumentieren alle Ergebnisse in transparenter Form. Sie arbeiten qualitätsorientiert.

Lehr-/Lernmethoden

Die Veranstaltung wird in Form einer Vorlesung mit begleitendem Laborpraktikum durchgeführt. Darin werden schrittweise Aufgaben des Software-Engineering mit zunächst max. zwei Teilnehmern pro Gruppe realisiert. Im zweiten Teil des Laborpraktikums wird eine durchgehende Projektaufgabe von 3-4 Gruppenmitgliedern bearbeitet und präsentiert.

Empfohlene Vorkenntnisse

Programmierung 1 (E/Me)Programmierung 2 (E/Me)

Modulpromotor

Westerkamp, Clemens

Lehrende
  • Westerkamp, Clemens
  • Uelschen, Michael
Leistungspunkte

5

Lehr-/Lernkonzept
Workload Dozentengebunden
Std. WorkloadLehrtyp
30Vorlesungen
30Labore
Workload Dozentenungebunden
Std. WorkloadLehrtyp
65Veranstaltungsvor-/-nachbereitung
25Prüfungsvorbereitung
Literatur

Chrissis, M., Konrad M., Shrum, S.: CMMI Richtlinien für Prozess-Integration und Produkt-Verbesserung, Addison-Wesley, 2009Grechenig, T., Bernhart, M., Breitender, R., Kappel, K.: Softwaretechnik - Mit Fallbeispielen aus realen Entwicklungsprojekten, Pearson Studium, 2010Oesterreich, B.; Scheithauer, A.: Analyse und Design mit der UML 2.5: Objektorientierte Softwareentwicklung, Oldenbourg, 2013Pressman, R.; Maxim, B.: Software Engineering – A Practitioner’s Approach, McGraw-Hill, 2015Sommerville, I.: Software Engineering, Pearson Studium, 2016, 10. Auflage

Prüfungsleistung
  • Projektbericht, schriftlich
  • Portfolio Prüfung
  • Mündliche Prüfung
Unbenotete Prüfungsleistung

Experimentelle Arbeit

Bemerkung zur Prüfungsform

Portfolioprüfung: Vier schriftliche Arbeitsproben, die jeweils zu 10% und eine Hausarbeit, die zu 60% die Gesamtnote bestimmen

Dauer

1 Semester

Angebotsfrequenz

Nur Sommersemester

Lehrsprache

Deutsch