Uni Wien:Software Engineering 1 VU (Böhmer)

Aus VoWi
Zur Navigation springen Zur Suche springen
Ähnlich benannte LVAs (Materialien):

Daten[Bearbeiten | Quelltext bearbeiten]

Vortragende Kristof Böhmer
ECTS 6,00 / 4,00
Aufgezeichnet teilweise (Übung)„teilweise (Übung)“ ist kein Wahrheitswert (wahr/falsch).
Sprache Deutsch
Links ufind:051040
Zuordnungen
Bachelor Wirtschaftsinformatik Modul Informatik (Pflichtfach)
Bachelor Informatik Modul Informatik (Pflichtfach)
Bachelor Lehramt Informatik Modul INF 12 Wahlpflichtbereich (Gebundenes Wahlfach)
Master Lehramt Informatik Modul MA INF 01 Wahlpflichtbereich Masterstudium UF Informatik (Gebundenes Wahlfach)


Inhalt[Bearbeiten | Quelltext bearbeiten]

Die VU SE 1 zielt darauf ab einen Überblick über zentrale Konzepte der Softwareentwicklung zu bieten:

  • Anforderungsanalyse
  • Verifikation, Validierung von Software
  • Softwareprojekte
  • Softwareentwicklungsprozesse
  • Sicherheit in der Softwareentwicklung
  • Wartung, Weiterentwicklung, Rollout
  • etc.


Methoden:

  • Interaktive Vorträge, Tutorials
  • Fachdiskurs in der Gruppe und mit den Lehrenden
  • Konzipierung, Planung und Umsetzung eines vereinfachten aber realistischen Projektes
  • Selbstständige Einzelarbeiten und (nach individueller Absprache mit der LV-Leitung) Gruppenarbeiten in den Bereichen Praxis und Theorie
  • Präsentation von Ausarbeitungen durch Studierende, Feedback
  • Online Selbstevaluation
  • Blended Learning

Ablauf[Bearbeiten | Quelltext bearbeiten]

  • 2 schriftliche Tests
  • 1 zusätzliche Test um sich einen der Tests auszubessern, bei diesem kommt jedoch der gesamte LV Stoff (und etwas mehr) und ist nicht wirklich einfacher als die vorigen
  • 3 Teilaufgaben

Alle Übungen, Aufgaben, Prüfungen, etc. die im Rahmen der LV stattfinden sind (sofern nicht explizit anders angegeben) selbstständig durchzuführende Einzelarbeiten. Gruppenarbeiten sind selbstständig und nur von den offiziell für die Gruppe gemeldeten Studierenden umzusetzen - diese sind gemeinschaftlich als auch individuell für die Umsetzung verantwortlich. Gruppenarbeiten sind nur nach expliziter Genehmigung durch die LV Leitung möglich.

Bei den schriftlichen Tests kommen offene Fragen, MC-Fragen (wobei man diese auch mittels einer offenen Frage begründen muss). Es kommen auch Fragen, wo man UML zeichnen und Pseudo Java Code schreiben muss.

Benötigte/Empfehlenswerte Vorkenntnisse[Bearbeiten | Quelltext bearbeiten]

Gut fundierte Java Kenntnisse (Packages, SOLID- und MVC-Prinzip) sind von großem Vorteil und würde ich fast als Voraussetzung bezeichnen. Ein Grundverständnis von UML (Klassen- und Sequenzdiagramm) von Vorteil. Gutes Verständnis von Git und Eclipse oder InteliJ (für die Deadline muss das Projekt in Eclipse importiert werden) auch als Vorteil.

Vortrag[Bearbeiten | Quelltext bearbeiten]

Gutes Mitschreiben hilft sehr beim Lernen für die Prüfung.

In der Vorlesung wird der Stoff in den Folien nicht vorgetragen, sondern Übungen dazu. Dabei wird der jeweilige Stoff erklärt. Die Vorlesung gibt an, was wichtig ist und was definitiv zum Test kommt, aber dieser behandelt nicht alles. Wichtig ist es die Folien selbst zu erarbeiten.

Übungen[Bearbeiten | Quelltext bearbeiten]

  • Die 1. Teilaufgabe: 2 Klassendiagramme und 2 Sequenzdiagramme zu modellieren, 8 Anforderungen und eine Anforderungsdokumentation zu schreiben.
  • Die 2. (Client) und 3. Teilaufgabe (Server) ist ein Software-Projekt incl. Dokumentation (wobei man beim server nicht alles Implementieren muss von der Spielidee)
    • Schwierigkeit beim Client sind die 2 Algorithmen: Einen Kartengenerator und dann eine Pathfinder.

2024 Wintersemester hat sich die Übung geändert:

1.Teilaufgabe: 8 Punkte

- 8 Anforderungen nur aus der Spielidee für den Client und dazu eine Anforderungsdokumentation

- 1 UML Klassendiagram für den Client (MVC-Pattern wurde hierbei nicht behandelt)

- 2 Sequenzdiagramme für den Client

2.Teilaufgabe: 5 Punkte

Funktionierenden Client implementieren, hierbei werden keine Qualitätsaspekte beurteilt. Es wird nur darüber beurteilt, ob der Client das Spiel erfolgreich beenden kann. (MVC ist wieder kein Thema).

3.Teilaufgabe: 27 Punkte

Client mit allen Best practises und mit MVC zu implementieren + Logging, Exceptions, Unit Tests

Prüfung, Benotung[Bearbeiten | Quelltext bearbeiten]

noch offen, bitte nicht von u:find kopieren

Prüfungsgegenstände[Bearbeiten | Quelltext bearbeiten]

  • Folien/Skripten
  • Arbeitsblätter
  • Vorlesungs- und Übungsvortrag (Eigene Mitschrift!)
  • Referenzliteratur
  • Grundlegende Programmier- (in Java) sowie Modellierungskenntnisse (in UML) werden vorausgesetzt
  • Alle Teilaufgaben
  • Screencast Videos

Zeitaufwand[Bearbeiten | Quelltext bearbeiten]

4 SWS, laut u:find. In realität ist der Aufwand sehr hoch, mehr als es ECTS dafür gibt. Nicht unterschätzen und bei Semesterplanung miteinbeziehen. 4 SWS ist allein die Zeit welche man damit verbringt die LV zu besuchen noch ganz ohne Projekte und für Tests lernen.

SWS ist die Zeit die man pro Woche in Uni verbringt laut Plan. Also sind 4 SWS pro Woche im Vortrag wohl das was zu erwarten ist. War aber im 2022w nicht jede Woche was oder auch mal nur optionale Fragestunden oder deutlich schneller fertig wenn wenig Fragen kamen. Von den ECTS her hat es bei mir gepasst, früh anfangen weil man für manche Programmierfehler länger sucht. Prof fragen, hilft weiter. TIP: In die Vorlesung gehen. Habe nur Mitschrift für den Test gelesen. Hat gereicht und war relativ schnell erledigt.

Würde dazu auch noch an den Übungen teilnehmen. Fand die hilfreich, da man in seinem eigenen Projekt darauf aufbauen kann. Es wird auch immer was vorprogrammiert und gezeigt, wie man es machen soll und worauf es ankommt.

Sehr Hoch. Die Inhalte sind meist einfach, aber es kostet viel Zeit. Dieses Fach nicht unterschätzen.

Unterlagen[Bearbeiten | Quelltext bearbeiten]

Die empfohlene Literatur ist in der Bibliothek in mehreren hundert Stück (z.B. als digitale Version) aufgelegt worden. Weitere themenspezifische Empfehlungen finden Sie in den zu den jeweiligen Vorlesungsblöcken passenden Unterlagen (z.B. zur Codequalität, sicherer Programmierung oder Softwarepattern) auf Moodle. Auch von diesen wurden soweit möglich Exemplare angeschafft.

(empfohlen) A. Schatten, S. Biffl, M. Demolsky, E. Gostischa-Franta, Th. Östreicher, D. Winkler: Best Practice Software-Engineering, Eine praxiserprobte Zusammenstellung von komponentenorientierten Konzepten, Methoden und Werkzeugen. Springer (2010)

(empfohlen) T. Grechenig, M. Bernhart, R. Breiteneder, K. Kappel: Softwaretechnik: Mit Fallbeispielen aus realen Entwicklungsprojekten. Pearson (2009)

Vergleichbares Werk in englischer Sprache: I. Sommerville: Software Engineering. Pearson (2016)

Weitere Literatur: C. Kecher, A. Salvanos: UML 2.5: Das umfassende Handbuch. Rheinwerk Computing (2015) D. Stuttard, M. Pinto: The Web Application Hacker's Handbook: Finding and Exploiting Security Flaws. Wiley (2011) B. Bruegge, A. Dutoit: Object Oriented Software Engineering Using UML, Patterns, and Java: International Version. Prentice Hall (2009) A. Moos: XQuery und SQL/XML in DB2-Datenbanken. Vieweg+Teubner (2008) G. Alonso, F. Casati, H. Kuno, V. Machiraju: Web Services - Concepts, Architectures and Applications. Springer-Verlag Berlin Heidelberg (2004) G. Fairbanks: Just Enough Software Architecture: A Risk-Driven Approach. Marshall & Brainerd (2010)

Tipps[Bearbeiten | Quelltext bearbeiten]

  • Es ist nicht notwendig, sich die Bücher zu kaufen; sie als Nachschlagewerke zu haben, schadet allerdings eventuell nicht.
  • Mit dem Projekt früh anfangen, erspart Stress und gibt Bonuspunkte
  • In der VO und in den Tutorials alles mitschreiben, auch wenn dies sehr anstrengend sein kann, da oft diese Bsp zum Test kommen, diese kommen so auch nicht in anderen Lernunterlagen vor
  • Die Bewertungskriterien sind bei jeder Teilaufgabe angegeben. Es ist äußerst wichtig, diese sorgfältig zu lesen und sich strikt daran zu halten, da die Bewertung genau danach erfolgt. Häufig ist es wichtiger, die Best Practices einzuhalten, als lediglich funktionierenden Code zu schreiben.
  • Man darf Source Code von Moodle übernehmen.
  • Moodle und die Erklärungen sehr gründlich durchlesen. Öfters sind manche Erklärungen als Verlinkungen im Text versteckt.
  • Folien zu den Inhalten vor der Vorlesung durchlesen. In den Vorlesungen werden die Aufgaben zu den Arbeitsblättern durchgemacht .

Verbesserungsvorschläge / Kritik[Bearbeiten | Quelltext bearbeiten]

noch offen

Materialien

Diese Seite hat noch keine Anhänge, du kannst aber neue hinzufügen.