Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo, ich freue mich über Feedback und Kritik zu meinem Projektantrag (FIAE). Danke im Voraus!

 

Thema der Projektarbeit

Entwicklung einer Software zur Lizenzgenerierung

Für die xyz GmbH soll eine Software entwickelt werden, die für die selbst entwickelte Software die benötigten Lizenzen generiert.

Geplanter Bearbeitungszeitraum

27.04.2023 - 23.05.2023

Ausgangssituation

Projektumfeld

Die xyz GmbH ist ein Hersteller von Maschinen und Anlagen...

Die Abteilung xyz entwickelt Software für die Kommunikation zwischen Mensch und Maschine...

Ist-Zustand

Es gibt Software Lizenzen, die verlangen, dass man die Lizenz öffentlich mit der Hardware ausliefert. Derzeit können die Kunden die Software Lizenzen nur über den Support per Email anfordern.

Es existiert bereits ein Skript, das statisch alle Lizenzen extrahiert. Die daraus generierte Datei ist aber zu groß und kann den Kunden nicht angezeigt werden, weil die Steuerung der Maschine zu lange benötigt um sie zu laden.

Das Skript iteriert derzeit über alle Python Container und fügt daher auch die Lizenzen in die Ausgabedatei hinzu, die für die jeweilige Software nicht gebraucht werden.

Projektziel

Soll-Zustand

Ziel des Projekts ist es eine formatierte Text-Datei zu erhalten, die in das bereits vorhandene Frontend eingefügt werden kann.

Die Software soll ein auf Python basierendes Backend für die Verarbeitung der Daten beinhalten und eine Text-Datei mit allen benötigten Lizenzen ausgeben. Die benötigten Lizenzen sollen dynamisch an die jeweilige Software angepasst und in einer komprimierten Text-Datei ausgegeben werden.

Meine Aufgabe ist es das vorhandene Skript zu verbessern und dynamisch auf die vorhandenen Python Container anzupassen. Dazu werde ich eine Recherche über verschiedene Arten von Software Lizenzen durchführen, unter anderem BSD3 Lizenzen.

Zu erfüllende Kriterien:

·        Die generierte Text-Datei soll komprimiert sein

·        Die Datei soll nur die Lizenzen beinhalten die benötigt werden

·        Verständnis von Lizenzen

·        Conifg-Datei dynamisieren

Verwendete Ressourcen/Technologien:

·        Python

·        PyCharm IDE

·        Git

Zeitplanung

Analyse                                                                                                                                      8h

·        Durchführung einer Ist-Analyse                                                            2h

·        Durchführung einer Wirtschaftlichkeitsanalyse                                 2h

·        Erstellung eines Lastenhefts                                                                  4h

Planung                                                                                                                                     19h

·        Erstellung eines Pflichtenhefts                                                              5h

·        Erstellung eines Use-Case-Diagramms                                                2h

·        Erstellung eines Klassendiagramms                                                      2h

·        Erstellung eines Programmablaufplans                                               2h

·        Recherche über Lizenzen                                                                        8h

Implementierung                                                                                                                     33h

·        Vorhandenes Skript verbessern                                                            10h

·        Output-File filtern                                                                                     10h

·        Code refactoring                                                                                        2h

·        Tests (Unittest)                                                                                          8h

·        Codereview                                                                                                3h

Dokumentation                                                                                                                        16h

·        Projektdokumentation                                                                              11h

·        Entwicklerdokumentation                                                                       2h

·        Soll-Ist-Vergleich                                                                                        2h

·        Übergabe und Abnahme                                                                         1h

Gesamt                                                                                                                                      76h

Präsentationsmittel

Notebook

Beamer

Die kaufmännische Betrachtung ist meiner Meinung nach zu knapp (die 76 h statt 80 h sind nicht negativ, es heißt ja, maximal 80 h), Datenschutz sehe ich nicht hier. Auch ist der Projektcharakter für mich nicht klar zu erkennen (eigene vergleichs- und Bewertungsleistung), eventuell die einzelnen Punkte etwas klarer ausführen.

Ansonsten verweise ich gerne mal auf §12 PO Fachinformatiker, dort müssen alle 6 Sätze von Absatz 2 im Projekt erfüllt sein.

  • Autor

hier ist ein Update zur Ausgangssituation und Projektziel

 

Ausgangssituation

 

Ist-Zustand

Bei der Auslieferung von Hardware an Kunden, wird Software mit ausgeliefert, deren Lizenz für den Benutzer abrufbar sein muss. Derzeit können die Kunden die Lizenzen nur manuell über den Support anfordern.

Teil der Hardware ist der sogenannte XY. Auf diesem laufen Docker Container, in denen Python Module betrieben werden. Für die dafür eingesetzten Python Bibliotheken, müssen die verwendeten Lizenzen einsehbar sein.

Es existiert bereits ein Skript, das eine Datei mit allen benutzten Lizenzen generiert. Die daraus generierte Datei ist aber zu groß (ca. 10 MB) und kann im Userinterface nicht angezeigt werden.  Grund hierfür ist die lange Ladezeit auf der Steuerung der Maschine.

Dieses Skript greift auf eine Konfigurationsdatei zu, die eine vorgegebene Liste mit allen Python Containern enthält, die auf dem XY laufen. Bei Änderungen bei den eingesetzten Containern muss diese Konfigurationsdatei manuell angepasst werden. Das Skript extrahiert derzeit alle Lizenzen aller verwendeten Python Bibliotheken und fügt daher auch die Lizenzen zur Ausgabedatei hinzu, die für die jeweiligen Container nicht gebraucht werden und somit auch nicht an den Kunden ausgeliefert werden müssen.

Projektziel

Soll-Zustand

Ziel des Projekts ist es eine formatierte Text-Datei zu erhalten, die in das bereits vorhandene Frontend eingefügt werden kann, um den Support zu entlasten und Zeit zu sparen.

Meine Aufgaben sind:

·        die Logik im vorhandenen Skript zu verbessern und zu erweitern

·        die Lizenzen auf die benutzten Python Container automatisch anzupassen damit die manuelle Anpassung nicht mehr notwendig ist

·        die Ausgabedatei zu komprimieren

Um besseres Verständnis über Lizenzmanagement und lizenzbedingte vertragliche Verpflichtungen zu erlangen, werde ich eine Recherche durchführen.

Zu erfüllende Kriterien:

·        Die generierte Text-Datei soll für die Maschinensteuerung kleiner als 10 MB sein

·        Es sollen nur die Lizenzen enthalten sein die benötigt werden

·        Lizenzen sollen automatisch an jede Release Version angepasst werden

Make or Buy

Pro Make:

·        Es existiert bereits eine Lösung, die lediglich überarbeitet werden muss

·        Einer Kaufsoftware muss Zugang zum Repository gewährt werden

·        Nötige Ressourcen sind vorhanden

·        Aufgabenkomplexität ist nicht im Verhältnis zu anfallenden Kosten

·        Skalierbarkeit der Software

Pro Buy:

·        Beachtung der rechtlichen Vorgaben bezüglich Lizenzen kann ausgelagert werden

·        Betriebssicherheit abgedeckt durch Wartungsvertrag

 

 

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.