PHP Projekte / Pflichtenheft

FingerSkill

Erfahrenes Mitglied
So, ich programmiere jetzt seit 4 Jahren mit PHP jedoch hab ich immer das Problem das ich bei groesseren Projekten immer den Ueberblick verliere bzw. auch anfange unsauber zu Programmieren da mir die Uebersicht fehlt. Nun ja da kommt einem ja der Gedanke --> Pflichtenheft.

Nur hab ich in meiner Ausbildung als Mediendesigner/Webdesigner nie gelernt wie man an grosse Projekte herangeht. Also meine Frage/Bitte: Wie geht ihr an groessere Projekte heran , was steht in eurem Pflichtenheft...

Vielleicht koennt ihr mir ja auch eine Kopie, eines Pflichtenheftes, eines PHP Projektes, zukommen lassen?

lg Finga
 
Meinst du mit Pflichtenheft soetwas wie eine Todo-Liste?
Mal noch eine Frage: Arbeitest du mit OOP oder Templatesystemen? Wenn nein, wären das schonmal 2 schöne Dinge, mit denen du die Übersichtlichkeit erhöhen kannst.

Bei größeren Projekten hilft ansonsten eben nur, im Vorraus alles sorgfältig zu planen und zu strukturieren. So dass alles logisch aufgebaut ist. Wenn man das einhält, kann man später vielleicht auch noch alles nachvollziehen ;)
Und eine schöne Todoliste, in der du alle Funktionen, die du in deine Software implementieren willst, abhaken kannst, ist auch immer ganz praktisch :)
 
Also wir mussten in der Ausbildung mal Lasten-/ Pflichtenhefte schreiben und soweit ich mir erinner war es dafür da, das du belegen kannst was der Kunde wollte. Damit er am Ende nicht sagen kann : " Ich wollte noch das und das und das", dann kannst du sagen guck ins Pflichtenheft da steht was du bekommst, der rest kostet extra.
Falls es nicht korrekt ist, berichtigt mich bitte.

Wenn ich es noch finde kann ich es gerne irgendwo Hochladen.

Ansonsten ist wirklich wie meine Vorredner schon beschrieben haben, eine Todo-liste empfehlenswert.

Schreib dir auf was du alles haben willst.
z.b.
1. Registrierung
2. Login
3. Benutzerpanel

usw.

Und das schlüsselt du jeweils wieder auf was es können soll.
z.b.
1. Registrierung
1.1 Nur mit Email adresse, Name, vorname usw.
1.2 Autmoatische email mit Aktivierungslink
1.3 Registrierungscode
usw.

Hoffe es hilft ein wenig.

grüße
crazy_down
 
Generell sollte man bevor man irgendwas macht genau absprechen was es hinterher können soll und was nicht. Soll der Anwender oder die Applikation Thumbs generieren, was für schnittstellen sollen später vielleicht noch realisiert werden. Gut fand ich es bis jetzt auch immer mit leuten die später damit arbeiten sollen, dannach zu fragen wie sie aktuell arbeiten und dergleichen. Es ist natürlich von Projekt zu Projekt unterschiedlich.

Wenn alles steht, das Schriftlich festhalten und unterzeichnen lassen am besten.

Damit hat man ein Dokument wenn später noch andere wünsche kommen, man es extra berechnen kann.

Bei Websites ist es gegebenfalls Sinnvoll ein "Use-Case" Diagramm zu erstellen und eventuell noch ausbessern zu lassen, wenn dem Auftraggeber unstimmigkeiten aufallen oder er dinge anderst haben möchte.

Wenn es um Backends geht die sich in ein Netz aus anderen Applikationen einbinden kann ein Programmablaufplan (PAP) besser sein, das würde ich dann aber eher mit anderen Technikern absprechen ob ich soweit alles richtig umsetzen würde.

---

Wenn dann Theoretisch das meiste klar ist, habe ich selbst meist angefangen mit den Datenstrukturen der Datenbanken / Klassen die es später geben wird, beziehungen aufzeichnen und ausdrucken.


Aber ich denke es kann niemand sagen "mach es so" es ist von Projekt zu Projekt unterschiedlich wie man es am besten Anpackt. Wichtig ist sich nicht nur ein Ziel zu setzen "bis zum 31. fertig" sondern "bilderupload und verwaltung bis zum xx." "userprofiles bis zum xx" Und dann wirklich versuchen die Termine einzuhalten und die Unterschritte abzuschließen.

Ich selbst habe zu den Schritten immernoch eine Liste die alle ein bis zwei Tage neu erstellt wird mit allen Punkten die auffallen, die einem einfallen usw. Jeder Punkt bekommt einen Kreis und eine gewichtigkeit dahinter ++ + - -- Sobald ich mit meinem aktuellen Problem fertig bin werden die ++ gemacht und dannach die + wenn man noch vor dem zeitplan ist, beginnt man mit - und wenn dann wirklich noch zeit ist -- ^^

Es kommen jeden Tag neue Dinge hinzu, andere werden abgehakt. Irgendwann ist es so unleserlich das es neu geschrieben wird.

---

arbeitet man mit mehr als einer Person dann druckt sich jeder eben die Datenbankpläne und die PAP usw aus und es wird darauf gekennzeichnet wer welche bereiche übernimmt.
 
Um noch ein wenig auf die Programmierung ein zu gehen geb ich meinen Vorrednern recht, dass es wichtig ist eine Todo-Liste anzufertigen und den Programmcode in Templates/ in Objekt Orientierter Programmierung zu verfassen! Das macht am Anfang viel Arbeit, aber erleichtert dir später alles ungemeint ( und am Schluss sparst du dir dadurch Zeit und Nerven ).

Aber wie gesagt wichtig ist beim ersten Schritt: Was will ich/der Kunde überhaupt!
;D

Gruß
 
Also ich gehe grundsätzlich so heran:

- Kundengespräch / Projektdefinition
- Definition aller Fähigkeiten der Applikation
- Definition aller benötigten Resourcen
- Entwurf des Programms & Datenbank
- Quelltextplanung
- Programmierung des Programms
- Umfangreiches Testen der Betaversion und Präsentation an Kunden / Tester
- Abschlussarbeiten


Was mir bei der Planung geholfen hat, war der Artikel über Projektmanagement (und vorallem die Querverweise aus dem Text).
Darin sind einige nützliche Informationen enthalten, die sich auch auf ein solches Projekt portieren lassen.
 
Danke fuer die vielen Antworten, also ich mache das meiste privat und just4fun.

Ich Programmiere ausserdem so oft wie moeglich mit OOP, bei kleineren Projekten verwende ich verschachteltem Code, sprich Funktionen in externen Dateien lagern etc...

Was mich eigentlich interessiert ist wie ihr das Projekt auf Papier bringt, sprich wie eure ToDo-List ausschaut. Welche Funktionen/Objekte(Methoden)/Codes etc... ihr wie Plant. Wie ihr arbeitet um alles Strukturiert habt das ihr nicht die uebersicht verliert wenn ihr nach 6 Monaten etwas erweitern/aendern muesst. Kurz wie wird was Dokumentiert? ;)

Gruss Finga
 
Softwareentwicklung sollte aus bestimmten Phasen bestehen, die dazu dienen, das Projekt entsprechend den Wünschen des Kunden, schnell, sicher, funktionell, zeitgerecht und kostengünstig umzusetzen.

Planung
Anforderung und Analyse
Entwurf
Implementierung
Test
-
Wartung

Abwandelbare Pflichtenheftversionen finden sich in der Fachliteratur der Bibo deines Vertrauens ^^
 
Zurück