|
|
|
Home General Staff Contact Partners Alumni Research Areas Projects Papers Books Reports Teaching Lectures Exams B.Projects M.Theses PhD Theses Go Abroad Misc Library Seminars Gallery Links Search Webmaster
|
Seminar: Softwareentwicklung (Programmierstil)
ThemaProgrammieren kann bald einmal jemand. Gute Programme zu schreiben, die lesbar, wartbar und robust sind, ist jedoch eine Kunst, die nur wenige beherrschen. Leider wird guter Programmierstil zu wenig gelehrt. Dieses Seminar hat zum Ziel, die Literatur zum Thema Programmierstil aufzuarbeiten und Kriterien für guten und schlechten Stil kritisch zu beleuchten. TermineFr. 6.12. 13:45 - 17:00, HS 14
Seminararbeiten
AblaufJeder Teilnehmer hat ein Thema zugewiesen bekommen und arbeitet sich darin ein. Die angegebene Literatur dient als Ausgangspunkt. Weitere Literatursuche in Zeitschriften (z.B. IEEE Software, IEEE Transactions on Software Engineering, IEEE Computer, Communications of the ACM) und am Internet ist erwünscht. Jeder Teilnehmer erstellt einen schriftlichen Seminarbericht und hält einen Vortrag im Rahmen des Seminars. Der Vortrag soll 35-40 Minuten (ca. 15 Folien) dauern. Im Anschluß daran findet eine Diskussion statt. Der schriftliche Seminarbericht soll etwa 10 Seiten lang sein und in HTML abgefaßt sein. Sparen Sie nicht mit Beispielen und Bildern. Abgabeschluß für den Seminarbericht ist der 31. Jänner 2003. Die Anwesenheit an allen Seminarterminen ist Pflicht. Die Note wird aus dem Vortrag, dem Seminarbericht und der Beteiligung an der Diskussion ermittelt. Seminarthemen
Codierungsstandards Stichworte: Namensgebung (z.B. Hungarian, Camel, Pascal casing), Einrückungen, Klammerung, allgemeine Stilkriterien, ohne Kommentierung Literatur: - [KePi99] Kap. 1, Appendix - [McCo93] Kap.9 (Naming), Kap.8 (Datenstrukturen), Kap.18(Einrückungen), Kap.32(allg.) - [Robi01] pp.442-447 Style Guidelines für Java und .NET Literatur: - http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html - http://developer.netscape.com/docs/technote/java/codestyle.html - http://geosoft.no/javastyle.html - http://www.ambysoft.com/javaCodingStandards.pdf - http://www.ontko.com/java/java_coding_standards.html - http://www.javaranch.com/style.jsp - http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconnetframeworkdesignguidelines.asp Kommentierung und Dokumentation Literatur: - [KePi99] Kap. 1.6 - [McCo93] Kap.19 - [HuTh00] Kap.44 - [Bent88] Kap.10, Kap.11 Dokumentierungswerkzeuge Stichworte: javadoc, XML-Kommentare in C#, doc++, ... - [Robi01] pp.137-141 - http://java.sun.com/j2se/javadoc/ - http://java.sun.com/j2se/javadoc/writingdoccomments/index.html - http://docpp.sourceforge.net/ (doc++)
Effizienz Stichworte: Profiling, Tuning, Speicherplatz, Überschlagsrechnungen Literatur: - [Bent00] Kap 6-10 - [Bent88] Kap.1, Kap.7 - [Carg92] Kap.7 - [KePi99] Kap. 7 - [McCo93] Kap.28, Kap.29 Java Performance Tuning Literatur: - [Shir00] Robustheit Stichworte: Defensives Programmieren, Assertionen, Pre-/Postconditions, Hilfsdrucke, Regressionstests, Self-describing data Literatur: - [KePi99] Kap. 6 - [HuTh00] Kap.21-25 - [Bent00] Kap.4, Kap.5 - [Bent88] Kap.4 - http://www.lfc.edu/~hummel/talks/2002/defensive-programming_files/frame.htm Metriken Stichworte: Komplexitätsmaße, Stilmetriken, objektorientierte Metriken Literatur: - [Rech86] - [McCo93] Kap.20, Kap.22.4 - [Wall01] Kap.1.3 - http://www.eiffel.com/doc/manuals/technology/bmarticles/computer/metrics/page.html - http://www.mmsindia.com/JStyle/docs/jstyleguide.html
Modularisierung Stichworte: Zerlegungskriterien, Architekturkriterien, Designmethoden Literatur: - [McCo93] Kap. 6 (Modularisierung), Kap. 7 (Designmethoden) - [HuTh00] Kap. 8-11 (Kriterien guter Architektur) - [BlPo93] Kap.3.4.3 (Modularisierung) Methoden- und Schnittstellen-Design Literatur: - [KePi99] Kap. 4 - [HuTh00] Kap.26 - [McCo93] Kap. 5 Objektorientiertes Design Literatur: - [Carg92] Kap. 1-6 - [Pree96] Portabilität Literatur: - [KePi99] Kap. 8 - http://www.mozilla.org/hacking/portable-cpp.html - http://developer.java.sun.com/developer/technicalArticles/J2EE/build/index.html - http://www.csee.wvu.edu/~jdm/research/portability/home.html
Refactoring Literatur: - [Fowl99] Design-Fallstudien Literatur: - [KePi99] Kap. 3 - [Bent00] Kap.8 Best Practice Management Literatur: - [McCo93] Kap.22 - [Beck00] (Extreme Programming) LiteraturDie folgenden Bücher liegen im Sekretariat der Abteilung Systemsoftware auf. Die Bücher können nicht entlehnt werden. Bitte kopieren Sie die nötigen Kapitel. Es lohnt sich, mehr als nur diejenigen Bücher zu lesen, die für das eigene Seminarthema erforderlich sind. Auch die Anschaffung des einen oder anderen Buches ist sicher keine Fehlinvestition.
|