2008-08-17 14 views
2

Ich verwendete eine CASE MAGIC für ein System, das ich entwickle, ich habe noch nie ein solches Werkzeug benutzt und auf den ersten Blick mochte ich, einen Monat später hatte ich viel von der Anwendung erzeugt, fühlte ich mich sehr produktiv und ... ich würde sagen ... zufrieden.Produktivitätsgewinne bei der Verwendung von CASE-Tools für die Entwicklung

In gewisser Weise fühlte ich mich unwohl, denn es gab keinen Code und alles, was ich gewohnt war, aber auf der anderen Seite konnte ich meine Entwicklung beschleunigen. Tatsache ist, dass ich irgendwann wieder C# benutze, weil ich es flexibler entwickle. Ich kann Komponententests durchführen, CVS verwenden, ich habe Zugriff auf mehr Ressourcen und im Grunde hatte ich "die ganze Kontrolle". Ich hatte das Gefühl, dass dieses Werkzeug mir kein Selbstvertrauen gab und ich dachte, dass ich es später im Projekt aufgrund seiner erzwungenen Regeln der Entwicklung nicht schaffen konnte. Und auch viele Dinge wie das Versenden von E-Mails, die Verwendung meiner eigenen Steuerelemente und andere Dinge hatten ihre Komplikation, es schien, dass es irgendwann nicht so einfach sein würde, wie ich anfangs dachte und wie das Produkt anfänglich behauptet. Das erinnert mich an einen sehr schönen Artikel mit dem Namen "No Silver Bullet".

Dieser CASE hatte seine Vorteile, aber auf der anderen Seite hat es keine Ressourcen, die Sie konsultieren können und tatsächlich sind die Lizenz und die Zertifizierung sehr teuer. Für mich ist eine weitere Enttäuschung, dass ich aufgrund der vereinfachten Herangehensweise für die Entwicklung Angst vor mir hatte wegen meiner Unerfahrenheit in Bezug auf diese Art von Werkzeugen und zweitens dachte ich, dass wenn ich es weiter benutzt hätte es vielleicht ein komplexes Monster geworden wäre das konnte ich später im Projekt nicht schaffen.

Ich denke, es ist gut, diese Art von Lösungen zu verwenden, um die Dinge zu beschleunigen, aber ich frage mich, warum diese Programme nicht so populär wie VS.Net, J2EE, Ruby, Python usw. sind, wenn sie behaupten, die Produktivität zu verbessern als die Werkzeuge, auf die ich hingewiesen habe?

Antwort

1

Wir verwenden bei meiner derzeitigen Firma ein CASE-Tool zur Codegenerierung, und wir versuchen, uns davon zu entfernen.

Die Vorteile, die es bringt - eine grafische Darstellung der Code-Making-Komponenten "leichter" für neue Entwickler zu übernehmen - sind meiner Meinung nach die Nachteile aufgewogen.

Diese Hauptnachteile sind:

  1. Wir automatische verschmilzt nicht tun können, ist es fast unmöglich für die parallele Entwicklung auf einem Bauteil zu machen.

  2. Entwickler werden von dem Tool abhängig und "vergessen", wie man handcodiert.

0

Nur ein paar Fragen an Sie:

Wie viel Produktivität gewinnen Sie im Vergleich zur Kontrolle, die Sie verwenden? Wie testbar und zuverlässig ist der Code, den Sie erstellen? Wie gut können Sie ein neues Muster in Ihr Design implementieren?

Ich kann mir nicht vorstellen, dass es da draußen ein CASE gibt, dass ich zuerst einen Test schreiben und dann einen CASE verwenden könnte, um den Code zu generieren, den ich brauche. Ich bleibe lieber beim Nachschärfen, was meine alltäglichen Aufgaben leicht erfüllen und die volle Kontrolle über meinen Code behalten kann.

0

Das Projekt, auf dem ich bin, ging ursprünglich mit der Oracle Development Suite, um eine Webanwendung zusammenzustellen.

Mit der Zeit (5+ Jahre) wurden die Kundenanforderungen komplexer als ursprünglich erwartet, und die Bildschirme waren nicht leicht zu warten.Daher beschloss das Team informell, benutzerdefinierte (handcodierte) Bildschirme im PL/SQL-Web zu erstellen, anstatt sie mit den CASE-Tools der Oracle Development Suite (Oracle Designer) zu generieren.

Die Oracle Report Builder-Komponente der Development Suite wird immer noch vom Team verwendet, da es scheinbar die Aufgabe "rechtzeitig erledigt" hat. Im Allgemeinen sind die Entwickler, die das Tool Report Builder verwenden, nicht sehr komfortabel zu codieren.

In diesem Fall scheint es, dass der Produktivitätsaspekt solcher CASE-Tools stark von den Kundenanforderungen und den Fähigkeiten der Entwickler/Schulung/Hintergrund abhängt.

0

Leider erzeugt das Werkzeug Magic keinen Code und kann auch kein Entwurfsmuster implementieren. Ich habe keine Kontrolle über die Codeursache, wie ich schon gesagt habe, bevor es keinen zu ändernden Code hat. Kurz gesagt, es kann die Produktivität in irgendeiner Weise beschleunigen, aber es ist unmöglich, CVS und Muster zu verwenden, und ich kann nicht alle Details kontrollieren.

Ich stimme Gary zu, wenn er sagt: "Es scheint, dass der Produktivitätsaspekt solcher CASE-Tools stark von Kundenanforderungen und Entwicklerkenntnissen/Training/Hintergrund abhängt", aber ich kann auch nicht mehr mit Klelky zustimmen;

Diese Hauptnachteile sind: 1. Wir können automatische Zusammenführungen nicht machen, so dass es nahezu unmöglich für die parallele Entwicklung auf einer Komponente ist. 2. Entwickler werden abhängig vom Tool und "vergessen", wie man handcodiert.

Danke

Verwandte Themen