Ideen für die Umsetzung eines konkreten Projekts

  • C#
  • .NET (FX) 4.5–4.8

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von MichaHo.

    Ideen für die Umsetzung eines konkreten Projekts

    Hallo Leute,
    Vorab, wenn ich ins falsche Unterforum geflutscht bin, bitte verschieben. Danke.

    ich hab mir selbst ein größeres (glaub ich) Projekt vorgenommen.
    Es soll ein Programm werden, womit Mitarbeiter Einstellung und Entlassung verwaltet werden können.

    Bei uns ist es so, das jeder neue Mitarbeiter einen Laufzettel bekommt wenn er erstmal da ist. (kein Problem, ist ja vorhanden).
    Nun ist es so, das die Einstellung von Mitarbeitern teilweise seeehr kurzfristig passiert und dann nicht alle Abteilungen Bescheid wissen.
    Hauptsächlich bei mir in der IT kommt die Meldung meist durch den bereits eingestellten Mitarbeiter selbst an, der dann Montags morgens nach seinem IT-Material fragt was noch nicht bestellt ist^^.

    Einige Versuche, das ganze durch Abteilungsgespräche oder andere Dokumente zu lösen schlugen leider fehl^^.

    Da bei uns immer viel Wert darauf gelegt wird, alles automatisiert zu haben, möchte ich dies nun über ein Programm lösen.

    Allerdings fehlt mir noch die Erfahrung, ein solches Konzept erstmal zu Papier zu bringen, die Umsetzung dann in ein Programm traue ich mir zu (bei Fragen melde ich mich ja eh).

    Also, ich versuche erstmal eine Aufgabenstellung zu formulieren:
    Das fertige Programm soll als Server/Client Version laufen. Der Server nimmt die Eintragungen des Client entgegen und speichert/verarbeitet diese in einem SQL-Server.
    Der Client (sollte eindeutig über eine ID oder so identifiziert werden) kann lediglich Anträge erstellen, bearbeiten.
    Ein Antrag kann mehrere Stati (schreibt man das so?) haben. (Erfasst, In Bearbeitung, Abgeschlossen, Abgelehnt)
    Wird ein Antrag erstellt und eingestellt, soll ein Workflow angestoßen werden (entweder direkt über die Clients, oder der entsprechende User bekommt ne Mail).
    Ein Antrag muss dann alle relevanten Abteilungen durchlaufen und ist erst dann fertig und abgeschloßen, wenn der letzte Client im Workflow bestätigt hat.

    Als Beispiel:
    Neuer Mitarbeiter in der Entwicklung
    Antrag geht vom Vorgesetzten Entwicklung an Personal
    Personal stößt weitere Schritte an (interne Stellenausschreibung usw.)
    Geeigneter Kandidat ist gefunden
    Antrag geht dann vom Personal an BR
    BR stimmt zu = Antrag geht weiter an Controlling (wenn Material bestellt werden muss, muss Controlling zustimmen)
    Controlling stimmt zu, Antrag geht an IT
    IT bestellt, richtet den User ein und sendet Antrag zurück an Personal
    Personal richtet die Zeiterfassung ein und schließt Antrag ab.
    Info an Vorgesetzten das Antrag abgeschloßen

    BR stimmt NICHT zu = Antrag geht zurück an Personal
    Personal schließt Antrag ab, oder ändert ihn und stößt workflow neu an, oder gibt Negativ Meldung an Vorgesetzten.

    Nun wäre die erste Frage, hab ich was vergessen?
    Wie geht man da am besten in die Planung?
    Wie baut man das Klassendesign dazu auf?
    Welche Überlegungen muss ich noch aufnehmen?

    Jeder Abteilungsverantwortliche soll quasi seinen eigenen Client bekommen (könnte ich durch Personalnummer identifizieren).
    Damit soll gewährleistet sein, das nur Berechtigte Anträge erstellen.

    Ich Danke Euch schon einmal für Eure Tipps und Hinweise.
    Grüße
    Micha
    "Hier könnte Ihre Werbung stehen..."

    MichaHo schrieb:

    [..] der dann Montags morgens nach seinem IT-Material fragt was noch nicht bestellt ist^^.

    Einige Versuche, das ganze durch Abteilungsgespräche oder andere Dokumente zu lösen schlugen leider fehl^^. [..]



    Das ist eine denkbar schlechte Vorraussetzung. Wenn die Leute nicht in der Lage sind auf einem professionellen Level zu kommunizieren, hilft auch ein extra Informationssystem nichts.
    Solche Werkzeuge können immer nur unterstützend wirken, bei euch scheint ja etwas mit der Unternehmensstruktur nicht zu stimmen. Daher solltest du dir ernsthaft die Frage stellen, ob du deine Zeit in so ein Projekt stecken möchtest, bei dem die Gefahr ziemlich groß ist, dass niemand damit arbeitet und im Endeffekt alles so bleibt, wie es ist.

    Falls du es trotzdem wagen willst, würde ich dir empfehlen, dich in die Struktur von relationalen Datenbanken und in die Erstellung von UML-Klassendiagrammen einzuarbeiten. Deine Aufgabenstellung ist ziemlich typisch und du wirst sicherlich zahlreiche Beispiele finden.

    Wenn du dann ein Modell erarbeitet hast, kannst du es ja wieder hier posten und dann kann man konkret auf Details eingehen. Ebenfalls nützlich für dich könnten die 4-Views und die Helperklasse von @ErfinderDesRades sein.

    E: die vier Views auf Video
    Option strict = on

    If it's stupid and it works it ain't stupid.
    Hi,
    danke dir für Deine Antwort.
    Mit relationalen Datenbanken in Verbindung mit den Helpers und den 4 Views von @ErfinderDesRades hab ich schon einige Anwendungen umgesetzt, die auch genutzt werden.
    Zum Beispiel hatten wir immer das Problem, das wir im Notfall nicht wussten, wer alles im Haus ist. Dazu hatten wir am Empfang eine Kladde in der alle Handwerker, Gäste und ATler sich eintragen sollten.
    Hat die halbe Zeit nicht geklappt. Ende des Jahres 16 hatte ich eine Anwendung dazu geschrieben, die läuft nun auf einem Terminal am Empfang wo jeder, der nicht über die Zeiterfassung läuft, sich per Touchscreen ein- und abmelden kann.
    Tja, was soll ich sagen, es klappt. wird ausgiebig genutzt und mir ist noch keiner über den Weg gelaufen, der dort nicht angemeldet war.
    Daher denke ich, das wenn es eine solche Anwendung gibt, die strikt durchlaufen werden muss um ans Ziel zu kommen, das es dann klappen wird.

    Das mit UML hab ich schon angefangen, mein Grundproblem ist glaub da, das ich nicht recht weis wie ich die einzelnen Bestandteile aufdröseln soll.
    Welche Klasse benötige ich wofür, wie kommuniziert der Client mitm Server? Über TCP oder gar nicht sondern aktualisiere ich nur die Datenbank?
    Das sind so die Grundideen.
    "Hier könnte Ihre Werbung stehen..."
    Ich würde in dem Fall gar keine Desktop Clients verwenden, sondern das Ganze ins Web verlagern.

    Grundlegend habe ich da schon mal was in PHP gesehen, weiß aber nicht mehr so. Aber da könnte man sich Ideen holen
    Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
    Wir haben auf Arbeit son Ticket-System, "RedMine", Opensource webanwendung. Da kann man Tickets (und UnterTickets) anlegen, sich zur Bearbeitung raussuchen, aber auch zur Weiterbearbeitung anderen Mitarbeitern zuweisen, zurückweisen und solche Sachen.
    Also eine neue Mitarbeiter-Anstellung konnte man als "Projekt" anlegen, mit UnterAufgaben wie "Stelle-Beantragung", Ausschreibung, VorstellungsGespräch, BR-Absegnung, MaterialBeschaffung, Verwaltungskram, wasweißich.
    In Redmine Kann man solch anlegen, und auch zuständige Resorts, und auch die "topologische Reihenfolgen-Definition", also dass nicht Vorstellungsgespräche geführt werden, bevor die Stelle genehmigt ist etc. Glaub ich wenigstens, dass das geht.
    Ebenso kann man eiglich jede Art Projekt organisieren, obs nu Umzüge sind, oder wir versuchen damit halt komplexe Software-Projekte in den Griff zu kriegen, da liegt ein Schwerpunkt auffm Monitoring des erwarteten/tatsächlichen Aufwandes.
    Trifft evtl. nicht ganz genau deine Problemlage, aber Redmine soll unglaublich vielseitig konfigurierbar sein.
    Ist aber auch eine Wissenschaft für sich (von der ich kaum was verstehe).
    Mindestens aber als IdeenLieferant gibt das was her.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ErfinderDesRades“ ()

    Hallo,

    denke auch, dass du das Webbasierend aufziehen solltest.

    ​Je nach Ausbau reichen dir ein paar Spalten in der Datenbank für den neuen Mitarbeiter um allen Stellen genüge zu tun.

    Gruss

    mikeb69
    Hi,
    Danke für Eure Hinweise.
    Ich hab früher mal viel mit HTML/PHP und MySQL gemacht, aber das ist nach mittlerweile 10 Jahren aus meinem Kopp draussen, da müsste ich mich erst wieder rein fuchsen....

    Aber der Hinweis von @ErfinderDesRades war ganz gut, wir nutzen auch ein TicketSystem für IT-Anfragen (plan.io). das ist nur nicht sehr umfangreich und etwas unübersichtlich. Daher schaue ich mir RedMine auch mal genauer an.
    Ich bin auch gerade dabei ne RoadMap zur Einführung von Office365 zu erstellen, da hätten wir dann einen Sharepoint, mit dem könnte man das ja auch abbilden...

    Ich leg das Projekt erstmal auf Eis. Hab eh noch ein nerviges Projekt was realisiert werden muss :(

    Danke Euch
    "Hier könnte Ihre Werbung stehen..."