![]() |
|
|
Themen-Optionen |
|
|
Nach oben #1 |
|
Mensch
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.710
|
Entwicklung eines Projektkonzeptes [Grundlagen]
In diesem Tutorial werden wichtige Grundlagen für ein gutes Projektkonzept vermittelt. Es ist nicht Ziel des Tutorials tiefgreifendes Wissen über Datenbanken und Programmierung zu vermitteln. Ziel ist es dem Leser eine Art Leitfaden für die Projektentwicklung zu geben, anhand dessen er sich orientieren kann. Ferner wird darauf hingewiesen, dass zum Programmieren mehr als nur eine Programmiersprache gehört. Nach diesem Tutorial solltet ihr in der Lage sein, kleine bis mittlere Projekte selbständig zu planen und zu organisieren. ------------------------------------------------------------------- Vorwort: Dieses Tutorial bezieht sich auf das klassische "Browsergame" (Genre: Weltraumsimulation) als Beispielprojekt. Dieses Beispiel ist gewählt worden, da die Funktionsweise und das Ziel eines Browsergames im Allgemeinen mehr als klar ist und daher nicht näher erläutert werden muss. Es wird vorausgesetzt, dass ein gewisser Grad an Vorwissen vorhanden ist:
------------------------------------------------------------------- 1. Ohne Konzept und Planung - Geht das? Die Idee ist meistens schnell gekommen. Man hat drei Browserspiele gespielt und will nun die besten Eigenschaften der jeweiligen Spiele in einem einzigen Spiel kombinieren. So einfach und schnell die Umsetzung der Idee erscheint, so einfach und schnell ist auch die Langeweile beim Projekt angekommen. Man programmiert die einzelnen Features der Spiele nach, lässt Paint erstrahlen um ein Design zu erstellen und wundert sich dann, warum außer den eigenen Kumpels keine Leute kommen und mitspielen. Die Werbung fürs eigene Spiel auf diversen Portalen für Browsergames ist schnell und leicht gemacht. Plötzlich ist die Useranzahl bei 200 Leuten. 150 davon sind nach 7 Tagen schon wieder gekickt, weil sie inaktiv waren. Alle anderen beschweren sich über Bugs, mangelndes Design, schlechte Spielbalance und dass du scheinbar zu lange brauchst um Fehler zu beheben. Fazit ist, du hast 6 Monate deine Freizeit geopfert und programmiert. Nun hast du keine Lust, dich im Forum als inkompetent und langsam beschimpfen zu lassen. Du schmeißt alles hin und machst was anderes. Damit dir das nicht passiert, gibt’s hier ein paar Tipps. ------------------------------------------------------------------- 2. Vorraussetzungen Auch die beste Idee bringt dir nichts, wenn dir die wichtigsten Dinge fehlen um diese umzusetzen. Du solltest dir also im Klaren sein, dass einige Vorraussetzungen vorhanden sein müssen:
3. Die Idee zu einem Projekt Bevor du dich nun an die Planung des Projekts machst, überlege, welchen Sinn und welche Bedeutung dieses Projekt für dich hat. Desweiteren solltest du das Projekt auf Realisierbarkeit und Zeitaufwand untersuchen. Stehen Stresssituationen bevor (z.B. Prüfungen), so verschiebe das Projekt etwas, ansonsten läufst du Gefahr, über die Zeit das Interesse daran zu verlieren. Ebenfalls musst du schauen, ob es dieses Projekt nicht schon irgendwo gibt. Wenn doch, warum solltest du mehr Erfolg haben als das schon existierende Projekt? Warum sollten die Leute zu dir kommen und spielen und nicht zum anderen? Du brauchst also nicht nur die Idee an sich, was du machen willst, sondern auch etwas an der Idee, dass Einzigartig ist und dir den Erfolg garantiert. Wenn du jetzt immer noch sicher bist, dass dein Projekt ein Erfolg werden kann, dann bist du auf dem richtigen Weg. ------------------------------------------------------------------- 4. Brainstorming Du hast also eine Idee, doch was nun? Als erstes wird ein Brainstorming veranstaltet, sprich du sammelst und sortierst deine Gedanken. Eine sehr gute Brainstorming-Software ist das Tool FreeMind (http://freemind.sourceforge.net/). Dort kannst du Gedanken wunderbar festhalten und einfach mit Drag&Drop sortieren, unterteilen und vertiefen. Schnell wirst du merken, dass du vor Ideen für Features nur so übersprudelst. Wichtig ist nun allerdings, auch mal Abstand zu bekommen. Wenn du merkst, dass eine Flaute an Ideen auftaucht, dann mach eine Pause und hol dir einen Kaffee. Danach kannst du dich nochmals ransetzen und beim überfliegen der bisher gesammelten Ideen werden die noch einige weitere einfallen. Wenn du das ein paar mal wiederholst, hast du innerhalb einer Woche schon ein sehr gutes Gerüst, was dir jederzeit aufzeigt, was du an Ideen hattest. Bevor du dich der nächsten Phase zuwendest, empfehle ich dir, dich mit einem Vertrauten deiner Wahl zu treffen. Mit ihm kannst du alles besprechen, du kannst ihm dein Brainstorming zeigen. Je weniger du ihm erklärst, desto interessanter und hilfreicher werden seine Fragen an dich sein. Du wirst feststellen, dass er Sachen sieht und auf Ideen kommt, die dir bisher verborgen geblieben sind. Du wirst auf Missstände hingewiesen und erfährst so die Möglichkeit, diese zu korrigieren, bevor es sehr aufwändig wird. Nach einigen Treffen werdet ihr beide übereinkommen, dass euch nichts mehr einfällt. Alternativ zu dem Vertrauten sollte auch intensiv überlegt werden, ob das Projekt alleine überhaupt zu bewältigen ist. Überlege, ob dir jemand bei der Realisierung des Projektes helfen könnte. Tipps zum Teammanagement findest du in einem der folgenden Kapitel. Das ist der Zeitpunkt für den nächsten Schritt. ------------------------------------------------------------------- 5. Datenanalyse Nun kommt die nächste Grundlage deines Spiels, die Datenhaltung. Du musst herausfinden, was du alles an Daten speichern musst und willst. Du musst überlegen, in welcher Form diese Daten vorliegen und in welcher Art und Weise diese miteinander verknüpft sind. Fangen wir im groben an (allgemeine Datenbankkenntnisse vorausgesetzt Das erste was du brauchst ist ein Blatt Papier und ein Bleistift. Du kannst allerdings auch das Brainstormingtool deiner Wahl verwenden. Dort hältst du fest, welche Daten du brauchst:
Auch diese Liste solltest du mit deinem Freund durchgehen, denn er findet sicher auch dort noch etwas, dass du vergessen hast. Wichtig sind auch Überlegungen zu Features, deren Priorität anfangs sehr gering ist:
Anfangs geht dies gut mit Brainstormingtools wie FreeMind, allerdings kann es noch nützlich werden, die Datenbank in Access oder einem vergleichbaren Datenbanktool einzutragen, damit die Beziehungen zwischen den Tabellen leicht und übersichtlich erstellt und nachvollzogen werden können. Ebenfalls helfen solche Tools auch beim Erstellen von Datenbankabfragen, sollten sie denn mit korrekten Daten gefüttert worden sein. Hast du die Datenbank fertig, kannst du dich an den Entwurf für deine Programmierung setzen. ------------------------------------------------------------------- 6. Programmierentwurf Bevor du dich an dein Projekt, ransetzt musst du dir im Klaren sein, wie du programmieren willst. Da OOP gerade in größeren Projekten einen wichtigen Vorteil bringt, solltest du dich generell für OOP entscheiden, da ein Projekt sich normalerweise immer weiterentwickelt und größer wird. Du brauchst also am Anfang einen Plan deiner Features, wie du was aufbauen willst und was für Techniken du verwenden willst (z.B. Templatesystem). Anhand dieses Plans kannst du entscheiden, welche Klassen dein Projekt braucht, welche Methoden es hat, welche Übergabewerte sie benötigen und was sie zurückliefern sollen. Viele verlieren die Sicherheit des Projektes schnell aus den Augen, hier hast du die Möglichkeit gleich ein eigenes Sicherheitssystem zu entwickeln. Vergiss also nicht die "Sicherheitsklasse" mit der du überprüfen kannst, ob Eingabe- und Übergabewerte korrekt sind. Steht diese Klassenstruktur, so kann es weiter gehen. ------------------------------------------------------------------- 7. Programmierregeln Von "Hungarian Notation" bis zum Einrücken gibt es viele wichtige Dinge, auf die man beim Programmieren nicht verzichten sollte. Schreib dir selbst einen Regelkatalog, du wirst feststellen, es wird dir vieles erleichtern, denn du weißt bei mehreren Zehntausend Quellcodezeilen nicht mehr sofort, welche Methode was macht. Die wichtigsten Regeln:
8. Projektstart Wenn du all das hast, kannst du anfangen ein Gerüst für dein Projekt zu entwerfen. Erstelle eine sinnvolle Ordnerstruktur, setze die Rechte für die Ordner korrekt, verhindere den unbefugten Aufruf von Dateien oder Ordnern. Erstelle die ersten Klassen mit leerem Inhalt nach deiner Klassenplanung. Nun kannst du anfangen zu Programmieren. ------------------------------------------------------------------- 9. Teammanagement Solltest du dich dafür entschlossen haben, ein Team zu gründen um dieses Projekt zu realisieren, dann musst du auf ganz wichtige Regeln achten, die jeder deiner Teammitglieder einhalten muss.
------------------------------------------------------------------- 10. Die letzten Tipps: Wenn du feststellst, dass du trotz sorgfältiger Planung und Überlegung doch was übersehen hast, so übernimm die Verbesserung nicht nur im Programm, sondern auch in deinen Planungsdaten (FreeMind, Datenbank, Klassenplan). So kannst du jederzeit sicher sein, dass deine Planungsdaten korrekt und uptodate sind. Wenn dir während der Programmierung auffällt, dass du in einer Methode was vergessen hast und du es just in dem Moment nicht beheben kannst, dann nutze ein Kommentar mit den 4 Buchstaben TODO ( // TODO: Aufgabenbeschreibung ), so kannst du schnell beim durchschauen oder durchsuchen des Quelltextes die Baustellen finden und nachträglich beheben. Komm nicht auf die Idee deinem Gedächtnis zu trauen, sonst wird das eine Suche nach der Nadel im Heuhaufen. Beziehe am Anfang noch einen Kumpel als ersten Tester mit in dein Projekt ein. Sag ihm, was er testen soll und er wird für dich noch eine Menge Fehler finden. Außerdem ist das Sprechen über so ein Projekt bei einem Bier immer äußerst angenehm. Geändert von Jann Hendrik (27.08.2007 um 20:43 Uhr). |
|
|
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [PHP] PHPUnit oder testgetriebene Entwicklung | mepeisen | Tutorials | 1 | 06.12.2007 10:56 |
| Entwicklung des Flash Players 9 für Linux | Ben | Nachrichten | 0 | 26.07.2006 16:22 |
| Apples "neue" Entwicklung :) | bob | Plauderecke | 12 | 16.02.2006 14:16 |
| Steht die Entwicklung des SMF still? | Ben | Plauderecke | 5 | 21.01.2006 18:33 |