Planung von kleinen bis großen Projekten!

Yellow

Yellow

Doppel-As
Guten Morgen liebe Community!

Ich habe mir das Buch "C von A bis Z" durchgelesen und bin nun dabei "C++ von A bis Z" durchzulesen.
Nun ist mir aufgefallen das in C++ weitaus mehr Planung für Projekte von nöten ist als bei C (da natürlich auch ;)).


Könnt ihr mir vieleicht gute eBooks oder normale Bücher die sich nur mit Planungen von Projekten im Programmierbereich beschäftigen empfehlen?
Mich würden auch Flussdiagramme sehr interessieren! :)

Liebe grüße

Yellow
 
Ok... bin nun soweit gestoßten das ich den Begriff UML 2.0 aufgefasst habe!

Sollte ich noch irgendwelche Bücher kennen die mit der Planung von Projekten zu tun haben?

Wäre euch für posts sehr dankbar! :)
 
hi,

du kannst Fragen stellen ;)

Also deine Frage ist sehr vage formuliert. Es gibt eine Reihe von Fragen die du erstmal fuer dich selbst klaeren musst:
Geht es dir um kommerzielle oder open source Projekte (imho organisatorisch ein ziemlicher Unterschied)?
Wie ist dein Grundlagen wissen (Algorithmen und Datenstrukturen, UML, OO-Programmierung, Teamarbeit, CVS/SVN/..., Design Patterns, ...)?
Geht es dir um die management oder die technische Perspektive?
Und ganz wichtig, geht es mehr um die Theorie oder mehr um die Praxis?

"Bücher [...] die mit der Planung von Projekten zu tun haben" gibt es wie Sand am Meer. Was du also genau suchst haengt stark von dir ab.

Aber so wie ich dich bis jetzt verstanden habe, geht es dir um die Praxis vom technischen Aufbau von groesseren Programmen, nicht unbedingt um das Projekt Management an sich.
Also dazu mal ein paar Hinweise: Wenn du die Wahl hast, sollte das ganze Objekt Orientiert werden, d.h. du musst Buecher zum Thema OO Programmierung lesen, und wie du schon ganz richtig gemerkt hast solltest du wenigstens die Grundlagen von UML lernen.
Fuer einen Buchtipp in diese Richtung siehe u.a. diesen Thread hier: http://www.unixboard.de/vb3/showthread.php?t=34490

Wenn du das Gefuehl hast OOP halbwegs verinnerlicht zu haben (nach etwa einem Jahr), kannst du dich auch an Design Patterns wagen, siehe ebenfalls oben genannten Thread fuer 2 Buchempfehlungen ;)

Zweitens solltest du dich mit Softwareentwicklungs Tools auseinander setzen. Im allgemeinen solltest du dir also eine nette IDE (ich persoenlich bin ein Fan von eclipse) und ein versioning system (z.B. subversion/svn) suchen. Und je nach Sprache entsprechende build-tools (ant, GNU make, etc.) und einen guten Debugger.

Falls es dir doch mehr um das (kommerzielle) Projekt Management an sich geht, ich persoenlich mochte "Software Project Survival Guide" von Steve McConnell. Das Buch "Code Complete" vom selben Autor soll ebenfalls sehr gut sein, habe es aber selbst nicht gelesen.

Zur Organisation von Open Source Projekten kann ich leider nichts sagen, weil ich mich selber damit nicht Auskenne.

So, und nun muss ich weg, hoffe dir ein paar Denkanstoesse gegeben zu haben ;)

mfg,
bytepool
 
Guten Morgen bytepool!

Danke für deinen Ausführlichen Kommentar zu meiner Frage.

Ja du hast wohl recht... es ist wirklich eine Menge was ich vorher für mich klären sollte um sicher zu sein um was es mir hier geht^^.

Mein wissen bezieht sich auf die Programmierung mit PHP, MySQL, C und C++(bin gerade dabei zu lernen). UML ist wohl jetzt erstmal dann bestimmt sinnvoller da es sich ja um die OO Planung geht oder sehe ich das falsch? Debugger ist auch etwas was ich noch wirklich lernen muß.

Aber werde mir damit noch etwas Zeit lassen :D

Und ob ich open Source schreibe oder Kommerziell!? Uff... da habe ich mir noch NIE gedanken drüber gemacht!

Was mich halt auch einfach noch so interessieren würde ist: "Wie arbeitet man am besten mit selbst gebastelten Headern & Co.?".

Im moment benutzte ich kDevelop und schreibe meine C++-Projekte immer so:

[HEADERS]
-stdfx.h // Alle .h vereint
-computer.h // Klasse Computer
-software.h // Klasse Software

[CPP]
-main.cpp // Hauptprogramm mit nur stdfx.h include
-computer.cpp // für Klasse Computer
-software.cpp // für Klasse Software


Ich vermute mal das ich hier gerade bestimmt voll den Schrott schreibe und ihr Erfahrenen euch gerade kapput lacht^^. Aber im moment mache ich das so und habe öfters mit den includes von den headern etc schwierigleiten. Das ist warscheinlich auch der Grund warum ich nach Projekt-Planung gefragt habe!

Liebe Grüße und danke erstmal

Yellow
 
hi,

das ist doch schon etwas konkreter ;)

Und ob ich open Source schreibe oder Kommerziell!? Uff... da habe ich mir noch NIE gedanken drüber gemacht!
Ok, die Frage ist auch im Grunde nur relevant, wenn es dir um das Projekt Management an sich gegangen waere. Da geht es dann mehr um den ganzen Entwicklungs Prozess an sich: wann sollte man mit welchem Teil der Planung beginnen, wie sollte der Kunde in das Projekt und die Planung eingebunden werden damit es erfolgreich wird, was muss fuer die Qualitaetskontrolle getan werden, usw. usf.

Aber da es dir, wie ich schon vermutete, mehr um die Software Architektur geht, ist die Frage fuer dich wohl erstmal nicht relevant. Das wird sie dann wohl erst, wenn du tatsaechlich mal an einem groesseren Projekt in einem Team arbeitest ;)


UML ist wohl jetzt erstmal dann bestimmt sinnvoller da es sich ja um die OO Planung geht oder sehe ich das falsch?
Jain, also UML ist ja nur die Sprache mit der du das OO Design aufschreiben kannst. D.h. es gibt Buecher die sich tatsaechlich nur mit der Beschreibung von UML befassen, was dir so direkt nichts bringt wenn du die OO Konzepte noch nicht kennst.
Aber es gibt auch Buecher, die beides Gleichzeitig behandeln, z.B. "Fundamentals of Object-Oriented Design in UML" von Meilir Page-Jones. Das Buch ist aber soweit ich weiss schon laenger out of print, aber immer noch gebraucht ueber z.B. ebay oder Amazon zu bekommen. Das Buch war Grundlage fuer meinen Uni Kurs 'Object Oriented Modelling', aber entsprechend theorielastig ist das Buch.

Wenn du willst kann ich dir die slides von dem Kurs als pdf schicken, die auf dem oben genannten Buch aufbauen (gepackt als tar.gz rund 200kb). Die Informationen darauf sind allerdings ebenfalls sehr dicht, und streckenweise alles andere als leicht verstaendlich, akademisches Material halt. Das wuerde ich nicht unbedingt als Bett Lektuere empfehlen.
Also falls du sie haben willst, schick mir einfach eine PM mit deiner email Adresse.

Wenn du eine seichte Einfuehrung in das Thema suchst, wuerde ich eher das Head First Buch von O'Reilly empfehlen, auch wenn ich das selbst (noch) nicht gelesen habe.

Was mich halt auch einfach noch so interessieren würde ist: "Wie arbeitet man am besten mit selbst gebastelten Headern & Co.?".

Ahso, das ist dann ja schon wieder eine stark C++ spezifische Frage. Ich selber habe noch nie ein groesseres Projekt in C++ geschrieben, und habe daher in der Hinsicht auch keine Empfehlungen.
Achja, aber was du vielleicht mal tun koenntest, ist dir ein bekanntes Open Source Projekt zu nehmen, z.B. Pidgin, und da mal ein wenig im Source Code stoebern und schauen wie die alles aufgebaut haben.
Allerdings wuerde ich dann schon darauf achten dass es ein bekanntes Projekt ist, denn bei kleinen Projekten kann es dir passieren dass da auch ziemlicher Mist im Code steht der nicht unbedingt nachahmenswert ist.

Ich vermute mal das ich hier gerade bestimmt voll den Schrott schreibe und ihr Erfahrenen euch gerade kapput lacht^^

Och, jeder hat mal klein Angefangen, ich glaube nicht dass hier irgendjemand lacht. Ausserdem, wie gesagt, mit C++ kenn ich mich selber nicht aus ;)
Aber in Java z.B. ist das so, dass du fuer jede Klasse eine eigene Datei anlegen musst, d.h. solche Ueberlegungen musste ich noch nie anstellen. Soweit ich weiss ist das in C++ nicht so strikt geregelt, aber prinzipiell halte ich das fuer keine schlechte Strukturierung.
Aber es ist auch richtig, dass dir gutes OO Design dabei hilft zu entscheiden welche Funktion du am besten in welche Klasse steckst, oder wofuer du vielleicht doch lieber eine neue Klasse schreibst, etc.

Achja, nochmal was zu den Tools. Solltest du tatsaechlich vorhaben in naechster Zeit mal ein kleines Projekt mit sagen wir mal mehr als 1000 Zeilen Source Code anzufangen, wuerde ich sagen tu dir selber den Gefallen und beschaeftige dich vorher mit nem Debugger und Versioning Systemen. Ich weiss aus eigener Erfahrung dass das laengst nicht so spannend ist wie das coden an sich, aber es kann einem waehrend des Projektes soviel an Frust ersparen...
Wobei ein Versioning System vor allem hilfreich ist wenn man im Team arbeitet, aber auch wenn du als einziger an einem Projekt arbeitest macht es die Arbeit einiges leichter.

mfg,
bytepool
 
Zuletzt bearbeitet:

Ähnliche Themen

Problem mit Apache2 + MySQL Server

Routing Problematik

Java (weiter)lernen

Konstuktoren und Dekonstruktoren?

eBook etc für Netzwerkprogrammierung in C gesucht?

Zurück
Oben