Differences

This shows you the differences between two versions of the page.

Link to this comparison view

start [2015/05/19 14:45]
thomas [implementation]
start [2015/05/19 14:47] (current)
thomas [implementation]
Line 1: Line 1:
 +====== Astade, a UML tool for the complete C or C++ development process ======
 +
 +=====design=====
 +<format dot>
 +digraph G {
 +        rankdir=LR;
 + node [fontname=arial,​ fontsize=10]
 +
 + AstadeDraw [shape=record,​ style=filled,​ fillcolor=grey80,​ color=black];​
 +        idea [label="​an idea"​];​
 +        components [label="​component diagram"​];​
 +        usecases [label="​usecase diagram"​];​
 +        idea -> AstadeDraw;
 +        AstadeDraw -> usecases;
 +        AstadeDraw -> components;
 +}
 +</​format>​
 +
 +=====architecture=====
 +<format dot>
 +digraph G {
 +        rankdir=LR;
 + node [fontname=arial,​ fontsize=10]
 +
 + Astade [shape=record,​ style=filled,​ fillcolor=grey80,​ color=black];​
 +        components [label="​component diagram"​];​
 +        usecases [label="​usecase diagram"​];​
 +        object [label="​object model"​];​
 +        user [label="​programmer input"​];​
 +        usecases -> Astade;
 +        components -> Astade;
 +        user -> Astade;
 +        Astade -> object;
 +}
 +</​format>​
 +
 +=====implementation=====
 +<format dot>
 +digraph G {
 +        rankdir=LR;
 + node [fontname=arial,​ fontsize=10]
 +
 + astade [label="​Astade Coder",​ shape=record,​ style=filled,​ fillcolor=grey80,​ color=black];​
 + statedraw [label="​state chart drawer",​ shape=record,​ style=filled,​ fillcolor=grey80,​ color=black];​
 + objectdraw [label="​object model drawer",​ shape=record,​ style=filled,​ fillcolor=grey80,​ color=black];​
 + doxygen [label="​Doxygen",​ shape=record,​ style=filled,​ fillcolor=grey80,​ color=black];​
 + compiler [label="​compiler ", shape=record,​ style=filled,​ fillcolor=grey80,​ color=black];​
 +        object [label="​object model"​];​
 +        source [label="​source code"​];​
 +        bin [label="​executable binaries"​];​
 +        doc [label="​documentation"​];​
 +        statediagram [label="​state chart"​];​
 +        classdiagram [label="​class diagram"​];​
 +        object -> astade;
 +        object -> statedraw;
 +        object -> objectdraw;
 +        source -> doxygen;
 +        statediagram -> doxygen;
 +        classdiagram -> doxygen;
 +        astade -> source;
 +        source -> compiler -> bin
 +        doxygen -> doc
 +        statedraw -> statediagram
 +        objectdraw -> classdiagram
 +}
 +</​format>​
 +
 +====== Some features in catchwords ======
 +  * Drawing tool for [[screenshots:​usecase|use case diagrams]] ​
 +  * Drawing tool for [[screenshots:​component|component diagrams]]
 +  * Drawing tool for [[screenshots:​sequence|sequence diagrams]]
 +  * Code generator for C++
 +  * Code generator for C (e.g. for implementing Linux kernel drivers)
 +  * Input dialogue for statecharts
 +  * Code generators for statecharts (C and C++)
 +  * Frameworks for statecharts (generic, wxWidgets, ACF/ACF++)
 +  * Automatically generated [[screenshots:​objectmodel|class diagrams]]
 +  * Built-in trace tool for generating [[screenshots:​sequence|sequence diagrams]]
 +  * [[screenshots:​astade|IDE]] for compiling and debugging
 +  * Works with any code editor
 +  * Automatic code generation for constraints
 +  * Automatic code generation for member initialisation
 +  * Interface to [[http://​wxglade.sourceforge.net/​ |wxGlade]] for GUI development
 +  * Interface to [[http://​www.doxygen.org/​ |Doxygen]] for documentation
 +  * Interface to repositories (SVN, GIT, MKS)
 +  * Available for [[install:​installinwindows|Windows]] and [[install:​installinubuntu|Linux]] operating systems
 +
 +For all features you miss here use our [[design:​wishlist|wishlist]].
 +
 +====== Mission ======
 +The goal of developing Astade was to develop a UML tool where you can develop at model level and automatically generate source code for C/C++.
 +
 +The Astade program is a complete front-end (GUI) for software development (in C and C++) which can be customised for any compiler (the GNU compiler is the default).
 +
 +At first glance this seemed to be a big deal. But Astade combined some tools, already available, and so it was possible!
 +
 +The main ideas to minimise effort are:
 +
 +    * the model tree is built in the directory structure of the operating system.
 +    * most graphics are done with Graphviz except sequence charts. They are done with Trace2UML
 +    * the documentation is done with Doxygen
 +    * GUI design we do with a wxGlade integration.
 +
 +So we end up with a little "user dialogue"​ and a good "code generator";​ it's a great tool, try it!
 +
 +====== Why we reinvented the wheel ======
 +
 +After working with a UML tool for over a year at my job I'd learned:
 +
 +    * It's great to work with a UML tool. You'll never want to write source code by hand after that experience!
 +    * Commercial tools are expensive! Really!
 +    * Open source tools are not really usable (at least at the time we started with Astade) :-(
 +    * Both the commercial and the open source ones are too complicated. A UML tool must be so easy to use that a developer wants to use it, without being forced to. Astade is! ;-)
 +
 +====== License ======
 +Astade is published under the GPL. If you'd like to read the complete license text, look [[gpltext|here]] ​
 +
 +====== Impressum ======
 +This site is maintained by the Astade developer team.\\
 +If you have questions concerning the use of the tool, and you didn't find the answers on this website,
 +mail to //users (at) astade.tigris.org//​.\\
 +If you want to contact the developers, mail to //dev (at) astade.tigris.org//​.
 +
 +
  
start.txt ยท Last modified: 2015/05/19 14:47 by thomas
GNU Free Documentation License 1.3
Powered by PHP Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Valid HTML5