What can you do with this application?
=======================================
Requirements engineering is a two-fold task. Writing down an application flow you're already know (= having the whole flow in your head, just "print it") is completely different from the task of _creating_ an application flow. The latter means that don't know anything about the flow so you need to explore it step by step by permutation. This tool was build around this task. It let you use your "slow thinking" which leads to better results. Slower - but better!
.
1) Explore all possible combinations of conditions and actions by question-and-answer
2) Don't forget a combination conditions and actions
3) Abandoned combinations are still documented
4) Easy mathematics to find any incomplete or inconsistent decision table
5) Get a set of valid rules which are your test cases
.
Scrum: Get clear, doable and testable requirements to pin at your product backlog.
.
There is a lot of documentation and examples! Please go to http://sourceforge.net/projects/jdecisiontable/files/ to enjoy!
You may visit http://sourceforge.net/projects/jdecisiontable/ for updates and there is a blog too.
Java version: The entire software was build using Java 7.
Microsoft® .NET®: There is a binary for Microsoft® .NET® 4.0 available!
It was compiled and tested using IKVM (http://www.ikvm.net) using IKVM.NET 7.4 Release Candidate 0, version 7.4.5196.0 (ikvmbin-7.4.5196.0.zip), downloaded via http://weblog.ikvm.net/default.aspx?date=2014-03-24
So you can run JDecisiontable even if there is no Java available on your system!
Help/Examples
==============
Source code repository: The Help files for this project are located in the folder Help. Examples are located in the folder Examples.
Download area: The Help files for this project are located in the package JDecisiontable*_Help. Examples are located in the package JDecisiontable*_Examples.
Dependencies
=============
This software contains the following libraries:
- Apache Commons IO, http://commons.apache.org/io/
- Google google-gson, http://code.google.com/p/google-gson
- Awtomat, http://sourceforge.net/projects/awtomat/
- JDecisiontableLib, http://sourceforge.net/projects/jdtlib/
- myflipflops, http://sourceforge.net/projects/myflipflops/
- JDecisiontable for Microsoft® .NET® comes with files from project IKVM http://www.ikvm.net
Licence
========
This work is licensed under the MIT licence. For details see LICENSE.txt.
Licences of software from third parties are kept in the file THIRD_PARTY_LICENSES.txt.
Notes
===============
User Interface
-----------------------------------
1. If you're just start typing in column "Description" there is no cursor. Work around by pressing F2 key when you marked the cell you wish to edit.
Same in field successor (last field of ech rule).
2. You may mark any range of cells of a decision table and the press Ctrl + c. This will copy the content of the marked cell to the clipboard.
If you want to copy the whole decision table to the clipboard you need either to use the menu or to click on the label on top of the tab
first and then press Ctrl + c.
Linefeed in CSV files
-----------------------------------
1. The linefeed in the CSV files is LF (decimal 10, hexadecimal 0x0a) on Linux®, *BSD, Mac OS and other Unix-based operation systems.
For Microsoft® Windows® it is CR LF (decimal 13 10, hexadecimal 0x0d 0x0a). This is the usual behaviour and not a bug.
Known problems
===============
Microsoft® .NET® related
-----------------------------------
1. Shortcut Ctrl-# does not work. Please use Ctrl-t or your mouse instead.
2. Entering "don't care"-decisions by typing "-" does not work. Please type "d" instead.
3. Shortcuts like Ctrl-Alt-R doesn't work. Please use the menu instead.
Usage
======
"x.y.z" means the version number of the software i.e. "2.2.0".
JDecisiontable for Java
------------------------
*Please read the Security Advices below.*
What you need
...............
For this way you need to install a Java Runtime Environment version 7 or better on your system. You may use the OpenJdk if available.
Again: *Please read the Security advices below.*
How to run it
..............
- unpack the archive containing JDecisiontable for Java
- With Microsoft® Windows® double click on JDecisiontable-x.y.z-jar-with-dependencies.jar to run it.
- With Linux® it is the most easy way to make the file launch_jdecisiontable.sh executable and then double click on it.
You do not need to make Decisiontable-x.y.z-jar-with-dependencies.jar executable.
If you like, you may create a new launcher which must execute "java -jar JDecisiontable-x.y.z-jar-with-dependencies.jar".
JDecisiontable for Microsoft® .NET®
-------------------------------------
To run JDecisiontable with Microsoft® .NET® you do not need any Java installed on your system.
What you need
...............
All you need is to have Microsoft® .NET® 4 or better on your system. It is available for every Microsoft® Windows® from XP and above:
- Microsoft® Windows7®: Microsoft® .NET® 4 is available without any additional installation if you keep your Microsoft® Windows7® up to date.
- Microsoft® Windows Vista®: Microsoft® .NET® is available without any additional installation. If you kept your Microsoft® Windows Vista® up to date it should be Microsoft® .NET® 4.
Ortherwise you need to update to Microsoft® .NET® 4 by downloading it from Microsoft® and install it.
- Microsoft® Windows XP®: Microsoft® .NET® was not installed by default. You need to install Microsoft® .NET® 4 by downloading it from Microsoft® and install it.
JDecisiontable 2.1.0 was proved to run properly with Microsoft® Windows XP®.
How to run it
..............
- unpack the archive containing JDecisiontable for Microsoft® .NET®
- double click on JDecisiontable-x.y.z.exe to run it
Security Advices
==================
Java is often bundled with two browser plug-ins which both suffered serious security flaws in the past.
Usually there are two plug-ins. One is for running Java application in the browser (Java Browser Plug-in).
The other one is used to run a Java application on you desktop when you click on a prepared link (Java Web Start Plug-in).
Java for Microsoft® Windows® by Oracle® does always install both plug-ins. On Linux® these plug-ins are provided as separate packages.
You can them install and remove without affecting the files needed for OpenJdk.
Some Linux® distributions are installing them when you install Linux®. I found Linux Mint Debian Edition to do so.
Please check your system if these Plugins are installed and if they are installed if they are active.
If you did not run Java application in the browser window there are good reasons to remove the Java Browser Plug-in.
If you did not launch Java applications out of the browser window there are good reasons to remove the Java Web Start Plug-in.
If you need these plug-ins, it is a good idea to use two browsers: One with plug-ins activated for launching/running Java applications but never surfing in the internet
and a second browser with these plug-ins deactivated for the internet.
JDecisiontable for Microsoft® .NET® does not need any Java installed on your machine.
Security advice for Microsoft® Windows®
----------------------------------------
As fas as I know it is not possible to remove these plug-ins. So you may only deactivate these plug-ins system-wide.
See http://www.java.com/en/download/help/disable_browser.xml how it can be done.
Please check you browser hereafter to see if the change took effect.
Security advice for Linux®
---------------------------
Please use the package manager for your system (like Synaptics for Debain, Ubuntu, Mint). Please check if there are packages named "icedtea" are installed.
It is a good idea to check this on every fresh installed Linux.
On my Xubuntu 14.04 these are named "icedtea-netx-common" and "icedtea-plugin", "icedtea-6-plugin" and "icedtea-7-plugin".
While "icedtea-netx-common" contains the Java Web Start Plugin, the others contain the Java Browser Plugin.
You can remove them ("Mark for Removal") using i.e. Synaptic without trouble.
Mac OS
-------
I have no idea how Java is handled here thus I can not give any advice about.