Software für Schwimmtrainer

Hallo Leute,

ich bin Schwimmtrainer und will meine tägliche Arbeit in eine Applikation umsetzen. Habe mir auch selbst etwas C# und Java beigebracht, diverse Beispiele und Tutorials durchgemacht. Leider fehlt es mir an einiges Stellen um mein Projekt durchzuziehen.

Ich habe schon so ziemlich alles im Kopf, was das Programm können soll:

  • Schwimmer und verschiedene Trainer verwalten und in Trainingsgruppen(mit Trainingsstätten und - zeiten) gruppieren
  • Serien verschiedener Arten eintragen und speichern(Pyramiden, Treppen, variierende Abgangszeiten, etc)
  • Trainingspläne durch Auswahl der Serien erstellen(evtl auch Zufallsworkout anhand verschiedener Kriterien)
  • Wettkampfverwaltung(Meldungen erstellen, Ergebnisse einlesen, Bestzeiten ermitteln)
  • Tests erstellen und Auswerten(für Zielzeiten in bestimmten Serien)
  • Statistiken über verschiedene Kennzahlen
  • Drucken
  • Emailversand
  • Updatefunktion
  • Evtl Multilanguage

Das Projekt soll entweder in C# oder in Java geschrieben werden.

Wobei ich jetzt Hilfe gebrauchen könnte:

  • Wie plane ich das Projekt?
  • Wo fange ich an?
  • Jemand der meinen Code dann “verschönert”/optimiert
  • Wie veröffentliche ich die Anwendung?
  • Wie reiche ich Updates weiter?

Wenn sich da jemand finden könnte, wäre das super.

Vielen Dank schonmal

Moin,

ganz ehrlich?
Versuche es mal hier: http://forum.byte-welt.net/forums/96-Jobangebote-Gesuche

Gruß
Klaus

Ich unterstütze den Vorschlag von @vfl_freak .
Das was Du da vor hast ist für einen Anfänger 'ne Nummer zu groß.

bye
TT

Da kann ich vfl-freak nur zustimmen. Ich denke, dass du den Aufwand ziemlich unterschätzt. Alleine als Anfänger wird das nichts, es sind zu viele Dinge, die du dir aneignen müsstest.

Vor allem sollte schon von Anfang an die richtige Architektur gewählt werden (klingt hier so, also ob Client-Server nötig wäre), dahin kommt man nicht mit evolutionären Schrittchen von einem Standalone-Programm, das muss gleich “richtig” gemacht werden.

ich sehe das nicht so schwarz wie die anderen, vor allem weil ich genau so angefangen habe. Ohne grosse Kentnisse ein System fuer eine Musikschule geschrieben.

Vor allem wenns nur fuer dich ist, so ist erstmal egal ob und wie die Architektur - kein Schwein braucht anfangs ein Projektplan mit vollstaendingen Requirements etc.

Erstmal klar werden in welcher Sprache du es machen willst, dann in welcher Umgebung (Web, Desktop etc) und dann einen Punkt von der Liste rausnehmen und versuchen anzufangen.

Ich wuerds auf alle Faelle probieren, wie gesagt da ich aussagen wie “das muss gleich “richtig” gemacht werden” als falsch ansehe

Zu Updates: Besser wenn der user auf eine website geschickt wird und das selbst macht, denn sonst bräuchtest du ein zweites “Programm”, das das Update durchführt. Versionskontrolle natürlich möglich.

Zu dem Rest: Alle Anforderungen sind viel zu unscharf formuliert, dH mach dir am einfachsten eine Skizze, wie alle Masken aussehen sollen.

Ne email verschicken, ist ja kein Problem, wenn du dich an die Protokolle.

Aber das ist schon eher ein Job.

Die Frage ist eigentlich, willst Du Programmierer werden oder Schwimmtrainer bleiben.

Wenn letzteres, dann solltest Du Dir jemanden Suchen, der das für Dich umsetzt.

Wenn ersteres solltet Du dich jetzt mit grundlegenden Prinzipien der Programmierung beschäftigen. Da C# und Java genannt wurden liegt der Schwerpunkt bei Objektorientierer Programmierung.

Wenn Du verstanden hast, was (z.B.) “Information Hiding”, “separation of concerns”, DRY und KISS bedeuten (also was damit gemeint ist…) kannst Du mit dem Vorschlag von @bygones weiter machen.

bye
TT

beides geht nicht ? Ein Schwimmtrainer darf nicht programmieren und ein Programmierer darf nicht Schwimmtrainer sein ?
Ok, wenn er die Olympiamannschaft trainiert mag Schwimmtrainer und Programmierer gleichzeitig zeitmaessig schwierig werden, aber sonst…

was ist so schlimm wenn einer aus Spass fuer sich eine App schreibt, die sich um diese Prinzipien erstmal nicht so kuemmert ?! Weltuntergang.
Natuerlich ist es leichter mit all dem Wissen dies zu schaffen, aber wenn man anfangs Cowboyhacking betreibt lernt man auch und lernt dann dass KISS nicht unbedingt was mit einem Partner zu tun hat oder die Band gemeint ist.

Es klingt so als ob man erstmal alles wissen muss um sein erstes programm zu schreiben, und natuerlich haben wir das auch alles bei den ersten programmen gewusst und sicher angewandt.

So Leute…

Also mir ist klar, dass ich das alles nicht auf anhieb hinbekomme… Ich hab hier auch nach Hilfe gefragt. Nach Ansatzpunkten, durch die ich dann weiterkomme…

Noch zu den unklaren Punkten:

Ich würde C# als Sprache bevorzugen und SQL LocalDB als Datenbank(Wenn ich das mal an andere Trainer weitergeben will, muss ich nicht Online einen SQL bereitstellen).

[quote=bygones]beides geht nicht ? Ein Schwimmtrainer darf nicht programmieren und ein Programmierer darf nicht Schwimmtrainer sein ?[/quote]Doch, aber nicht für so ein Projekt, das sich über verschiedene Bereiche erstreckt, da ist ja neben der eigentlichen Programmierung noch das DB-Design. Und wenn man mit einer “kleine” Anwendung anfangen will, die dann wachsen soll muss man sich einfach an bestimmte Regeln halten (und die auch kennen), damit das Wachstum möglich ist.

[quote=bygones;99325]was ist so schlimm wenn einer aus Spass fuer sich eine App schreibt, die sich um diese Prinzipien erstmal nicht so kuemmert ?! Weltuntergang.[/quote]Weil das Projekt dann nie fertig wird.

[quote=bygones;99325]Es klingt so als ob man erstmal alles wissen muss um sein erstes programm zu schreiben, und natuerlich haben wir das auch alles bei den ersten programmen gewusst und sicher angewandt.[/quote]Nein, aber das erste Programm sollte was einfaches sein. Kein Projekt das ohne 3Tier-Architektur und MVC schlicht zum scheitern verurteilt ist.

bye
TT

so we agree that we dont agree @Timothy_Truckle

muss man sich einfach an bestimmte Regeln halten (und die auch kennen), damit das Wachstum möglich ist.

WElche Regeln sind denn das? Die zu Erfahren, wäre doch mal ein Anfang.

[quote=bumblebeeman]WElche Regeln sind denn das? Die zu Erfahren, wäre doch mal ein Anfang.[/quote]In meinen Antworten habe ich schon mal (insgesamt) 6 genannt.
Weitere wären:
[ul]
[li]Programmieren gegen Interfaces,
[/li][li]“prefer Composition over Inheritance”
[/li][li]“tell, don’t ask”,
[/li][li]“don’t talk to Strangers” (auch “Law of Demeter”),
[/li][li]“Single Abstraction Layer”,
[/li][li]“Dependency Injection” (auch “Inversion of Control”).
[/li][/ul]
Und Du solltest Dich dringend mit dem Konzept von UnitTests beschäftigen. Da gibt’s einige Videos im Netz, leider alle englisch…

Für die Datenbank kommen dann noch mal die 6 Stufen der Normalisierung dazu (wobei man nur in Sonderfällen über die 3te Normalform hinausgeht…)

Ich denke, dass ist für den Anfang schon mal 'ne Menge Holz.

bye
TT

Danke… dann kann ich mich jetzt damit mal beschäftigen und weitersehen… Ich will auch nichts vorgekaut bekommen, aber ich muss auch nicht jedes Rad neu erfinden. Und wenn jemand weiß, WO ich nach WAS suchen muss, dann kann ich damit auch was anfangen.

… können irgend wann Konsitenzprobleme entstehen

Konsitenzprobleme werden hier soweit vermieden

Moin,

[QUOTE=bumblebeeman]
Ich würde C# als Sprache bevorzugen [/QUOTE]
dann würde aber doch mal in ein entsprechenden C/C++/C#-Forum nachfragen - und nicht hier :slight_smile:

Zudem habe ich aber auch aus Deinem ersten Post den Eindruck gewonnen, dass Dir die ganzen Basics fehlen … oder hast Du einen grundlegenden Ansatz, den Du posten könntest ?

Gruß
Klaus

[QUOTE=vfl_freak;99338]Moin,

dann würde aber doch mal in ein entsprechenden C/C++/C#-Forum nachfragen - und nicht hier :slight_smile:

Zudem habe ich aber auch aus Deinem ersten Post den Eindruck gewonnen, dass Dir die ganzen Basics fehlen … oder hast Du einen grundlegenden Ansatz, den Du posten könntest ?

Gruß
Klaus[/QUOTE]

Noch nichts in Quellcode… Alles in meinem Kopf bisher… Ich werde mich wohl am Wochenende mal an ein UML-Modell oder zumindest auf Papier an die grobe skizzierung machen. Dann wird das wohl alles schon viel klarer und ich sehe wohl auch besser, wo ich noch nacharbeiten muss… Heute und morgen werde ich mal die Themenvorschläge von Timothy_Truckle nachlesen und mir einverleiben…

Nein, er darf sehr gerne auch hier seine Fragen stellen. Es gibt durchaus einige C#-Programmierer hier (auch wenn es quantitätsmäßig sicher kein Vergleich zu der Java-Fraktion ist). Denn das Forum hier beschränkt sich nicht rein auf Java. Umbaumaßnahmen sind ja bereits in der Planung um auch andere Sprachen besser unterstützen zu können (wer sich dafür interessiert, näheres findet ihr hier http://forum.byte-welt.net/threads/12524-Neues-Layout).

Ich persönlich würde mit Java beginnen. Alleine deshalb, weil die Express-Variante von Visual Studio schnell an seine Grenzen stößt und eine vernünftige IDE wichtig ist (ich weiß nicht, was es da für Mono gibt).

Dann solltest Du unbedingt ein VCS einsetzen, um Deinen Quellcode versionskontrolliert ablegen zu können.

Das Projekt hört sich interessant an. Obgleich ich denke, dass dies für einen Anfänger zu groß ist. Irgendwann kommt man in die Wartungshölle und ist nur noch am Fixen und nicht mehr am Featureerzeugen. :slight_smile:

Aber Laufen lernen geht am besten, wenn man es probiert.

Moin,

[QUOTE=Tomate_Salat;99353]Nein, er darf sehr gerne auch hier seine Fragen stellen. Es gibt durchaus einige C#-Programmierer hier (auch wenn es quantitätsmäßig sicher kein Vergleich zu der Java-Fraktion ist). Denn das Forum hier beschränkt sich nicht rein auf Java.
[/QUOTE]
ja, das ist schon klar !
Ich wollte eigentlich nur andeuten, dass man dann dort vielleicht einen intensiveren Austausch hätte - ok, war wohl unglücklich ausgedrückt :verzweifel:

Gruß
Klaus