From 4f9ab37901c0bd4c64ae9dee5a5f25dfe01fb146 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Thu, 11 Jan 2018 00:17:58 +0100 Subject: Update README --- README.md | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 65 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index bd18385..1db7cfe 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,66 @@ -# OrbitingYeti: a tool to write Nassi-Schneidermann diagrams +What is this? +============= +OrbitingYeti is a tool to write Nassi-Schneidermann diagrams. The name is just a +randomly generated codename. -## Coding style -[https://wiki.qt.io/Qt_Coding_Style] +What is a NS diagram? +--------------------- +Nassi-Schneidermann diagrams aka structograms are a way to graphically represent +a structured program, which in modern terms are programs written with a +procedural paradigm. Structograms were first introduced in the '70 by Isaac +Nassi and Ben Schneiderman to replace flowcharts that were becoming +inadequate as they couldn't represent concepts like recursion. + +Paper from 1973: +[http://www.cs.umd.edu/hcil/members/bshneiderman/nsd/1973.pdf](http://www.cs.umd.edu/hcil/members/bshneiderman/nsd/1973.pdf) + +Why? +---- +Because I wanted to practice C++ and try QT, and also because there aren't many +(good, non web based, cross platform) tools to draw these kind of diagrams. + +Alternatives +------------ +I don't have much time to work on this so here's an alternative. + +Structorizer: +[http://structorizer.fisch.lu/](http://structorizer.fisch.lu/) + +![relevant xkcd](https://imgs.xkcd.com/comics/estimating_time.png) + + +How to build +============ + +``` +$ git clone https://github.com/NaoPross/OrbitingYeti.git && cd OrbitingYeti +$ mkdir -p build && cd build +$ qmake .. && make +``` + +Project +======= +TODO +---- + +- [x] Ui +- [ ] Draw diagrams +- [ ] Save / load diagrams +- [ ] Export diagrams to + * [ ] PDF + * [ ] TikZ + * [ ] Svg + * [ ] PNG +- [ ] Cross platform +- [ ] DEB / RPM Package + +Coding style +------------ +I use QtCreator's default coding style. + +For more details see: +[https://wiki.qt.io/Qt\_Coding_Style](https://wiki.qt.io/Qt_Coding_Style) + +Git +--- +If you want to contribute write commits in the imperative (default) form. -- cgit v1.2.1