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
- Lebenszyklus von Software-Produkten
- Basiskonzepte der Projektdefinition, -planung und -durchführung
- Aufbau von Anforderungs-, System- und Testspezifikationen
- Objektorientierte Analyse und Design mit der UML (Unified Modeling Language)
- Modulbildung und Modultest
- Einbindung von Klassen-Bibliotheken
- Testverfahren und Dokumentationstechnik
- Produkt- und Prozessqualität.
- 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. Workload Lehrtyp 30 Vorlesungen 30 Labore Workload Dozentenungebunden Std. Workload Lehrtyp 65 Veranstaltungsvor-/-nachbereitung 25 Prü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