SaltySpec is a SALT (PlantUML)-based generator application that serves to generate Use Case Specifications from SALT GUI Wireframes Syntax. The name SaltySpec is taken from the abbreviation of the word "SALT GUI Wireframe to Use Case Specification".
There are a few steps needed to install SaltySpec, the steps consist of the following:
- Make sure you have Git installed on your computer. If not, install Git from the following link: https://git-scm.com/downloads
- Clone the SaltySpec repository with the following code:
git clone https://github.com/AgileRE-2022/SaltySpec.git
- Open the SaltySpec folder by running this following command:
cd SaltySpec
- Run the following command to install the dependencies:
pip install -r requirements.txt
- Run the follow command to run the application:
python manage.py runserver
- Access the application through http://127.0.0.1:8000 in your browser
There are a few steps that must be done to convert the SALT GUI into Use Case Specification. Here are the following steps:
-
Input the actor of the use case in the “Aktor” field.
-
Input the Salt GUI code in the “Salt” field (with the specified criteria).
-
Make sure the Salt GUI has all of the specified requirements / criteria.
@startuml title ***write your use case name here*** !unquoted procedure SALT($x) "{{ salt %invoke_procedure("_"+$x) }}" as $x !endprocedure !procedure _form() {+ ***write your code (GUI) here*** } !endprocedure !procedure _success() {+ ***write your code (main scenario) here*** } !endprocedure !procedure _error() {+ ***write your code (alternative scenario) here*** } !endprocedure (*) --> SALT(form) form --> SALT(success) form --> SALT(error) @enduml
-
The completed form will generate a Use Case Specification in the form of a table.
-
The Use Case Specification table can be exported as a png file.
Due to our limited time constraint, this project had some limitations. These limitations are as follows:
- The Salt GUI can only represent a single use case.
- The Salt GUI is in the form of activity consisting of at least one main scenario.
- The Salt GUI used must implement the usage of macro.
- The Salt GUI Must contain Title, since it will be used as the use case title.
- The Salt GUI Must contain !procedure _form(), since it will be used as the part that represents GUI that is being used.
- The Salt GUI Must contain !procedure _success(), since it will be used as the part that represents the main scenario. It should contain what the desired output looks like.
- The Salt GUI Must contain !procedure _error(), since it will be used as the part that represents an alternative scenario. It should contain what the alternative output looks like.
- The Salt GUI Must not contain header attribute in the "!procedure _success()" and "!procedure _error()", since it will break the specification output.
- The Salt GUI Must contain ":" before an input field, since it will be used as the part that represents the input field.
- The Salt GUI Must only have one button in each interface, since it will be used as the part that represents the button.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
SaltySpec is distributed under MIT License