Post by Sandra Bauerich suche eine Software, in der ich eine StateMachine grafisch
entwickeln kann.
Wozu würde man so etwas brauchen? Antwort: Um Nicht-Programmierern die Möglichkeit zum
"indirekten Programmieren" zu geben.
Und das macht man normalerweise - und vernünftigerweise - nicht.
Warum? Nehmen wir mal an, Deine Software generiert Dir aus der State Machine den
Quellcode. Der Code wird dann sehr schwer zu lesen und zu debuggen sein, d.h. die
Wartung des Projekts wird für Nicht-Programmierer unmöglich, sobald die State Machine
eine gewisse Komplexität übersteigt (und das soll und wird sie irgendwann).
Zudem werden die Anforderungen steigen und eine reine Generierung aus einer State Machine
wird nicht mehr ausreichen. Du wirst Modifikationen machen müssen, die nur ein
erfahrener Programmierer sinnvoll (wartbar) machen kann, d.h. Du solltest bei so einem Projekt
von vornherein auf einen solchen zurückgreifen.
Wie soetwas - spektakulär gescheitert - im Endeffekt aussieht, lässt sich an diesem
Beispiel absehen:
http://thedailywtf.com/Articles/The_Customer-Friendly_System.aspx
Post by Sandra BauerInput Event
Case InProgress1
Move yAchse
nichts
Na, das ist doch schon mal was.
Post by Sandra BauerWie entwickelt Ihr das? Tools? Oder nur auf dem Papier? Excel Sheet?
Zum Zeichnen der State Machine nehme ich gerne Visio, obwohl es da jedes gute CAD-
Programm auch tut. Das kann man dann schön präsentieren und mit Kunden diskutieren.
Wenn ich für mich komplexere State Machines entwerfe oder vereinfache, reichen Papier
und Bleistift.
Ausprogrammieren tu ich das dann von Hand. Natürlich wäre es mit Visio möglich, die
Code-Generierung zu automatisieren, mit den oben beschriebenen Folgen.
Finger weg von so einer Lösung!
Falls Du es Dir dennoch antun willst, wäre "ASCET" ein geeigneter Suchbegriff. Wobei
das nicht so aussieht, als ob es ohne weiteres für Nicht-Programmierer verwendbar wäre.
Für eine Machbarkeitsstudie im Studium mag es vielleicht gehen.
f'up: de.sci.informatik.misc
Gruß, Leo
--
Swearwords are dung for the day.