Neues Projekt, wie geht ihr vor?

EuroCent

Klappstuhl 2.0
Hallo zusammen,

aktuell kommt immer mal bei mir die Frage auf, wie Ich ein Projekt umsetze.
Ich persönlich brauche immer eine Visuelle Darstellung damit Ich weiß wo und wie Ich anfange.

Mir teilte man aber auch immer mal mit, von Hinten nach vorn zu arbeiten...
Sprich ich baue vorweg Funktionen und dann das Template?!

Aber wenn Ich selbst noch keinen direkten Schimmer habe, woher weiß vorher, welche Funktionen ich brauche?

Wie gesagt Ich persönlich kann ohne eine Vorstellung nicht in blaue los Programmieren :/

Wie geht Ihr in solchen Sachen vor?
 

Zvoni

Erfahrenes Mitglied
Wenn das Programm eine GUI hat, entwerfe ich immer die GUI zuerst, und zwar komplett (Control-Names, Gruppierungen usw.) und lass die GUI im ersten Versuch einfach laufen, um zu prüfen, ob z.B. Option-Buttons korrekt gruppiert sind etc..
Als nächsten Schritt mache ich meistens die Plausi-Checks für Eingabe-Controls
(Beispiel: Wenn es ein Login gibt, wo der User Name und Passwort eingeben soll, macht es mMn keinen Sinn, eine Schaltfläche enabled anzubieten, wenn nur der Name drinsteht. Ich zwinge den User, in erforderlichen Feldern Einträge zu machen, bevor ich ihm eine Schaltfläche anbiete, auf welche er klicken kann).
Ist die GUI fertig, geht es an die BL (Business-Logic).
Da folge ich generell dem eigentlichen Ablaufprozess.
Beispiel:
Ein User muss sich einloggen. (Plausichecks für die Felder schon erledigt).
Nächster Schritt: Validierung der eingegebenen Daten (Ist UserName/PW gültig ja/nein. Falls Ja, weiter, falls nein Rückmeldung, wobei ich hier immer zuerst die negative-Ergebnisse abarbeite. Ist das fertig, gehts an den nächsten Schritt).
Auf diese Weise bleibe ich im Workflow des Prozesses, welcher durch das Programm abgebildet werden soll.
 

EuroCent

Klappstuhl 2.0
Bei uns muss er sich nicht einloggen :D
Aber geprüft werden muss es dennoch :)
Da er durch SSO des PC und seiner Windows Kennung automatisch erkennt wird :)

Welches Programm zur GUI verwendest du denn? :)

Ich nutze NetBeans, Notepad++ da wird es etwas schwierig mit der Visuellen GUI :)

Ein anderes Programm lässt unser Unternehmen aktuell nicht zu :/

Deine Logik wäre dann fast die der meinen. :)
 

Zvoni

Erfahrenes Mitglied
Kommt drauf an. Bei der Arbeit so ziemlich 99% VBA/Excel (ist halt so bei uns :sneaky:)
Ansonsten kleinere Sachen in Freepascal/Lazarus.
Und das mit dem Login war ja nur ein Beispiel.

Ich hatte erst letzte Woche eine Anforderung für einen Excel-Report. Genau wie oben beschrieben, bin ich im übertragenen Sinne drangegangen:
1) Wie soll der fertige Bericht aussehen (also welche Spalten, Farben, Formatierungen etc. --> User Interface)? --> Im Prinzip ein Dummy-Ergebnis erstellt
2) Wo kommen die Daten her? --> Datenbank
3) Aufbereitung der Daten (=Business Logic) inkl. Übertragung der Daten in das Ergebnis

Als der Chef zu mir ein "gut gemacht" sagte, habe ich ihm die SQL-Abfrage ausgedruckt in Word bei Schriftgrösse 12 in die Hand gedrückt. Er hat mich nur angeschaut und gefragt: "Und was soll ich jetzt mit diesen 6 1/2 Seiten Kauderwelsch machen?"
Die letzte Zählung ergab insgesamt 11 Tabellen-Aliase mit den entsprechenden Joins (LEFT/INNER JOIN) mit jeweiligen Group By's, Row_number over Partition und haste nicht gesehen. Allein für die SQL-Abfrage sass ich ca. 3-4 Tage dran, aber die Vorgehensweise war im Prinzip diesselbe: Ich fing mit der Spalte am weitesten links an, und hab mich dann vorwärts gehangelt.
 

Yaslaw

alter Rempler
Moderator
Ich beginne meistens anders rum. Aber ich hbae meistens auch keine klaren vorgaben was GUI usw angeht.

- Was soll der Kern können
- Zusammensuchen der Komponenten die ich brauche
- Aufbau des Kerns und testen (also den Motor beim Auto)
- Dann die Steuerung und das GUI.

Es kommt halt drauf an. Ist es ein hochkomplexes GUI, aber fast keine Logik im Kern, dann mit dem GUI beginnen.
Ist das GUI nur Beigemüse und es ist wichtig, was der Kern macht, dann mit dem Kern beginnen.
 

EuroCent

Klappstuhl 2.0
Ah... okay :)
Ich bekomme meistens Aufgaben/Anforderungen wo grob beschrieben ist was gewünscht wird.

Darauf baue Ich einen Entwurf, ist der Entwurf durch und akzeptiert, dann gehe Ich ins Eingemachte und fange dann an, mir die Funktionen zu notieren und zu Programmieren... :)
 

Technipion

Erfahrenes Mitglied
Wenn ich ehrlich bin hängt mein Vorgehen entscheidend von der zu entwickelnden Software-Komponente ab. Ist ja eigentlich logisch. Will man eine Navigationssoftware für Embedded Systems schreiben muss man komplett anders vorgehen als bei der Entwicklung eines Webforms.
Und selbst dann bleibt da auch immer noch ein bisschen der persönliche Geschmack. Manche bauen halt lieber erst GUI dann Kern. Andere bauen erst einen Kern (womöglich sogar als komplett unabhängiges Kommandozeilenwerkzeug) und bauen später eine GUI drumherum.

Vielleicht kannst du ja noch ein bisschen genauer beschreiben was du tun willst EuroCent? Natürlich ohne zu viel zu verraten ;)

Gruß Technipion
 

EuroCent

Klappstuhl 2.0
Vielleicht kannst du ja noch ein bisschen genauer beschreiben was du tun willst EuroCent? Natürlich ohne zu viel zu verraten ;)

Mein Vorhaben ist, dass Ich Anforderungen bekomme, in dem nur grob geschildert wird, was ein Tool "Vergleichstool von Anbieter als Beispiel" machen soll.

Beispielsweise: Möchte der Anforderer dass mit dem Tool ein Auswahl von Speed, Anbieter etc möglich ist, zusätzlich muss die Möglichkeit geben Dynamisch die Daten zu ändern.
Also mit DB Anbindung.

Mein Problem welches Ich immer habe ist, dass Ich es als Visuelle Darstellung benötige damit Ich weiß wie Ich an die Sache ran gehen muss.

Habe Ich eine Darstellung mit fiktiven Daten etc... präsentiere Ich dass dann dem Anforderer.
Ist er Zufrieden dann Fang Ich an und Konstruiere die Funktionen etc...

Ein Kollege meinte da zu Mir, dass Ich von hinterher anfangen müsse, also erst Funktionen und dann das Gerüst darum... was für Mich aber eher schwierig ist, da Ich ja gar nicht weiß was Ich vorweg alles brauche :D