Frage an Programmierer/Informatiker

luzil

Active member
Themenstarter
Registriert
25 Nov. 2007
Beiträge
1.145
Bisher hab ich hauptsächlich kleinere Programme/Skripte gecodet die überschaubar und leicht zu ändern sind ohne grosse grafische GUI für wiss. Simulationen & Co (Java Applet reicht da oft schon aus). Da ich jetzt plane aber etwas grössere Programme zu schreiben aber keine fundierte Ausbildung hier habe wollt ich mal die Ausgebildeten hier fragen, welches Fachwissen/Lektüre bei Konzeption grösserer Programme dringend anzuraten wären. Ich ziele hier auf Programmierkonzepte ab die erst mal weitestgehend unabhängig von der Hochsprache sind bzw. überhaupt auf die Frage welche Sprache man für welches Programm verwendet, wo Hochsprachen, wo Skripte einsetzen. Könnt ihr Lektüre (english/deutsch) empfehlen die solche Themen erörtert. Also z.B. Berechenbarkeit (kann man grob abschätzen welche Rechenleistung ein Programm in etwa fordern wird), oft eingesetzte Grundalgorithmen (Such-, Sortieralgo mit versch. Effizienz die man unabhängig von der Sprache kennen sollte), mathematische Tricks die oft verwendet werden (Substitution - Gleichungen vereinfachen etc), was beachtet man vor allem bei Entwicklung grösserer Programme die später noch von anderern evtl. optimiert und erweitert werden sollen - modularer objektorientierter Aufbau, Variablenwahl.,

In den meisten Büchern werden immer direkt bezug auf eine Programmiersprache genommen. Gibt es dazu spezielle Grundkurse an Uni/Ausbildungschule oder mach ich mir falsches Bild und es ist immer besser das anhand irgendeiner Sprache zu lernen. Afaik ist Softwreplanung/konzeption ja auch ein eigenes Kapitel bei der Ausbildung von Programmieren. So ein Buch würde auch indirekt verständlicher machen wie die meisten Programmiersprachen aufgebaut sind bzw. macht es wohl auch Sinn mal darüber zu informieren wie ein Hochsprache selst konzipiert und entwickelt wird um eff. Programmieren zu ermöglichen.

Das hier ist schon die richtige Richtung, allerdings sind Handbücher meist eher Definitionen klärend und nicht erklärend und meine Fragen werden auch nur knapp hier beschrieben.
 
Wir hatten da neulich was in ner Vorlesung dazu - mom ich such mal!

Edit: Das ganze nennt sich "Entwurfsmuster" so als Themegebiet.

Ich kann dir jetzt grad gar nicht sagen ob sich das lohnt - anscheinend aber wenn man "größere" Projekte macht.

http://de.wikipedia.org/wiki/Entwurfsmuster

Mehr kann ich dir da auch nicht zu sagen - ausser einen Buchtipp: http://www.amazon.com/Design-Patter...3612/ref=sr_1_1?ie=UTF8&qid=1289933239&sr=8-1

Ist wohl das "Standardwerk" dafür.

Alternativ soll wohl auch http://www.amazon.com/First-Design-...7124/ref=sr_1_2?ie=UTF8&qid=1289933239&sr=8-2 gut sein
 
Das Stichwort Pattern trifft die Sache schon ganz gut. Dazu solltest du per Google etc. genug finden. Ich würde an deiner Stelle das ganze ruhig an einer Sprache deiner Wahl erarbeiten. Das Allgemeine bringt dir zwar ein Grundverständnis für einen Zusammenhang, aber ob du es dadurch auch in eine Sprache umsetzen kannst ist die andere Frage. Ich für meinen Teil hab mich immer an eine entsprechende/geforderte Hochsprache gehalten und das ganze daran probiert und ausgetestet. Die Portierung auf andere Sprachen fällt dann eigentlich nicht mehr wirklich schwer.
 
Zum Thema "Software Engineering" hab ich ein paar Skripte bei mir aus den Vorlesungen.
Behandelt haben wir u.a.:
Modellierung im Allgemeinen;
Aufbau und Planung größerer Softwareprojekte (Mit passenden Tools dazu),
Schnittstellen (Mit anderer Software, aber auch innerhalb der Software),
Qualitätsorienttiere Programmierung (Wartbarkeit von Programmen, Updates, etc...),
und was ist für den Nutzer wichtig? -> Richtige Kommunikation zwischen Nutzer und Softwareentwickler (Gibt ein ewig langes Standardwerk dazu^^),
Software Test.

Da ich aber nicht weiß, ob ich die Skripte hier so einstellen darf, schick mir eine PM, sollte dich eines der Themen interessieren ;)
 
thx für die Tips, das hört sich schon mal gut an.

Kommt sowas in der Fachinformatiker Ausbildung überhaupt vor oder nur in Studiengängen unter Softwareplanung als abstrakteres theoretisches Thema im Hauptstudium?

Gute Nachschlagehandwerke oder Formelsammlungen fürs Programmieren gibt es nicht? Oder bekommt man sowas wie eine abstrakte Formulierung von Problemen (Flussdiagramme...) beigebracht im Studium. z.B. lassen sich gleiche Probleme auf unterschiedliche Weise mit Stärken und Schwächen mit if, while... Schleifen lösen. Dachte vielleicht es gibt Literatur in der mittels Flussdiagrammen auf abstrakten Niveau nicht hochsprachenspezifisch bestimmte Probleme die immer wieder bei komplexeren Programmen auftreten beschrieben werden und die man evtl. im Hinterkopf haben sollte bei der Implentierung des Problems in einer spez. Sprache.

Mitti hast PN :)
 
Meine Empfehlungen ...

Hallo luzil:

Wenn es um den Bereich Software-Engineering geht, so halte ich die Bücher von Ian Summerville durchaus geeignet. Scott W. Ambler hat einige interessante Bücher zu OO, Patterns und Frameworks verfasst. Bei ihm finde ich den Schreibstil und die didaktische Aufbereitung der Themen sehr gelungen. Und wenn Du Dich mit Prinzipien und Theorien zu Algorithmen befassen willst, dann sind da noch die Standardwerke "The Art of Computer Programming" von Donald E.Knuth.

Und dann ... vernachlässige das Thema Anforderungsanalyse (Requirements Engineering) nicht. Gerade hier wird in der Praxis viel zu wenig getan (man sieht es auf Kundenseite oftmals lieber, dass Code produziert wird, ob dieser Sinn macht oder nicht - traurig aber wahr). Hierzu gibt es eine ganze Reihe von Literatur, wobei ich auch hier die englischsprachigen Titel bevorzuge. Und ... nicht zu vergessen, das Thema Dokumentation. Damit meine ich nun nicht eine Beschreibung Deines Werkes NACH Fertigstellung, sondern eine begleitende Fortschreibung Deiner Arbeiten. Sinn macht hierbei auch die Nutzung von Werkzeugen, die den gesamten Prozess unterstützen, bzgl. Preis-Leistungsverhältnis habe ich hier sehr gute Erfahrungen mit "Enterprise Architect" gemacht, für das es auch spezielle Konditionen für Ausbildungszwecke gibt.

Grüße und viel Erfolg, Ingolf.

P.S.: Für konkrete Literaturempfehlungen - einfach nachfragen.
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben