Intendierte Lernergebnisse
Eine erfolgreiche Absolvierung dieser Lehrveranstaltung befähigt Studierende:grundlegende Begriffe und Konzepte des Software Engineerings zu erklärenProgramme mittels Kontroll- und Datenflussdiagrammen zu analysieren und zu verstehengrundlegende Vorgehensweisen des Reengineerings anzuwenden, um das Design von Programmen zu rekonstruierengrundlegende Black- und White-Box Testing Verfahren anzuwenden, um die Qualität von Programmen sicherzustellengrundlegende Strategien anzuwenden, um Schwachstellen im Source Code zu finden und mittels Refactoring zu behebengrundlegende Software Metriken zu erklären und für Programme zu berechnengrundlegende Prinzipien des Software Designs und der Software Architektur zu erläutern
Lehrmethodik
interaktive Vorlesung, Diskussion mit den Studierenden
Inhalt/e
Die Vorlesung beinhaltet folgende Themen:Grundlegende Konzepte und Begriffe im Software EngineeringProgrammanalyse mittels Kontrollfluß- und DatenflußgraphenProgram SlicingVerstehen von Programmen mittels Design Recovery & Software VisualisierungEinführung in Software TestingBlack-Box TesttechnikenKontrollflußbezogene White-Box TesttechnikenDatenflußbezogene White-Box TesttechnikenTesten von objekt-orientierten ProgrammenEinführung in Code Smells und RefactoringGrundlegende SoftwaremetrikenGrundlegende Software Design Prinzipien
Erwartete Vorkenntnisse
Java Kenntnisse sind erforderlich. ESOP sollte erfolgreich abgeschlossen worden sein; OMI sollte zumindest besucht worden sein OMI.
Literatur
Die Inhalte der Vorlesung basieren auf folgender Literatur:Ludewig, J., Lichter H., „SoftwareEngineering – Grundlagen, Menschen, Prozesse, Techniken“, 3. Auflage, dpunkt.verlag, 2013Jalote, P., „An integrated Approach to SoftwareEngineering“, 3rd edition, Springer 2006Fowler, M., Beck, K., Brant, J., Opdyke, W., and Roberts, D.,“Refactoring: Improving the Design of Existing Code”, Addison-Wesley, 1999Pezze, M., Young, M., “Software Testing andAnalysis”, Wiley & Sons, 2008 Pilone, D., Miles, R., “Head First SoftwareDevelopment”, O’Reilly Media, 2008Brown, A., Wilson, G., “The Architectureof Open Source Applications”, volumes I & II, Creative CommonsSommerville, I., “Software engineering”, 9.ed., Addison-Wesley, 2007.Demeyer, S., Ducasse, S. and Nierstrasz, O. “Object-oriented reengineering patterns”, Morgan Kaufmann, 2008 Artikeln aus verschiedenen Fachzeitschriften