hallo,
ich schildere kurz mal mein Vorgehen beim Erstellen von Projekten , wobei ich natürlich nicht alles vollständig wiedergeben kann:
1. Lastenheft vom Auftraggeber ( Auftrag, was möchte der Kunde ?), im LH ist nur grob skizziert, welche Funktionen die Anwendung haben soll
2. Pflichtenheft erstellen ( zusammen mit Auftraggeber, meist durch Interviews von Mitarbeitern, um eine genaue Vorstellung von der Aufgabe zu bekommen.
Zuerst machst du eine IST-Analyse, das heisst, wie wird der Geschäftsvorfall momentan gehandelt.
Ins PH kommt jetzt wirklich alles, was das Programm im einzelnen können muss
( selbst einzelne Menüpunkte kommen ins PH)
Die Links von shadowdancer waren schon gut

Ausserdem solltet ihr einen Kostenplan und einen Zeitplan erstellen, damit es bei Projektabschluss keine Tränen gibt.
3. jetzt treten wir in die nächste Phase. Hier erstellen wir UML-Diagramme, DB-Schematas, usw. ( WICHTIG: Nur soviel, wie nötig denn , was änderst du, wenn sich der Geschäftsvorfall in weiteren Gesprächen ändert bzw. spezifiziert ? Dann änderst du wieder alle Diagramme, was enorm viel Zeit stiehlt !)
bei der Erstellung von UML-Diagrammen mache am besten zuerst deine "Use Cases"
http://ivs.cs.uni-magdeburg.de/~dumke/UML/
und konstruiere dann nach deinen Anwendungsfällen die Klassen
4. Ausprogrammieren der Klassen
4.1 Erstellen der GUI ( bei Bedarf)
5. Testphase
6. fortlaufende Dokumentation
sollte schon ab der Erstellung des Pflichtenheftes vernünftig´geführt werden
Ebenfalls sollte man bei Bedarf techn. Dokumentationen ( Doku der Klassenmethoden etc.) sowie Kundendokumentationen erstellen.
7. Implementation beim Kunden und TEst vor Ort
8 . hoffentlich selbst einen GEWINN erwirtschaften
wie ihr seht, ist das Programmieren heutzutage nicht mehr so wichtig , wie noch vor 10 Jahren.
Wichtiger ist die vernünftige Planung eines Projektes, da es hier die meisten Schwachstellen gibt ! Wer kennt das nicht, ihr habt einen Auftrag und fangt sofort zu Coden an . das geht bei kleineren Anwendungen, aber bei grösseren ( z.B verteilte Anwendungen) ist solch ein Vorgehen nicht mehrmöglich, da hier ein falsches Vorgehen enorm viel Geld und Zeit verpulvert.
P.S. das ist wirklich nur ein Bruchteil von dem, was mir bei dem Thema einfällt,
damit werden schon ganze Bücher gefüllt.
Sicher ist auch nicht alles vollständig,aber ich hoffe, dass für den einen oder anderen einige neue Aspekte des Programmierens hinzugekommen sind !