Structorizer is a little tool which you can use to create Nassi-Schneiderman Diagrams (NSD).
Java Other
Clone or download
Latest commit db96fd1 Jul 15, 2018
Permalink
Failed to load latest commit information.
.settings Merge remote-tracking branch 'remotes/fesh/bugfix3.26' Mar 15, 2017
lib Fixes the logging part of #463 (now in native JDK14 API) Mar 22, 2018
nbproject got some merging last time, so I will commit whatever it was ... May 3, 2016
src Illegal character Jul 15, 2018
.classpath Fixes the logging part of #463 (now in native JDK14 API) Mar 22, 2018
.gitignore Merge remote-tracking branch 'remotes/fesh/bugfix3.26' Mar 15, 2017
.project Eclipse files, fixes #359 (I hope) Mar 3, 2017
Arranger.bat Fixes #536, improves some messages Jun 15, 2018
Arranger.sh start scripts for release versions: Jun 3, 2018
LICENSE integrating LICENSE according to GitHub docs Nov 7, 2017
LICENSE-libraries.txt #2 part I: removing the multitude of license files, adding the exist… Nov 7, 2017
LICENSE-structorizer.txt #2 part I: removing the multitude of license files, adding the exist… Nov 7, 2017
README.md Update README.md Nov 20, 2017
Structorizer.bat Fixes #536, improves some messages Jun 15, 2018
build.xml new OSX wrapper Apr 5, 2016
build_eclipse.xml new OSX wrapper Apr 5, 2016
buildapp.xml XML problem Apr 5, 2016
makeBigJar auxiliary build scripts: Oct 10, 2017
makeJar auxiliary build scripts: Oct 10, 2017
makeStructorizer create bin directory, if missing Jun 8, 2018
startStructorizerAgain auxiliary build scripts: Oct 10, 2017
structorizer.big.manifest Eclipse files, fixes #359 (I hope) Mar 3, 2017
structorizer.manifest Eclipse files, fixes #359 (I hope) Mar 3, 2017
structorizer.sh start scripts for release versions: Jun 3, 2018
windows-wrapper.xml new EXE wrapper Apr 5, 2016

README.md

Structorizer

Structorizer is a little tool to create Nassi-Shneiderman Diagrams (NSD).

Beyond mere editing, it even allows to execute and debug them (within certain restrictions), to control a painting turtle on a drawing canvas, and to export the formed algorithms to several programming languages (still requiring postprocessing, of course). You may also derive diagrams from source code (by now languages Pascal/Delphi, ANSI-C, and COBOL).

The debugging features include stepwise execution, highlighting, pausing, breakpoints, variable display (with value editing), and configurable running speed, and eventually the possibility to call other diagrams as subroutine. An impressive feature is the "Run Data Tracker" collecting and visualising execution counts and test coverage.

The website can be found at http://structorizer.fisch.lu

Why having started this project?

In fact, I was not satisfied by the result of other NSD-editors, so I started writing my own one. I think I started drawing the first schemes and thinking about it's internal structure in July 2006. The first lines of code were written during the summer and for September a first more or less functional version was available.

Project history

I will not recite the entire changelog here, but just a few lines that, I think so, could be of interest:

  • The first version, called "Structorizer 2006", was written in "Delphi 6 PE".
  • In January 2007 I decided to rename the project as "Structorizer", since "2006" did no longer apply and a lot of new features waited to be integrated.
  • Somewhat later in 2007 I ported the project for a first time to "Lazarus". I published a Linux version as well as the source code under the terms of the GPL license and called this sub-project "openStructorizer".
  • I got my first Mac in May 2007 and wanted to have the application run in native mode. I did a second and this time complete porting of the project to "Lazarus". Waiting for the next release to be published, I renamed the old project as "Structorizer (Delphi)" and stopped both of them.
  • I intended to publish Windows, Linux, and Mac OSX (intel) portings of the new "Structorizer (Lazarus)" project. This time, it would be completely open-source!
  • After the release of the Lazarus version, major problems were detected for the Windows port. This is why I came back to the Delphi code and continued developing "Structorizer (Delphi)", which would be published as freeware.
  • Due to too many problems with Lazarus, I decided to implement a Structorizer version in Java in December 2007. This version, which has also been released under the terms of the GPL, was given the major release number 3 and became the basis for all the versions 3.x until now.