Last modified by Marco Grawunder on 2026/08/26 10:16

Show last authors
1 [[image:Main.Organisatorisches.WebHome@softwareprojekt_logo_transparent.png||alt="SoftwareprojektLogo.png" data-xwiki-image-style-alignment="end" height="136" width="309"]]
2
3 Dieses Wiki enthält die Informationen zum Softwareprojekt des Departments für Informatik der Universität Oldenburg. 
4
5 {{warning}}
6 **Gruppeneinteilung:**
7
8 * Die Gruppeneinteilung findet über das Stud.IP statt. [[AnmeldungSWP>>doc:.Organisatorisches.WebHome||anchor="HAnmeldungzumSoftwareprojekt"]]
9 * Normalerweise sollten die Gruppenveranstaltungen (AG Softwareprojekt ()) gesperrt sein. Sollte das einmal nicht der Fall sein, bitte dort nicht eintragen.
10 * (((
11 Die Gruppentreffen finden am Tag NACH der ersten Vorlesung, typischerweise am Dienstag das erste Mal statt.
12 )))
13 {{/warning}}
14
15 = Ziele =
16
17 Das Softwareprojekt hat das Ziel, Methoden, Techniken und Hilfsmittel des Software Engineering anhand einer größeren und komplexen Aufgabe praktisch anzuwenden. Dabei geht es um die methodische SW-Entwicklung (Software-Lebenszyklus), unterstützt durch Qualitätssicherung und Projektmanagement.
18
19 Moderne Software-Entwicklung findet dabei typischerweise im Team statt. Es geht also darum Gruppen- und  Projektarbeit einzuüben. Ein wichtiger Aspekt dabei ist die Förderung des Teamgeists durch die gemeinsame Entwicklung einer Lösung. Man lernt und verbessert die kommunikativen Fähigkeiten und die Zusammenarbeit mit (anfangs) fremden Personen.
20
21 Bei großen Projekten ist es darüber hinaus wichtig, zu verstehen, dass Entscheidungen i.d.R. längerfristige Konsequenzen bedeuten. Der Umfang ist so gewählt, dass für längere Zeit unter Zeitdruck gearbeitet werden muss.
22
23 Schließlich werden viele Projekte nicht mehr "auf der grünen Wiese" entwickelt sondern betten sich irgendwo ein. Man muss also lernen, sich in existierende Systeme und Frameworks einzuarbeiten.
24
25 = **Voraussetzungen** =
26
27 **Für die Teilnahme am Softwareprojekt sind sichere Kenntnisse aus den Veranstaltungen PDA und OMP, hier ganz besonders auch die Programmierkenntnisse unbedingt notwendig. Das Softwareprojekt kann ohne durchgeführte Programmieraufgaben nicht erfolgreich abgeschlossen werden** (Keine erfolgreiche Teilnahme nur mit Dokumentation und Organisation möglich). Auch die u.U. nicht klausurrelevanten Dinge wie z.B. JavaFX werden als bekannt vorausgesetzt und sollten ggf. noch einmal in der VL-freien Zeit im Sommer angeschaut werden.
28
29 {{success}}
30 **Hinweise aus der Modulbeschreibung:**
31
32 * Die Studierenden haben die grundlegenden Konzepte der imperativen, prozeduralen und objektorientierten Programmierung in der Programmiersprache Java sowie des objektorientierten Softwareentwurfs verstanden und können die Fachterminologie sowie erste Ansätze in UML sachgerecht anwenden.
33 * Sie haben Erfahrung in der selbständigen Entwicklung entsprechender Programme unter Verwendung moderner Programmierumgebungen zur Softwareentwicklung und zum Softwaretest und können vorliegenden Programmcode in Java lesen, verstehen, auf Fehler untersuchen und im Team diskutieren.
34 * Sie kennen das Konzept der Nebenläufigkeit und können es in Java anwenden.
35 * Sie kennen allgemeine Algorithmen und können Algorithmen und Datenstrukturen zur Lösung eines konkreten Problems begründet auswählen.
36 {{/success}}
37
38
39 = Wiki-Inhalte =
40
41 {{info}}
42 **Neu im Softwareprojekt?**
43
44 Die allgemeinen Regeln und Anleitungen des Softwareprojekts sind dauerhaft öffentlich zugänglich. **Termine, die aktuelle Aufgabenstellung und jahrgangsspezifische Hinweise** befinden sich unter [[Aktuelles>>doc:Main.Aktuelles.WebHome]]. Dieser Bereich ist nur für angemeldete Teilnehmende des aktuellen Softwareprojekts sichtbar.
45 {{/info}}
46
47 |= Bereich |= Was finde ich dort?
48 | [[Aktuelles 🔒>>doc:Main.Aktuelles.WebHome]] | Termine, aktuelle Aufgabenstellung, aktuelles Spiel, Übungsblätter und Hinweise des laufenden Jahrgangs
49 | [[Organisatorisches>>doc:Main.Organisatorisches.WebHome]] | Anmeldung, Gruppeneinteilung, benötigte Software und organisatorische Rahmenbedingungen
50 | [[Projektarbeit und Zusammenarbeit>>doc:Main.Projektarbeit.WebHome]] | Rollen, Zusammenarbeit, Projekttagebuch, wechselnde Aufgaben und gruppenweites Code-Review
51 | [[Softwareentwicklung>>doc:Main.Softwareentwicklung.WebHome]] | technische Anforderungen, Meilensteine, Implementierung, Testen und Qualitätssicherung
52 | [[Dokumentation und Abgabe>>doc:Main.Dokumentation.WebHome]] | Anforderungsanalyse, Architektur und Entwurf sowie Anforderungen an die Abschlussdokumentation
53 | [[Präsentationen und Abnahme>>doc:Main.Präsentationen.WebHome]] | Zwischenpräsentationen, Live-Demo und Abnahme
54 | [[Scrum>>doc:Main.Scrum.WebHome]] | Scrum-Grundlagen, Product Backlog, Sprint Planning, Reviews und Retrospektiven
55 | [[GitLab Erklärungen>>doc:Main.GitLab.WebHome]] | konkrete Umsetzung der Projektarbeit in GitLab: Issues, Sprints, Zeiterfassung, Reviews und Pipelines
56 | [[Basisprojekt>>doc:Main.Basisprojekt.WebHome]] | technische Einführung in das bereitgestellte Basisprojekt
57 | [[Bewertung>>doc:Main.Bewertung.WebHome]] | Gruppen- und Einzelbewertung sowie Arbeitsaufwand
58 | [[Videos>>doc:Main.Videos.WebHome]] | aktuelle Videos, Grundlagenvideos und historische Vorlesungsvideos
59 | [[Stichwortverzeichnis>>doc:Main.Index.WebHome]] | alphabetischer Einstieg über wichtige Begriffe und typische Suchwörter
60 | [[Glossar>>doc:Main.Glossar.WebHome]] | kurze Erklärungen zentraler Fachbegriffe des Softwareprojekts
61 | [[Historisches>>doc:Main.Historisches.WebHome]] | Materialien und Aufgabenstellungen früherer Jahrgänge