Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
wenn was schnell geproggt werden muss und es auf aufbau nicht ankommt - dann fang ich einfach ala "quick & dirty" ansatz an zu schreiben (also einfach drauf los)....
ansonsten ist skys ansatz völlig richtig.
1. Analyse = was ist das Problem, was will ich und was soll rauskommen
2. Modelle erstellen - UML, TestCases, Szenarios und Struktur
(bis hierhin braucht man noch keinen Code zu schreiben...)
3. Programmieren....
Bei einer GUI halte ich den Weg: Model - View- Controller am besten, da Model Klassen meist einfach und schnell zu schreiben sind. Die View Ebene ist je nach Anspruch schnell gemacht und dann das Komplexeste - dier COntroller....
ich selber krieg den Koller wenn ich ein UML Diagramm zeichnen muss oder einen Use Case beschreiben soll, wenns irgendwie geht
0. Ein leeres GUI entwickeln, mit Schaltflächen die nichts bewirken usw. -> dem Kunden vorlegen und nochmal über die Funktionalität reden (da kommt dann oft mehr dabei raus, als bei einer schriftlichen Spec).
1. Wild drauf los Programmieren, damit man ein Gefühl für die Probleme bekommt und ein paar Methodenrümpfe schon fertig hat
2. Analyse / Modellierung
3. TestCases für die Teile aus 1) die brauchbar erscheinen
4. Von vorne Anfangen, dabei Implementierung und TestCases gleichzeitig erstellen
Vom theoretischen Standpunkt aus ist die Vorgehensweise von deathbyaclown/sky80 ein richtiger Ansatz. In der Praxis ist es häufig günstiger so vorzugehen, wie Bleiglanz skizziert hat. User Requirements, UML-Diagramme, ausführliche schriftliche Spezifikationen etc. lesen in der überwiegenden Mehrzahl ohnehin nur Fachleute und keine Endnutzer.
Daneben sollte man nicht zu spät an die Dokumentation des Programms denken, also Programmhilfe, Handbuch und natürlich Dokumentation des Codes (Javadoc etc.).
Ich arbeite nicht halb so professionell wie die dbac und sky80... bei meinem aktuellen Projekt (derzeit 250 Klassen & Interfaces, und funktionierend :wink: ) arbeite ich nach folgendem Schema:
Code:
* Solange es ungelöste Probleme gibt
| Überschlafe das erste Problem einmal
| Schreib mal eine graphische Oberfläche die zu dem Problem passt
| Zeichne ein paar Icons zur Oberfläche
|
| Den Quellcode zu all den Algorithmen und Datenstrukturen schreiben, welche benötigt werden.
| Das Programm starten
| * solange es Exceptions gibt
| | Die Exception auf die eine oder andere Variante eliminieren
| -
-
Mit UML und etc. habe ich mich noch nie aufgehalten, was nicht in meinen Kopf passt, ist falsch designed.
Dafür schreib ich praktisch immer gleich die Doku, die Erfahrung zeigt, dass das wirklich keine verschwendete Zeit ist...
Ach ja, auch wenn dies die sogenannte "try & error"-Methode ist, sie funktioniert, solange man die Probleme in klar überschaubere Unterprobleme teilen kann.
Ich arbeite nicht halb so professionell wie die dbac und sky80... bei meinem aktuellen Projekt (derzeit 250 Klassen & Interfaces, und funktionierend :wink: ) arbeite ich nach folgendem Schema:
Code:
* Solange es ungelöste Probleme gibt
| Überschlafe das erste Problem einmal
| Schreib mal eine graphische Oberfläche die zu dem Problem passt
| Zeichne ein paar Icons zur Oberfläche
|
| Den Quellcode zu all den Algorithmen und Datenstrukturen schreiben, welche benötigt werden.
| Das Programm starten
| * solange es Exceptions gibt
| | Die Exception auf die eine oder andere Variante eliminieren
| -
-
Mit UML und etc. habe ich mich noch nie aufgehalten, was nicht in meinen Kopf passt, ist falsch designed.
Dafür schreib ich praktisch immer gleich die Doku, die Erfahrung zeigt, dass das wirklich keine verschwendete Zeit ist...
Ach ja, auch wenn dies die sogenannte "try & error"-Methode ist, sie funktioniert, solange man die Probleme in klar überschaubere Unterprobleme teilen kann.
Es ist auf jeden Fall empfehlenswert, sich frühzeitig mit den Refactoring Methoden der neueren GUIs vertraut zu machen (IDEA, Eclipse)!
Damit ist es relativ simpel, sein ganzes "Design" völlig umzukrempeln und neu zu strukturieren, ohne dass man gleich ganz von vorne anfangen muss. IMHO braucht man heutzutage nicht mehr tagelang über einen "OO Entwurf" zu grübeln, den man dann später eh nicht so umsetzen kann
Auch das Refactoring-Buch von Fowler ist für "fortgeschrittenere" Programmierer lesenswert (selten bei einem Computer-Buch)
scheinbar bin ich noch von der alten schule - aber ich will vorher wissen was ich implementiere !
Trotz der Refactormöglichkeiten der IDEs habe ich keine Lust draufloszuhämmen und nach zig Zeilen Code zu sehen dass es schwachsinnig und neu gemacht werden muss...
Auch wenn die UML Diagramme auch während der Entstehungszeit des Programms abgeändert werden will ich eine Übersicht von dem haben das ich mache !
klar - für jemanden zu schreiben der es selbst noch nicht weiß erschwert die vorbildliche Arbeit imens :wink:
ich habe bis jetzt immer für mich bzw. für Leute programmiert die sagten: "Das soll rauskommen, mach es gut und wie ist dir überlassen".... aber z.b. werde ich gewiss nicht meine DP Arbeit schreiben ohne nicht ein UML diagramm zu zeichnen....
Ich habe das auch mal so ähnlich gelernt wie deathbyaclown. Allerdings tendiere ich heute dazu, wild drauflos zu programmieren und während des Programmierens alles oder teilweise einige Methodenimplementierungen über den Haufen zu werfen.
Spätestens dann nehme ich mir mal Zettel und Bleistift in die Hand und skizziere zumindest den Pseudocode.
Meistens ist die Vorgehensweise bei mir aber vom Umfang des Programmes abhängig.