Moved meeting/specs related docs into corresponding folders, added agenda for next meeting

This commit is contained in:
2025-10-05 23:36:28 +02:00
parent 447f41d62a
commit 32ca9b73a1
5 changed files with 30 additions and 0 deletions

View File

@@ -0,0 +1,198 @@
# **Pflichtenheft**
**Projekt:** Hardware-Asset-Management-Tool
**Firma:** WalhöferGbR
---
## **Deckblatt**
| **Projektname:** | Hardware-Asset-Management-Tool |
| ------------------------------- | ------------------------------ |
| **Kunde:** | Firma WalhöferGbR |
| **Auftragnehmer / Entwickler:** | KeineAhnungGmbH |
| **Version:** | 2.0 |
| **Datum:** | 03.10.2025 |
| **Abgabe:** | 01.12.2025 |
| **Budget:** | 40.000 € |
**Kontaktperson Kunde:**
- Name: Jochen Walhöfer
- Abteilung: IT-Abteilung
- E-Mail: jochen.walhoefer@meinbtg.de
**Kontaktperson Entwickler:**
- Name: Andreas Stefan
- E-Mail: andreas.stefan@KeineAhnungGmbH.de
---
## **Versionshistorie**
| Version | Datum | Autor | Änderung / Kommentar |
| ------- | ---------- | -------------- | ------------------------- |
| 1.0 | 19.09.2025 | Lucretia Dietz | Erstfassung Pflichtenheft |
| 2.0 | 03.10.2025 | Lucretia Dietz | Erweiterung Hosting & Support |
---
## **Inhaltsverzeichnis**
1. Einleitung / Zielbestimmung
2. Produkteinsatz
3. Produktfunktionen
4. Produktdaten
5. Benutzerrollen & Rechtekonzept
6. Systemarchitektur & Technologien
7. Schnittstellen
8. Sicherheitsanforderungen
9. Qualitätsanforderungen
10. Setup, Support & Lizenz
11. Abgrenzungskriterien (Nicht-Ziele)
12. Budget- und Zeitplanung
13. Glossar
14. Unterschriften
---
## 1. Einleitung / Zielbestimmung
Ziel dieses Projekts ist die Entwicklung eines webbasierten Hardware-Asset-Management-Tools für die IT-Abteilung der Firma WalhöferGbR.
Das System soll firmeneigene Hardware zentral verwalten, LDAP-Daten integrieren und relevante Informationen erfassen und pflegen.
Die Software wird in .NET (C#) entwickelt und soll innerhalb des Budgets von 40.000 € bis zum 01.11.2025 einsatzbereit sein.
---
## 2. Produkteinsatz
- **Zielgruppe / Nutzer:** IT-Abteilung der Firma Walhöfer
- **Einsatzort:** Innerbetrieblich, Zugriff über Webbrowser
- **Hauptnutzen:** Übersicht über Hardwarebestand, Zuordnung zu Nutzern, Verwaltung zentraler Informationen
---
## 3. Produktfunktionen
- Assets anlegen, bearbeiten und löschen
- Assets zu Nutzern zuordnen
- Suchen und Filtern von Assets
- Inventarisierung von Geräten (durch Inventarisierer)
- Einfache Übersichtsseiten („alle Geräte pro Nutzer“)
- Rollenverwaltung über LDAP-Gruppen
- Schreibender und lesender Zugriff auf LDAP, inklusive Schemaerweiterung
---
## 4. Produktdaten
- Seriennummer
- Standort
- Zugeordneter Nutzer
- Garantieende
- Marke
- Modell
- Inventarisierungsstatus
Weitere Attribute können über das erweiterte LDAP-Schema ergänzt werden.
---
## 5. Benutzerrollen & Rechtekonzept
| Rolle | Rechte |
| --------------- | ------------------------------------- |
| Admin | Vollzugriff, Rollenverwaltung |
| Inventarisierer | Geräte inventarisieren und bearbeiten |
| Nur-Lesen | Nur Ansicht |
Rollensteuerung erfolgt über LDAP-Gruppen.
---
## 6. Systemarchitektur & Technologien
- Webanwendung auf .NET (C#)
- Browserbasiert
- Zentrale Datenhaltung über LDAP
- SSL-verschlüsselte Verbindungen
- Erweiterbares LDAP-Schema für Geräteinformationen
- Hosting auf Kundenhardware (on-premise)
- Ubuntu Server mit
- 2 CPU Kernen
- 2 GB RAM
- 50 GB SSD
- Windows Server mit
- 4 CPU Kernen
- 4 GB RAM
- 100 GB SSD
---
## 7. Schnittstellen
- LDAP
- **Lesender Zugriff:** Nutzer- und Geräteinformationen
- **Schreibender Zugriff:** Pflege und Ergänzung von Geräten
- **Schemaerweiterung:** Neue Attribute für Geräteobjekte
- **Authentifizierung:** LDAP-Single Sign-On (SSO)
- **Autorisierung:** Rollen über LDAP-Gruppen
---
## 8. Sicherheitsanforderungen
- LDAP-Authentifizierung
- SSL für alle Verbindungen
- Rollenbasiertes Berechtigungsmodell
- Schreibrechte nur für berechtigte Benutzer
---
## 9. Qualitätsanforderungen
- Performance für ca. 100 Nutzer
- Erweiterbare Architektur
- Stabile, wartbare Software
- Datensicherung erfolgt extern durch den Kunden
---
## 10. Setup, Support & Lizenz
- Die Lieferung beinhaltet Vier (4) Personenstunden für Aufbau und Abnahme des Systems.
- Nach der Lieferung der Software werden keine weiteren Änderungen durchgeführt.
- Die Software wird mit der MIT Lizenz geliefert.
- Alle Verantwortungen seitens der KeineAhnungGmbH hinsichtlich Support werden durch die MIT Lizenz definiert.
- Alle Rechte der Firma WalhöferGbR hinsichtlich der Verwendung, Weiterentwicklung und Weitergabe werden durch die MIT Lizenz definiert.
---
## 11. Abgrenzungskriterien (Nicht-Ziele)
- Keine automatischen Benachrichtigungen
- Keine Workflows
- Kein Datenexport (CSV, PDF, Excel)
- Keine Mehrsprachigkeit
- Keine speziellen UI/Design-Vorgaben
---
## 12. Budget- und Zeitplanung
- **Budget:** 40.000 €
- **Abgabedatum / Fertigstellung:** 01.11.2025
- Entwicklungsaufwand in enger Abstimmung mit der IT-Abteilung
---
## 13. Glossar
- **Asset:** Hardwaregerät (PC, Laptop, Monitor, Drucker, Smartphone)
- **LDAP:** Lightweight Directory Access Protocol, zentrale Datenhaltung für Nutzer und Geräte
- **SSO:** Single Sign-On, einmalige Authentifizierung für alle Zugriffe
- **Inventarisierung:** Kennzeichnung eines Gerätes als inventarisiert
---
## 14. Unterschriften
| Name | Funktion | Unterschrift | Datum |
| --------------- | ------------- | ------------ | ----- |
| Jochen Walhöfer | Auftraggeber | | |
| Lucretia Dietz | Projektleiter | | |

View File

@@ -0,0 +1,48 @@
# Object attribute spec
## users
- ObjectClass:
- inetOrgPerson
- cn = Name
- sn = Surname
- title = title (e.g. "Dr.", "Herr", "Frau", etc.)
- uid = user identifier (e.g. sn + cn or sn[1:3] + cn[1:3])
- jpegPhoto = jpeg photo of the user
- userPassword = user password (hashed using one of these: PBKDF2, BCrypt/SCrypt, Argon2)
- description = json string containing data as JSON. E.g.:
- `{"BirthDate": "01.01.2001", "Address": {"City": "Gelsenkirchen", "Street": "Vattmannstraße", "StreetNr": "11" }, "Workplace": "btg-317-23"}`
## locations
- ObjectClass:
- extensibleObject
- locality
- top
- cn = location identifier (e.g. location name + room name + seat)
- l = location name (e.g. "btg")
- street = Street name and number (e.g. "Overwegstraße 30")
- description = json string containing data as JSON. E.g.:
- `{"RoomNumber": "317", "Seat": "23"}`
## groups
- ObjectClass:
- extensibleObject
- posixGroup
- top
- cn = group identifier (e.g. "admin")
- gidNumber = group id number (e.g. 1)
- displayName = display name (e.g. "Administrator")
- description = json string containing data as JSON. E.g.:
- `{"Permissions": ["CanInventorize", "CanManageUsers", "CanManageLocations", "CanManageAssets", "CanManageGroups"]}`
## assets
- ObjectClass:
- device
- extensibleObject
- top
- cn = inventory id of the device (e.g. "2000001")
- name = Make & model of the device (e.g.: "AMD Radeon RX9070 XT OC Black Triple Fan 16 GB GDDR6", "Voodoo 3 3500TV")
- serialNumber = serial number of the product as specified by the manufacturer
- owner = current owner of the product as an attribute list (e.g.: "uid=testuser")
- l = location cn (e.g. "btg-317-23")
- description = json string containing data as JSON. E.g.:
- `{"Type": "PC Component", "Purchase":{"PurchaseDate": "2024-01-01", "PurchaseValue": "877.33", "PurchasedAt": "SpechtleKG", "purchasedBy": "musterfrauandrea"}}`