Ich lerne Python und Web-Entwicklung durch die Arbeit an einem Web-basierten Projektmanagement-Tool mit PERT arbeiten. Ich gehe zuerst die einfachen Schritte an: Laden von Aufgaben, Aufgaben Abhängigkeiten und in der Lage sein, PERT-Metriken zu berechnen (kritischer Patch, Puffer pro Task, frühestes/spätestes Start-/Enddatum pro Aufgabe, etc ...)Wie man eine effiziente Aufgabenabhängigkeiten in einem PERT-Diagramm modellieren
I ' m am Schritt, um Aufgabenabhängigkeiten zu behandeln. Eine Task hat 0..n Vorgänger. Beim Laden von Aufgaben wurde der Nachfolger möglicherweise noch nicht geladen (zB: A kann von E abhängen), und ich frage mich, ob meine Vorgehensweise gut ist, um dies effizient zu lösen. Dies bildet offensichtlich eine grafische Darstellung, mit den folgenden Eigenschaften: - 1 Start - 1 Ende - kein Zyklus
Mein Datenmodell: - Aufgabentisch, mit Task-ID, Aufgabennamen und Dauer - Aufgabe Beziehung Tabelle, mit TaskID, anderer Task-ID und Art der Verknüpfung (Vorgänger, Nachfolger)
Ich habe auch die Möglichkeit, Aufgaben aus einer CSV-Datei zu laden, die folgende Spalten hat: Task-ID, Task-Name, Dauer, und eine Liste von Vorgängern, ausgedrückt in einer durch Komma getrennten Liste, zB: Aufgabe A: "Sehr wichtige Aufgabe in der Tat"; 10; E, F, K
Modellieren in Python: Ich habe Aufgabenobjekte, die eine Liste von Vorgängeraufgaben (Liste von Aufgabenobjekten) und eine Liste von Nachfolgern (Liste von Aufgabenobjekten) enthalten: Die Begründung für Nachfolger ist, dass die Berechnung der PERT-Metrik ein erfordert viele Operationen wie „mit dem frühesten Starttermin in allen Nachfolgern das finden“, etc ... also dachte ich, es wäre praktisch diesen um
meinen Algorithmus zu haben:
- ich alle Aufgaben laden in Aufgabenobjekte, wobei Abhängigkeiten zuerst ignoriert werden. Alle Aufgaben werden in einem Python Dictionnary setzen, wo die Task-ID ist der Schlüssel
- ich alle Abhängigkeiten zu laden, und für jede Abhängigkeit, ich die beiden betroffenen Aufgaben aus der Dictionnary laden und aktualisieren sie entsprechend
Would Sie nähern sich dem anders?
Das klingt sinnvoll, aber ich verstehe nicht, was Sie eigentlich tun wollen! – katrielalex
Ich versuche, eine Projektmanagement-Software mit PERT-Ansatz zu erstellen: Sie geben Ihre Aufgaben mit Abhängigkeiten und Einschränkungen, und die Software berechnet die Projektdauer und frühesten/spätesten Daten für die Aufgaben –
Und die Frage ist ... "ist Ihr Algorithmus sinnvoll"? Ja. – katrielalex