a
This commit is contained in:
86
WS2425/SWT D/P2.md
Normal file
86
WS2425/SWT D/P2.md
Normal file
@@ -0,0 +1,86 @@
|
||||
### 1. Arten von Artefakten in einem Softwareentwicklungsprojekt
|
||||
|
||||
Hier sind 15 verschiedene Typen von Artefakten, die typischerweise in einem Softwareentwicklungsprojekt erstellt werden:
|
||||
|
||||
1. **Anforderungsdokumente:** Beschreiben die funktionalen und nicht-funktionalen Anforderungen an das System.
|
||||
2. **Spezifikationen:** Technische Details und Beschreibungen der Implementierungsanforderungen.
|
||||
3. **Architekturdiagramme:** Darstellungen der Systemarchitektur, z.B. UML-Diagramme.
|
||||
4. **Design-Dokumente:** Beschreiben das detaillierte Softwaredesign, einschließlich Modulen und Schnittstellen.
|
||||
5. **Quellcode:** Der tatsächlich geschriebene Code der Software in einer oder mehreren Programmiersprachen.
|
||||
6. **Testpläne:** Beschreiben die Vorgehensweise und die Teststrategie für die Verifikation und Validierung der Software.
|
||||
7. **Testfälle:** Einzelne Szenarien, die durchgeführt werden, um zu prüfen, ob die Software korrekt funktioniert.
|
||||
8. **Testberichte:** Dokumentieren die Ergebnisse von durchgeführten Tests und enthalten Informationen zu Fehlern und Problemen.
|
||||
9. **Benutzerdokumentation:** Enthält Handbücher und Anleitungen zur Bedienung der Software für Endbenutzer.
|
||||
10. **Administrationshandbuch:** Anleitungen für Systemadministratoren zur Installation und Wartung der Software.
|
||||
11. **Installationsanweisungen:** Schritt-für-Schritt-Anleitungen zur Installation der Software.
|
||||
12. **Release-Notes:** Beschreiben die Änderungen, neuen Funktionen und bekannten Probleme in einer neuen Softwareversion.
|
||||
13. **Projektdokumentation:** Enthält Informationen über den Projektstatus, den Zeitplan und das Budget.
|
||||
14. **Konfigurationsdateien:** Dateien, die Einstellungen und Konfigurationsinformationen der Software enthalten.
|
||||
15. **Protokolldateien (Logs):** Enthalten Aufzeichnungen über Ereignisse und Aktionen, die während der Ausführung der Software auftreten.
|
||||
|
||||
### 2. Gruppierung der Artefakte
|
||||
|
||||
Artefakte können nach verschiedenen Kriterien gruppiert werden. Hier sind einige sinnvolle Gruppen:
|
||||
|
||||
1. **Entwicklungsphase:**
|
||||
- **Analysephase:** Anforderungsdokumente, Spezifikationen
|
||||
- **Designphase:** Architekturdiagramme, Design-Dokumente
|
||||
- **Implementierungsphase:** Quellcode, Konfigurationsdateien
|
||||
- **Testphase:** Testpläne, Testfälle, Testberichte
|
||||
- **Wartungsphase:** Protokolldateien (Logs), Fehlerberichte
|
||||
|
||||
2. **Funktionale Gruppierung:**
|
||||
- **Dokumentation:** Benutzerdokumentation, Administrationshandbuch, Projektdokumentation
|
||||
- **Technische Artefakte:** Quellcode, Architekturdiagramme, Konfigurationsdateien
|
||||
- **Management-Artefakte:** Projektdokumentation, Zeitpläne, Budgetpläne
|
||||
|
||||
3. **Verwendungszweck:**
|
||||
- **Interne Artefakte:** Dokumente, die nur von Entwicklern und dem Projektteam verwendet werden (z.B. Design-Dokumente, Testberichte)
|
||||
- **Externe Artefakte:** Dokumente, die für Endbenutzer oder Kunden bestimmt sind (z.B. Benutzerdokumentation, Release-Notes)
|
||||
- Manuell/Maschinell
|
||||
- Projekt/Produkt
|
||||
- Archiviert Ja/nein
|
||||
-
|
||||
|
||||
### 3. Voraussetzungen für die Zusammenarbeit an Artefakten im Team
|
||||
|
||||
Damit im Team effektiv an Artefakten gearbeitet werden kann, sollten folgende Voraussetzungen erfüllt sein:
|
||||
|
||||
1. **Versionierung:** Alle Artefakte sollten versioniert werden, damit Änderungen nachvollziehbar sind.
|
||||
2. **Zugriffsrechte:** Es müssen klare Zugriffsrechte und Rollen definiert sein, um unbefugte Änderungen zu vermeiden.
|
||||
3. **Zentrales Repository:** Die Artefakte sollten in einem zentralen Repository gespeichert werden, auf das alle Teammitglieder zugreifen können (z.B. Git).
|
||||
4. **Kommunikationsstrategie:** Eine gute Kommunikation im Team ist notwendig, um Missverständnisse zu vermeiden und Änderungen effektiv abzustimmen.
|
||||
5. **Werkzeuge:** Es sollten geeignete Werkzeuge zur gemeinsamen Bearbeitung von Artefakten eingesetzt werden (z.B. Kollaborationsplattformen und Tools zur Dokumentenverwaltung).
|
||||
|
||||
### 4. Sinn und Zweck der Versionierung von Artefakten
|
||||
|
||||
Es ist sinnvoll, nicht nur die letzte Version eines Artefakts zu speichern, sondern auch alle alten Stände, weil:
|
||||
|
||||
1. **Nachverfolgbarkeit:** Es ermöglicht die Rückverfolgung von Änderungen und die Identifikation, wann und warum eine Änderung vorgenommen wurde.
|
||||
2. **Fehlerbehebung:** Bei Fehlern oder Problemen kann man zu einer früheren Version zurückkehren und untersuchen, was sich geändert hat.
|
||||
3. **Vergleich:** Es ermöglicht den Vergleich zwischen verschiedenen Versionen eines Artefakts.
|
||||
4. **Verlaufsprotokoll:** Man erhält ein Protokoll über den Entwicklungsprozess und kann den Fortschritt dokumentieren.
|
||||
|
||||
**Zu versionierende Artefakttypen:**
|
||||
- Quellcode
|
||||
- Spezifikationen
|
||||
- Anforderungsdokumente
|
||||
- Testpläne und Testfälle
|
||||
- Architekturdiagramme
|
||||
- Design-Dokumente
|
||||
- Konfigurationsdateien
|
||||
|
||||
### 5. Informationen über ein Artefakt
|
||||
|
||||
Folgende Informationen sollten über ein Artefakt bekannt sein:
|
||||
|
||||
1. **Name des Artefakts:** Eindeutiger Bezeichner, der das Artefakt beschreibt.
|
||||
2. **Version:** Aktuelle Versionsnummer und Historie aller früheren Versionen.
|
||||
3. **Autor:** Wer das Artefakt erstellt oder zuletzt geändert hat.
|
||||
4. **Erstellungsdatum:** Wann das Artefakt erstellt wurde.
|
||||
5. **Änderungsdatum:** Wann das Artefakt zuletzt geändert wurde.
|
||||
6. **Beschreibung:** Kurze Zusammenfassung des Inhalts und Zwecks des Artefakts.
|
||||
7. **Status:** Der aktuelle Status des Artefakts (z.B. Entwurf, freigegeben, in Überarbeitung).
|
||||
8. **Abhängigkeiten:** Welche anderen Artefakte von diesem abhängig sind oder mit ihm in Beziehung stehen.
|
||||
9. **Zugriffsrechte:** Wer Zugriff auf das Artefakt hat und es ändern darf.
|
||||
|
||||
61
WS2425/SWT D/Ue 2.md
Normal file
61
WS2425/SWT D/Ue 2.md
Normal file
@@ -0,0 +1,61 @@
|
||||
### 1. Zusätzliche Qualitätsziele zur Hälfte der Projektlaufzeit
|
||||
Wenn während eines Softwareprojekts zur Hälfte der Projektlaufzeit vom Auftraggeber zusätzliche Qualitätsziele formuliert werden, sollte man wie folgt reagieren:
|
||||
|
||||
1. **Analyse der Anforderungen:** Man sollte die neuen Qualitätsziele sorgfältig analysieren, um zu verstehen, wie sie sich auf das Projekt auswirken. Dazu gehört das Überprüfen, ob die Ziele realistisch und messbar sind.
|
||||
|
||||
2. **Bewertung der Auswirkungen:** Die Auswirkungen der zusätzlichen Ziele auf den bestehenden Projektplan, das Budget und die Ressourcen sollten bewertet werden. Dies könnte dazu führen, dass Anpassungen notwendig sind.
|
||||
|
||||
3. **Kommunikation mit dem Auftraggeber:** Eine offene Kommunikation mit dem Auftraggeber ist entscheidend. Es sollte besprochen werden, welche Auswirkungen die neuen Anforderungen auf den Zeitplan und die Kosten haben werden.
|
||||
|
||||
4. **Anpassung des Projektplans:** Wenn alle Parteien zustimmen, sollten der Projektplan und das Budget entsprechend angepasst werden, um die neuen Qualitätsziele zu integrieren.
|
||||
|
||||
5. **Risikomanagement:** Mögliche Risiken, die durch die Änderung der Anforderungen entstehen, sollten identifiziert und in den Risikomanagementplan aufgenommen werden.
|
||||
|
||||
6. **Dokumentation:** Alle Änderungen sollten dokumentiert und allen relevanten Stakeholdern mitgeteilt werden, um Transparenz zu gewährleisten.
|
||||
|
||||
### 2. Zuordnung der Dokumentation zu den Adressaten
|
||||
Hier ist die Zuordnung der verschiedenen Dokumente zu den jeweiligen Adressaten:
|
||||
|
||||
- **Produktbeschreibung:** Käufer
|
||||
- **Installationsanweisung:** Administrator
|
||||
- **Administrationshandbuch:** Administrator
|
||||
- **Release-Notes:** Erfahrener Anwender und Administrator
|
||||
- **Tutorial:** Unerfahrener Anwender
|
||||
- **Benutzungshandbuch:** Unerfahrener Anwender und Erfahrener Anwender
|
||||
- **FAQ-Liste:** Unerfahrener Anwender und Erfahrener Anwender
|
||||
|
||||
### 3. Beschreibung der Operationsarten und zugehörige Werkzeuge in der Softwareentwicklung
|
||||
|
||||
Hier sind die detaillierten Beschreibungen der einzelnen Operationsarten sowie einige Werkzeuge, die diese unterstützen:
|
||||
|
||||
1. **Editieren:** Dies bezieht sich auf das Erstellen und Bearbeiten von Quellcode. Es ist eine der grundlegendsten Aufgaben in der Softwareentwicklung.
|
||||
- **Eingesetztes Werkzeug:** Visual Studio Code, Sublime Text
|
||||
|
||||
2. **Transformieren:** Diese Operation umfasst das Umwandeln von Code oder Daten von einem Format in ein anderes, z.B. durch Compiler oder Code-Generatoren.
|
||||
- **Eingesetztes Werkzeug:** GCC (GNU Compiler Collection), Jenkins
|
||||
|
||||
3. **Verwalten / Versionieren:** Verwaltung von Softwarekonfigurationen und Code-Versionen. Diese Operation ist wichtig für die Nachverfolgbarkeit und Zusammenarbeit im Team.
|
||||
- **Eingesetztes Werkzeug:** Git, SVN (Subversion)
|
||||
|
||||
4. **Suchen:** Dies bezieht sich auf das Durchsuchen von Code, Datenbanken oder Dateien, um Informationen schnell zu finden.
|
||||
- **Eingesetztes Werkzeug:** grep, Visual Studio Code
|
||||
|
||||
5. **Nachvollziehen:** Ermöglicht die Rückverfolgbarkeit von Anforderungen, Änderungen und Fehlern im Entwicklungsprozess.
|
||||
- **Eingesetztes Werkzeug:** JIRA, IBM Rational DOORS
|
||||
|
||||
6. **Messen:** Diese Operation umfasst das Erfassen von Metriken und Kennzahlen zur Bewertung der Softwarequalität und der Leistungsfähigkeit.
|
||||
- **Eingesetztes Werkzeug:** SonarQube, New Relic
|
||||
|
||||
7. **Testen:** Testen umfasst das Überprüfen und Validieren der Software auf Fehler und die Einhaltung der Spezifikationen.
|
||||
- **Eingesetztes Werkzeug:** Selenium, JUnit
|
||||
|
||||
8. **Verbinden:** Die Integration unterschiedlicher Softwarekomponenten oder Module, um eine zusammenhängende Anwendung zu erstellen.
|
||||
- **Eingesetztes Werkzeug:** Jenkins, Docker
|
||||
|
||||
9. **Dokumentieren:** Das Erstellen von Dokumentationen, die Informationen über die Software und deren Nutzung bereitstellen.
|
||||
- **Eingesetztes Werkzeug:** Doxygen, Confluence
|
||||
|
||||
10. **Verfolgen / Überwachen:** Überwachung von Softwareoperationen und Systemleistung zur Sicherstellung des reibungslosen Betriebs und zur Fehlerbehebung.
|
||||
- **Eingesetztes Werkzeug:** Nagios, Prometheus
|
||||
|
||||
Diese Operationsarten sind entscheidend für eine effektive Softwareentwicklung und tragen zur Sicherstellung der Qualität, Wartbarkeit und Skalierbarkeit des Projekts bei.
|
||||
BIN
WS2425/SWT D/swtd-p-02.pdf
Normal file
BIN
WS2425/SWT D/swtd-p-02.pdf
Normal file
Binary file not shown.
BIN
WS2425/SWT D/swtd-ue-02.pdf
Normal file
BIN
WS2425/SWT D/swtd-ue-02.pdf
Normal file
Binary file not shown.
1
WS2425/Web Tech/Praktikum/Untitled.md
Normal file
1
WS2425/Web Tech/Praktikum/Untitled.md
Normal file
@@ -0,0 +1 @@
|
||||
curl -H "User-Agent: IBM WebExplorer" https://ctfd.labs.inf.fh-dortmund.de/ctfd-challenge-4
|
||||
Reference in New Issue
Block a user