Software Construction Einführung Martin Kropp / Christoph Denzler University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Inhalt Lernziele des Kurses Software Konstruktion Kursinhalte Kursaufbau Kontaktunterricht mit Lernaufgaben Arbeit an Modulreporten (z.t. während den Kontaktstunden) Web Site Version Control System Software Literatur Prüfungen Software Construction, v1.3 IMVS, M. Kropp, Ch. Denzler 2 1
Lernziele (so wie es in der Modulbeschreibung steht) Der Kursteilnehmer kennt die wichtigsten Methoden und Werkzeuge für eine effiziente und automatisierte Softwareentwicklung und kann diese in der Praxis anwenden. Der Kursbesucher Kann die Aktivitäten und Ergebnisse der Softwarekonstruktion im Kontext des Software Engineering einordnen Kennt die Bedeutung der Automatisierung für die Softwarequalität und kann Automatisierungswerkzeuge für die Softwareentwicklung effizient anwenden Kann die Testmethoden/ -konzepte auf den verschiedenen Testebenen des Software Life Cycles beschreiben und anwenden Kann Methoden und Werkzeuge des Software Configuration Management beschreiben und anwenden Kennt die Bedeutung des Refactoring zur Erhaltung der Software Qualität und kann diese durchführen Wie bitte? Um was geht es? Software Construction, v1.3 IMVS, M. Kropp, Ch. Denzler 3 Kursinhalt Einführung in Softwarekonstruktion Aktivitäten, Artefakte, Prozesse Software Configuration Management Sourcecode Control, Release Management Automation Build & Continous Integration Software Quality Testing, Debugging, Logging, Analyse Refactoring Code- und Design-Refactoring Teamarbeit Kommunikation, Dokumentation, Style Guides Software Construction, v1.3 IMVS, M. Kropp, Ch. Denzler 4 2
Unterrichtsziele Wissensvermittlung (Präsentation) Anwendung (Fallstudie) Wissenserwerb (Selbststudium) Software Construction, v1.3 IMVS, M. Kropp, Ch. Denzler 5 Übungen Gruppenarbeit 2 Fachreporte zur vertieften Bearbeitung eines Themas Abgabe der Gruppenarbeiten Via Versionskontrollsystem (siehe später) Bewertung Fachreporte werden benotet und ergeben die Übungsnote Software Construction, v1.3 IMVS, M. Kropp, Ch. Denzler 6 3
Kurswebsite & VCS Web Site des Kurses http://plattformen.fhnw.ch/swc Enthält alle aktuellen Informationen zum Kurs Version Control System https://studsvn.imvs.technik.fhnw.ch/moduls/swc/gruppen Subversion Repository Zweck Zentrale Abgabe der Berichte Zentral Verwaltung des laufenden Sourcecodes Gruppeninterne Struktur gruppen/report1 enthält den Fachreport und alle relevaten Info s dazu gruppen/project Verzeichnis für Sourcecode Software Projekt Der Sourcecode aus dem svn muss kompilierbar sein Software Construction, v1.3 IMVS, M. Kropp, Ch. Denzler 7 Software, Tools und Methoden Sourcecode Fallstudie Subversion Eclipse Ant JUnit CruiseControl Checkstyle Javadoc Log4j XP: Extreme Programming Software Construction, v1.3 IMVS, M. Kropp, Ch. Denzler 8 4
Literatur Pragmatic Project Automation The Pragmatic Bookshelf Mike Clark ISBN 978-0-9745140-3-1 EUR 19.70 Pragmatic Unit Testing The Pragmatic Bookshelf Andrew Hunt, David Thomas ISBN 978-0-9745140-1-7 EUR 23.- Pragmatic Version Control The Pragmatic Bookshelf Mike Mason ISBN 978-0-9776166-5-7 EUR 23.- Software Construction, v1.3 IMVS, M. Kropp, Ch. Denzler 9 Fallstudie Movie Rental System Zweck Hands-on für effektive Software Konstruktionn Anwenden von Methoden und Toosl Learn what it really needs Kontext Weiterentwicklung von bestehendem Code Fall Studie Ausleihsystem für Filme Aufgabe Jede Gruppe entwickelt das System weitere Sie bekommen dazu separate Aufgaben gestellt Software Construction, v1.3 IMVS, M. Kropp, Ch. Denzler 10 5
Prüfungen Erfahrungsnote Prüfung (2/3) Gruppenarbeit (1/3) Modulschlussprüfung Software Construction, v1.3 IMVS, M. Kropp, Ch. Denzler 11 Viel Spass bei der effektiven Konstruktion von Software! Software Construction, v1.3 IMVS, M. Kropp, Ch. Denzler 12 6