Du bist nicht angemeldet.

Werbeanzeige

Stefan

Alter Hase

  • »Stefan« ist der Autor dieses Themas

Beiträge: 668

Wohnort: Innsbruck

  • Private Nachricht senden

1

12.06.2007, 11:19

Zeitplan - Abschlussarbeit

Hallo!

Nächstes Schuljahr mach ich endlich Abitur und möchte mit 3 Leuten eine Abschlussarbeit schreiben. Dabei möchten wir ein Spiel entwickeln für Windows und Xbox 360 mit XNA.
Das Design - Dokument ist bereits fertig und ein paar Kleinigkeiten haben wir ebenfalls schon programmiert. Unser Projekt muss bis Weihnachten 2007 fertig sein und wir sollen jetzt einen Zeitplan erstellen.
Bis jetzt hab ich noch nie einen Zeitplan geschrieben und weiß nicht so genau wie ich das am besten lösen soll.
Bei einem Artikel auf Gamasutra hab ich gelesen, dass man jeden Schritt auflisten soll. Also z.B das erstellen eines Menüs:
1. Menu Screen
1.1. Background Image
1.1.1. Collect screenshots, photographs, digital images, scans
1.12. Lay out initial background
1.2. Option Buttons
1.2.1. Choose or create font
1.3. Color Scheme

etc..


Anschließend legt man dann die Dauer jedes Schrittes fest. Wie kann ich denn hier am besten einen Buffer einbauen? Ich hab mal irgendwas davon gehört, dass man die geschätzten Tage rückwärts rechnen soll vom End - Termin?

Was mir auch noch nicht klar ist, woher weiß ich wie lange ein Schritt dauert? Woher weiß ich den zum Beispiel, dass ich für das Menü 5 Tage benötige und nicht 7 Tage :)

Und glaubt ihr man kann das Spiel wirklich so planen, dass man jeden kleinen Schritt schon vor Programmier-Beginn weiß?

Würde mich um ein paar Tipps sehr freuen =)

cya,
Stefan

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

2

12.06.2007, 12:05

Die Technik nennt sich Netzplan. Hierfür legst du zuerst eine Liste aller Arbeitsvorgänge an und schaust dann in welcher Reihenfolge die Arbeit ablaufen muss (keine Arbeitsvorgänge vor solchen die zur durchführung des Vorgangs benötigt werden). Zum Teil können Vorgänge auch parallel durchgeführt werden.
Wenn du für jeden Arbeitsvorgang den jeweiligen "Vorgänger" (bzw. die Vorgänger) bestimmt hast kannst du das ganze in einem Diagramm festhalten. Jeder Vorgang bekommt dann ein Kässtchen mit Vorgangsnummer, Beschreibung und Dauer. Die Dauer musst du halt realistisch einschätzen.

Wenn das alles getan ist werden die Puffer berechnet. Gängigerweise schreibst du oben links den frühesten Anfangszeitpunkt, oben rechts der früheste Endzeitpunkt. Der Früheste Anfangszeitpunkt startet bei 0 und entspricht bei allen weiteren Vorgängen dem größten FEZ der Vorgänger. Der FEZ ist der FAZ + die Dauer des Vorgangs. Beim zurückrechnen werden der späteste Anfangszeitpunkt und späteste Endzeitpunkt berechnen. Beim letzten Vorgang entspricht der SEZ dem FEZ des Vorgangs, bei allen anderen Vorgängen ist der SEZ der kleinste SAZ der Nachfolgenden Vorgänge. Der SAZ eines Vorgangs ist der SEZ - der Dauer des Vorgangs.

Wenn alle Zeitpunkte berechnet sind kannst du Gesamtpuffer und freien Puffer für die Vorgänge berechnen. GP = SAZ -FAZ und FP = FAZ (Nachfolger) - FEZ. Der Pfad wo keine Pufferzeiten hat wird kritischer Pfad genannt. Auf diesem "Pfad" dürfen keine Verzögerungen stattfinden um den Projektendzeitpunkt nicht nach hinten zu verschieben. Bei allen anderen Vorgängen können entsprechend den Pufferzeiten die Vorgänge etwas länger dauern.

grüße
@D13_Dreinig

koschka

Community-Fossil

Beiträge: 2 863

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

3

12.06.2007, 17:50

Ich teile ein Projekt immer in verschiedene Teile auf.

Der erste Teil ist das Analysieren der Problemstellung, die Problemanalyse und der Entwurf, dabei macht man zuerst soetwas wie eine grobe Architektur, diese verfeinert man dann soweit, dass eigentlich alle Klassen/Objekte die man braucht auf Papier/in Editoren sind und man kein Problem mehr findet was mit diesem Entwurf nicht lösbar wäre.
Diese Phase ist besonders wichtig, wenn man im Team arbeitet, sie dauert erfahrungsgemäß wenn man es gut macht, so 1/3 der Zeit, je nachdem mit wievielen Personen man zusammenarbeitet.
In dieser Phase wird keine einzige Klasse gecodet, sie besteht nur aus intensiven Teamgesprächen.

Ein weiteres Drittel gilt dann der Implementierung. Man weiss jetzt bereits alle Klassen, deren Attribute und Methoden. Diese gilt es jetzt zu coden. In diese Phase kommt eine sehr wichtige Teilphase mit hinein, das Testen. Dazu gehören automatische Tests, manuelle Tests, Testprotokolle etc.
Wenn man im Team arbeitet helfen Tools wie CVS/SVN etc. um Projekte zu untereinander im Team zu sharen.

Als letztes beginnt die Dokumentationsphase, das langsweiligste. Je nachdem wie du das brauchst kann es sehr nervig, oder auch entspannt sein.


Zu der Dauer der Schritte und zu Zeitfestlegung:
Ich finde das diese grobe Einteilung durchaus Sinn macht und jede Phase sollte eine feste Zeitspanne zugewiesen werden. Wie groß diese sein muss bekommt man nur durch Erfahrung oder Zeitdruck mit. Ein nicht zu vernachlässigendes Maß ist natürlich die komplexheit der Anwendung, besonders beim Debugging und Testen kann es dort zu verzögerungen kommen. Allgemein gilt aber, wer besser plant hat damit auch weniger Probleme.

Stefan

Alter Hase

  • »Stefan« ist der Autor dieses Themas

Beiträge: 668

Wohnort: Innsbruck

  • Private Nachricht senden

4

17.06.2007, 13:59

Danke für die guten Antworten!

Hab dieses Wochenende mein komplettes Game-Design geschrieben und schon mal mit dem Zeitplan angefangen. Hab das ganze in Meilensteinen eingegliedert und die haben immer eine bestimmte Zeitphase bis sich abgeschlossen sein müssen.

Das ganze hab ich jetzt erst mal nur auf ein Blatt Papier geschrieben und würde es jetzt ganz gerne am PC erstellen. Kennt ihr dazu eine gute Software? Freeware wäre super. MS Project sieht gut aus, ist mir aber leider zu teuer =)

FreeMind hab ich sonst noch gefunden, aber damit glaube ich kann man eher ToDo Lists erstellen...


cya,
Stefan

Werbeanzeige