Softwareplanung-Desing <-> Implementation (Wechselwirkung)



  • Ich arbeite im moment an einem Softwareprojekt, und bin zum großteil noch in der Denkphase und Planung.

    Auser Programmdesing und Klassendiagramme etc. programmier ich nebei so kleine testprogrämen, umd zu prüfen ob sich einige sachen überhaupt so umsetzen lassen wie man es sich vorstellt.

    Nun wollt ich Euch mal fragen wie ihr es macht.. Da ich ein Perfektionist bin, bin ich ständig wieder Klassendiagrmme und Programmdesing am ummodeln , um die perfekte klassenstruktur und Aufbau zu erreichen. Geht es euch auch so? Da man alleine durch Denken, Diagramme, Strukturen... nicht auf die Optimale struktior kommst, sonder est wenn man mal den Code hinzugefügt hat? Ich habe im augenblick genug zeit aber wenn ich mal unter druck bin will ich trozdem nich alles so hinrozen...:)



  • Ich bin da eher derjenige der losprogrammiert und erstmal was aufs elektronische Papier kriegen muss als Beginn. Momentan werd ich zwangsweise umgestellt auf UML und Planung. Das ist für mich noch die reinste Folter.



  • Ist halt die harte Denkphase.. Planung.. man sitzt da und überlegt sich die diversen Anwendungsfälle (Pflichtenheft) zu dem überleg/plan ich immer so, das das gane dynamscih bleibt... d.h. wenn wa hinzukommt will ich nich mehr viel im kenr code ändern...

    So wie du es machst hab ich es anfangs auch immer gmeacht.. aber dann kommt plötzlich was hinzu und man muss den ganze code um schreiben.. dann wird nur noch gefrimeltd und gerotzt:) und alles hat dann keine still und struktur mehr:)



  • Naja bisher habe ich im Studium auch nur Kleinigkeiten gemacht. Wir haben eben den Schwerpunkt auf Bildverarbeitung und Optotechnik. Sind also keine Informatiker. So richtig am Einsteigen bin ich jetzt erst in der Diplomarbeit.

    Mit Threading beispielsweise hatte ich noch nie viel am Hut.



  • @BorisDieKlinge: Dein Ansatz ist grundsätzlich schon ok, daß man am Anfang prüft ob es überhaupt geht und das Design noch umändert, bis alles läuft. Besser so als später, das ist schon in Ordnung.

    ABER es gibt die Gefahr, daß Du niemals anfängst und zu viel Zeit verlierst, 100%-Perfektion ist nie erreichbar unter normalen Planungsumständen, Du mußt also irgendwann einfach mal den Startschuß setzen. Letztlich kann es Dir trotz der Vorplanung dann doch drohen, daß Du noch was ändern mußt, mit einer gewissen Instabilität und Unklarheit in den Rahmenbedingungen mußt Du einfach leben.



  • Es gibt nicht das perfekte Design. Du kannst nur durch eine Planung verhindern, komplett alles falsch zu machen. Aber sobald ein System immer größer wird, wird auch das Design schwieriger. Ich selber plane nicht bis ins kleinste Detail, weil auch viel Erfahrung reinspielt. Vieles mache ich einfach, weil ich die Designs schon in anderen Projekten hatte. Manche meide ich auch, weil sie in letzten Projekten nicht gut waren. Manchmal denke ich "Klingt cool, werde ich mal demnächst auch einsetzen." Später: "Verdammt, hab ich zwar eingeplant und umgesetzt, aber war ja wohl ein Schuss in den Ofen!".

    Weiterhin kommt man auch erst dann in den Zwang ein Design zu wählen, wenn man in der Umsetzung an einem bestimmten Punkt gekommen ist, den man garnicht vorhersehen kann. Da hilft Planung nichts!

    Übrigens, wenn man ein Framework benutzt, wird meistens schon für bestimmte Dinge ein Design vorgegeben. D.h. dadurch kann man sich lange Planung einsparen, weil sich jemand mit einem Framework bereits schon Gedanken und eine Vorgabe gemacht hat. Nehmen wir das ActiveX und COM+ von MS: ist ein Design, an das man sich halten muß. Hat sich auch bewährt. Da gibt es in dem Punkt nichts mehr zu planen. Viele Java-Entwickler setzen z.B. die Eclipse- oder Netbeans-Platform ein, die auch ein Design vorgeben. Da arbeitet man sich einmal in das Design/Konzept dieser Platformen ein, und kann bei jedem neuen Projekt einfach loslegen.



  • Was ich noch oft mache ist so eine Art prototypisches Design.



  • ja ist echt schlimm.. wollte schon oft mit nen startschuss geben.. aber dann fällt mir immer weider was ein was man besser machen könne oder fexibler...

    Ist meine Art nicht zu frimeln.. der code soll edel übersichtlich einfach und trozdem felxible sein:)



  • Das wird so nicht funktionieren, da Du während der Implementation immer weiter Stellen findest, die Du edler und besser machen kannst. Vor allem wird Dir während der Implementation auffallen, daß es an einigen Stellen doch noch ein besseres Design gegeben hätte. Da mußt Du dann entscheiden, ob Du das änderst oder erst mal einfach weitermachst.

    Trotz aller Eleganz, denke immer daran: die Software gewinnt, die funktioniert.



  • Machst du das alles als Hobby? 😃 In der Wirtschaft wird dein Perfektionismus nicht funktionieren. Irgendwann will jemand (mit dem Geld im Koffer) Ergebnisse sehen. Der wird dir dann nen Vogel zeigen, wenn du ihm sagst, du hast ein paar schöne Diagramme gezeichnet. 🤡



  • Für mich ist das trockene Planen eine Qual. Wenn ich wirklich mal "plane" dann sind das höchstens ein paar Klassennamen mit ein paar Pfeilchen dran und ein paar Sätze was die genau bewirken und ein paar Ideen zur Implementierung.

    Dass man bei größeren Projekten nicht drumherum kommt ist klar, aber ich plane lieber beim Programmieren. Und die OOP bietet einem das ja auch geradezu an, da man Teile voneinandern trennen kann und so übersichtliche Portionen hat. Dann fang ich einfach mal ganz oben an und füll dann ins Kleine aus und während ich das mache bildet sich in Gedanken das Ganze zusammen, wie es aussehen soll.
    Ich komm so beim Programmieren langsamer voran, als wenn ich schon alles fertig geplant hätte, aber dafür muss ich vorher nicht lange da sitzen und mir Vorstellen ob das so überhaupt gehen könnte. Denn so habe ich direktes Feedback.

    Im Team gehts so natürlich nicht (oder doch?), und wenn man mehr Erfahrung hat kann sicher auch besser im Voraus planen, aber bis jetzt fällt es mir so am leichtesten.



  • ja will das ganze halt elegant einfach und sicher programmieren... bisher wird das nur ne simulation software (was da nich so schlimm wäre bei absturz) aber wenn das mal in ner Anlage eingesetzt bei der der Betrieb garantiert sein muss kann ich im chef nicht sagen "Warte ich muss das progamm noch mal sichere schreiben" 🙂 Will das Ding so gut planen das unt testen, das ich mit auch nach nem halbe njahr noch sicher sein kann wenn ich den Code nich mehr so kenne das er 99,98& funktioniert;)



  • So schlampig wie du hier schreibst kann man dir das kaum glauben. 😉



  • manche Schreiben perfekt aber programmieren schlecht;) 🤡



  • Das ist richtig. Aber den Umkehrschluss halte ich fuer unhaltbar. :p


Log in to reply