From 594ab158612a10e65b825d5012544d9c44c7f950 Mon Sep 17 00:00:00 2001 From: christopherlampert Date: Tue, 12 May 2026 13:27:21 +0200 Subject: [PATCH] 12.05.2026 13:25 : v1.1 Project Charter und v1.0 Lasteheft --- Lastenheft/Lastenheft_v1.0.md | 490 ++++++++++++++++++ .../project-charter_v1.0.md | 476 ++++++++--------- Project-Charter/project-charter_v1.0.pdf | Bin 0 -> 159059 bytes Project-Charter/project-charter_v1.1.md | 198 +++++++ 4 files changed, 926 insertions(+), 238 deletions(-) create mode 100644 Lastenheft/Lastenheft_v1.0.md rename project-charter.md => Project-Charter/project-charter_v1.0.md (96%) create mode 100644 Project-Charter/project-charter_v1.0.pdf create mode 100644 Project-Charter/project-charter_v1.1.md diff --git a/Lastenheft/Lastenheft_v1.0.md b/Lastenheft/Lastenheft_v1.0.md new file mode 100644 index 0000000..2ee69a0 --- /dev/null +++ b/Lastenheft/Lastenheft_v1.0.md @@ -0,0 +1,490 @@ +# Lastenheft – Fakturierungssystem + +**Modul:** Software Engineering 1 +**Team:** SE1 Team 2 – Hochschule Mannheim +**Version:** 1.0 +**Stand:** 12.05.2026 +**Autor:** Christopher Lampert +**Bezug:** Project Charter v1.1 (05.05.2026) – Fakturierungssystem + +--- + +## Freigabeübersicht + +| Ersteller | Prüfer | Freigebender | +|---|---|---| +| Christopher Lampert | Prof. Dr. Gerd Marmitt | SE1 Team 2 (Gruppenleiter) | +| SE1 Team 2 | Hochschule Mannheim | SE1 Team 2 | +| 12.05.2026 | 15.05.2026 | 15.05.2026 | + +--- + +## Dokumentenhistorie + +| Version | Datum | Autor | Änderung | +|---|---|---|---| +| 1.0 | 12.05.2026 | Christopher Lampert | Initiale Erstellung des Lastenhefts auf Basis Project Charter v1.1 | + +--- + +## 1. Einleitung und Zielbestimmung + +### 1.1 Zweck dieses Dokuments + +Ziel dieses Lastenhefts ist die Spezifikation der fachlichen Anforderungen an ein **Fakturierungssystem** für kleine Unternehmen. Das Dokument beschreibt aus Sicht des Auftraggebers, **was** das System leisten soll, und bildet die Grundlage für: + +- die Systemarchitektur und das Pflichtenheft, +- die Projektplanung im V-Modell, +- die Akzeptanztests bei der Abnahme. + +Das Lastenheft ist – soweit möglich – technologie- und lösungsneutral formuliert. Der konkrete Technologie-Stack ist im separaten Dokument `Technologiestack.md` dokumentiert und wird im Architekturdokument fortgeschrieben. + +### 1.2 Projektziele + +Übernommen und verfeinert aus Charter v1.1, Kapitel 4: + +| Nr. | Ziel | Erfolgskriterium | +|---|---|---| +| Z1 | Produktverwaltung | Produkte können erstellt, bearbeitet, gelöscht und gesucht werden | +| Z2 | Kundenverwaltung | Kundendaten sind vollständig anlegbar, änderbar, löschbar und auffindbar | +| Z3 | Dokumentenworkflow | Vollständiger Prozess Angebot → Auftragsbestätigung → Lieferschein → Rechnung wird unterstützt | +| Z4 | GUI | Funktionale, einheitliche Oberfläche mit Navigation zwischen allen Modulen | + +### 1.3 Nicht-Ziele + +Folgende Funktionen sind **explizit nicht** Bestandteil dieses Projekts (Charter v1.1, 4.1): + +- Mobile Anwendung +- Cloud-System / Multi-Tenant-Betrieb +- Mehrbenutzer-Online-System (gleichzeitiger Mehrbenutzerbetrieb über Netzwerk) +- Vollwertiges Buchhaltungssystem (z. B. Bilanz, Kontenrahmen, FiBu-Export) +- E-Rechnung (XRechnung, ZUGFeRD) +- Anbindung an externe Buchhaltungs- oder ERP-Systeme +- Mehrsprachigkeit (das System wird ausschließlich in deutscher Sprache realisiert) + +### 1.4 Begriffsklärung: Lastenheft vs. Pflichtenheft + +| Aspekt | Lastenheft (dieses Dokument) | Pflichtenheft (Folgedokument) | +|---|---|---| +| Sichtweise | Auftraggeber (Fachseite) | Auftragnehmer (Entwicklungsteam) | +| Frage | **Was** soll das System leisten? | **Wie** wird es umgesetzt? | +| Inhalt | Ziele, Einsatzkontext, fachliche Anforderungen | Architektur, Technologie, Detaildesign | +| Lösungsneutralität | Ja | Nein | +| Rolle im V-Modell | Eingabe für Anforderungen + Basis für Abnahmetests | Eingabe für Systemtests | + +### 1.5 Geltungsbereich + +Das Lastenheft umfasst alle Anforderungen an die vier Pflichtmodule **Produktverwaltung, Kundenverwaltung, Dokumentenprozess und Programmoberfläche (GUI)** sowie deren Zusammenspiel. Außerhalb des Geltungsbereichs liegen die unter 1.3 genannten Nicht-Ziele. + +--- + +## 2. Systemkontext und Rahmenbedingungen + +### 2.1 Einsatzkontext + +Das Fakturierungssystem wird als **lokal installierte Einbenutzer-Anwendung** auf einem PC-Arbeitsplatz eines kleinen Unternehmens betrieben. Es unterstützt den vollständigen Geschäftsprozess von der Angebotserstellung bis zur Rechnungsstellung. + +**Typischer Nutzungsablauf:** + +1. Anwender pflegt Produkt- und Kundenstammdaten. +2. Anwender erstellt ein Angebot auf Basis dieser Stammdaten. +3. Bei Auftragsannahme wird das Angebot zur Auftragsbestätigung weiterverarbeitet. +4. Nach Lieferung wird aus der Auftragsbestätigung ein Lieferschein erzeugt. +5. Abschließend wird aus dem Lieferschein eine Rechnung erstellt. + +### 2.2 Schnittstellen zur Umgebung + +Da das System gemäß Charter (Nicht-Ziele) ohne externe Systemanbindung betrieben wird, beschränken sich die Schnittstellen auf: + +| Schnittstelle | Zweck | Art | +|---|---|---| +| Benutzerschnittstelle (GUI) | Interaktion mit dem Anwender | UI | +| Lokales Dateisystem | Persistierung der Daten (Stammdaten, Dokumente) | Datei-Schnittstelle | +| Druck-/Export-Schnittstelle | Erzeugung druckbarer Dokumente (z. B. PDF) | Ausgabeschnittstelle | + +### 2.3 Organisatorische Rahmenbedingungen + +- **Projektlaufzeit:** 15.04.2026 – 30.06.2026 (Charter v1.1, Kap. 10) +- **Teamgröße:** 11 Personen, organisiert in vier Untergruppen E, F, G, H +- **Zeit pro Person:** 2–3 Stunden pro Woche +- **Vorgehensmodell:** V-Modell +- **Budget:** kein finanzielles Budget +- **Kommunikation:** Discord/WhatsApp (täglich), Gitty (kontinuierlich), wöchentliche Meetings, E-Mail an Betreuer bei Bedarf + +### 2.4 Rechtliche Rahmenbedingungen + +- Rechnungen müssen die gesetzlichen Pflichtangaben nach **§ 14 Abs. 4 UStG** enthalten (vollständiger Name und Anschrift von Leistungserbringer und -empfänger, Steuernummer/USt-IdNr., Ausstellungsdatum, fortlaufende Rechnungsnummer, Menge und Art der Leistung, Liefer-/Leistungsdatum, Entgelt und Steuersatz). +- Personenbezogene Kundendaten unterliegen der **DSGVO** (Datenminimierung, Auskunfts- und Löschrecht). + +*Hinweis: Eine abschließende rechtliche Prüfung ist mit dem Auftraggeber abzustimmen (siehe Handlungspunkte).* + +### 2.5 Technische Rahmenbedingungen + +- Das System wird **lokal** ausgeführt (keine zwingende Internetverbindung erforderlich). +- Die konkrete Technologieauswahl ist in `Technologiestack.md` dokumentiert. +- Daten werden persistent gespeichert, sodass sie nach einem Neustart der Anwendung verlustfrei verfügbar sind. +- Versionierung der Quellcode-Artefakte erfolgt über **Gitty** (Charter v1.1, Kap. 10). + +--- + +## 3. Stakeholder und Benutzergruppen + +### 3.1 Stakeholder + +Übernommen aus Charter v1.1, Kap. 6.1: + +| ID | Stakeholder | Beschreibung | Interesse | +|---|---|---|---| +| S1 | Auftraggeber | Prof. Dr. Gerd Marmitt | Lehrziele erreicht, Abnahmekriterien erfüllt | +| S2 | Entwicklungsteam | SE1 Team 2 (Gruppen E, F, G, H) | Erfolgreiche Umsetzung, Lernzielerreichung | +| S3 | Endnutzer | spätere Anwender (kleines Unternehmen) | Funktionierender Fakturierungsablauf | + +### 3.2 Benutzerrollen + +Im laufenden Betrieb des Systems werden folgende Benutzerrollen unterschieden: + +| Rolle | Aufgaben | Typische Aktionen | +|---|---|---| +| **Anwender** | Bedient das System im Geschäftsalltag | Produkt- und Kundenstammdaten anlegen, bearbeiten und löschen; Angebote, Auftragsbestätigungen, Lieferscheine und Rechnungen erstellen; Dokumente exportieren und drucken | + +### 3.3 Teamstruktur (Verantwortlichkeiten für die Umsetzung) + +Verweis auf Charter v1.1, Kap. 6.2: + +| Gruppe | Verantwortungsbereich | Bezug zu Kapitel | +|---|---|---| +| Gruppe E | Programmoberfläche (GUI) | 4.4 | +| Gruppe F | Dokumentenprozess | 4.3 | +| Gruppe G | Produktverwaltung | 4.1 | +| Gruppe H | Kundenverwaltung | 4.2 | + +--- + +## 4. Fachliche Anforderungen (Funktionale Anforderungen) + +Alle Anforderungen folgen einer der drei in den Vorlesungsfolien definierten Satzschablonen: + +- **F-``** Grundschablone funktional +- **BA-``** Benutzeranforderung +- **GR-``** Geschäftsregel (Kap. 6) +- **NF-``-``** Nicht-funktional (Kap. 5) + +Priorität: **Muss** = Pflicht für die Abnahme, **Soll** = wichtig, aber verzichtbar, **Kann** = optional / Erweiterung. + +### 4.1 Modul Produktverwaltung (Gruppe G) + +| ID | Anforderung (Satzschablone) | Priorität | Akzeptanzkriterium / Test | +|---|---|---|---| +| F-PV-01 | Das System MUSS dem Anwender ERMÖGLICHEN, einen neuen Produktdatensatz mit den Pflichtfeldern Produkt-ID, Bezeichnung, Einzelpreis (netto) und Mehrwertsteuersatz anzulegen. | Muss | AT-PV-01: Nach Eingabe der Pflichtfelder und Bestätigung wird ein Datensatz mit eindeutiger Produkt-ID gespeichert und in der Produktliste angezeigt. | +| F-PV-02 | Das System MUSS dem Anwender ERMÖGLICHEN, einen bestehenden Produktdatensatz auszuwählen und seine Attribute (außer der Produkt-ID) zu bearbeiten und zu speichern. | Muss | AT-PV-02: Nach Speichern enthält der ausgewählte Datensatz die geänderten Werte; eine erneute Anzeige bestätigt die Persistierung. | +| F-PV-03 | Das System MUSS dem Anwender ERMÖGLICHEN, einen Produktdatensatz zu löschen, sofern dieser nicht in einem aktiven Angebot, Auftrag, Lieferschein oder einer Rechnung referenziert wird. | Muss | AT-PV-03: Löschen eines unreferenzierten Produkts entfernt es aus der Produktliste. Löschen eines referenzierten Produkts wird verhindert und mit Hinweis abgewiesen. | +| F-PV-04 | Das System MUSS eine Übersichtsliste aller Produkte mit den Spalten Produkt-ID, Bezeichnung und Einzelpreis anzeigen. | Muss | AT-PV-04: Beim Aufruf der Produktverwaltung werden alle gespeicherten Produkte tabellarisch angezeigt. | +| BA-PV-05 | Als Anwender muss ich Produkte über die Bezeichnung suchen können, um sie bei der Angebotserstellung schnell zu finden. Die Anforderung gilt, wenn mindestens ein Produkt im System gespeichert ist. Die Anforderung gilt als erfüllt, wenn nach Eingabe eines Suchbegriffs alle Produkte angezeigt werden, deren Bezeichnung den Suchbegriff (Groß-/Kleinschreibung ignorierend) enthält. | Muss | AT-PV-05: Suchbegriff „Schraube" liefert alle Produkte mit „Schraube" in der Bezeichnung; bei keinem Treffer wird ein Hinweis angezeigt. | +| F-PV-06 | Das System MUSS bei der Eingabe des Einzelpreises Werte kleiner als 0 ablehnen und eine sichtbare Fehlermeldung anzeigen. | Muss | AT-PV-06: Eingabe „-1" wird abgelehnt; Eingabe „0,00" und „99,99" werden akzeptiert. | +| F-PV-07 | Das System SOLL dem Anwender ERMÖGLICHEN, ein Produkt um eine Beschreibung (Freitext, max. 500 Zeichen) zu ergänzen. | Soll | AT-PV-07: Eine Beschreibung mit bis zu 500 Zeichen wird gespeichert; bei Überschreitung wird die Eingabe abgewiesen. | +| F-PV-08 | Das System SOLL dem Anwender ERMÖGLICHEN, Produkte einer Kategorie zuzuordnen. | Soll | AT-PV-08: Ein Produkt kann genau einer Kategorie zugeordnet werden; die Kategorie ist in der Produktliste sichtbar. | + +### 4.2 Modul Kundenverwaltung (Gruppe H) + +| ID | Anforderung (Satzschablone) | Priorität | Akzeptanzkriterium / Test | +|---|---|---|---| +| F-KV-01 | Das System MUSS dem Anwender ERMÖGLICHEN, einen neuen Kundendatensatz mit den Pflichtfeldern Kunden-ID, Firmenname / Nachname, Straße, PLZ und Ort anzulegen. | Muss | AT-KV-01: Nach Eingabe aller Pflichtfelder und Bestätigung wird der Kunde mit eindeutiger Kunden-ID gespeichert und in der Kundenliste angezeigt. | +| F-KV-02 | Das System MUSS dem Anwender ERMÖGLICHEN, einen bestehenden Kundendatensatz auszuwählen und seine Attribute (außer der Kunden-ID) zu bearbeiten und zu speichern. | Muss | AT-KV-02: Nach Speichern enthält der Datensatz die geänderten Werte; eine erneute Anzeige bestätigt die Persistierung. | +| F-KV-03 | Das System MUSS dem Anwender ERMÖGLICHEN, einen Kundendatensatz zu löschen, sofern dieser nicht in einem aktiven Dokument (Angebot, Auftragsbestätigung, Lieferschein, Rechnung) referenziert wird. | Muss | AT-KV-03: Löschen eines unreferenzierten Kunden entfernt ihn aus der Kundenliste; Löschen eines referenzierten Kunden wird mit Hinweis abgewiesen. | +| F-KV-04 | Das System MUSS eine Übersichtsliste aller Kunden mit den Spalten Kunden-ID, Firmenname/Name, PLZ und Ort anzeigen. | Muss | AT-KV-04: Beim Aufruf der Kundenverwaltung werden alle gespeicherten Kunden tabellarisch angezeigt. | +| BA-KV-05 | Als Anwender muss ich Kunden anhand von Name oder Kunden-ID suchen können, um sie bei der Dokumenterstellung schnell auszuwählen. Die Anforderung gilt, wenn mindestens ein Kunde im System gespeichert ist. Die Anforderung gilt als erfüllt, wenn nach Eingabe eines Suchbegriffs alle Kunden angezeigt werden, deren Name oder ID den Suchbegriff (Groß-/Kleinschreibung ignorierend) enthält. | Muss | AT-KV-05: Suchbegriff „Müller" liefert alle Kunden mit „Müller" im Namen. | +| F-KV-06 | Das System MUSS das Format einer eingegebenen E-Mail-Adresse anhand des Musters `@.` prüfen und ungültige Eingaben mit einer Fehlermeldung ablehnen. | Muss | AT-KV-06: „a@b.de" wird akzeptiert, „abc" oder „a@b" werden abgelehnt. | +| F-KV-07 | Das System SOLL dem Anwender ERMÖGLICHEN, optionale Felder Telefonnummer, E-Mail, USt-IdNr. und eine abweichende Lieferadresse pro Kunde zu pflegen. | Soll | AT-KV-07: Optionale Felder werden gespeichert; Felder dürfen leer bleiben, ohne dass eine Fehlermeldung erscheint. | +| F-KV-08 | Das System SOLL dem Anwender ERMÖGLICHEN, mehrere Ansprechpartner pro Kunde zu hinterlegen. | Soll | AT-KV-08: Zu einem Kunden können mehrere Ansprechpartner (Name, Telefon, E-Mail) gespeichert und angezeigt werden. | + +### 4.3 Modul Dokumentenprozess (Gruppe F) + +Der Dokumentenprozess realisiert den Kernworkflow **Angebot → Auftragsbestätigung → Lieferschein → Rechnung**. Jedes Folgedokument referenziert eindeutig sein Vorgängerdokument (siehe Geschäftsregeln Kap. 6.3). + +#### 4.3.1 Angebot + +| ID | Anforderung (Satzschablone) | Priorität | Akzeptanzkriterium / Test | +|---|---|---|---------------------------------------------------------------------------------------------------------------------------------------------| +| BA-DP-01 | Als Anwender muss ich ein Angebot für einen ausgewählten Kunden anlegen können, um einem Interessenten ein verbindliches Preisangebot zu übermitteln. Die Anforderung gilt, wenn mindestens ein Kunde und ein Produkt im System gespeichert sind. Die Anforderung gilt als erfüllt, wenn nach Auswahl von Kunde, mindestens einer Produktposition (Produkt, Menge) und Bestätigung ein Angebot mit eindeutiger Angebotsnummer, Datum und berechneter Gesamtsumme gespeichert ist. | Muss | AT-DP-01: Angebot mit 2 Positionen wird angelegt, Angebotsnummer und Gesamtsumme (Sum Menge × Einzelpreis + USt.) werden korrekt angezeigt. | +| F-DP-02 | Das System MUSS jede Angebotsnummer fortlaufend und eindeutig vergeben. | Muss | AT-DP-02: Zwei direkt nacheinander angelegte Angebote haben aufeinanderfolgende Nummern; doppelte Nummern sind nicht möglich. | +| F-DP-03 | Das System MUSS dem Anwender ERMÖGLICHEN, ein Angebot solange zu bearbeiten, wie es noch nicht in eine Auftragsbestätigung überführt wurde. | Muss | AT-DP-03: Bearbeitung eines neuen Angebots ist möglich; nach Überführung in eine Auftragsbestätigung ist nur noch Anzeige möglich. | + +#### 4.3.2 Auftragsbestätigung + +| ID | Anforderung (Satzschablone) | Priorität | Akzeptanzkriterium / Test | +|---|---|---|---| +| BA-DP-04 | Als Anwender muss ich aus einem bestehenden Angebot eine Auftragsbestätigung erzeugen können, um dem Kunden die Auftragsannahme verbindlich zu bestätigen. Die Anforderung gilt, wenn ein Angebot im Status „offen" vorliegt. Die Anforderung gilt als erfüllt, wenn eine Auftragsbestätigung mit eigener Auftragsnummer und Verweis auf die Angebotsnummer gespeichert ist und alle Positionen aus dem Angebot übernommen wurden. | Muss | AT-DP-04: Aus Angebot A-2026-0001 entsteht Auftragsbestätigung AB-2026-0001 mit identischen Positionen und Verweis „aus Angebot A-2026-0001". | +| F-DP-05 | Das System MUSS aus jedem Angebot maximal eine Auftragsbestätigung erzeugen lassen. | Muss | AT-DP-05: Ein zweiter Versuch, aus demselben Angebot eine Auftragsbestätigung zu erzeugen, wird mit Hinweis abgewiesen. | + +#### 4.3.3 Lieferschein + +| ID | Anforderung (Satzschablone) | Priorität | Akzeptanzkriterium / Test | +|---|---|---|---| +| BA-DP-06 | Als Anwender muss ich aus einer bestehenden Auftragsbestätigung einen Lieferschein erzeugen können, um die Auslieferung der Ware zu dokumentieren. Die Anforderung gilt, wenn eine Auftragsbestätigung im Status „bestätigt" vorliegt. Die Anforderung gilt als erfüllt, wenn ein Lieferschein mit eigener Lieferscheinnummer, Verweis auf die Auftragsbestätigung und Lieferdatum gespeichert ist. | Muss | AT-DP-06: Aus AB-2026-0001 entsteht LS-2026-0001 mit Lieferdatum und Positionsübernahme. | +| F-DP-07 | Das System MUSS auf dem Lieferschein die Mengen und Bezeichnungen der zu liefernden Produkte, nicht aber Preise und Steuersätze anzeigen. | Muss | AT-DP-07: Generierter Lieferschein enthält Mengen + Bezeichnungen, aber keine Preisspalten. | + +#### 4.3.4 Rechnung + +| ID | Anforderung (Satzschablone) | Priorität | Akzeptanzkriterium / Test | +|---|---|---|---| +| BA-DP-08 | Als Anwender muss ich aus einem bestehenden Lieferschein eine Rechnung erzeugen können, um die erbrachte Leistung in Rechnung zu stellen. Die Anforderung gilt, wenn ein Lieferschein im Status „geliefert" vorliegt. Die Anforderung gilt als erfüllt, wenn eine Rechnung mit eindeutiger Rechnungsnummer, Rechnungsdatum, Verweis auf den Lieferschein und vollständigen Pflichtangaben nach § 14 UStG gespeichert ist. | Muss | AT-DP-08: Aus LS-2026-0001 entsteht R-2026-0001 mit allen Pflichtangaben und korrekt berechneter Netto-, USt.- und Bruttosumme. | +| F-DP-09 | Das System MUSS jede Rechnung mit den Pflichtangaben nach § 14 Abs. 4 UStG versehen (siehe Kap. 2.4). | Muss | AT-DP-09: Automatisierte Prüfung der Rechnung gegen die § 14-UStG-Pflichtfelder-Checkliste; alle Felder sind vorhanden. | +| F-DP-10 | Das System MUSS jede Rechnungsnummer fortlaufend und lückenlos vergeben. | Muss | AT-DP-10: Drei aufeinander folgende Rechnungen haben fortlaufende, lückenlose Nummern. | +| F-DP-11 | Das System MUSS eine erzeugte Rechnung gegen Änderungen schützen (keine Bearbeitung nach Festschreibung). | Muss | AT-DP-11: Nach Erzeugung ist die Rechnung nur noch lesbar; ein Bearbeitungsversuch wird abgewiesen. | +| F-DP-12 | Das System SOLL dem Anwender ERMÖGLICHEN, jedes Dokument (Angebot, Auftragsbestätigung, Lieferschein, Rechnung) als druckbares PDF zu exportieren. | Soll | AT-DP-12: Export erzeugt eine PDF-Datei, die in einem Standard-PDF-Viewer korrekt geöffnet werden kann. | +| F-DP-13 | Das System SOLL dem Anwender ERMÖGLICHEN, zu jedem Kunden alle zugehörigen Dokumente in einer Übersicht anzuzeigen. | Soll | AT-DP-13: Aufruf der Kundenübersicht zeigt alle Angebote, Auftragsbestätigungen, Lieferscheine und Rechnungen dieses Kunden. | + +### 4.4 Modul GUI / Programmoberfläche (Gruppe E) + +| ID | Anforderung (Satzschablone) | Priorität | Akzeptanzkriterium / Test | +|---|---|---|---| +| F-GUI-01 | Das System MUSS eine Hauptnavigation bereitstellen, über die der Anwender zu jedem Modul (Produktverwaltung, Kundenverwaltung, Dokumentenprozess) in maximal einem Klick gelangen kann. | Muss | AT-GUI-01: Von jedem Modul aus ist jedes andere Modul in 1 Klick erreichbar. | +| F-GUI-02 | Das System MUSS jede ungültige Eingabe in Eingabefeldern (Pflichtfeld leer, falsches Format, ungültiger Wertebereich) ablehnen und eine textliche Fehlermeldung am betroffenen Feld anzeigen. | Muss | AT-GUI-02: Pflichtfeld leer → Fehlermeldung sichtbar, Speichern wird blockiert. | +| F-GUI-03 | Das System MUSS in jedem Modul ein einheitliches Layout (gleiche Position der Hauptnavigation, gleiche Buttonbeschriftungen für „Speichern", „Abbrechen", „Löschen", „Neu") verwenden. | Muss | AT-GUI-03: Heuristische Prüfung über alle Screens: Positionen und Beschriftungen sind konsistent. | +| BA-GUI-04 | Als Anwender muss ich eine sichtbare Bestätigung erhalten, wenn ich einen Datensatz speichere oder lösche, um zu erkennen, dass die Aktion erfolgreich war. Die Anforderung gilt, wenn der Anwender eine Speichern- oder Löschen-Aktion auslöst. Die Anforderung gilt als erfüllt, wenn das System innerhalb von 1 Sekunde eine sichtbare Rückmeldung (z. B. Statusmeldung) anzeigt. | Muss | AT-GUI-04: Nach jeder Speichern-/Löschen-Aktion erscheint binnen 1 s eine Bestätigung; Lasttest mit 10 aufeinanderfolgenden Aktionen. | +| F-GUI-05 | Das System MUSS vor jeder Löschaktion eine Bestätigungsabfrage anzeigen. | Muss | AT-GUI-05: Klick auf „Löschen" öffnet einen Dialog „Wirklich löschen? (Ja/Nein)"; nur bei „Ja" wird gelöscht. | +| F-GUI-06 | Das System SOLL dem Anwender ERMÖGLICHEN, in jeder Tabellenansicht (Produkt-, Kunden-, Dokumentenliste) nach jeder Spalte aufsteigend und absteigend zu sortieren. | Soll | AT-GUI-06: Klick auf eine Spaltenüberschrift sortiert die Liste; erneuter Klick kehrt die Reihenfolge um. | + +--- + +## 5. Qualitätsanforderungen (nicht-funktionale Anforderungen) + +### 5.1 Usability (NF-USE) + +| ID | Anforderung | Priorität | Akzeptanzkriterium / Test | +|---|---|---|---| +| NF-USE-01 | Das Anlegen eines neuen Kunden MUSS von einem Anwender ohne vorherige Schulung in weniger als 2 Minuten abgeschlossen werden können, wobei höchstens 1 Fehlbedienung pro 10 Testnutzenden zulässig ist. | Muss | AT-NF-01: Usability-Test mit 5 Probanden; Erfolgsquote ≥ 90 %, Median-Zeit < 120 s. | +| NF-USE-02 | Mindestens 80 % der Testnutzenden MÜSSEN die Aufgabe „Aus einem Angebot eine Rechnung erzeugen" im ersten Versuch ohne Hilfetext erfolgreich abschließen. | Muss | AT-NF-02: Usability-Test mit 5 Probanden, mindestens 4/5 erfolgreich. | +| NF-USE-03 | Das System MUSS bei jeder validierungspflichtigen Eingabe innerhalb von 1 Sekunde eine sichtbare Rückmeldung (Erfolg oder Fehler) anzeigen. | Muss | AT-NF-03: Manueller Test: Eingabe abschicken, Stoppuhr; Rückmeldezeit ≤ 1 s. | + +### 5.2 Performance (NF-PERF) + +| ID | Anforderung | Priorität | Akzeptanzkriterium / Test | +|---|---|---|---| +| NF-PERF-01 | Das System MUSS jede Benutzeraktion innerhalb von 1 Sekunde mit einer sichtbaren Rückmeldung beantworten (bei einem Datenbestand von bis zu 1.000 Produkten und 1.000 Kunden). | Muss | AT-NF-04: Lasttest mit 1.000 Datensätzen je Entität; gemessene Antwortzeit ≤ 1 s. | +| NF-PERF-02 | Das System MUSS die Übersichtsliste von Produkten oder Kunden bei bis zu 1.000 Datensätzen innerhalb von 2 Sekunden vollständig anzeigen. | Muss | AT-NF-05: Lasttest mit 1.000 Einträgen; Anzeigedauer ≤ 2 s. | +| NF-PERF-03 | Das System MUSS den Anwendungsstart vom Aufruf bis zur bedienbaren Hauptansicht in höchstens 5 Sekunden abschließen (Referenzhardware: handelsüblicher Bürorechner, siehe Handlungspunkte). | Soll | AT-NF-06: Kaltstart auf Referenzhardware ≤ 5 s. | + +### 5.3 Wartbarkeit (NF-MAINT) + +| ID | Anforderung | Priorität | Akzeptanzkriterium / Test | +|---|---|---|---| +| NF-MAINT-01 | Der Quellcode MUSS modular nach den vier Modulen Produktverwaltung, Kundenverwaltung, Dokumentenprozess und GUI getrennt sein (eigene Pakete/Verzeichnisse). | Muss | AT-NF-07: Statische Prüfung der Repository-Struktur. | +| NF-MAINT-02 | Mindestens 80 % der öffentlichen Klassen und Methoden MÜSSEN über kurze Dokumentationskommentare (Zweck, Parameter, Rückgabe) verfügen. | Soll | AT-NF-08: Statische Analyse / Stichprobe von 20 öffentlichen Methoden; ≥ 16 dokumentiert. | +| NF-MAINT-03 | Das System MUSS einer dokumentierten, dreischichtigen Architektur (Präsentation – Logik – Datenhaltung) folgen. | Muss | AT-NF-09: Review des Architekturdokuments; nachweisbare Schichtentrennung. | + +### 5.4 Testbarkeit (NF-TEST) + +| ID | Anforderung | Priorität | Akzeptanzkriterium / Test | +|---|---|---|---| +| NF-TEST-01 | Jede Anforderung mit Priorität „Muss" MUSS mindestens einem Akzeptanztest in der Traceability-Matrix zugeordnet sein. | Muss | AT-NF-10: Vollständigkeitsprüfung der Traceability-Matrix vor Abnahme. | +| NF-TEST-02 | Die Geschäftslogik (Logikschicht) MUSS so gestaltet sein, dass sie ohne die GUI durch automatisierte Komponententests aufgerufen werden kann. | Muss | AT-NF-11: Mindestens ein lauffähiger Unit-Test pro Modul ohne GUI-Abhängigkeit. | +| NF-TEST-03 | Mindestens 30 % der Geschäftslogik-Methoden SOLLEN durch automatisierte Tests abgedeckt sein (Line Coverage). | Soll | AT-NF-12: Coverage-Report ≥ 30 %. | + +### 5.5 Versionierung (NF-VER) + +| ID | Anforderung | Priorität | Akzeptanzkriterium / Test | +|---|---|---|---| +| NF-VER-01 | Der gesamte Quellcode MUSS in Gitty unter den im Charter v1.1, Kap. 6.2, genannten Repositories versioniert werden. | Muss | AT-NF-13: Sichtprüfung der Repositories. | +| NF-VER-02 | Jeder Merge in den Hauptbranch MUSS durch mindestens ein Code-Review eines anderen Teammitglieds freigegeben werden. | Muss | AT-NF-14: Review-Historie in Gitty zeigt für jeden Merge mindestens einen Reviewer. | + +### 5.6 Architektur und Datenhaltung (NF-ARCH) + +| ID | Anforderung | Priorität | Akzeptanzkriterium / Test | +|---|---|---|---| +| NF-ARCH-01 | Das System MUSS alle Datensätze (Produkte, Kunden, Dokumente) persistent so speichern, dass sie nach einem Neustart der Anwendung vollständig wiederhergestellt werden. | Muss | AT-NF-15: Datensätze anlegen → Anwendung beenden → neu starten → Datensätze sind unverändert vorhanden. | +| NF-ARCH-02 | Die Datenhaltung MUSS hinter einer abstrakten Schnittstelle (Repository oder DAO) gekapselt sein, sodass die konkrete Speichertechnologie austauschbar ist. | Soll | AT-NF-16: Code-Review zeigt Repository-/DAO-Abstraktion; Technologiewechsel würde nur diese Schicht betreffen. | + +### 5.7 Sicherheit und Datenschutz (NF-SEC) + +| ID | Anforderung | Priorität | Akzeptanzkriterium / Test | +|---|---|---|---| +| NF-SEC-01 | Das System MUSS personenbezogene Kundendaten so speichern, dass sie ohne Zugriff auf das Anwendungs-Verzeichnis nicht im Klartext einsehbar sind (z. B. lokale Datei in geschütztem Anwendungspfad). | Soll | AT-NF-17: Inspektion der Datendatei aus einem fremden Nutzerkontext zeigt keinen lesbaren Klartext (oder die Datei ist nicht zugreifbar). | +| NF-SEC-02 | Das System MUSS dem Anwender ERMÖGLICHEN, einen Kunden auf dessen Verlangen gemäß DSGVO Art. 17 zu löschen, sofern keine gesetzlichen Aufbewahrungspflichten (z. B. 10 Jahre für Rechnungen) entgegenstehen. | Soll | AT-NF-18: Löschanforderung an einen Kunden ohne aktive Rechnungen → Kunde wird entfernt; Anonymisierung bei vorhandenen Rechnungen ist möglich. | + +--- + +## 6. Daten, Schnittstellen und Geschäftsregeln + +### 6.1 Datenobjekte + +Die folgenden Datenobjekte bilden den fachlichen Kern des Systems. Eine Darstellung als UML-Klassendiagramm wird im Pflichtenheft / Architekturdokument ergänzt. + +#### 6.1.1 Produkt +- **Identifikator:** Produkt-ID (eindeutig, fortlaufend) +- **Pflichtattribute:** Bezeichnung, Einzelpreis netto, Mehrwertsteuersatz +- **Optionale Attribute:** Beschreibung, Kategorie + +#### 6.1.2 Kunde +- **Identifikator:** Kunden-ID (eindeutig, fortlaufend) +- **Pflichtattribute:** Firmenname/Nachname, Straße, PLZ, Ort +- **Optionale Attribute:** Vorname, Telefon, E-Mail, USt-IdNr., abweichende Lieferadresse, Ansprechpartner + +#### 6.1.3 Angebot +- **Identifikator:** Angebotsnummer (z. B. `A--`) +- **Pflichtattribute:** Kundenreferenz, Datum, Positionen (Produkt, Menge, Einzelpreis), Gesamtsumme (netto/brutto), Status (offen / überführt / verworfen) + +#### 6.1.4 Auftragsbestätigung (Auftrag) +- **Identifikator:** Auftragsnummer (z. B. `AB--`) +- **Pflichtattribute:** Referenz auf Angebot, Kundenreferenz, Datum, Positionen, Gesamtsumme, Status (bestätigt / geliefert) + +#### 6.1.5 Lieferschein +- **Identifikator:** Lieferscheinnummer (z. B. `LS--`) +- **Pflichtattribute:** Referenz auf Auftragsbestätigung, Kundenreferenz, Lieferdatum, Positionen (Produkt, Menge), Status (offen / geliefert / fakturiert) + +#### 6.1.6 Rechnung +- **Identifikator:** Rechnungsnummer (eindeutig, fortlaufend, lückenlos – z. B. `R--`) +- **Pflichtattribute:** Referenz auf genau einen Lieferschein, Kundenreferenz, Rechnungsdatum, Positionen, Netto-, USt.- und Bruttosumme, Pflichtangaben nach § 14 UStG, Status (offen / bezahlt – falls genutzt) + +### 6.2 Beziehungen zwischen Datenobjekten + +| Beziehung | Multiplizität | +|---|---| +| Kunde → Angebot | 1 : n | +| Angebot → Auftragsbestätigung | 1 : 0..1 | +| Auftragsbestätigung → Lieferschein | 1 : 0..1 | +| Lieferschein → Rechnung | 1 : 0..1 | +| Produkt → Angebotsposition / Auftragsposition / Lieferscheinposition / Rechnungsposition | 1 : n | + +### 6.3 Geschäftsregeln + +| ID | Geschäftsregel | Akzeptanzkriterium / Test | +|---|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---| +| GR-01 | **Dokumentenkette:** Eine Rechnung verweist auf **genau einen** Lieferschein; ein Lieferschein auf **genau eine** Auftragsbestätigung; eine Auftragsbestätigung auf **genau ein** Angebot. Wenn ein Folgedokument erzeugt werden soll, dann muss das jeweilige Vorgängerdokument im passenden Status vorliegen. | AT-GR-01: Versuch, eine Rechnung ohne zugehörigen Lieferschein anzulegen, wird abgewiesen. | +| GR-02 | **Eindeutigkeit der Rechnungsnummer:** Wenn eine neue Rechnung erstellt wird, dann vergibt das System die nächste freie, fortlaufende Rechnungsnummer aus der laufenden Sequenz; Nummern dürfen nicht wiederverwendet werden. | AT-GR-02: Drei aufeinander folgende Rechnungen haben fortlaufende, eindeutige Nummern. | +| GR-03 | **Unveränderlichkeit festgeschriebener Rechnungen:** Wenn eine Rechnung erzeugt und gespeichert wurde, dann ist sie nicht mehr inhaltlich änderbar. | AT-GR-03: Bearbeitungsversuch auf gespeicherte Rechnung wird abgewiesen. | +| GR-04 | **Preisübernahme:** Wenn eine Produktposition in ein Angebot übernommen wird, dann wird der zu diesem Zeitpunkt gültige Einzelpreis des Produkts in der Position festgehalten und nicht durch spätere Produktpreisänderungen verändert. | AT-GR-04: Preisänderung am Produkt verändert nicht den Preis bestehender Angebote/Aufträge. | +| GR-05 | **Stammdatenschutz:** Ein Produkt oder Kunde darf nicht gelöscht werden, solange er/es in einem Angebot, einer Auftragsbestätigung, einem Lieferschein oder einer Rechnung referenziert wird. | AT-GR-05: Löschversuch eines referenzierten Stammdatensatzes wird abgewiesen. | +| GR-06 | **Summenberechnung:** Wenn ein Dokument mit Positionen gespeichert wird, dann gilt: Nettosumme = Sum (Menge × Einzelpreis); USt.-Betrag pro Position = Nettosumme × MwSt.-Satz; Bruttosumme = Nettosumme + USt.-Betrag. | AT-GR-06: Manuelle Nachrechnung an drei Beispielen stimmt mit Systemausgabe überein. | + +### 6.4 Schnittstellen + +| ID | Schnittstelle | Beschreibung | +|---|---|---| +| IF-01 | Benutzerschnittstelle (GUI) | Interaktive Oberfläche, siehe Kap. 4.4 | +| IF-02 | Datei-Schnittstelle Persistenz | Lokale Speicherung der Stammdaten und Dokumente (siehe NF-ARCH-01) | +| IF-03 | Druck-/Export-Schnittstelle | Erzeugung druckbarer Dokumente, vorzugsweise PDF (siehe F-DP-12) | + +--- + +## 7. Akzeptanzkriterien und Abnahmebedingungen + +### 7.1 Übernahme aus Project Charter v1.1 + +Aus Charter v1.1, Kap. 13, werden die folgenden Abnahmekriterien übernommen und im Folgenden verfeinert: + +- alle Pflichtmodule implementiert +- vollständiger Dokumentenprozess vorhanden +- GUI funktionsfähig +- Tests erfolgreich +- Präsentation bestanden + +### 7.2 Verfeinerte Akzeptanzkriterien + +Das System gilt als **abgenommen**, wenn alle folgenden Kriterien erfüllt sind: + +| ID | Akzeptanzkriterium | Bezug | +|---|---|---| +| AK-01 | Alle Muss-Anforderungen aus Kap. 4 und 5 sind implementiert und durch zugeordnete Akzeptanztests nachgewiesen. | F-*, BA-*, NF-* (Priorität Muss) | +| AK-02 | Die vier Pflichtmodule Produktverwaltung, Kundenverwaltung, Dokumentenprozess und GUI sind jeweils in ihrem Repository (Gruppen G, H, F, E) lauffähig und in das Gesamtsystem integriert. | Charter v1.1, Kap. 6.2 | +| AK-03 | Der vollständige Dokumentenprozess Angebot → Auftragsbestätigung → Lieferschein → Rechnung kann anhand eines Beispielkunden und -produkts durchgängig demonstriert werden. | Kap. 4.3 | +| AK-04 | Die Traceability-Matrix (Anhang) ordnet jeder Muss-Anforderung mindestens einen Akzeptanztest zu. | NF-TEST-01 | +| AK-05 | Die Lasttests gemäß NF-PERF-01 und NF-PERF-02 sind mit dem geforderten Datenbestand erfolgreich durchgeführt. | Kap. 5.2 | +| AK-06 | Das Lastenheft und das Pflichtenheft / Architekturdokument liegen in der jeweils final freigegebenen Version vor. | Charter v1.1, Kap. 8 (M1, M2) | +| AK-07 | Die Abnahmepräsentation gegenüber dem Auftraggeber (Prof. Dr. Marmitt) ist erfolgreich durchgeführt. | Charter v1.1, M7 | + +### 7.3 Definition of Done (modulbezogen) + +Übernommen aus Charter v1.1, Kap. 12. Ein einzelnes Feature/Modul gilt als abgeschlossen, wenn: + +- implementiert und funktionsfähig, +- getestet (mindestens ein Akzeptanztest pro Muss-Anforderung), +- Code-Review durchgeführt, +- dokumentiert, +- in das Gesamtsystem integriert. + +--- + +## 8. Anhänge + +### 8.1 Glossar + +| Begriff | Bedeutung | +|---|---| +| **Angebot** | Unverbindliches Preisangebot an einen Kunden | +| **Auftragsbestätigung** | Verbindliche Bestätigung der Auftragsannahme nach Angebot | +| **Lieferschein** | Dokument, das die Auslieferung der Ware bescheinigt | +| **Rechnung** | Forderung nach § 14 UStG mit Steuerangaben | +| **Stammdaten** | Produkt- und Kundendaten (Grunddaten) | +| **Bewegungsdaten** | Dokumente (Angebot, Auftrag, Lieferschein, Rechnung) | +| **Lastenheft (CRS)** | Customer Requirements Specification – beschreibt aus Auftraggebersicht, **was** das System leisten soll | +| **Pflichtenheft** | Antwortdokument des Auftragnehmers – beschreibt, **wie** das System realisiert wird | +| **V-Modell** | Vorgehensmodell mit symmetrischer Zuordnung von Entwicklungs- und Testphasen | +| **Traceability** | Rückverfolgbarkeit von Anforderung zu Test | +| **Akzeptanztest** | Test, der die Erfüllung einer Anforderung aus Sicht des Auftraggebers prüft | +| **Anwender** | Einzige Benutzerrolle des Systems: bedient das Fakturierungssystem im Geschäftsalltag (Stammdaten pflegen, Dokumente erzeugen) | + +### 8.2 Abkürzungsverzeichnis + +| Abkürzung | Bedeutung | +|---|---| +| AB | Auftragsbestätigung | +| AK | Akzeptanzkriterium | +| AT | Akzeptanztest | +| BA | Benutzeranforderung | +| CRS | Customer Requirements Specification (Lastenheft) | +| DoD | Definition of Done | +| DSGVO | Datenschutz-Grundverordnung | +| F | Funktionale Anforderung | +| GR | Geschäftsregel | +| GUI | Graphical User Interface | +| IF | Interface (Schnittstelle) | +| KV | Kundenverwaltung | +| LS | Lieferschein | +| MwSt. | Mehrwertsteuer | +| NF | Nicht-funktional | +| NF-ARCH | Nicht-funktional, Kategorie Architektur | +| NF-MAINT | Nicht-funktional, Kategorie Wartbarkeit (Maintainability) | +| NF-PERF | Nicht-funktional, Kategorie Performance | +| NF-SEC | Nicht-funktional, Kategorie Security | +| NF-TEST | Nicht-funktional, Kategorie Testbarkeit | +| NF-USE | Nicht-funktional, Kategorie Usability | +| NF-VER | Nicht-funktional, Kategorie Versionierung | +| PV | Produktverwaltung | +| R | Rechnung | +| TH | Technische Hochschule | +| UStG | Umsatzsteuergesetz | +| USt-IdNr. | Umsatzsteuer-Identifikationsnummer | + +### 8.3 Referenzen + +- **[1]** `ProjectCharter_v1.1.md` – Project Charter Fakturierungssystem, Version 1.1, 05.05.2026 +- **[2]** `projectcharter.pdf` – Project Charter Fakturierungssystem, Version 1.0 (Erstfassung) +- **[3]** `week6slides.pdf` – Vorlesung Software Engineering 1, Woche 6: Lastenheft und testbare Benutzeranforderungen, Prof. Dr. Gerd Marmitt +- **[4]** `week7slides.pdf` – Vorlesung Software Engineering 1, Woche 7: Pflichtenheft, Anforderungen und Traceability, Prof. Dr. Gerd Marmitt +- **[5]** `Technologiestack.md` – separates Dokument zum verwendeten Technologie-Stack (nur am Rand relevant, da Lastenheft lösungsneutral) +- **[6]** § 14 UStG – Umsatzsteuergesetz, Pflichtangaben in Rechnungen +- **[7]** DSGVO – Verordnung (EU) 2016/679 + +### 8.4 Traceability-Matrix (Übersicht) + +Verkürzte Darstellung gemäß Folie „Traceability-Matrix" (Woche 6, S. 34). Eine vollständige Matrix wird im Pflichtenheft / Testkonzept geführt. + +| Anforderung | Typ | Zugeordneter Akzeptanztest | +|---|---|---| +| F-PV-01 … F-PV-08 | funktional | AT-PV-01 … AT-PV-08 | +| F-KV-01 … F-KV-08 | funktional | AT-KV-01 … AT-KV-08 | +| BA-DP-01 … F-DP-13 | funktional | AT-DP-01 … AT-DP-13 | +| F-GUI-01 … F-GUI-06 | funktional | AT-GUI-01 … AT-GUI-06 | +| NF-USE-01 … NF-USE-03 | nicht-funktional (Usability) | AT-NF-01 … AT-NF-03 | +| NF-PERF-01 … NF-PERF-03 | nicht-funktional (Performance) | AT-NF-04 … AT-NF-06 | +| NF-MAINT-01 … NF-MAINT-03 | nicht-funktional (Wartbarkeit) | AT-NF-07 … AT-NF-09 | +| NF-TEST-01 … NF-TEST-03 | nicht-funktional (Testbarkeit) | AT-NF-10 … AT-NF-12 | +| NF-VER-01, NF-VER-02 | nicht-funktional (Versionierung) | AT-NF-13, AT-NF-14 | +| NF-ARCH-01, NF-ARCH-02 | nicht-funktional (Architektur) | AT-NF-15, AT-NF-16 | +| NF-SEC-01, NF-SEC-02 | nicht-funktional (Sicherheit) | AT-NF-17, AT-NF-18 | +| GR-01 … GR-06 | Geschäftsregel | AT-GR-01 … AT-GR-06 | + +--- + +*Ende des Dokuments – Lastenheft v1.0.* diff --git a/project-charter.md b/Project-Charter/project-charter_v1.0.md similarity index 96% rename from project-charter.md rename to Project-Charter/project-charter_v1.0.md index 341101e..3164511 100644 --- a/project-charter.md +++ b/Project-Charter/project-charter_v1.0.md @@ -1,238 +1,238 @@ ---- -title: Project Charter – Fakturierungssystem -author: Oleg Akimenko -version: 1.0 -lang: de-DE -toc: true ---- - -# Freigabeübersicht - -| Ersteller | Prüfer | Freigebender | -|---|---|---| -| Oleg Akimenko | Prof. Dr. Gerd Marmitt | [Wird im Team abgestimmt] | -| SE1 Team 2 | Hochschule Mannheim | SE1 Team 2 | -| 15.04.2026 | 15.04.2026 | 30.06.2026 | - ---- - -# Dokumentenhistorie - -| Version | Datum | Autor | Änderung | -|---|---|---|---| -| 1.0 | 15.04.2026 | Oleg Akimenko | Initiale Erstellung | - ---- - -# Projektübersicht - -## Projektzweck - -Das Ziel des Projekts ist die konzeptionelle und praktische Entwicklung eines modularen Fakturierungssystems im Rahmen des Moduls Software Engineering 1. - -Das System bildet einen vollständigen Geschäftsprozess von der Angebotserstellung über die Auftragsbestätigung und den Lieferschein bis hin zur Rechnungserstellung ab. - -Dabei steht nicht nur die Implementierung im Vordergrund, sondern insbesondere die Anwendung strukturierter Softwareentwicklungsprozesse und die Umsetzung eines klassischen Vorgehensmodells. - ---- - -## Projekthintergrund - -Die Entwicklung moderner Softwaresysteme erfordert strukturierte Vorgehensmodelle, klare Anforderungen und eine saubere Trennung von Entwicklungs- und Testphasen. - -Im Rahmen des Moduls Software Engineering 1 wird ein praxisnahes Projekt durchgeführt, das die Anwendung klassischer Entwicklungsprozesse im Team ermöglicht. - -Das Fakturierungssystem dient als realistisches Szenario, um zentrale Konzepte der Softwareentwicklung wie Anforderungsanalyse, Architekturdesign, Implementierung, Integration und Test praktisch umzusetzen. - -Das Projekt orientiert sich am V-Modell als strukturiertem Vorgehensmodell. - ---- - -# Projektziele - -| Nr. | Ziel | Erfolgskriterium | -|---|---|---| -| Z1 | Produktverwaltung | Produkte können erstellt, bearbeitet und gelöscht werden | -| Z2 | Kundenverwaltung | Kundendaten sind vollständig verwaltbar | -| Z3 | Dokumentenworkflow | Angebot → Auftragsbestätigung → Lieferschein → Rechnung | -| Z4 | GUI | Benutzerfreundliche und funktionale Oberfläche | - -## Nicht-Ziele - -- Mobile Anwendung -- Cloud-System -- Mehrbenutzer-Online-System -- Buchhaltungssystem -- E-Rechnung - ---- - -# Business Case - -- Zielgruppe: kleine Unternehmen und Lernprojekt -- Nutzen: Automatisierung von Fakturierungsprozessen -- Problem: manuelle Rechnungsprozesse sind fehleranfällig und ineffizient - ---- - -# Stakeholder - -| Rolle | Beschreibung | -|---|---| -| Auftraggeber | Prof. Dr. Gerd Marmitt | -| Entwicklungsteam | SE1 Team 2 | -| Endnutzer | spätere Anwender des Systems | - ---- - -# Teamstruktur und Repositories - -| Gruppe | Repository | Mitglieder | Verantwortungsbereich | -|---|---|---|---| -| Gruppe E | SE1_Gruppe_E | Hadil Jondi [3030438], Nicolas Seelinger [3027710]| Programmoberfläche | -| Gruppe F | SE1_Gruppe_F | Andreas Ivanovic [3028874], Armin Omanovic [3028711], Alexander Teller [3028801]| Dokumentenprozess | -| Gruppe G | SE1_Gruppe_G | Rahaf Alhosny [3026969], Fatemeh Mohammadi [3029148], Lulia Silk [3030489]| Produktverwaltung | -| Gruppe H | SE1_Gruppe_H | Oleg Akimenko [3028868], Christopher Lampert [3027248], Kenan Pekarovic [3027541]| Kundenverwaltung | - ---- - -# Funktionale Anforderungen - -- Verwaltung von Produkten -- Verwaltung von Kunden -- Benutzeroberfläche -- Angebotserstellung -- Auftragsbestätigung -- Lieferschein -- Rechnungserstellung - -## Nicht-funktionale Anforderungen - -- Gute Usability -- Wartbarer Code -- Versionierung über Git -- Saubere Architektur -- Testbarkeit der Module - ---- - -# Vorgehensmodell - -Das Projekt orientiert sich am V-Modell. - -- Anforderungen -- System- und Softwaredesign -- Implementierung -- Integration und Test -- Abnahme - ---- - -# Zeitplan / Meilensteine (V-Modell-orientiert) - -Das Projekt orientiert sich am V-Modell mit Fokus auf Verifikation und Validierung. -Jeder Entwicklungsphase ist eine entsprechende Testphase zugeordnet. - -| Nr. | Phase | Inhalt | Datum | -|---|---|---|---| -| M1 | Anforderungen | Erhebung und Dokumentation der System- und Softwareanforderungen | 15.04.2026 | -| M2 | Architektur | Systemarchitektur und Schnittstellendesign | [Datum] | -| M3 | Detailentwurf | Moduldesign (Produkt-, Kundenverwaltung, UI, Prozess) | [Datum] | -| M4 | Implementierung | Umsetzung aller Module im Code | [Datum] | -| M5 | Integrationstest | Zusammenführung und Schnittstellentests | [Datum] | -| M6 | Systemtest | Prüfung gegen Anforderungen | [Datum] | -| M7 | Abnahme | Präsentation und finale Abgabe | 30.06.2026 | - ---- - -# Technologie-Stack - -| Bereich | Technologie | -|---|---| -| Frontend | JavaFX | -| Backend | Java | -| Datenbank | SQLite | -| Version Control | Gitty | -| Tools | IntelliJ, VS Code, Discord | - ---- - -# Risikomanagement - -| Risiko | Wahrscheinlichkeit / Impact | Gegenmaßnahme | -|---|---|---| -| Ausfall von Teammitgliedern | Mittel / Hoch | Wissensaustausch | -| Merge-Konflikte | Mittel / Mittel | Code Reviews | -| Integrationsprobleme | Mittel / Mittel | frühe Tests | -| Zeitverzug | Hoch / Mittel | MVP-Fokus | - ---- - -# Ressourcen und Rahmenbedingungen - -- Teamgröße: 11 Personen -- Zeit pro Person: 2–3 Stunden pro Woche -- Projektlaufzeit: 15.04.2026 – 30.06.2026 -- Budget: kein Budget -- Infrastruktur: Gitty, Discord, lokale Entwicklung - -Rahmenbedingungen: -- Umsetzung aller Pflichtmodule -- saubere Repository-Struktur -- Teamübergreifende Integration -- dokumentierter Entwicklungsprozess - ---- - -# Kommunikationswege - -| Kanal | Zweck | Frequenz | -|---|---|---| -| Discord/Whatsapp - - -| Kommunikation | täglich | -| Gitty | Codeverwaltung | kontinuierlich | -| Meetings | Planung | wöchentlich | -| E-Mail | Betreuerkontakt | bei Bedarf | - ---- - -# Definition of Done - -Ein Feature gilt als abgeschlossen, wenn: - -- Implementiert und funktionsfähig -- getestet -- Code Review durchgeführt -- dokumentiert -- integriert - ---- - -# Abnahmekriterien - -- alle Pflichtmodule implementiert -- vollständiger Dokumentenprozess vorhanden -- GUI funktionsfähig -- Tests erfolgreich -- Präsentation bestanden - ---- - -# Genehmigung - -| Rolle | Unterschrift | Datum | -|---|---|---| -| Betreuer | ______________________________ | __________ | -| Teammitglied: | ______________________________ | __________ | -| Teammitglied: | ______________________________ | __________ | -| Teammitglied: | ______________________________ | __________ | -| Teammitglied: | ______________________________ | __________ | -| Teammitglied: | ______________________________ | __________ | -| Teammitglied: | ______________________________ | __________ | -| Teammitglied: | ______________________________ | __________ | -| Teammitglied: | ______________________________ | __________ | -| Teammitglied: | ______________________________ | __________ | -| Teammitglied: | ______________________________ | __________ | -| Teammitglied: | ______________________________ | __________ | +--- +title: Project Charter – Fakturierungssystem +author: Oleg Akimenko +version: 1.0 +lang: de-DE +toc: true +--- + +# Freigabeübersicht + +| Ersteller | Prüfer | Freigebender | +|---|---|---| +| Oleg Akimenko | Prof. Dr. Gerd Marmitt | [Wird im Team abgestimmt] | +| SE1 Team 2 | Hochschule Mannheim | SE1 Team 2 | +| 15.04.2026 | 15.04.2026 | 30.06.2026 | + +--- + +# Dokumentenhistorie + +| Version | Datum | Autor | Änderung | +|---|---|---|---| +| 1.0 | 15.04.2026 | Oleg Akimenko | Initiale Erstellung | + +--- + +# Projektübersicht + +## Projektzweck + +Das Ziel des Projekts ist die konzeptionelle und praktische Entwicklung eines modularen Fakturierungssystems im Rahmen des Moduls Software Engineering 1. + +Das System bildet einen vollständigen Geschäftsprozess von der Angebotserstellung über die Auftragsbestätigung und den Lieferschein bis hin zur Rechnungserstellung ab. + +Dabei steht nicht nur die Implementierung im Vordergrund, sondern insbesondere die Anwendung strukturierter Softwareentwicklungsprozesse und die Umsetzung eines klassischen Vorgehensmodells. + +--- + +## Projekthintergrund + +Die Entwicklung moderner Softwaresysteme erfordert strukturierte Vorgehensmodelle, klare Anforderungen und eine saubere Trennung von Entwicklungs- und Testphasen. + +Im Rahmen des Moduls Software Engineering 1 wird ein praxisnahes Projekt durchgeführt, das die Anwendung klassischer Entwicklungsprozesse im Team ermöglicht. + +Das Fakturierungssystem dient als realistisches Szenario, um zentrale Konzepte der Softwareentwicklung wie Anforderungsanalyse, Architekturdesign, Implementierung, Integration und Test praktisch umzusetzen. + +Das Projekt orientiert sich am V-Modell als strukturiertem Vorgehensmodell. + +--- + +# Projektziele + +| Nr. | Ziel | Erfolgskriterium | +|---|---|---| +| Z1 | Produktverwaltung | Produkte können erstellt, bearbeitet und gelöscht werden | +| Z2 | Kundenverwaltung | Kundendaten sind vollständig verwaltbar | +| Z3 | Dokumentenworkflow | Angebot → Auftragsbestätigung → Lieferschein → Rechnung | +| Z4 | GUI | Benutzerfreundliche und funktionale Oberfläche | + +## Nicht-Ziele + +- Mobile Anwendung +- Cloud-System +- Mehrbenutzer-Online-System +- Buchhaltungssystem +- E-Rechnung + +--- + +# Business Case + +- Zielgruppe: kleine Unternehmen und Lernprojekt +- Nutzen: Automatisierung von Fakturierungsprozessen +- Problem: manuelle Rechnungsprozesse sind fehleranfällig und ineffizient + +--- + +# Stakeholder + +| Rolle | Beschreibung | +|---|---| +| Auftraggeber | Prof. Dr. Gerd Marmitt | +| Entwicklungsteam | SE1 Team 2 | +| Endnutzer | spätere Anwender des Systems | + +--- + +# Teamstruktur und Repositories + +| Gruppe | Repository | Mitglieder | Verantwortungsbereich | +|---|---|---|---| +| Gruppe E | SE1_Gruppe_E | Hadil Jondi [3030438], Nicolas Seelinger [3027710]| Programmoberfläche | +| Gruppe F | SE1_Gruppe_F | Andreas Ivanovic [3028874], Armin Omanovic [3028711], Alexander Teller [3028801]| Dokumentenprozess | +| Gruppe G | SE1_Gruppe_G | Rahaf Alhosny [3026969], Fatemeh Mohammadi [3029148], Lulia Silk [3030489]| Produktverwaltung | +| Gruppe H | SE1_Gruppe_H | Oleg Akimenko [3028868], Christopher Lampert [3027248], Kenan Pekarovic [3027541]| Kundenverwaltung | + +--- + +# Funktionale Anforderungen + +- Verwaltung von Produkten +- Verwaltung von Kunden +- Benutzeroberfläche +- Angebotserstellung +- Auftragsbestätigung +- Lieferschein +- Rechnungserstellung + +## Nicht-funktionale Anforderungen + +- Gute Usability +- Wartbarer Code +- Versionierung über Git +- Saubere Architektur +- Testbarkeit der Module + +--- + +# Vorgehensmodell + +Das Projekt orientiert sich am V-Modell. + +- Anforderungen +- System- und Softwaredesign +- Implementierung +- Integration und Test +- Abnahme + +--- + +# Zeitplan / Meilensteine (V-Modell-orientiert) + +Das Projekt orientiert sich am V-Modell mit Fokus auf Verifikation und Validierung. +Jeder Entwicklungsphase ist eine entsprechende Testphase zugeordnet. + +| Nr. | Phase | Inhalt | Datum | +|---|---|---|---| +| M1 | Anforderungen | Erhebung und Dokumentation der System- und Softwareanforderungen | 15.04.2026 | +| M2 | Architektur | Systemarchitektur und Schnittstellendesign | [Datum] | +| M3 | Detailentwurf | Moduldesign (Produkt-, Kundenverwaltung, UI, Prozess) | [Datum] | +| M4 | Implementierung | Umsetzung aller Module im Code | [Datum] | +| M5 | Integrationstest | Zusammenführung und Schnittstellentests | [Datum] | +| M6 | Systemtest | Prüfung gegen Anforderungen | [Datum] | +| M7 | Abnahme | Präsentation und finale Abgabe | 30.06.2026 | + +--- + +# Technologie-Stack + +| Bereich | Technologie | +|---|---| +| Frontend | JavaFX | +| Backend | Java | +| Datenbank | SQLite | +| Version Control | Gitty | +| Tools | IntelliJ, VS Code, Discord | + +--- + +# Risikomanagement + +| Risiko | Wahrscheinlichkeit / Impact | Gegenmaßnahme | +|---|---|---| +| Ausfall von Teammitgliedern | Mittel / Hoch | Wissensaustausch | +| Merge-Konflikte | Mittel / Mittel | Code Reviews | +| Integrationsprobleme | Mittel / Mittel | frühe Tests | +| Zeitverzug | Hoch / Mittel | MVP-Fokus | + +--- + +# Ressourcen und Rahmenbedingungen + +- Teamgröße: 11 Personen +- Zeit pro Person: 2–3 Stunden pro Woche +- Projektlaufzeit: 15.04.2026 – 30.06.2026 +- Budget: kein Budget +- Infrastruktur: Gitty, Discord, lokale Entwicklung + +Rahmenbedingungen: +- Umsetzung aller Pflichtmodule +- saubere Repository-Struktur +- Teamübergreifende Integration +- dokumentierter Entwicklungsprozess + +--- + +# Kommunikationswege + +| Kanal | Zweck | Frequenz | +|---|---|---| +| Discord/Whatsapp + + +| Kommunikation | täglich | +| Gitty | Codeverwaltung | kontinuierlich | +| Meetings | Planung | wöchentlich | +| E-Mail | Betreuerkontakt | bei Bedarf | + +--- + +# Definition of Done + +Ein Feature gilt als abgeschlossen, wenn: + +- Implementiert und funktionsfähig +- getestet +- Code Review durchgeführt +- dokumentiert +- integriert + +--- + +# Abnahmekriterien + +- alle Pflichtmodule implementiert +- vollständiger Dokumentenprozess vorhanden +- GUI funktionsfähig +- Tests erfolgreich +- Präsentation bestanden + +--- + +# Genehmigung + +| Rolle | Unterschrift | Datum | +|---|---|---| +| Betreuer | ______________________________ | __________ | +| Teammitglied: | ______________________________ | __________ | +| Teammitglied: | ______________________________ | __________ | +| Teammitglied: | ______________________________ | __________ | +| Teammitglied: | ______________________________ | __________ | +| Teammitglied: | ______________________________ | __________ | +| Teammitglied: | ______________________________ | __________ | +| Teammitglied: | ______________________________ | __________ | +| Teammitglied: | ______________________________ | __________ | +| Teammitglied: | ______________________________ | __________ | +| Teammitglied: | ______________________________ | __________ | +| Teammitglied: | ______________________________ | __________ | diff --git a/Project-Charter/project-charter_v1.0.pdf b/Project-Charter/project-charter_v1.0.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b391a338d8bc9a53d2849e308b71199236056361 GIT binary patch literal 159059 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%0D9){F+e$XHWSfLm*^ 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 Yj!v$QsHq9!6F`MAa2Oe-6`(l(2hUo_YybcN literal 0 HcmV?d00001 diff --git a/Project-Charter/project-charter_v1.1.md b/Project-Charter/project-charter_v1.1.md new file mode 100644 index 0000000..9ee4116 --- /dev/null +++ b/Project-Charter/project-charter_v1.1.md @@ -0,0 +1,198 @@ +# Project Charter – Fakturierungssystem + +**Modul:** Software Engineering 1 +**Team:** SE1 Team 2 – Hochschule Mannheim +**Version:** 1.1 +**Stand:** 05.05.2026 + +--- + +## 1. Freigabeübersicht + +| Ersteller | Prüfer | Freigebender | +|---|---|---| +| Oleg Akimenko | Prof. Dr. Gerd Marmitt | SE1 Team 2 (Gruppenleiter) | +| SE1 Team 2 | Hochschule Mannheim | SE1 Team 2 | +| 15.04.2026 | 15.04.2026 | 30.06.2026 | + +--- + +## 2. Dokumentenhistorie + +| Version | Datum | Autor | Änderung | +|---|---|---|---| +| 1.0 | 15.04.2026 | Oleg Akimenko | Initiale Erstellung | +| 1.1 | 05.05.2026 | Christopher Lampert | Überarbeitung nach Review (Kapitelnummerierung, Anforderungen ins Lastenheft verschoben, Zeitplan konkretisiert, Technologie-Stack in separates Dokument ausgelagert, Gruppenleiter dokumentiert) | + +--- + +## 3. Projektübersicht + +### 3.1 Projektzweck + +Das Ziel des Projekts ist die konzeptionelle und praktische Entwicklung eines modularen Fakturierungssystems im Rahmen des Moduls Software Engineering 1. + +Das System bildet einen vollständigen Geschäftsprozess von der Angebotserstellung über die Auftragsbestätigung und den Lieferschein bis hin zur Rechnungserstellung ab. Dabei steht nicht nur die Implementierung im Vordergrund, sondern insbesondere die Anwendung strukturierter Softwareentwicklungsprozesse und die Umsetzung eines klassischen Vorgehensmodells. + +### 3.2 Projekthintergrund + +Die Entwicklung moderner Softwaresysteme erfordert strukturierte Vorgehensmodelle, klare Anforderungen und eine saubere Trennung von Entwicklungs- und Testphasen. + +Im Rahmen des Moduls Software Engineering 1 wird ein praxisnahes Projekt durchgeführt, das die Anwendung klassischer Entwicklungsprozesse im Team ermöglicht. Das Fakturierungssystem dient als realistisches Szenario, um zentrale Konzepte der Softwareentwicklung wie Anforderungsanalyse, Architekturdesign, Implementierung, Integration und Test praktisch umzusetzen. + +Das Projekt orientiert sich am V-Modell als strukturiertem Vorgehensmodell. + +--- + +## 4. Projektziele + +| Nr. | Ziel | Erfolgskriterium | +|---|---|---| +| Z1 | Produktverwaltung | Produkte können erstellt, bearbeitet und gelöscht werden | +| Z2 | Kundenverwaltung | Kundendaten sind vollständig verwaltbar | +| Z3 | Dokumentenworkflow | Angebot → Auftragsbestätigung → Lieferschein → Rechnung | +| Z4 | GUI | Benutzerfreundliche und funktionale Oberfläche | + +### 4.1 Nicht-Ziele + +- Mobile Anwendung +- Cloud-System +- Mehrbenutzer-Online-System +- Buchhaltungssystem +- E-Rechnung + +--- + +## 5. Business Case + +- **Zielgruppe:** kleine Unternehmen und Lernprojekt +- **Nutzen:** Automatisierung von Fakturierungsprozessen +- **Problem:** manuelle Rechnungsprozesse sind fehleranfällig und ineffizient + +--- + +## 6. Stakeholder und Teamstruktur + +### 6.1 Stakeholder + +| Rolle | Beschreibung | +|---|---| +| Auftraggeber | Prof. Dr. Gerd Marmitt | +| Entwicklungsteam | SE1 Team 2 | +| Endnutzer | spätere Anwender des Systems | + +### 6.2 Teamstruktur, Repositories und Gruppenleiter + +Pro Untergruppe ist ein **Gruppenleiter** benannt, der die Untergruppe gegenüber dem Gesamtteam und dem Auftraggeber vertritt und das Projekt-Charter unterzeichnet. + +| Gruppe | Repository | Mitglieder | Gruppenleiter | Verantwortungsbereich | +|---|---|---|---|---| +| Gruppe E | SE1_Gruppe_E | Hadil Jondi [3030438], Nicolas Seelinger [3027710] | *[zu bestimmen]* | Programmoberfläche | +| Gruppe F | SE1_Gruppe_F | Andreas Ivanovic [3028874], Armin Omanovic [3028711], Alexander Teller [3028801] | *[zu bestimmen]* | Dokumentenprozess | +| Gruppe G | SE1_Gruppe_G | Rahaf Alhosny [3026969], Fatemeh Mohammadi [3029148], Lulia Silk [3030489] | *[zu bestimmen]* | Produktverwaltung | +| Gruppe H | SE1_Gruppe_H | Oleg Akimenko [3028868], Christopher Lampert [3027248], Kenan Pekarovic [3027541] | *[zu bestimmen]* | Kundenverwaltung | + +--- + +## 7. Vorgehensmodell + +Das Projekt orientiert sich am **V-Modell**. + +- Anforderungen +- System- und Softwaredesign +- Implementierung +- Integration und Test +- Abnahme + +--- + +## 8. Zeitplan / Meilensteine (V-Modell-orientiert) + +Das Projekt orientiert sich am V-Modell mit Fokus auf Verifikation und Validierung. Jeder Entwicklungsphase ist eine entsprechende Testphase zugeordnet. Das Project Charter ist ein lebendes Dokument – bei Anpassungen wird eine neue Version erstellt. + +| Nr. | Phase | Inhalt | Datum | +|---|---|---|---| +| M1 | Anforderungen | Erhebung und Dokumentation der System- und Softwareanforderungen (Lastenheft) | 15.04.2026 – 15.05.2026 | +| M2 | Architektur | Systemarchitektur und Schnittstellendesign | 22.05.2026 | +| M3 | Detailentwurf | Moduldesign (Produkt-, Kundenverwaltung, UI, Prozess) | 29.05.2026 | +| M4 | Implementierung | Umsetzung aller Module im Code | 12.06.2026 | +| M5 | Integrationstest | Zusammenführung und Schnittstellentests | 19.06.2026 | +| M6 | Systemtest | Prüfung gegen Anforderungen | 26.06.2026 | +| M7 | Abnahme | Präsentation und finale Abgabe | 30.06.2026 | + +> **Hinweis:** Der Technologie-Stack ist in einem separaten Dokument (`Technologiestack.md`) dokumentiert und wird perspektivisch im Architekturdokument (vgl. SE2) fortgeschrieben. + +--- + +## 9. Risikomanagement + +| Risiko | Wahrscheinlichkeit / Impact | Gegenmaßnahme | +|---|---|---| +| Ausfall von Teammitgliedern | Mittel / Hoch | Wissensaustausch | +| Merge-Konflikte | Mittel / Mittel | Code Reviews | +| Integrationsprobleme | Mittel / Mittel | frühe Tests | +| Zeitverzug | Hoch / Mittel | MVP-Fokus | + +--- + +## 10. Ressourcen und Rahmenbedingungen + +- **Teamgröße:** 11 Personen +- **Zeit pro Person:** 2–3 Stunden pro Woche +- **Projektlaufzeit:** 15.04.2026 – 30.06.2026 +- **Budget:** kein Budget +- **Infrastruktur:** Gitty, Discord, lokale Entwicklung + +**Rahmenbedingungen:** + +- Umsetzung aller Pflichtmodule +- saubere Repository-Struktur +- teamübergreifende Integration +- dokumentierter Entwicklungsprozess + +--- + +## 11. Kommunikationswege + +| Kanal | Zweck | Frequenz | +|---|---|---| +| Discord / WhatsApp | Kommunikation | täglich | +| Gitty | Codeverwaltung | kontinuierlich | +| Meetings | Planung | wöchentlich | +| E-Mail | Betreuerkontakt | bei Bedarf | + +--- + +## 12. Definition of Done + +Ein Feature gilt als abgeschlossen, wenn: + +- implementiert und funktionsfähig +- getestet +- Code Review durchgeführt +- dokumentiert +- integriert + +--- + +## 13. Abnahmekriterien + +- alle Pflichtmodule implementiert +- vollständiger Dokumentenprozess vorhanden +- GUI funktionsfähig +- Tests erfolgreich +- Präsentation bestanden + +--- + +## 14. Genehmigung + +Je Untergruppe unterzeichnet ausschließlich der jeweilige **Gruppenleiter** (siehe Kapitel 6.2). + +| Rolle | Name | Unterschrift | Datum | +|---|---|---|---| +| Betreuer | Prof. Dr. Gerd Marmitt | ______________________________ | __________ | +| Gruppenleiter Gruppe E | *[zu bestimmen]* | ______________________________ | __________ | +| Gruppenleiter Gruppe F | *[zu bestimmen]* | ______________________________ | __________ | +| Gruppenleiter Gruppe G | *[zu bestimmen]* | ______________________________ | __________ | +| Gruppenleiter Gruppe H | *[zu bestimmen]* | ______________________________ | __________ |