Hello
WikiGuest
Einloggen
oder
Registrieren
Users
Studium
Lehrveranstaltungen
Sie sind hier:
Foswiki
>
F07_Studium Web
>
F07_SEKM
(Revision 6) (Quelltext-Ansicht)
<!-- * Set USERSTYLEURL = %PUBURLPATH%/%WEB%/DokumentFormat/fonts.css --> ---+!! %FORMFIELD{"TopicClassification"}% %FORMFIELD{"Bezeichnung"}% %TOC{depth="3"}% %STARTSECTION{"no_toc"}% --- *Verantwortlich:* Prof.Dr. Kreiser ---++ Lehrveranstaltung ---+++ Befriedigt Modul (MID) * aktuelle * [[MaET2012_QEKS]] * [[MaTIN2012_QEKS]] ---+++ Organisation <sticky> <table border="0"> <tr valign="top"> <td> <table border="1" cellpadding="2" cellspacing="0"> <th colspan="2">Version</th> <tr> <td>erstellt</td> <td>2013-04-29</td> </tr> <tr> <td>VID</td> <td>2</td> </tr> <tr> <td>gültig ab</td> <td>WS 2012/13</td> </tr> <tr> <td>gültig bis</td> <td/> </tr> </table> </td> <td> </td> <td> <table border="1" cellpadding="2" cellspacing="0"> <th colspan="2">Bezeichnung</th> <tr> <td>Lang</td> <td>%FORMFIELD{"Bezeichnung"}%</td> </tr> <tr> <td>LVID</td> <td>F07_SEKM</td> </tr> <tr> <td>LVPID (Prüfungsnummer)</td> <td/> </tr> </table> </td> </tr> </table> </sticky><sticky> <table border="0"> <tr valign="top"> <td> <table border="1" cellpadding="2" cellspacing="0"> <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" cellspacing="0"> <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" cellspacing="0"> <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, 80% * Englisch, 20% ---++++ Niveau * %FORMFIELD{"Niveau"}% ---++++ Notwendige Voraussetzungen * Objektorientierte Programmierung, bevorzugt C++ * Modellierung von Softwaresystemen mit der Unified Modeling Language (UML) * Klassendiagramme * Anwendungsfalldiagramme * Aktivitätsdiagramme * Sequenzdiagramme * Zustandsdiagramme * Paket- und Komponentendiagramme * iterative Vorgehensmodelle, z.B. SCRUM bzw. XP * grundlegende Softwarearchitekturmodelle * Kommunikationsmodelle in Softwaresystemen (OSI, TCPIP, Messaging) ---++++ Literatur * D. Schmidt et.al.: Pattern-orientierte Software-Architektur. Muster für nebenläufige und vernetzte Objekte (dpunkt.verlag) * Gamma et.al.: Design Patterns, (Addison-Wesley) * Martin Fowler: Refactoring, Engl. ed. (Addison-Wesley Professional) * U. Hammerschall: Verteilte Systeme und Anwendungen (Pearson Studium) * M. Born et. al.: Softwareentwicklung mit UML 2. Die "neuen" Entwurfstechniken UML 2, MOF 2 und MDA (Addison-Wesley) * Andreas Andresen: Komponentenbasierte Softwareentwicklung m. MDA, UML2, XML (Hanser Verlag) * T. Ritter et. al.: CORBA Komponenten. Effektives Software-Design u. Progr. (Springer) * Bernd Oestereich: Analyse und Design mit UML 2.3 (Oldenbourg) * OMG Unified Modeling Language Spec., www.omg.org/uml * I. Sommerville: Software Engineering (Addison-Wesley / Pearson Studium) * K. Beck: eXtreme Programming (Addison-Wesley Professional) * Ken Schwaber: Agiles Projektmanagement mit Scrum (Microsoft Press) ---++++ Dozenten * Prof.Dr.Kreiser ---++++ Wissenschaftliche Mitarbeiter * Dipl.-Ing. N. Kellersohn ---++++ Zeugnistext Software Engineering mit Komponenten und Mustern ---+++ Kompetenznachweis <sticky> <table border="1" cellpadding="2" cellspacing="0"> <th colspan="2">Form</th> <tr> <td>sMP</td> <td>50% (mündliche Prüfung)</td> </tr> <tr> <td>sMB</td> <td>50% (Verteidgung Seminarergebnis)</td> </tr> </table> </sticky> <sticky> <table border="1" cellpadding="2" cellspacing="0"> <th colspan="2">Aufwand [h]</th> <tr> <td>sMP</td> <td>10</td> </tr> </table> </sticky> *Intervall:* 2-3/Jahr ----- ---++ Lehrveranstaltungselemente %STARTSECTION{"Vorlesung / Übung"}% ---+++ <u>Vorlesung / Übung</u> ---++++ Lernziele ---+++++ Lerninhalte (Kenntnisse) * Begriffe * Wert einer technischen Software * verteiltes Softwaresystem, Nebenläufigkeit * Softwarequalität, Dienstgüte, Refactoring * Komplexität (algorithmische, strukturelle), Emergenz * Wiederverwendung (Re-Use), Symmetrie und Symmetrieoperationen, Abstraktion, Invarianten * Methodische Ansätze zur qualitätsgesteuerten Wiederverwendung * Varianten für White Box Reuse * Black Box Reuse * Grey Box Reuse (Wiederverwendungshierarchie) * Re-Use in automatisierungstechnischen Softwaresystemen * Determinismus * Vorteile und Herausforderungen * angepasste Vorgehensmodelle und Personalstrukturen * vorhersagbare Zielerreichung in Entwicklungsprojekten (Produktqualität, Kosten, Zeit) * arbeitsteilige Entwicklung, Wartung und Pflege von Softwaresystemen * Muster (Pattern) * Musterbeschreibung mit UML * grundlegende Architekturmuster * Erzeugungsmuster * Strukturmuster * Verhaltensmuster * klassenbasierte (statische) vs. objektbasierte (dynamische) Muster * grundlegende Muster für nebenläufige und vernetzte Echtzeitsysteme * Muster zur Kapselung und zur rollenbasierten Erweiterung von Layerarchitekturen * Muster für Nebenläufigkeitsstrukturen zur Durchsatzoptimierung und Latenzzeitminimierung * Muster zur verteilten Ereignisprozessierung * Muster zur Prozesssynchronisation * Muster für Threadsicherheit * Aufbau und Nutzung von Musterkatalogen, Mustersprachen * musterbasierter Entwurf komplexer Softwaresysteme * Komponenten und Frameworks * Designprinzipien * Schnittstellenarchitektur * aktive und passive Systemelemente * Entwurf, Programmierung und Test * Qualität * Konfiguration und Nutzung * Middlewaresysteme in Architekturen technischer Softwaresysteme * ORB-Architekturen am Beispiel CORBA und TAO * integrierte Systemplattformen am Beispiel MS .NET * Multiagentensysteme (MAS) * Architekturmodelle für Agenten * Kollaboration zwischen Agenten * Agentensprachen * Einsatzabwägung ---+++++ Fertigkeiten * Muster zur Gestaltung komplexer Softwaresysteme einsetzen * Verwendungszweck, Einsatzgrenzen, invariante und parametrierbare Anteile von Mustern aus Literaturquellen in englischer und deutscher Sprache ableiten und diskutieren * Implementierungsskelette von Mustern nachvollziehen und auf Aufgabenstellungen mit eingeschränktem inhaltlichen Fokus transferieren * Vorteile objektorientierter Programmiersprachen diskutieren * wiederkehrende Aufgabenstellungen beim Entwurf komplexer SW-Systeme ableiten * Muster beispielhaft implementieren und Beispielimplementierungen prüfen * Muster sinnvoll kombinieren, um wiederkehrende Aufgabenstellungen mit verbreitertem inhaltlichen Fokus zu lösen * UML2-Notationen nutzen * Professionelles UML2-Entwurfswerkzeug für Round-Trip-Engineering nutzen * Integration anhand der Beispielimplementierungen der zu kombinierenden Muster durchführen * Integrationstest durchführen, Lösung bewerten und optimieren * Black-Box-Komponenten musterbasiert konstruieren * Komponentenbasierte Softwarearchitekturen analysieren * sinnvolle Anwendungsbereiche aus den Architekturvorgaben ableiten * Vorgehen zur Konstruktion von Anwendungen diskutieren (Anwendungsebene erkennen) * aktive und passive Systemelemente erkennen und Laufzeitverhalten ableiten * abstrakte Umgebungschnittstellen zur Vernetzung, Konfiguration und Aktivierung von Komponenten erkennen * abstrakte Anwendungsschnittstellen zum Datenaustausch erkennen * Systemerweiterungspunkte finden (funktionale und strukturelle Parametrierungsebene erkennen) * Verteilungsarchitekturen analysieren * Essenzielle Systemdienste erkennen, beschreiben, einordnen und und begründen * strukturgebenden Architekturartefakten sinnvolle Lösungsmuster zuordnen * sinnvolle Anwendungsbereiche aus den Architekturvorgaben ableiten * Vorgehen zur Konstruktion von Anwendungen diskutieren (Anwendungsebene erkennen) * Eigenschaften und Einsatzgrenzen von Kommunikationsprotokollen diskutieren * vorgesehene Systemerweiterungspunkte finden * Multiagentensysteme mit konventionellen Verteilungsarchitekturen vergleichen * Agent vs. Komponente * Architekturmodelle * Aktivierungsmechanismen * Verteilungsmechanismen * Kommunikationsprotokolle und Kollaborationsmechanismen * Einsatzgebiete und Einsatzgrenzen ---++++ 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" cellspacing="0"> <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" cellspacing="0"> <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{"Projekt"}% ---+++ <u>Projekt</u> ---++++ Lernziele ---+++++ Handlungskompetenz demonstrieren * Softwareartefakt einer Verteilungsarchitektur für komplexe Softwaresysteme entwickeln * Projektierung in verteilten Teams mit agilem Vorgehensmodell durchführen * umfangreiche Systemanalyse zur Aufgabe des Artefakts in der Verteilungsarchitektur durchführen * Anforderungen an das Softwareartefakt ermitteln * Softwareartefakt spezifizieren und modellieren * Designprinzipien und Muster zum Erreichen definierter Qualitätsziele auswählen und begründen * Schnittstellen-, Verhaltens- und Strukturmodelle musterbasiert in UML2-Notationen iterativ herleiten * Professionelles UML2-Entwurfswerkzeug zielgerichtet einsetzen * Modelle verifizieren und bewerten, Modellfehler korrigieren und Modelle optimieren * Softwareartefakt in C++ programmieren * sinnvolle Prüfszenarien definieren und Softwareartefakt verifizieren * Qualität des Softwareartefakts bewerten * Arbeitsergebnisse des Teams kompakt und zielgruppengerecht präsentieren ---++++ Begleitmaterial * elektronische Projektaufgabe (Lastenheft) * professionelles Entwicklungswerkzeug für Unified Modeling Language (UML2) * professionelles Softwareentwicklungswerkzeug für C++ ---++++ Besondere Voraussetzungen * grundlegende objektorientierte Programmierkenntnisse (C/C++) ---++++ Besondere Literatur * keine ---++++ Besonderer Kompetenznachweis <sticky> <table border="1" cellpadding="2" cellspacing="0"> <th colspan="2">Form</th> <tr> <td>bPA</td> <td>3 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" cellspacing="0"> <th colspan="2">Beitrag zum LV-Ergebnis</th> <tr> <td>bPA</td> <td>Testat, unbenotet</td> </tr> <tr> <td>sMB</td> <td>zu bPA</td> </tr> </table> </sticky> *Intervall:* 1/Jahr %ENDSECTION{"Projekt"}% %STARTSECTION{"Seminar"}% ---+++ <u>Seminar</u> ---++++ Lernziele ---+++++ Fertigkeiten * methodische Ansätze zur Wiederverwendung von Softwareartefakten aus einem der Themengebiete Verteilungsmuster, Verteilungsarchitekturen und MAS sowie angrenzender Themengebiete diskutieren * aus wissenschaftlichen Literaturquellen recherchieren * inhaltlich hinsichtlich vorgegebener Fragestellungen analysieren und einordnen * beispielhaft implementieren (je nach Umfang als Skelett bzw. als ablauffähiges Beispiel) und Implementierung begründen ---+++++ Handlungskompetenz demonstrieren * Ergebnisse inhaltlich zusammenfassen und als wissenschaftlichen Fachvortrag aufbereiten * Ergebnisse im Sinne eines Konferenzbeitrags als Handout zur Verfügung stellen * Ergebnisse vor Fachpublikum * im Rahmen eines 20-30min Vortrags präsentieren * diskutieren ---++++ Begleitmaterial * elektronische Aufgabenstellungen zu Seminarthemen aus den Gebieten Verteilungsmuster, Verteilungsarchitekturen, MAS und fachlich angrenzender Themengebiete ---++++ Besondere Voraussetzungen * keine ---++++ Besondere Literatur * selbst recherchierte wissenschaftliche Literaturquellen ---++++ Besonderer Kompetenznachweis <sticky> <table border="1" cellpadding="2" cellspacing="0"> <th colspan="2">Form</th> <tr> <td>bLR</td> <td>Auswertung wissenschaftlicher Literatur im Hinblick auf vorgegebene Fragestellungen</td> </tr> <tr> <td>bFG</td> <td>wissenschaftlichen Diskurs zur vorgegebenen Fragestellung führen</td> </tr> </table> </sticky> <sticky> <table border="1" cellpadding="2" cellspacing="0"> <th colspan="2">Beitrag zum LV-Ergebnis</th> <tr> <td>bLR</td> <td>benotet als Teil von sMB</td> </tr> <tr> <td>bFG</td> <td>benotet als Teil von sMB</td> </tr> </table> </sticky> *Intervall:* 1/Jahr %ENDSECTION{"Seminar"}% %ENDSECTION{"no_toc"}%
E
ditieren
|
A
nhang
|
Druckversion (
p
)
|
H
istorie
: r6
<
r5
<
r4
<
r3
|
Querverweise (
b
)
|
Topic anzeigen (
v
)
|
Editieren
w
ikitext
|
M
ehr Topic-Aktionen
Topic-Revision: r6 - 11 Jan 2016,
GeneratedContent
F07_Studium
Einloggen
oder
Registrieren
Werkzeugkasten
Neues Topic anlegen
Index
Suchen
Änderungen
Benachrichtigungen
RSS-Feed
Statistiken
Einstellungen
Webs
F07_Studium
System
Deutsch
English
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