Welche Programme braucht ein Programmierer?
-
*platt*
-
Ok, kommen wir mal wieder auf den Ernst zurück - warum verzichtet man auf diese tollen grafischen Case-Tools???
Dazu eine Überlegung: welches Problem drückt uns in der Softwareentwicklung?
Die Zeit! Es ist immer die Projektzeit, irgendwas wird nicht rechtzeitig fertig.
Forschen wir nach, so stellen wir fest, daß einige Sachen einfach zu lang gedauert haben.
Es gibt 6 wichtige Gründe für die Verzögerungen:
Programmierfehler
Programmierfehler
Designfehler
Designfehler
Designfehler
Kommunikationsproblem zwischen den EntwicklernZum Beispiel ist aber die Frage, ob unser Case-Tool Kommentare mit Fettdruck kann, und ob man auch Gifs in die UML-Diagramme einfügen, kann für die fristgerechte Bearbeitung eines Problems nicht von Relevanz.
Gerade beim Design denkt man sich oft was aus, was doch nachher etwas hakt. Grundsätzlich sollten also beim Design immer >1 Personen beteiligt sein - nicht für jede Funktion, aber welche Klassen gibt es, welche Aufgaben, welche Methoden wird man für die Aufgaben ungefähr benötigen. Außerdem besteht bei verteiltem Arbeiten die Gefahr, daß ein Mißverständnis über die Rolle einer bestimmten Klasse besteht. Werden diese Schnittstellen gemeinsam besprochen, sinkt die Gefahr von derartigen Mißverständnissen.
Auch beim Programmieren im Kleinen manchmal hilfreich, wenn jemand eine Skizze an die Wand malt, wie sein Abschnitt funktionieren soll oder funktioniert - hier kann man manchmal durch dumme Kommentare herausfinden helfen, warum etwas nicht geht.
Unter dem Strich also ist eine Versammlung der betroffenen Entwickler vor einer Tafel mit einigen Stiften ein probates Mittel, um einige häufige Problemfelder zumindest etwas einzudämmen.
Btw: wenn man so ein Whiteboard mit einer Digitalkamera abfotografiert, hat man sogar eine Doku für die Ewigkeit. Alternativ gibt's auch Whiteboards mit Computerschnittstelle, wo man sich über Twain den Tafelinhalt auf Platte bannen kann.
-
Original erstellt von <gurok>:
[quote]Ein Whiteboard und ein abwischbarer Edding**
das ist ein witz oder?
wieso nicht digital? (per software)**[/QUOTE]Deiner Aussage nach nehme ich mal an, dass du noch nie mit einem Whiteboard gearbeitet hast? Ich kann dir das sehr empfehlen. Die Vorteile, welche Marc++us schon nannte, werden dir ganz schnell klar werden.
Meine Erfahrung hat gezeigt, dass man mit einem "Zeichenbrett" wesentlich angenehmer arbeiten kann. Kennst du "Pair-Programming"? Da sitzen zwei Leute an einem Rechner und Programmieren. Nun, ich habe das mal ausprobiert. Laptop an externen Bildschirm + Tastatur gehängt, so dass beide "gleichzeitig" arbeiten und sich stets gut ergänzen konnten. Das klappte zwar schon recht gut, aber sich stehend vor einer Tafel auszutauschen macht einfach mehr spaß und ist, meiner meinung nach, effizienter.
Solche Tools sehe ich persönlich nur als "ins reine Schreiben" an. Wirklich arbeiten kann man doch nur mit einem SchmierblockViele Grüße
Stefan
-
Original erstellt von <gurok>:
Nenne mir bitte ein gutes beispiel, wozu? (Cracken ausgeschlossen).So ziemlich für alles, wo Dateien binär bearbeitet werden.
Ich habe mal ein Programm zum Exportieren/Importieren der Texturen eines PC-Spieles geschrieben, da habe ich mehr Zeit damit verbracht, per Hexeditor das (proprietäre) Format der Ressourcendatei zu ergründen als mit dem eigentlichen Programmieren der Anwendung. Fällt das für dich auch unter "Cracken"?
-
@marc++us:
na das mit deinem whiteboard und dem edding mag ja cool sein.
stimme dir auch voll zu dass es mit mehreren leuten besser als vor dem rechner ist.
aber mal ehrlich: ich weiss ja nicht was ihr entwickelt, aber ne doku die aus abfotografiertem gekritzel besteht? ich denke mal das ist auch nur in einer kleinen sparte in der softwarebranche möglich. sobald der kunde doch irgendwie mal am entwicklungsprozess beteiligt ist geht das doch nicht mehr.
selbst wenn nur für den markt entwickelt, also ohne auftrag, ist das doch wirklich keine lösung.
was zum beispiel wenn ihr noch mal in den entwurf zurück müsst weil was nicht gepasst hat. dann kramst du doch wohl nicht dein foto raus, rufst die sekräterin, sagst ihr sie soll das anpinseln, dann änderst du was und es wird wieder fotografiert.
sorry, aber ich kann mir beim besten willen nicht vorstellen wo es so läuft.
ausser ihr benutzt das halt brainstorming-like....alle entwickler zusammen diskutieren was aus.......dann bleibt aber wohl immer noch einer hocken, der noch alles in visio reinhackt.achja....powerpoint wird auch gebraucht.
-
Original erstellt von Ste.fun:
Kennst du "Pair-Programming"? Da sitzen zwei Leute an einem Rechner und Programmieren. Nun, ich habe das mal ausprobiert. Laptop an externen Bildschirm + Tastatur gehängt, so dass beide "gleichzeitig" arbeiten und sich stets gut ergänzen konnten.Das hört sich so an, als ob du da was falsch verstanden hast! ...erzähl doch nochmal genauer, was ihr da gemacht habt!
-
mal ne frage: was bringt/ist MS SourceSafe eigentlich?
-
Original erstellt von Jansen:
[quote]Original erstellt von <gurok>:
[qb]Nenne mir bitte ein gutes beispiel, wozu? (Cracken ausgeschlossen).So ziemlich für alles, wo Dateien binär bearbeitet werden.
Ich habe mal ein Programm zum Exportieren/Importieren der Texturen eines PC-Spieles geschrieben, da habe ich mehr Zeit damit verbracht, per Hexeditor das (proprietäre) Format der Ressourcendatei zu ergründen als mit dem eigentlichen Programmieren der Anwendung. Fällt das für dich auch unter "Cracken"? ;)[/QB][/QUOTE]
1:0 für dich
-
ja und ich vergass ja noch den emacs, den gcc, nen lisp interpreter und auf jedenfall ein prologsystem.
aber ok.......man kann wahrscheinlich auch ohne ein programmiererdasein fristen.
-
Original erstellt von <frager>:
mal ne frage: was bringt/ist MS SourceSafe eigentlich?Visual SourceSafe ist ein Versionskontrollsystem.
da ich jetzt zu müde bin das selber zu erklähren, verweise ich dich auf
diesen link
-
Ich benutze dafür immer GNU/CVS, dass finde ich einfach genial. (Welche Tools ich sonst noch benutze erzähl ich einfach mal nicht, da der Thread wohl eher um Windows sich dreht)
-
nur zu kingruedi
-
Original erstellt von <ich>:
nur zu kingruediokay, extra für dich
GNU/Emacs
GCC
GDB
BINUTILS
GNU/Make
GNU/CVS
XTerm für X
die ganzen Shell Utilitys natürlich
ab und zu mal Perl oder Ruby
CLisp wenn ich mit Lisp arbeite
calc (unschlagbarer Konsolen Taschenrechner!)
Manpages (die dürfen nicht fehlen ;))
slrn, gv, xchat und Mozilla ... wenn man das wirklich dazu rechnen will[ Dieser Beitrag wurde am 03.01.2003 um 02:25 Uhr von kingruedi editiert. ]
-
@Luckie: Was ist IconEdit?
-
@WebFritzi: IconEdit. Ich habe ihn als Shareware, da kommt am Anfang nur eine 10 sekündige Splashscreen. Und meiner meinung nach der beste IvonEditor. Hat was man braucht und hat nicht, was man nicht braucht.
-
Original erstellt von kingruedi:
**Ich benutze dafür immer GNU/CVS, dass finde ich einfach genial. (Welche Tools ich sonst noch benutze erzähl ich einfach mal nicht, da der Thread wohl eher um Windows sich dreht)Kennt jemand auch nen gutes Freeware CVS für Windows ???
-
Original erstellt von Fox-Alpha:
Kennt jemand auch nen gutes Freeware CVS für Windows ???
-
Kennt jemand auch nen gutes Einsteigertutorial für CVS ???
-
Mit google - kein Problem: http://www.stierand-linuxit.de/Doku/cvs-tutorial.html
-
Original erstellt von <ich>:
aber mal ehrlich: ich weiss ja nicht was ihr entwickelt, aber ne doku die aus abfotografiertem gekritzel besteht? ich denke mal das ist auch nur in einer kleinen sparte in der softwarebranche möglich. sobald der kunde doch irgendwie mal am entwicklungsprozess beteiligt ist geht das doch nicht mehr.Den Kunden mit vor das Whiteboard stellen... das war gerade mit Ingenieuren aus Japan zusammen ein grandioser Erfolg.
Wir haben Schnittstellen auf COM-Basis mit Kunden in Dänemark und Japan zusammen entwickelt... und natürlich auch freie Entwickler, die für uns Teile fertigen. Die Definition der Schnittstelle ist in einem Dokument festgelegt. Aber der Weg dorthin, dafür braucht man keine Tools.
Wobei man insgesamt natürlich schon sagen muß, daß wir für den Markt entwickeln und keine reinen Softwareprojekte für Kunden durchführen... will sagen, der Kunde kauft im Zweifelsfalle ein Produkt von uns, aber keine Quellen. Strictly closed source.
Ich sehe die Tools deswegen als problematisch an, weil viele Leute viel zu viel Zeit darauf anwenden, das Tool zu bedienen und den Entwurf "optisch" schön aussehen zu lassen. Dabei geht oftmals der Inhalt in den Hintergrund - nennt man auch das "Powerpoint-Syndrom" - vor lauter schönen Präsentationsmöglichkeiten vergisst man ganz Inhalte auf die Folien zu stellen.
Und die Sache mit dem Pflegen der Modelle... sehe ich als sehr kritisch. Wird mal eine Methode ergänzt, so muß diese Methode im UML-Modell nachgepflegt werden. So weit, so gut. Aber die Modelle haben alle die Tendenz, ein oder zwei Versionen hinter dem Quellcode herzuhinken. Eine parallele Entwicklung von Modell und Programm mit gleichem Versionsstand (d.h. das Modell ist auf dem gleichen letzten Stand wie das Programm) wird doch in der ganzen Branche fast nirgendwo erreicht.