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