Erzeugung zeitphasierter Daten für verschiedene Arbeitskonturen
Bei der Verwaltung von Projektplänen ist es oft notwendig zu analysieren, wie Arbeit über die Zeit für verschiedene Ressourcenzuordnungen verteilt ist. Aspose.Tasks for .NET macht dies möglich, indem es zeitphasierte Daten für Ressourcenzuordnungen basierend auf verschiedenen Arbeitskonturen. Dies ermöglicht Entwicklern, die Ressourcennutzung genauer zu simulieren, nachzuverfolgen und zu berichten.
Erzeugung zeitphasierter Daten für Arbeitskonturen
Eine Arbeitskontur definiert, wie Arbeit über die Dauer einer Aufgabe verteilt wird. Aspose.Tasks for .NET ermöglicht es, verschiedene Konturen anzuwenden (wie Flat, Back Loaded, Front Loaded, Turtle, Bell usw.) und die entsprechenden zeitphasierten Daten zu erzeugen. Die erzeugten Daten werden mit der TimeScaleData
Methode abgerufen, die Start- und Enddaten des Projekts als Eingabeparameter benötigt.
Codebeispiel
Das folgende Beispiel weist einem Ressourcen verschiedene Arten von Arbeitskonturen zu und ruft deren zeitphasierte Daten zur Analyse ab:
1Project project = new Project("New Project.mpp");
2
3// Get the first task of the Project
4Task task = project.RootTask.Children.GetById(1);
5
6// Get the First Resource Assignment of the Project
7ResourceAssignment firstRA = project.ResourceAssignments.ToList()[0];
8
9// Flat contour is default contour
10Console.WriteLine("Flat contour");
11
12var tdList = task.GetTimephasedData(project.Get(Prj.StartDate), project.Get(Prj.FinishDate));
13foreach (TimephasedData td in tdList)
14{
15 Console.WriteLine(td.Start.ToShortDateString() + " " + td.Value);
16}
17
18// Change contour
19firstRA.Set(Asn.WorkContour, WorkContourType.Turtle);
20Console.WriteLine("Turtle contour");
21tdList = task.GetTimephasedData(project.Get(Prj.StartDate), project.Get(Prj.FinishDate));
22foreach (TimephasedData td in tdList)
23{
24 Console.WriteLine(td.Start.ToShortDateString() + " " + td.Value);
25}
26
27// Change contour
28firstRA.Set(Asn.WorkContour, WorkContourType.BackLoaded);
29Console.WriteLine("BackLoaded contour");
30tdList = task.GetTimephasedData(project.Get(Prj.StartDate), project.Get(Prj.FinishDate));
31foreach (TimephasedData td in tdList)
32{
33 Console.WriteLine(td.Start.ToShortDateString() + " " + td.Value);
34}
35
36// Change contour
37firstRA.Set(Asn.WorkContour, WorkContourType.FrontLoaded);
38Console.WriteLine("FrontLoaded contour");
39tdList = task.GetTimephasedData(project.Get(Prj.StartDate), project.Get(Prj.FinishDate));
40foreach (TimephasedData td in tdList)
41{
42 Console.WriteLine(td.Start.ToShortDateString() + " " + td.Value);
43}
44
45// Change contour
46firstRA.Set(Asn.WorkContour, WorkContourType.Bell);
47Console.WriteLine("Bell contour");
48tdList = task.GetTimephasedData(project.Get(Prj.StartDate), project.Get(Prj.FinishDate));
49foreach (TimephasedData td in tdList)
50{
51 Console.WriteLine(td.Start.ToShortDateString() + " " + td.Value);
52}
53
54// Change contour
55firstRA.Set(Asn.WorkContour, WorkContourType.EarlyPeak);
56Console.WriteLine("EarlyPeak contour");
57tdList = task.GetTimephasedData(project.Get(Prj.StartDate), project.Get(Prj.FinishDate));
58foreach (TimephasedData td in tdList)
59{
60 Console.WriteLine(td.Start.ToShortDateString() + " " + td.Value);
61}
62
63// Change contour
64firstRA.Set(Asn.WorkContour, WorkContourType.LatePeak);
65Console.WriteLine("LatePeak contour");
66tdList = task.GetTimephasedData(project.Get(Prj.StartDate), project.Get(Prj.FinishDate));
67foreach (TimephasedData td in tdList)
68{
69 Console.WriteLine(td.Start.ToShortDateString() + " " + td.Value);
70}
71
72// Change contour
73firstRA.Set(Asn.WorkContour, WorkContourType.DoublePeak);
74Console.WriteLine("DoublePeak contour");
75tdList = task.GetTimephasedData(project.Get(Prj.StartDate), project.Get(Prj.FinishDate));
76foreach (TimephasedData td in tdList)
77{
78 Console.WriteLine(td.Start.ToShortDateString() + " " + td.Value);
79}
In diesem Code wird jede Arbeitskontur auf die Ressourcenzuordnung angewendet und die erzeugten zeitphasierten Daten angezeigt. So ist leicht ersichtlich, wie sich die Arbeit je nach Konturtyp über die Dauer der Zuordnung verteilt.
Häufig gestellte Fragen
F: Was ist eine Arbeitskontur in Microsoft Project?
- Eine Arbeitskontur definiert, wie der Aufwand einer Ressource über die Dauer einer Aufgabe verteilt wird. Beispielsweise sorgt Flat für gleichmäßige Arbeit, während Bell den Aufwand stärker in der Mitte verteilt.
F: Wie erzeugt Aspose.Tasks zeitphasierte Daten?
- Es verwendet die
TimeScaleData
Methode, die Start- und Enddaten des Projekts verwendet, um die Arbeitsverteilung für jede Zuordnung zu berechnen.
F: Kann ich zeitphasierte Daten für mehrere Zuordnungen gleichzeitig erzeugen?
- Ja. Sie können alle Ressourcenzuordnungen in einem Projekt durchlaufen und für jede zeitphasierte Daten erzeugen.
F: Muss Microsoft Project installiert sein, um zeitphasierte Daten zu erzeugen?
- Nein. Aspose.Tasks arbeitet unabhängig und benötigt Microsoft Project nicht, um zeitphasierte Daten zu lesen, zu berechnen oder zu exportieren.
Fazit
In diesem Artikel haben wir untersucht, wie man zeitphasierte Daten für verschiedene Arbeitskonturen von Ressourcenzuordnungen mit Aspose.Tasks for .NET erzeugt. Durch das Anwenden verschiedener Konturen und das Abrufen der entsprechenden Daten können Entwickler Ressourcenauslastungen besser analysieren, Projektprognosen verbessern und programmgesteuert detaillierte Nutzungsberichte erstellen.