<!-- * Set USERSTYLEURL = %PUBURLPATH%/%WEB%/DokumentFormat/fonts.css --> ---+!! %FORMFIELD{"TopicClassification"}% %FORMFIELD{"Bezeichnung"}% *Verantwortlich:* Prof.Dr.Kreiser %TOC% %STARTSECTION{"no_toc"}% --- ---+ Lehrveranstaltung ---++ Befriedigt MID * aktuelle * [[BaET2012_SoftwareEngineering]] * [[BaET2010_SoftwareEngineering_Automatisierungstechnik]] * auslaufende * [[DiplomET_DPO3_SoftwareEngineering_Automatisierungstechnik]] ---++ Organisation <sticky> <table border="0"> <tr valign="top"> <td> <table border="1" cellpadding="2"> <th colspan="2">Version</th> <tr> <td>erstellt</td> <td>2011-12-06</td> </tr> <tr> <td>VID</td> <td>1</td> </tr> <tr> <td>gültig ab</td> <td>WS 2012/13</td> </tr> <tr> <td>gültig bis</td> <td></td> </tr> </table> </td> <td> </td> <td> <table border="1" cellpadding="2"> <th colspan="2">Bezeichnung</th> <tr> <td>Lang</td> <td>%FORMFIELD{"Bezeichnung"}%</td> </tr> <tr> <td>LVID</td> <td>F07_SEA</td> </tr> <tr> <td>LVPID (Prüfungsnummer)</td> <td></td> </tr> </table> </td> </tr> </table> </sticky><sticky> <table border="0"> <tr valign="top"> <td> <table border="1" cellpadding="2"> <th colspan="2">Semesterplan (SWS)</th> <tr> <td>Vorlesung</td> <td>%FORMFIELD{"VorlesungSWS"}%</td> </tr> <tr> <td>Übung (ganzer Kurs)</td> <td>%FORMFIELD{"UebungGanzSWS"}%</td> </tr> <tr> <td>Übung (geteilter Kurs)</td> <td>%FORMFIELD{"UebungHalbSWS"}%</td> </tr> <tr> <td>Praktikum</td> <td>%FORMFIELD{"PraktikumSWS"}%</td> </tr> <tr> <td>Projekt</td> <td>%FORMFIELD{"ProjektSWS"}%</td> </tr> <tr> <td>Seminar</td> <td>%FORMFIELD{"SeminarSWS"}%</td> </tr> <tr> <td>Tutorium (freiwillig)</td> <td>%FORMFIELD{"TutoriumSWS"}%</td> </tr> </table> </td> <td> </td> <td> <table border="1" cellpadding="2"> <th colspan="2">Präsenzzeiten</th> <tr> <td>Vorlesung</td> <td>%FORMFIELD{"VorlesungPZ"}%</td> </tr> <tr> <td>Übung (ganzer Kurs)</td> <td>%FORMFIELD{"UebungGanzPZ"}%</td> </tr> <tr> <td>Übung (geteilter Kurs)</td> <td>%FORMFIELD{"UebungHalbPZ"}%</td> </tr> <tr> <td>Praktikum</td> <td>%FORMFIELD{"PraktikumPZ"}%</td> </tr> <tr> <td>Projekt</td> <td>%FORMFIELD{"ProjektPZ"}%</td> </tr> <tr> <td>Seminar</td> <td>%FORMFIELD{"SeminarPZ"}%</td> </tr> <tr> <td>Tutorium (freiwillig)</td> <td>%FORMFIELD{"TutoriumPZ"}%</td> </tr> </table> </td> <td> </td> <td> <table border="1" cellpadding="2"> <th colspan="2">max. Teilnehmerzahl</th> <tr> <td>Übung (ganzer Kurs)</td> <td>%FORMFIELD{"UebungGanzTeilnehmer"}%</td> </tr> <tr> <td>Übung (geteilter Kurs)</td> <td>%FORMFIELD{"UebungHalbTeilnehmer"}%</td> </tr> <tr> <td>Praktikum</td> <td>%FORMFIELD{"PraktikumTeilnehmer"}%</td> </tr> <tr> <td>Projekt</td> <td>%FORMFIELD{"ProjektTeilnehmer"}%</td> </tr> <tr> <td>Seminar</td> <td>%FORMFIELD{"SeminarTeilnehmer"}%</td> </tr> </table> </td> </tr> </table> </sticky> *Gesamtaufwand:* %FORMFIELD{"Gesamtaufwand"}% ---+++ Unterrichtssprache * Deutsch, 70% * Englisch, 30% ---+++ Niveau * %FORMFIELD{"Niveau"}% ---+++ Notwendige Voraussetzungen * grundlegende Kenntnisse zur Verhaltensmodellierung (z.B. State Charts, Petrinetze) * grundlegende Kenntnisse in Projektmanagement ---+++ Literatur * I. Sommerville: Software Engineering (Addison-Wesley / Pearson Studium) * H. Balzert et.al.: Lehrbuch der Softwaretechnik (Spektrum Akademischer Verlag) * Basiskonzepte und Req.Eng. * Softwaremanagement * G.E. Thaller: Software- und Systementwicklung (Heise Verlag) * Bernd Oestereich: Analyse und Design mit UML 2.3 (Oldenbourg) * Gamma et.al.: Design Patterns, (Addison-Wesley) * OMG Unified Modeling Language Spec., www.omg.org/uml * K. Beck: eXtreme Programming (Addison-Wesley Professional) * Ken Schwaber: Agiles Projektmanagement mit Scrum (Microsoft Press) * H.D. Litke: Projektmanagement (Hanser) ---+++ Dozenten * Prof.Dr.Kreiser ---+++ Wissenschaftliche Mitarbeiter * Dipl.-Ing. Kellersohn ---+++ Zeugnistext Software Engineering für die Automatisierungstechnik ---++ Kompetenznachweis <sticky> <table border="1" cellpadding="2"> <th colspan="2">Form</th> <tr> <td>sMP</td> <td>Regelfall (bei großer Prüfungszahl: sK)</td> </tr> </table> </sticky> <sticky> <table border="1" cellpadding="2"> <th colspan="2">Aufwand [h]</th> <tr> <td>sMP</td> <td>10</td> </tr> </table> </sticky> *Intervall:* 3/Jahr ----- ---+ Lehrveranstaltungselemente %STARTSECTION{"Vorlesung / Übung"}% ---++ Vorlesung / Übung ---+++ Lernziele ---++++ Lerninhalte (Kenntnisse) * Begriffe * Softwaresystem * Softwareprodukt * Softwarequalität * Komplexität * objektorientiertes Modellieren mit UML * Domänenmodell * Struktur * Verhalten * Schnittstellen * Softwarearchitekturmodell * Implementierungsmodell * Modelltransformationen * Modellierungswerkzeuge * Vorgehensmodelle * lineare * Phasenmodell * V-Modell * evolutionäre * Spiralmodell * eXtreme Programming * Scrum * Timebox * Qualitätsmanagement * SOPs * Anforderungsanalyse * Requirements Engineering * Design-Input-Requirements (Lastenheft) * Gesetze, Normen und organisatorische Vorgaben * Produktrisikoanalyse * FMEA * FTA * Entwurf * Designprinzipien * Machbarkeitsstudien * Systemspezifikation (Pflichtenheft) * Softwarespezifikationen * Implementierung * Programmiersprachenwahl * Programmierrichtlinien * Entwicklung in verteilten Teams * Entwicklertest * Systemintegration * Inbetriebnahme * Werkzeuge * Verifikation & Validierung * Formalisierte Softwaretests * dynamische Tests * statische Tests * Feldevaluation * Betriebsbegleitung * Managementaufgaben * Dokumentmanagement * Konfigurationsmanagement * Versionsmanagement * Buildmanagement * Testmanagement * Änderungsmanagement ---++++ Fertigkeiten * Technische Softwaresysteme analysieren * Systemanforderungen methodisch ermitteln, konsolidieren und priorisieren * formalisierte Anforderungsspezifikation entwerfen * Technische Softwaresysteme modellieren * Notationen der Unified Modeling Language zur Modellierung einfacher Softwaresysteme nutzen * Strukturnotationen * Klassendiagramm * Paketdiagramm * Komponentendiagramm * Verteilungsdiagramm * Verhaltens- und Schnittstellennotationen * Anwendungsfalldiagramm * Aktivitätsdiagramm und Aktionskonzept * Zustandsautomat und Protokollautomat * Sequenzdiagramm * Modellierungsebenen benennen und abgrenzen * Systemmodell (Kundensicht) * Entitätenmodell * Schnittstellenmodell * Verhaltensmodell * Softwaremodell (Entwicklersicht) * Technische Klassenmodelle * Detaillierte Verhaltensmodelle * Designprinzipien * grundlegende Softwarearchitekturen * Kontext, Grenzen, Aufgaben, Verhalten und Strukturen einfacher Softwaresysteme aus Texten ableiten * technische Textabschnitte vollständig erfassen * implizite Angaben erkennen und verstehen * Inkonsistenzen erkennen und auflösen * fehlende Angaben erkennen und ableiten bzw. erfragen * Softwaresysteme mit UML2-Notationen modellieren * einfache Systemmodelle iterativ entwerfen * Entitätenmodell entwerfen * Kontext- und Anwendungsfallmodell aus Kundensicht entwerfen * Anwendungsfälle detaillieren * Standardszenario und wesentliche Alternativszenarien beschreiben * als Aktivitätsdiagramm verfeineren * einfache Softwaremodelle iterativ entwerfen * Refactoring und Detaillierung des Entitätenmodells aus Entwicklersicht * Verhaltensmodelle aus Entwicklersicht detaillieren * strukturbasiertes Verhalten als State Chart modellieren * Aktivitäten bis zur Aktionsebene verfeinern * Zusammenhang zwischen Aktionen und Klassenmethoden herstellen * Professionelles UML2-Entwurfswerkzeug bedienen * Modelle verifizieren * Bewertungskriterien definieren * Einhalten von Modellierungsvorgaben und Designprinzipien * Vollständigkeit bzw. unnötige Komplexität * Qualität im Hinblick auf spezifische Kundenvorgaben * … * Testfälle definieren * Modellreviews durchführen und dokumentieren * Selbst * mit Peer * in der Gruppe * Modellfehler entdecken und benennen * Modelle anhand der Bewertungen korrigieren und optimieren * Technische Softwaresysteme entwerfen * Produktrisiken ermitteln, Milderungsmaßnahmen definieren und im Entwurf berücksichtigen * Designprinzipien zum Erreichen definierter Qualitätsziele benennen, erläutern und anwenden * problemgerechte System- und Softwarearchitektur auswählen und anwenden * Methoden zur Softwareentwicklung in verteilten Teams erläutern und exemplarisch anwenden * Methoden zur Softwareprüfung in verteilten Teams erläutern und exemplarisch anwenden * Technische Softwaresysteme qualitätsgesteuert entwickeln * Vorgehensmodelle beschreiben, gegenüberstellen und exemplarisch anwenden * Informationen aus internationalen Standards zur Softwareentwicklung gewinnen (Deutsch/Englisch) ---+++ Begleitmaterial * elektronische Vortragsfolien zur Vorlesung * elektronische Übungsaufgabensammlung * professionelles Entwicklungswerkzeug für Unified Modeling Language (UML2) ---+++ Besondere Voraussetzungen * keine ---+++ Besondere Literatur * keine ---+++ Besonderer Kompetenznachweis <sticky> <table border="1" cellpadding="2"> <th colspan="2">Form</th> <tr> <td>bÜA</td> <td>Präsenzübung und Selbstlernaufgaben</td> </tr> </table> </sticky> <sticky> <table border="1" cellpadding="2"> <th colspan="2">Beitrag zum LV-Ergebnis</th> <tr> <td>bÜA</td> <td>unbenotet</td> </tr> </table> </sticky> *Intervall:* 1/Jahr %ENDSECTION{"Vorlesung / Übung"}% %STARTSECTION{"Praktikum"}% ---++ Praktikum ---+++ Lernziele ---++++ Fertigkeiten * Größere technische Softwaresysteme analysieren * umfangreiche technische Texte erfassen und verstehen, insbesondere englischsprachige Texte * umfangreiche Systemanforderungen auswerten und anordnen * Größere technische Softwaresysteme modellieren * Modellierungsebenen abgrenzen * Systemmodell (Kundensicht) * Softwaremodell (Entwicklersicht) * Modellnotationen systematisch zur Systembeschreibung nutzen * Schnittstellen-, Verhaltens- und Strukturmodelle in UML2-Notationen iterativ herleiten * Professionelles UML2-Entwurfswerkzeug zielgerichtet einsetzen * Modelle verifizieren und bewerten, Modellfehler korrigieren und Modelle optimieren * Größere technische Softwaresysteme entwerfen * Designprinzipien zum Erreichen definierter Qualitätsziele auswählen und anwenden * problemgerechte System- und Softwarearchitektur auswählen und anwenden * Softwareentwicklung und Softwareprüfung in verteilten Teams durchführen * Quellcode erstellen und prüfen * gegebenen Quellcode analysieren * objektorientierte Programmiersprache (C++) beherrschen * Größere technische Softwaresysteme qualitätsgesteuert entwickeln * evolutionäres Vorgehensmodell anwenden * Informationen aus internationalen Standards zur Softwareentwicklung gewinnen (Deutsch/Englisch) * Arbeitsergebnisse des Teams in englischer Sprache kompakt und zielgruppengerecht präsentieren ---++++ Handlungskompetenz demonstrieren * Realweltsysteme modellieren * Dekomposition * Systemgrenzen erkennen bzw. definieren und korrekt nutzen * Systemschnittstellen erkennen bzw. definieren und korrekt nutzen * Systemstrukturen erkennen bzw. definieren und korrekt darstellen * Systemfunktionen erkennen bzw. definieren und korrekt darstellen * Komposition * Struktur- und Verhaltensmodelle erstellen * Modelle integrieren * Teilmodelle und Gesamtmodell verifizieren und bewerten * komplexe Aufgaben arbeitsteilig im Team bewältigen * einfache Projekte planen und steuern * Absprachen und Termine einhalten * Reviews planen und durchführen * Modelltransformationen anwenden * Modellelemente aus gegebenem C++ Quellcode zurückführen * Modelle durch manuelle Quellcodeanalyse vervollständigen und verifizieren * Systemerweiterungen und Lösungsmodifikationen auf Basis einer aktuellen Spezifikation modellieren * Quellcode aus neuem Modell generieren und generierten Quellcode manuell vervollständigen * Implementierung im Debugger und durch systematische Tests auf dem Zielsystem verifizieren ---+++ Begleitmaterial ---+++ Besondere Voraussetzungen * grundlegende objektorientierte Programmierkenntnisse (C/C++) ---+++ Besondere Literatur * keine ---+++ Besonderer Kompetenznachweis <sticky> <table border="1" cellpadding="2"> <th colspan="2">Form</th> <tr> <td>bSZ</td> <td>1 Präsenztermin (4h)</td> </tr> <tr> <td>bPA</td> <td>2 Präsenztermine je 4h je Projektgruppe</td> </tr> <tr> <td>sMB</td> <td>20min Ergebnispräsentation zu bPA</td> </tr> </table> </sticky> <sticky> <table border="1" cellpadding="2"> <th colspan="2">Beitrag zum LV-Ergebnis</th> <tr> <td>bSZ</td> <td>Testat</td> </tr> <tr> <td>bPA</td> <td>Testat</td> </tr> <tr> <td>sMB</td> <td>zu bPA</td> </tr> </table> </sticky> *Intervall:* 1/Jahr %ENDSECTION{"Praktikum"}% %ENDSECTION{"no_toc"}%
Das Urheberrecht © liegt bei den mitwirkenden Autoren. Alle Inhalte dieser Kollaborations-Plattform sind Eigentum der Autoren.
Ideen, Anfragen oder Probleme bezüglich Foswiki?
Feedback senden