Wie setzt man ein größeres Programm um?



  • Hi

    ich hab jetzt schon einiges versucht und komm immer net weiter. Ehrlich gesagt bin ich am verzweifeln.

    Ich kann C++ die Sprache ist echt kein Problem für mich. Auch kleinere Tools und Programme sind kein Akt.

    Aber so bald das ganze etwas größer wird komm ich irgendwie aus dem Takt und es klappt nix mehr.

    Daher meine Frage an die Profis die schon ein paar Spiele und/oder Programme geschrieben haben.

    Wie plant ihr so ein Programm?
    Wie geht ihr vor?

    Thx DerVerzweifelte

    PS: Sorry wenn das Offtopic sein sollte dann verschiebt es bitte in das richtig Forum



  • nun ja, du solltest dir halt im klaren sein, was du alles schaffen willst. ich mach mir da immer konzeptblätter oder mindmaps. dann versuche ich das geplante stück für stück abzuarbeiten, und bei bedarf zu erweitern.



  • ich würde dir ja gerne helfen, aber ich habe das gleiche problem 😉

    am besten jemand fragen, der schon Computerspiele umgesetzt hat



  • das problem hatte ich auch immer.... ich benutze jetzt immer DIA... damit kann man schöne UML diagramme erstellen und dann setzte ich die geplanten sachen um...

    das diagramm ist recht gut, da man später noch weiß, wie was zusammenhängt.. wenn man sonst über 10 klassen hat, dann weiß man später auch nicht mehr so recht bescheid...



  • Hallo,

    Aber so bald das ganze etwas größer wird komm ich irgendwie aus dem Takt

    Diese Erfahrung hat wohl jeder von uns gemacht. Die Lösung heisst Software Engineering.

    Habe bei google folgenden Link gefunden:
    http://www.ifi.unizh.ch/groups/req/courses/se_I/

    Jeder Prof. hat seine eigenen Vorstellungen, aber unserer hat sehr viel Wert auf das Komponentenmodell gelegt: http://www.sdm.de/de/unternehmen/fe/quasar/index.html

    Hier das dazugehörige Buch:

    Das Buch richtet sich an alle, die verstehen wollen, wie man große Systeme aus Komponenten zusammensetzt.

    http://www.sdm.de/de/it-wissen/themen/quasar/index.html

    Ich kann dir das Buch nicht 100ig empfehlen, weil die meisten Programmbeispiele vorwiegend in Java geschrieben sind. Aber so als Denkanstoß: schau dich mal nach Software Engineering um.

    MfG



  • womit genau hast du denn Probleme? Was meinst du mit "du kommst aus dem Takt"?



  • DerVerzweifelte schrieb:

    Wie plant ihr so ein Programm?
    Wie geht ihr vor?

    versuch erstmal, das grosse komplexe gebilde in kleinere einheiten zu unterteilen, die jede für sich eine teilaufgabe übernehmen. dann denkst du dir aus wie diese einheiten sich untereinander verständigen sollen. ob im kopf oder auf papier ist eigentlich egal. erst wenn du das hast solltest du anfangen zu coden. eine oo-sprache unterstützt dich dann bei der implementierung, ist aber nicht bedingung



  • Ich mach das so, wie die meisten wohl auch: ich Plane meine Programme vorher (indem ich die Funktionen meines uml-programms verballhorne 😃 ). Ich mache ein großes uml-sheet, indem ich die verschiedenen Klassen bzw. Teile des Programmes und ihre beziehung darstelle. Ich schreibe in die Klassen vorerst noch keine Methoden/Elemente, stelle nur ihre beziehung unter einander dar, denke mir die Methoden und ihr zusammenspiel nur. Danach mache ich alle Teile des Diagrammes transparent. Dann setze ich der Reihe nach voneinander unabhängige Teile des Programmes um und teste sie. Sobald ich einen Teil als fertig befunden habe, aktualisiere ich das uml-sheet: transparenz des Teils weg und Methoden eintragen [was dann regelmäßig zu Platzmangl und Kommentaren mit dem Inhalt "nicht aufgeführt" führt :D]. So arbeite ich mich Stück für Stück voran. Früher bin ich auch an "größeren" Projekten gescheitert: entweder hab ich die Übersicht verloren, oder es kamen keine Ergebnisse zustande... Jetzt zwinge ich mich immer zu der o.g. Vorgehensweise, zumindest mir hilft das. Ich habe zurzeit ein riesiges uml-shett mit mehr als 100 (teilweise sehr kleinen oder sogar leeren) Klassen. Zumindest der core-teil färbt sich langsam weiß. Mittlerweile hab ich auch schon drumrum ein bisschen was implementiert und ein mehr als 500 Zeilen main.cpp, von der ca. 10 Zeilen main und der Rest test1..test10 sind.



  • hallo

    schreibts Du ein Musikprogramm ? Die Studioversion ? Sprachtest ist fertig 🤡

    "Test, Test, Test " - " 1, 2, 3 " 😃



  • DerVerzweifelte schrieb:

    ...ich hab jetzt schon einiges versucht und komm immer net weiter. Ehrlich gesagt bin ich am verzweifeln.

    Ich kann C++ die Sprache ist echt kein Problem für mich. Auch kleinere Tools und Programme sind kein Akt.

    Aber so bald das ganze etwas größer wird komm ich irgendwie aus dem Takt und es klappt nix mehr.

    Daher meine Frage an die Profis die schon ein paar Spiele und/oder Programme geschrieben haben.

    Wie plant ihr so ein Programm?
    Wie geht ihr vor?

    Also aufgrund meines Alters, meiner Erfahrung, den Projekten die ich bearbeite hatte und mir weiter angetragen werden, möchte ich mich schon als Senior Architekt/Engineer bezeichnen. Trotzdem bin ich der felsenfesten Überzeugung, dass wenn man mein fachliches Wissen von heute in die Vergangenheit in den Schädel von mir im Jahre 1995 transferieren würde, wären meine Resultate im Softwareengineering damals kein Stück besser gewesen. Vielleicht würde ich sogar aufgrund des Informationsumfang nicht wissen, wo ich anfangen sollte und effiziente Wege auslassen, die ich sonst eingeschlagen hatte - viel Schnickschnack! 😉 Mal abgesehen davon, dass die Softwaretechnik nicht so weit entwickelt war ...

    Fazit:
    Einzig meine Erfahrungen sind der Schlüssel zu meinen Fachwissen. Ich könnte dich zu zumüllen mit 'State-of-Art-Buzz-Words' zum Software-Engineering, was vielleicht andere schon getan haben und deshalb Deine 😕 ³. Aber was ich hier klarstellen möchte ist das Software-Engineering eine Vielzahl von interdisziplinären Fähigkeiten verlagt:

    - es beginnt schon mit den Anforderungs- und Changemanagement, also was die Kunden und Systeme verlangen.
    - dem Konfigurationsmanagement, das Einzelfragmente zu eine Gesamtlösung liefert.
    - dem Risikomanagement und Controlling (ggf. auch AM), was auf einen zukommt wenn man bestimmte Dinge anfasst.
    - dem Dokumentieren, Korrespondieren und Präsentieren in fliessenden Deutsch und Englisch (Redaktion).
    - der Qualitätssicherung/dem Testen.
    - der Anforderungs-/Businessanalyse.
    - dann sind Softskills gefragt, um mit Leuten klarzukommen. Das Wichtigste von Allem, um große Projekte zu bearbeiten, sind Selbstführungskompetenzen!!! Du glaubst nicht wieviele Unternehmen schon bei mir anriefen, weil sie Freiberufler feuern mussten, die hierbei zu schwach "bestückt" waren.
    - und da die Projekte größer sind, hast Du im Regelfall auch ein Team zu leiten (Verantwortungsposition/Beratung).
    - and last-not-least Branchen/Fach-Knowhow.

    Die Softwaretechnik - Hochspache, UML, DBMS, OS, Middleware etc - machen nur ca. 10-15% aus. Schon eine Menge Holz, nur weil die "Spielchen" anfangen größer zu werden 😉 ...

    cu

    P84



  • Prof84 schrieb:

    Selbstführungskompetenzen!

    Was ist das? 🙂



  • Griffin schrieb:

    Prof84 schrieb:

    Selbstführungskompetenzen!

    Was ist das? 🙂

    http://www.google.de/search?hl=de&q=selbstmanagement&meta=



  • Dafür hab ich doch meinen Psychologen. 😃



  • ich schreib mir immer ein Softwaredesign Dokument - oder wie auch immer das man nennen will - Beispiel:
    http://turing.fh-landshut.de/~jamann/AlphaBlender - Softwaredesign Dokument.pdf

    fertiges Programm:
    http://turing.fh-landshut.de/~jamann/dev09.03.2005.JPG

    auf die Idee so was zu machen bin ich gekommen nachdem ich das Buch Softwareentwicklung in C durchgelesen habe - ist ein Anfängerbuch für C Programmierer in dem es nicht nur um Syntax und Semantik sonder halt auch um die eigentliche Entwicklung geht - das Buch ist kostenlos als PDF Datei (legal) im Inet zu finden

    außerdem gibt’s einen "Nachfolger" Softwareentwicklung in C++ - beide Bücher haben, aber als Zielpublikum Anfänger - daher wird auch nicht all zu tief in die Thematik Software Design eingegangen



  • Wenn wir schon grade beim Thema Bücher sind. In welcher Kategorie kann ich solche Bücher über Projektplanung & -realisierung finden?

    • Software-Design
    • Software-Architektur
    • Software-Projekte

    Also in welcher Kategorie von Amazon kann ich solche Bücher finden? Buchtips sind willkommen! 🙂



  • Also in welcher Kategorie von Amazon kann ich solche Bücher finden? Buchtips sind willkommen! 🙂

    Also nach meinen eigenen Erfahrungen kann ich wohl behaupten, dass Bücherwissen erstmal nichts bringt. 😃
    Ich hab zu viele Bücher gelesen, ohne die Dinge jemal ausprobiert zu haben. Ist natürlich Mist!
    Ich würde mal Prof84 zustimmen und sagen, dass da viel mit Erfahrung zu machen ist. Sprich originäres Wissen und nicht derivates Wissen.
    Aber wenn du ein Buch willst, guck bei Software Architektur nach.

    @Prof84: Was würdest du denn bei Selbstmanagement für Lektüre empfehlen? Ich hab whl bald mal wieder Zeit sowas zu lesen.



  • Hm ich programmier ehrlichgesagt drauf los wenn ich allein dran arbeite und sehe zu das ich meine Objekte in sich abgeschlossen mache.
    Aus diesem Ganzen Papierkram habe ich mir noch nie sonderlich viel gemacht, hab nie mehr als die "Aufkritzeln, programmieren, danach wegwerfen" Zettel gemacht und komm damit auch recht gut klar.

    Wenn man von der 1000 zeiligen Datei nur 2 Methoden nachher für den Rest des Programmes braucht und der Rest quasi private ist verliert man nur schwer den Überblick 😉

    Naja und man muss sich auch mal die Zeit nehmen etwas zu überarbeiten, auch wenn dadurch nur der Code übersichtlicher wird und es sonst keinen Fortschritt gibt.

    Und zuguterletzt braucht man ne Menge Erfahrung mit großen Projekten, damit man nicht versucht alles zu verstehen sondern nur die Teile die relevant sind erstmal 😉
    Man geht da dann irgendwie anders ran finde ich.
    Wenn du bei nem Millionen Zeilen Projekt alles durchliest und versuchst zu verstehen obwohl du nur die Farbe von nem Osterei ändern willst musst du noch üben :p .
    Und wenn du die Zeilen alle selbst geschrieben hast und jedesmal wenn du die Farbe des Ostereies ändern willst alles aufs Neue versuchst zu verstehen noch mehr.



  • Griffin schrieb:

    @Prof84: Was würdest du denn bei Selbstmanagement für Lektüre empfehlen? Ich hab whl bald mal wieder Zeit sowas zu lesen.

    " ... irgendwann habe auch ich erkannt, dass es ein himmelweiter Unterschied ist, ob man den Weg nur kennt oder ihn beschreitet!
    (Morpheus in Martix (I))

    Selbstmanagement ist einer der Themen, wo Du mehr gegen Deine eigenen Persönlichkeits-/Charakterschwächen als gegen irgendeine Erkenntnislücke kämpfen musst.
    Von diesen Bereichen haben wir einige im Leben:

    - Frauen anzubaggern und/oder aufzureißen.
    - sich einen neuen Job zu suchen.
    - Aufträge und/oder Kunden zu akquirieren.
    - Freunde zu finden.
    - sich den Drogenkonsum abzugewöhnen.
    - sich körperlich zu kultivieren oder fit zu halten.
    - seine Wohnung oder Büro in Ordnung halten.
    - sein impulsives Verhalten abzulegen.
    - sich seinen Ängsten zu stellen.
    u.s.w.

    Hierbei gilt anfangs: Sobald Du anfängst groß nachzudenken, hast Du schon verloren! Was nutzen Dir also Tonnen von Literatur?
    Du musst es einfach machen und zwar sofort!!! Wie sagte einst Napoleon:

    ""Ich habe zwar Schlachten verloren, aber nicht eine Minute meines Lebens verschwendet."

    Und was immer die Geschichte über ihn sonst sagt - er war ein Macher. 👍 Ein Großmeister im Selbstmanagement. Was uns zu einer der wichtigsten Eigenschaften für erfolgreiches Selbstmanagement bringt - Disziplin! Es war kein Zufall das der Kaiser der Franzosen General war. 😉 Denk an diese Kung Fu Filme, wo die Schüler erst durch sadistische Übungen zur Selbstdisziplin gezwungen wurden, damit sie dann als One-Man-Army losstiefeln konnten... 😃

    Level 2 ist dann die Erkenntnis, dass es mit einer (gewonnen) Schlacht nicht getan ist. Ob Dir die Perle an Bar, die Du gerade anbaggerst voll einen in die Eier gibt, darf keinen Einfluss darf haben, ob und wann Du die Nächste anbaggerst. Einzig das 'Wie' sollte sich etwas verbessert haben. Zu diesen Zweck kannst Du gerne den Playboy lesen, Attraktionsforschungen betreiben oder einen Sensibilitätskurs machen. Manchmal genügt auch einfaches Nachdenken (Post-Mortem-Analyse) ... Jedenfalls muss zuerst die Praxis vor der Theorie kommen. <ot>Früher hätte die Evolution dafür gesorgt, dass die Waschlappen aussterben. Heute gibt es leider Flirt-Chats! 😃 </ot>

    Ein Unternehmensberater für Existenzgründungen sagte vor fünfzehn Jahren mal zu mir:

    "Eine starke Unternehmerpersönlichkeit mit einen schwachen Konzept (Businessplan) ist besser als umgekehrt!- Denken Sie an Pizzabäcker - 10 DM und die bringen Ihnen die Pizza noch nach Hause. Ich weiß nicht, wie die davon leben können. Aber es funktioniert offensichtlich. Während ich Andere kennengelernt habe, die Super-Konzepte und -Erfindungen entwickelt haben, aber zu blöd waren auch nur einen Kunden zu gewinnen."

    Auch bei mir ist es so, dass wenn ich anfange mir aufgrund irgendeines Vertriebsgespräches Hoffnungen auf einen Auftrag zu machen oder gar beginne damit zu kalkulieren, habe ich schon verloren. Ich muss sofort den nächsten potentiellen Kunden anrufen, als hätte das Gespräch nie stattgefunden.

    Level 3 ist dann die Erkenntnis, dass man nicht von heute auf morgen seine Angewohnheiten ablegen kann. 2-3 Tage und - bubb - die guten Vorsätze sind wieder für den Arsch. Jemand der mir erzählt, er hätte noch nie versagt, dem gebe ich schriftlich, dass sein Leben absolut bedeutungslos ist und im Allem nur Durchschnitt. Die meisten Menschen, die gewaltsam versuchen sich zu ändern, versagen dabei. Aber nur die Winner stehen nach dem Abpraller wieder auf, allerdings 1 cm größer und wiederholen Ihren Fehler nicht und nehmen wieder Anlauf ;). Und die Loser begraben ihre Träume und Hoffnungen, lassen sich vom Unterschichten-Fernsehen berieseln und haben Schwierigkeiten vor 10.00 aus dem Bett zu kommen ... "Rassieren brauchen wir uns auch nicht und der Jogginganzug ist Standard. Ich habe doch alles versucht! Schröder ist Schuld, das ich mir jetzt mein Auto nicht mehr leisten kann! Die Chinesen sind Schuld, denn die haben jetzt mein Job. Meine Frau ist Schuld, sie hat mich verlassen. Meine Kinder respektieren mir auch nicht. Alle sind Schuld! Nur der Karl-heinz ist noch in Ordnung, der ist genauso ein armes Schwein wie ich. Mit den gehe ich wieder Saufen und auf Schalke ... 😞 "
    Ich bin sicher, die Meisten unser Langzeit-Arbeitslosen würden diese Passage unterscheiben, wenn sie ehrlich wären.

    Fazit:
    Bei Selbstmanagemnt ist der wichtigste Impuls Spontanität und Kontinuität. Nicht das 'Wie'!!
    Das 'Wie' erfolgt durch rekursive Praxisreflexion.
    Learning by Doing. Genau wie beim Software Engineering ... 🕶


Anmelden zum Antworten