Uni Wien:Softwareentwicklung VO (Benkner)
Zur Navigation springen
Zur Suche springen
Ähnlich benannte LVAs (Materialien):
- Softwareentwicklung UE (Engelbrecht) (Uni Wien, 1 Material)
- Softwareentwicklung VO (Benkner) (Uni Wien, 0 Materialien)
Hard Facts[Bearbeiten | Quelltext bearbeiten]
- LV-Kürzel: PI.SWE.SE.VO
- im Modul enthalten: Softwareentwicklung UE
- Vortragender: Siegfried Benkner
- Institut: Institut für Scientific Computing
- ECTS: 3 (SWS: 2)
- Empfohlenes Semester: 3 (Geändert! Nach Curriculum ab 01.10.2010)
- Offizielle Homepage mit VO-Unterlagen
- Vorlage:521
- Vorkenntnisse: PRG Programmierung (STEOP 2), Technische Grundlagen und Systemsoftware (STEOP 3)
Inhalt[Bearbeiten | Quelltext bearbeiten]
- Grundlagen Software Engineering
- Life-Cycle Modelle
- Objektorientierte Softwareentwicklung,
- OO-Konzepte anhand von Java
- Objektorientierte Analyse und Design
- Patterns
- Testmethoden,
- Qualitätskriterien für Softwareprodukte
- Softwareentwicklungswerkzeuge und Entwicklungsumgebungen.
- Als Softwareentwicklungsframework wird schwerpunktsmäßig der Unified Process (UP) behandelt
Ziel[Bearbeiten | Quelltext bearbeiten]
- Lifecycle-Modelle kennen
- Objektorientierte Konzepte verstehen und anwenden können
- gezielte Softwareentwicklung nach Qualitätskriterien
Themen[Bearbeiten | Quelltext bearbeiten]
Java-Einführung[Bearbeiten | Quelltext bearbeiten]
Softwareentwicklungsmodelle[Bearbeiten | Quelltext bearbeiten]
- Wasserfallmodell, Spiralmodell
- Unified Process
- Zentrale Merkmale: Use-Case-gesteuert, Architektur-zentriert, iterativ & inkrementell
- Phasen, Workflows, Worker, Aktivitäten, Ziele,...
- Analyseklassen: Entity, Boundary, Controller
UML[Bearbeiten | Quelltext bearbeiten]
- Statische Strukturen (Objekt-/Komponenten-/Deployment-Diagramm)
- Dynamisches Verhalten (UseCase-/Sequenz-/Kollaborations-/Zustands-/Aktivitäts-Diagramm)
Objektorientierte Konzepte[Bearbeiten | Quelltext bearbeiten]
- Abstraktion
- Kapselung
- Modularität: Kohäsion
- Hierarchie
- Overwriting vs. Overloading vs. Shadowing
- Objektzustand, Objektverhalten, Objektinteraktion
- Wiederverwendbarkeit (Vererbung, Komposition, Delegation)
Patterns[Bearbeiten | Quelltext bearbeiten]
- Architekturpatterns
- Layers
- Broker
- Model-View-Controller (MVC)
- Analysepatterns
- Liste, Exemplartyp, Baugruppe
- Stückliste, Koordinator
- Rollen, Wechselnde Rollen
- Historie, Gruppe, Gruppenhistorie
- Designpatterns
- Klassifikation/Beschreibung von Designpatterns
- JSP-Modell1, JSP-Modell2, Struts
- Singleton
- Composite
- Observer
- Adapter
- Abstract Factory
- Abstract Method
- Proxy
- Strategy
- Facade
Vorwissen[Bearbeiten | Quelltext bearbeiten]
Voraussetzungen (gültig für Studienplan 521)[Bearbeiten | Quelltext bearbeiten]
- Sind ziemlich vielfältig
- Datenbanksysteme (PI.DBS)
- Softwarearchitekturen und Web Technologien (PI.SWA)
Dadurch ist impliziert:
- Algorithmen und Datenstrukturen (PI.ADS)
- Modellierung (PA.MOD)
- Einführung in die Programmierung (PI.PRG)
- Internettechnologien (PI.INT)
- Technische Grundlagen und Systemsoftware (PI.TGS)
Vorkenntnisse[Bearbeiten | Quelltext bearbeiten]
- Wenn man Objektorientiertes Programmieren (vorzüglich Java) schon mal hatte, tut man sich etwas leichter
- Ein bisschen ein Verständnis für Grundprobleme bei der Softwareentwicklung (besonders bei großen Projekten) kann nicht schaden und weckt die Motivation
Zeitaufwand[Bearbeiten | Quelltext bearbeiten]
- Wenn man die Übung parallel dazu macht, sollte man mit dem praktischen Teil der Vorlesungsprüfung keine gröberen Probleme haben (Klassendiagramme, Sequenzdiagramme, Transformation von UML in Java-Code und vice versa) und bekommt nebenbei auch ein bisschen ein Gefühl für die Schwierigkeiten in der SW-Entwicklung (die bei großen Projekten in der Bewältigung der Komplexität sowie der Aufgabenverteilung auf mehrere Personen liegen).
- Im Großen und Ganzen sollte man mit 2-4 Tagen auskommen, je nachdem ob man in der Vorlesung/Übung war und dort verstanden hat, worum es geht.
Vortrag[Bearbeiten | Quelltext bearbeiten]
- Prof. Benkner kennt sich mit dem, was er vorträgt aus und verzichtet darauf, die Folien nur herunterzubeten, sondern benutzt (das ist eher eine Seltenheit im Informatik-Studium) Kreide und Tafel, um die Folieninhalte zu ergänzen und mögliche Prüfungsbeispiele durchzugehen. Es lohnt sich also, bei essentiellen Einheiten in die Vorlesung zu gehen.
- Der Vortagsstil von Prof. Benkner ist wahrscheinlich etwas gewöhnungsbedürftig (er benutzt gerne Füllwörter wie "wie gsogt" oder "eben") - aber ich konnte den Themen ohne Probleme folgen und konnte mit dem, was er sagt, auch etwas anfangen.
Autodidakt[Bearbeiten | Quelltext bearbeiten]
- Man kann mit den Vorlesungsfolien im WEB alleine auch auskommen, wenn man die Übung besucht hat.
- Wenn man die Übung nicht besucht hat und mit UML und SW-Entwicklung noch wenig Erfahrung hat, ist man vielleicht doch besser beraten, in die Vorlesung zu gehen (wenn man verstehen will, was man da für die Prüfung lernt).
Prüfung[Bearbeiten | Quelltext bearbeiten]
- Modus: Freitext (Vor-&Nachteile diskutieren), Beispiele (Klassendiagramme, Java-Code)
- Hilfsmittel: Keine!
- Zeit: 1 Stunde
- war extrem knapp. Man hatte keine Zeit mehr sich seine Prüfung durchzulesen
- Zum Nachdenken, wie man den Code jetzt schreiben soll oder wie jenes Pattern aussieht, hat man nicht wirklich Zeit.
- Benotung: in Ordnung
- In der letzten Vorlesungseinheit besprach Prof. Benkner die 4 Themenkomplexe, die für die Vorlesung relevant sind:
- Unified Process: High-Level-Verständnis, Welche Modelle werden erzeugt, Welche Workflows gibt es,...
- Objektorientierte Analyse und Design: z.B. aus einer natürlichsprachlichen Beschreibung eines Sachverhalts ein UML-Diagramm / Sequenzdiagramm / Java-Code generieren.
- Objektorientierte Konzepte: Wiederverwendbarkeit, Vererbung, Delegation, Dynamic Binding,...
- Patterns: Für den 1. Prüfungstermin waren vor allem Observer, Abstract Factory und Singleton relevant. Man muss jedoch erklären können, wie das Pattern funktioniert (Klassendiagramm hinzeichnen reicht nicht aus) und welche Funktion die einzelnen Klassen haben.
Literatur[Bearbeiten | Quelltext bearbeiten]
- Vorlesungsfolien auf der Homepage verfügbar
- In den Folien finden sich auch ziemlich umfangreiche Literaturhinweise, die manchmal auch für Ideen von Prüfungsbeispielen herangezogen werden (laut Angaben des Vortragenden).