Thema Simulation

  • Thema Simulation

    Hallo zusammen,

    ich bin gerade auf der Suche nach Ideen für eine einfach umzusetzende Simulation.
    Sie soll folgende Anforderungen erfüllen:
    • mindestens 3 Zufallsvariablen, von denen mindestens 2 gauß-normalverteilt sein sollen
    • eine einfache grafische Ausgabe
    • eine erkenntnisleitende Fragestellung muss beantwortet werden
    Beispielsweise habe ich überlegt, eine Windenergieanlage zu simulieren, da dort unterschiedliche Daten zusammen kommen die auch zufällig generiert werden könnten (Wind, Temperatur, Maschinenstatus, etc.) aber ich weiß nicht genau, wonach ich dabei fragen soll.
    So richtig überzeugt bin ich auch nicht von der Idee. ^^
    Falls also jemand Anregungen zu Themen oder Erfahrungen in dem Bereich hat, wäre ich für Input sehr dankbar! :P
  • Ja, das klingt nach einer sinnvollen Fragestellung, danke! =)

    Habe für das Projekt noch zwei Monate Zeit, möchte aber frühzeitig anfangen, damit es gut und vernünftig wird. So kann ich mir auch in Ruhe Gedanken über das Konzept machen, also GUI, welche Daten ich nutze, Architektur etc.

    Alternativ hatte ich überlegt, für ein fiktives RPG einen Charakter zu simulieren mit Angriffswerten, Rüstung, etc.
    Dafür fällt mir aber auch keine Fragestellung ein. Den Dreh dafür habe ich noch nicht raus. :P
  • Hi,

    kleine Bemerkung am Rande.... viele "Projekte" scheitern dran, das man am Anfang "denkt", man hat noch Zeit....
    Ich weiß zwar nicht, wie hart deine Deadline ist, aber wenn diese Projekt wichtig für dich ist, dann leg Dir einen Zeitplan zurecht, was Du bis wann fertig gestellt haben möchtest. ;)

    Viele Grüße Carsten
    Humor ist....wenn man trotzdem lacht :saint:
  • Interessant, bei uns in der Berufsschule nehmen wir Zurzeit Energie durch.
    Im Vordergrund steht das Energiesystem der Schweiz.

    Eine coole Idee währe doch, die Simulation so zu programmieren das sie mit den Wetterdaten deines Wohnorts arbeitet.
    So könnte man mit der aktuellen Windgeschwindigkeit den Energiegewinn berechnen usw.
    Ein Windkraftwerk hat meines Wissens ein Wirkungsgrad um die 50% nun ist es jedoch so, das wenn ein Energieüberschuss herscht, muss die Energie irgendwie zwischengespeichert werden.
    Durch das speichern verliert man Grundsätzlich meist sehr viel Energie. Zum Beispiel hat ein Speicherkraftwerk "nur" ein Wirkungsgrad um die 75%.
    Mit solchen Daten könnte man ein sehr komplexes Stromnetz aufbauen bzw. simulieren.

    Ich würde nach Daten von deinem Wohnort suchen und diese sinnvoll in die Simulation einbauen.
    Die Schweiz macht Jährlich eine Auswertung Ihres Energiegewinn und Verbrauch, sehr interessant:
    bfe.admin.ch/themen/00526/0054…?lang=de&dossier_id=00763
  • @toad: Jetzt habe ich schon angefangen... :P Grobe Gedanken habe ich mir vorher gemacht, aber um mir Deadlines setzen zu können müsste ich mein Projekt auf dem Papier durchgeplant haben. Wie würdest du daran gehen? Hast du dazu praktische Tipps?

    @Simi576: Danke für deine Vorschläge! Das klingt in der Tat sehr gut. Ein ganzes Stromnetz zu simulieren sprengt wahrscheinlich den Rahmen meiner Arbeit, aber vielleicht kann ich sie im Nachhinein erweitern. ;)
    Für Deutschland werden vom Statistischen Bundesamt ebenfalls Daten erhoben und veröffentlicht, die schaue ich mir auf jeden Fall an.
    Die aktuellen Wetterdaten eines Wetterdienstes zu beziehen und einzubinden sollte ich hinbekommen, das habe ich in einem der Tutorials von Google zu Android Development schon gesehen.
  • @Nolyn:
    hi, es gibt da verschiedene Ansätze.
    Als erstes solltest Du Dir ein Lasten / Pflichtenheft zurecht legen. --> also Zielsetzung definieren und unter Kontrolle halten.
    z.b. hier zu finden:
    projektmanagement-definitionen…r-projektauftrag-vorlage/
    Jede Abweichung während des laufenden Projekts verschiebt unweigerlich Dein Ziel / Deine Terminierung nach rechts. (--> Verspätung)
    Um Dich selbst im Auge / unter Kontrolle zu halten solltest Du Dir einen Projektplan und somit Termine bzw Meilensteine zurecht legen
    Z.B. den hier
    sixsigmablackbelt.de/projektplan-excel-kostenlos-vorlage/
    Auch hier der Tip: Eine Nicht-Einhaltung der Termine verschiebt Dein Ziel des Projekts nach rechts. (auf der Zeitschiene --> Verzug)

    Wenn Du allerdings Dein Ziel noch nicht klar vor Augen hast, dann wäre evtl was der Scrum-Ansatz was für Dich.
    scrum-master.de/Was_ist_Scrum/Scrum_auf_einer_Seite_erklaert

    Hier ist der Ansatz, das auch am Anfang ein gewisses Chaos zugelassen wird.


    Nichts desto trotz liegt beiden eine gewisse Disziplin zu Grunde.


    Wenn Du mehr über Projekt-Management mal lesen möchtest, dann würde ich Dir noch die Seite Nahe legen:

    pmi.org/

    Die haben auch noch ein Quasi-Standard-Werk rausgebracht:

    pmi.org/pmbok-guide-standards

    Um Deine Frage zu beantworten, wie ich es machen würde:
    1. Projekt Überschrift definieren --> somit Zielsetzung des Projekts festlegen
    2. Rahmenbedingungen festlegen --> was soll meine App können ?
    3. Was sind obligatorische Parameter ? (Was soll meine App zwingend können, was ist optional ?)
    4. Zeitschiene festlegen --> was ist bis wann machbar / realisierbar ? Welcher Baustein braucht wie lange, um programmiert werden zu können ?
    5. Reihenfolge der Programmierung festlegen. Priorisierung der Bausteine. was muss zuerst programmiert werden ?
    6. Terminierung RTL (right to left) --> Rückrechnen vom Ziel des Projekts (wann muss es fertig sein ?) bis zum heutigen Datum. Wenn noch Luft ist--> sehr gut, wenn Du mit einen Datum älter als heute rauskommst --> blöd, dann hättest Du bereits anfangen müssen 8)

    Das wäre der grobe Ablauf. Erhebt selbstverständlich nicht den Anspruch der Vollständigkeit :) ....und darf gerne von meinen Mitlesern noch ergänzt werden.
    Hoffe das es Dir trotzdem ein wenig weitergeholfen hat.

    Viele Grüße Carsten
    Humor ist....wenn man trotzdem lacht :saint:
  • Wow, das ist eine Menge nützlicher Infos! :)
    Mein Problem bei der strukturierten Planung ist vor allem, dass ich noch nicht einschätzen kann, wie lange die einzelnen Schritte dauern.
    Ich habe z.B. Donnerstag einen spinner implementiert, heute (Sonntag) funktioniert er aber immer noch nicht so, wie er soll.
    Diese Daten kann ich für die Planung meines nächsten Projekts aufnehmen, um dessen Planung zu verbessern, aber für dieses Projekt hilft das leider wenig. Immerhin ist es mein Erstes... :-[
    Trotzdem werde ich versuchen, wenigstens eine grobe Planung auf die Beine zu stellen, das übt ja auch! :P
    Woher nimmst du denn die Zeitangaben für deine Projektpläne? Sind das Erfahrungswerte, die du gesammelt hast?

    Viele Grüße und Danke für die Antworten!
  • Hi,

    genau DAS ist der springende Punkt, weshalb man sich selbst einer Kontrolle und einer Disziplin unterwerfen soll.
    Beim Erstellen eines Projektplans ist man (wenn man nicht gerade 30 Jahre Projekt-Erfahrung mit hunderten Projekten auf ein und dem selben Gebiet hat) auf eine Schätzung angewiesen (vielleicht könnten hier einige Kollegen aus dem Forum aus dem beruflichen IT-Umfeld helfen ???). Daher dann auch der Projektplan mit Meilensteinen. Hier hast du die Kontrolle, wo Du Dich befindest und kannst frühzeitig erkennen, wo und vor allem wann es aus dem Ruder läuft. Die Kunst hierbei ist wirklich (leider) eine möglichst realistische Einschätzung hin zu bekommen.
    Dabei spielen viele Faktoren eine Rolle. (tägliche verfügbar Zeit, Erfahrung in dem Thema, Anzahl der Resourcen, etc.)

    Um Deine Frage zu beantworten... ich mach Projekte, die nicht unbedingt hart im IT-Umfeld angesiedelt sind (Software ist hier eher das Werkzeug). Allerdings wird bei uns nach einer etwas anderen Vorgabe gearbeitet. Aber auch hier ist der erste Projektplan eine grobe Schätzung. Anhand der Meilensteine (G0-G10, siehe Bild, rote MS sind zwingend vorgesehen, die anderen sind eher zur Eigenkontrolle) finden immer wieder Kontrollen (auch mit einem Gremium/Team/Kollegen) statt, die sozusagen als Feedback-Schleife agieren um festzustellen, wo wir uns wirklich befinden und ob der gesteckte Zeit-/Projektrahmen immer noch "on track"ist. Wenn nicht, dann wird dagegen gesteuert. Wie ? Das wird dann in diesem Gremien festgelegt (mittels Aktionsplan)
    Hier würde ich Dir wirklich empfehlen, auch mal Dein Umfeld (Mitschüler ? Kommilitonen ? Freunde ? etc.) zu konsultieren und Dir deren Meinung einholen (so denn sie Ahnung vom Thema haben...), um ein Feedback zu bekommen, aber auch um Infos / Anregungen einzuholen.

    Erfahrungswerte sind es bei mir in soweit, das ich bei G0 bereits "Experts" konsultiere und mir hier deren Meinung einhole. Jedes Projekt was ich bisher (in der jetzigen Funktion) gemacht habe, gab es in der Version vorher nicht, daher sind für mich solche Projekte immer Neuland gewesen ;)
    (ja ich habe mich auch einige Male verschätzt...aber das gehört dazu :) )

    Viele Grüße Carsten
    Bilder
    • LBIP.png

      281,98 kB, 2.352×680, 26 mal angesehen
    Humor ist....wenn man trotzdem lacht :saint:
  • Mich würde mal interessieren welche Programmiererfahrung er hat. Denn wenn er zu wenig hat und sich erst alles mühselig erarbeiten muss. Bringt die Zeit Planung wenig.

    Wenn er vom Donnerstag bis Sonntag noch nicht einen Spinner lauffähig erstellt hat, denke ich das er noch Anfänger ist und da ist eine Zeiteinschätzung sehr schwer. Denn er muss immer wieder nebenbei lernen und Recherchieren das kostet Zeit die nicht Einschätzbar ist.

    Wieviel Zeit hat er denn ich meine hat er den ganzen Tag Zeit oder ist er noch anderweitige Beruf Schule Studium beschäftigt. Dann ist meist nicht viel Freizeit.

    Planungen zu erstellen wo man Geschultes Fachpersonal zB. Handwerks Firmen hat ist meiner Meinung etwas leichter als wenn man das eigene können einschätzen soll.

    lg Jörg
    Ein Feedback auf Tipps ist auch schön. :P
  • Hi,

    deshalb hatte ich geschrieben, ob hier evtl noch einige Kollegen aus dem Forum evtl eine Einschätzung abgeben könnten (das ist nämlich außerhalb meines Erfahrungsbereichs), wie lange solche Programmierungen von einzelnen Bausteinen dauern können. Danach kann man das ja noch mit einem Beginner-Faktor versehen und regelmäßige Lern- / Kontroll-Zeitpunkte ( mit "Fachkräften" hier aus dem Forum, oder Freundes-/Bekanntenkreis) einbauen. Damit hätte man ein erstes Grundgerüst.
    Mir geht es ja nur darum, das er sich grundlegend einmal Gedanken macht (@Nolyn: darfst Du meinet Wegen gerne hier im Forum mal Deine Gedanken zur Diskussion stellen und wir geben Dir dann hier Feedback ?).
    Wie gesagt, ohne Disziplin und ständige Kontrolle geht so etwas in die Hose und ich würde es schade finden, da Nolyn sich hier schon an uns gewand hat und somit den ersten Schritt, um Hilfe zu erbitten, schon gemacht hat.

    @Nolyn:
    Wie würdest Du denn Deine eigene Programmier-Erfahrung einschätzen ?
    In welchem Rahmen ist diese Projekt zu sehen ? (Studium ? Ausbildung ?)

    Viele Grüße Carsten
    Humor ist....wenn man trotzdem lacht :saint:
  • @toad: Danke für deine Anregungen und Erfahrungen!

    Ich bin eher ein Anfänger. Seit August letzten Jahres mache ich eine Ausbildung zum Fachinformatiker für Anwendungsentwicklung. Die Theorie der Informatik und der Programmierung beherrsche ich, in der Praxis fehlt es mir allerdings noch an Erfahrung.
    Durch Java sehe ich auch schon gut durch, mein Problem ist i.d.R. die einzelnen Bausteine in Android zu verbinden und dann ins UI einzubauen, aber ich merke da schon, dass ich Fortschritte mache. :)
    Das Projekt läuft im Rahmen meiner Ausbildung. Ich werde auch Unterstützung in meiner Firma bekommen, habe allerdings gerade Berufsschulzeit.
    Das Problem mit dem Spinner habe ich zusammen mit einem Mitschüler gelöst. Er "baut" auch eine App als Projekt und ist schon etwas länger dabei, kann (und will) mir also erste Fragen beantworten.
    Eine grobe Planung habe ich inzwischen aufgestellt und wenn ich in diesem Tempo weiter vorankomme, schaffe ich es auch bis Mitte März, fertig zu werden. :P
    Momentan sitze ich jeden Tag mindestens eine Stunde am Projekt. Da ist vor allem Recherche dabei und dann die Umsetzung, also die eigentliche Programmierung. Ich muss mir aber noch einmal genau überlegen, wie mein Programm aufgebaut und strukturiert sein soll, musste schon mehrfach Klassen umschmeißen oder verschieben. Den Entwurf könnte ich auch hier vorstellen, falls ihr da mal drauf schauen wollt... ;)

    Viele Grüße!
  • So, hier kommt erstmal mein Projektplan. Ich habe 2 Wochen von meinem Chef bekommen. Bei den einzelnen Zeiten musste ich grob schätzen, habe daher 2 Tage pro "Feature" eingeplant.
    Zusätzlich habe ich meine Planung angefügt. Die Auswertung möchte ich mit achartengine machen, die Animation würde ich gerne mit OpenGL machen, falls das nicht klappt würde ich für den Rotor eine ImageView rotieren lassen und den Turm als eine zweite ImageView einfügen.

    Die physikalische Berechnung habe ich fertig, ich hoffe dass es recht leicht in Modelle übertragbar ist.
    Als Modelle habe ich einmal eines für die Windenergieanlage mit den festlegbaren Parametern und ein weiteres Modell für die Zufallsparameter.

    Für Planung und Recherche habe ich ca 3 Arbeitstage gebraucht. OpenGL und achartengine habe ich noch nie benutzt, bei den charts kann mir mein Arbeitskollege aber helfen. OpenGL lerne ich gerade. Ich habe das Tutorial auf der offiziellen Android-Website gemacht und hoffe, dass es reicht, um eine geometrische Figur zu rotieren.

    Viele Grüße
    Bilder
    • Simulation_schedule_image.JPG

      128,91 kB, 1.240×701, 10 mal angesehen
    • Planung_image.JPG

      73,15 kB, 790×611, 10 mal angesehen
  • Hi,

    projektplanersich schaut das doch schon mal recht gut aus. ( wobei ich 2 Wochen für sehr sportlich halte....aber das ist meine persönliche Meinung)- Ich drück Dir die Daumen :)

    Hast Du während der Projekt-Phasen auch "Feedback-Schleifen" eingebaut, damit du weisst, das Du auf dem richtigen Weg bist ? (z.B. mit nem Kumpel, mit Kollegen oder mit dem Chef ??)

    Und hast Du bei den Parametern auch Limits mit eingeplant ? (WEA schaltet sich bei einer bestimmten Windgeschwindigkeit ab und dreht sich aus dem Wind...somit sind nicht beliebige Parameter möglich)

    Viele Grüße Carsten
    Humor ist....wenn man trotzdem lacht :saint:
  • Hi Carsten,

    die 2 Wochen sind von meinem Chef vorgegeben, falls das, was ich mir überlegt habe, zu viel dafür ist, muss ich irgendwo auf dem Weg kürzen.
    Das ist also alles eine Lernmöglichkeit für mich.
    Ich habe aber nach den zwei Wochen Vollzeit auf der Arbeit noch ca einen Monat, bis ich die Simulation wirklich abgeben muss, kann also privat oder in Leerlaufphasen noch das eine oder andere verbessern. :P
    Feedback bekomme ich direkt von meinem Kollegen, der unsere firmeneigene App programmiert hat, mit dem ich ein Büro teile und den ich unterstützen werde. Wir sind sozusagen das "App-Team". :)
    Mein direkter Vorgesetzter wird sich die App nach den einzelnen Phasen und evtl. auch zwischendurch ansehen und mir Feedback geben, aber er möchte nicht zu sehr eingreifen, da es meine Arbeit ist und die von meinem Lehrer bewertet werden soll. Er will mir aber sagen, wenn ich völlig auf dem Holzweg bin.

    Alle Parameter sollen Limits haben, damit die einzelnen Simulationen auch vergleichbar sind und auch, damit ich sie besser erweitern kann.
    Würde sie später gerne ausbauen, um mit realistischen oder sogar live Daten arbeiten zu können, aber das schaffe ich sicher nicht bis Mitte März. ;)

    Falls du / ihr möchtet halte ich euch gerne über den Fortgang des Projekts auf dem Laufenden und teile meine Erfahrungen (und lasse mir gerne weiter Tipps geben 8) ).

    Viele Grüße!
  • Hi,

    mich würde der Forlauf dieses Projekts interssieren.... also meinet Wegen darfst Du gerne den Sachstand posten und stehe Dir gerne mit Rat und Tat zur Seite. :)

    (Hab da auch ein leichtes persönliches Interesse..... Durfte meine Projektarbeit im Rahmen einer Weiterbildung bei der Firma E*er*on im Norden machen. War damals allerdings eine Konstruktion aus dem Maschinenbau-Bereich ubd war daher schon mal auf so einer WEA)

    Viele Grüße Carsten
    Humor ist....wenn man trotzdem lacht :saint:
  • Neu

    Update nach ca 1 Woche Arbeitszeit:

    Implementation:
    - Das Grundgerüst inklusive Datentransfer von Activity zu Activity und Datenmodellen steht
    - Berechnung steht, ist aber noch nicht ganz fertig implementiert (aber soweit, dass mit Daten getestet werden kann)
    - Die Auswertung ist implementiert (mit MPAndroidChart)

    Planung:
    - Nach der Planung sind noch vier Tage übrig
    - Die Zeitplanung hat nicht funktioniert (ich bin bisher schneller)
    - Einige Arbeitsschritte habe ich nicht sauber getrennt

    TODO:
    - Graphische Animation
    - UI-polishing
    - Berechnung verbessern

    Fazit:
    - Ich schaffe es noch nicht, ein einheitliches Datenmodell mit Klassendiagramm zu erstellen und danach zu implementieren
    - Ich habe noch keinen guten Überblick über die einzelnen Arbeitsschritte beim Erstellen einer App und was sie genau beinhalten
    - Ich musste nachrecherchieren was bedeutet, dass ich nicht genau bzw. nicht zielführend genug recherchiert habe (evtl. bedingt durch fehlende Übersicht, siehe Punkt 2 vom Fazit)
    - Es ist ein riesen Spaß und eine echte Herausforderung! =)