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