Ich studiere derzeit im 2.Semester Informatik in Kempten und wurde letzte Woche mit dem .NET Framework konfrontiert (wems was sagt...). Da ich kein Plan davon hab, hab ich mir gedacht ich lerns indem ich was tolles programmier, was auch nen Nutzen bringt (nich nur Uebungsaufgaben).
Zu den Inhalten wurde ja schon einiges gesagt. Ich werd mal technisch:
Erwarte nicht zu viel von deinem 1. Projekt. Wenn du fertig bist, wirst du erkannt haben, dass du vieles hättest anders machen sollen. Damit dir die gröbsten Klopfer erspart bleiben, empfehle ich:
Datenquelle ist eine Datenbank. Wenn dir der SQLServer zu komplex für den Einstieg ist, dann nimm SQLite. Das ist cool und schlank.
Keine Datenbindung per drag&drop. Wenn du Datasets oder Dataadapter brauchst, schreib sie dir selbst. Bei Änderungen gehen dir sonst u.U. Informationen verloren, das Programm funktioniert nicht mehr und du wirst keine Ahnung haben, warum.
Das gleiche gilt für die Steuerelemente. Verzichte auf frühe Bindung, nur so behältst du die Kontrolle.
MS bietet ein Tutorial an (1. Schritte für die Erstellung von Oberflächen oder so). Lies das nicht!
MS bietet ein Tutorial an (1. Schritte für die Erstellung von Datenquellen oder so). Lies das!
Arbeite von Anfang an objektorientiert und bleib sauber. Klassen, Objekte, Interfaces, Vererbung und Delegate sollten dir ein Begriff sein. Wenn nicht
MS bietet ein Tutorial an (1. Schritte Objektorientierung oder so). Lies das, falls nötig.
Versuch dich nicht selbst an den grafischen Darstellungen. Besorg dir Komponenten aus dem Netz; Grafik ist ätzend.
Verzichte auf ORM, das kommt später.
Zitat:
Zitat von benedikt_rookie
Ein Tipp von mir: Erst anfangen mit implementieren wenn wirklich das Konzept steht. Und dann auch daran halten. Das erfordert halt eine gründliche Planung aber du wirst Dir selber dankbar sein
Schöner Plan, wird aber nicht klappen. Ich hab noch kein Projekt gesehen, dass von Anfang an vollständig und fehlerfrei beschrieben wurde. Man muss in der Lage sein, mit Änderungen umzugehen.
Trotzdem hast du natürlich recht, was das Konzept angeht.
Wenn du die Beherrschung des .NET-Frameworks üben willst, würde ich mir eine einfache und abgegrenzte Aufgabe aussuchen. Letzten Endes steckt mehr Arbeit in einer vernünftigen Spezifikation und Modellierung, die flexibel für weitere Ausbaustufen ist, als im runterhacken des Codes, mit welcher Umgebung auch immer. Trainingstagebuch ist sicher was schickes, aber fang erst mal mit den einfachen Funktionen an, ohne dir was für die Zukunft zu verbauen.
Als Datenspeicher würde ich MS SQL Server Express Edition oder Oracle XE benutzen, die sind kostenlos.
Mandantenfähigkeit ist eigentlich total easy (bei SAP heißt die Spalte MANDT ). Langweiliger ist nur noch das spätere Nachziehen einer vorher vergessenen Mandantenfähigkeit.
__________________
Die meisten Radwegbeschilderungen wurden von Aliens erschaffen.
Sie wollen erforschen, wie Menschen in absurden Situationen reagieren.
Als Datenspeicher würde ich MS SQL Server Express Edition oder Oracle XE benutzen, die sind kostenlos.
Oracle XE ist ein guter Tipp von dir, nur kann man da auch ordentlich Zeit liegen lassen, wenn man nicht genau weiß, was man machen will.
Daher würde ich dir raten, den Datenbankteil so einfach wie möglich zu halten.
Nimm bloß nicht Oracle Außer du hast viiieeel Zeit dich mit der DB rumzuärgern.
Anosnsten würd ich mal überlegen Qt zu nehmen. Aber vermutlich ist das von der Vorlesug her voregeben.
Wäre cool, wenn jeder Benutzer selbst bestimmen kann, was er eingeben möchte zu den Trainingseinheiten. Manchen reicht es km+zeit und eine Bemerkung aufzuschrieben, da nervt dann eine Maske mit 28936 Eingabemöglichkeiten nur.
Grüße und viel Spass.
__________________ Plan für 2012:
Spaß <#> Spaß <#> ... <#> Ffm Mara <#> Urlaub
Datenbanken haben wir in der Volesung noch gar nicht behandelt, das kommt erst naechstes Semester. Von daher werd ich wohl mal schauen, was da benutzt wird und mich einarbeiten... viel zu viel zu tun xD
Bei den Datenbanken solltest du bedenken, dass man da auch nicht alles nehmen kann, wenn man das Programm an andere Personen verteilen will. SQL Express muss dann beim Client auch installiert werden. Gibt noch SQL Compact, ist ne .sdf-Datei, allerdings kann man da keine Stored Procedures nutzen.
Und unterschätz den Zeitfaktor nicht, bastel mir im Moment auch gerade ne Trainings-Software mit WPF und C# und das zieht sich ganz schön hin. Gerade da du ja auch noch Anfänger bist.
Deswegen würd ich mich erstmal auf die wichtigsten Sachen stürzen, und später eventuell erweitern.
Natürlich kannst du vorher schon sammeln, was mal alles vorhanden sein soll, und die weniger wichtigen Dinge, dann später implementieren. Von daher den Aufbau modulartig angehen.
Module könnten sein: - Einheiten, Equipment, Mandantenverwaltung, Datenaustausch mit Polar, Garmin usw.,
Trainingsplaner.
An UI-Controls für die Oberfläche kann ich Telerik-Controls empfehlen, kann man beliebig lange zum Testen benutzen, wird bloß ab und zu mal nen Hinweis eingeblendet. Die Hilfe und der Support von denen sind top.
Wenn noch Fragen sind, immer her damit :-)