Software Requirements Management Tools: Specifications, UML Use Case, User Stories, Business Analysis, User eXperience

 

Free and Open Source Software Requirements Management Tools

 

Arbiter

Arbiter is a requirements gathering and acceptance testing tool for project managers and web developers, to help ease client interaction. The project specification can be defined in word processor format as you would normally. By adding some special items, such as titled bulleted lists and highlighted text items, both a test suite and glossary can be written right into the spec. The Arbiter server will parse these documents and run the tests, reporting the results into the documents themselves. This allows the client to see project process. It also allows the developers, sitting next to the client, to add concrete executable examples of the use cases. This adds clarity and helps to settle disputes over required functionality. Using the glossary, developers can signal to the client that concepts are not well understood. Tests can be marked pending if a document contains unexplained glossary items.


Archi

Archi is a free open source modeling tool to create business, IT and software architecture models using the ArchiMate modeling language. This language is an open and independent enterprise architecture standard that supports the description, analysis and visualization of architecture within and across business domains. ArchiMate is one of the open standards hosted by The Open Group and is fully aligned with TOGAF.


BOUML

BOUML is a free Unified Modeling Language (UML) and code generation tool that run under Windows, Linux and MacOS X. It provides a modeler that includes UML diagrams like use case, class, sequence, communication. BOUML also allows to generate code in C++, Java, Idl, PHP, Python and MySQL or import the code into diagrams. BOUML is one of the rare free UML tool available that has the benefits of being actively maintained and having been commercially tested. Besides modeling, it provides many code generations features that are useful if you want to use the results of your modeling efforts in later phases of the software development life cycle.

BOUML open source UML tool


CAIRIS

CAIRIS (Computer Aided Integration of Requirements and Information Security) is a platform for specifying and modelling secure and usable systems. CAIRIS was built from the ground-up to support the elements necessary for usability, requirements, and risk analysis.


Concordion

Concordion is an open source framework for Java that lets you turn a plain English description of a requirement into an automated test - an active specification. The specifications are easy-to-write, and produce attractive output that is easy-to-read. Unlike other tools, Concordion provides the flexibility to use natural language and format the living documentation however you wish. You can create collaborative specifications that are kept up-to-date and used by the whole team. By storing the specs in version control with the source code, they follow the same lifecycle as the system they are describing.


Concordion.Net

Concordion.NET is an open source framework for C#/.NET that lets you turn a plain English description of a requirement into an automated test. Concordion.NET is the most flexible tool for creating high-quality living documentation. It is often used with Specification by Example (SbE) and Behaviour Driven Development (BDD) processes


Ephemeris

Ephemeris is an open source system engineering and requirements management application. It allows managing stakeholders, requirements, functions and products in one place and link them together. You can also record requirements and actions trough the “meeting” panel. You can build the project breakdown structure, generate overview diagrams, ERD and mindmaps from the project relations.


FaMa-FW

FaMa-FW is a Framework for automated analyses of feature models integrating some of the most commonly used logic representations and solvers proposed in the literature (BDD, SAT and CSP solvers are implemented). FaMa is the first tool integrating different solvers for the automated analyses of feature models.



Frame UML

A free UML tool. 1)Support UML 2.xx; 2)Used in Windows(2000/XP/Vista); 3)Can generate source code /CHM from model, or parse source code into model by JavaScript; 4)Support 12 kinds of diagram except object diagram; 5)Very nice, simple, and easy to use


Gaphor

Gaphor is a simple open source modeling tool for the Unified Modeling Language (UML). It is aimed at beginning modelers who want a simple and fast tool so that they can focus on learning.

Gaphor open source UML tool


Green

green is a LIVE round-tripping editor, meaning that it supports both software engineering and reverse engineering. You can use green to create a UML class diagram from code, or to generate code by drawing a class diagram.


JavaRequirementsTracer

A tool for monitoring traceability between requirements and Java code. Create a traceability matrix using annotations. Report format: HTML. JavaRequirementsTracer easily generates a report on your project using the annotations showing all of the info required. t can be run through a Maven plugin (recommended), as a standalone Java program, or through a Unit Test, which is probably the simplest way of running it.


JFeature

JFeature is an open source feature/requirement coverage tool that facilitates focusing on requirements as you develop code. It lets you leverage from standard development practices to get more insight into the requirements covered by the code. JFeature works on top of the well known unit testing framework - JUnit, to identify the requirement coverage in the code. This also makes JFeature useful for projects, which use tools that operate on top of JUnit, such as, Cactus, StrutsTestcase, etc


Modelio

Modelio is an open source modeling environment that supports UML2 and BPMN2, and provides extensions (modules) for SysML modeling, TOGAF modeling and Java code generation. The Java Designer module uses an RCP/Eclipse-style project file structure, and supports Java code generation and reverse, Javadoc generation and Java automation. Modelio can be extended for any language, methodology or modeling technique just by adding modules to your configuration. You can either use existing modules or else develop your own. Modelio provides integrated support of the Jython scripting language, for online requests, small scripts and macro definition.


Open Source Requirements Management Tool (OSRMT)

Open Source Requirements Management Tool (OSRMT) is an open source requirements management tool designed to achieve full SDLC traceability for features, requirements, design, implementation and testing. UI for requirements derivation, version control, common or custom attributes - rationale, source, risk, effort etc. OSRMT is cross platform application, It was tested on: Windows, Linux (Centos distribution) and MacOS.


OpenOME

The Organization Modelling Environment (OME) is a general, goal-oriented and/or agent-oriented modeling and analysis tool. It provides users with a graphical interface to develop models, and supports access to a powerful knowledge base that allows for sophisticated computer-aided analysis. This tool is intended to provide software developers with a clear link between the requirements, specification and architectural design phases of development.


Oryx Editor

Oryx is a platform for conceptual modelling (UML, EPC, BPMN, etc.) that provides access to the stored models by URLs. It's fully functional in terms of creating and editing models and can easily be extended, e.g. by other notations (called stencil-sets) or by extra functionality for certain notations (via plugins).


pyconcordion

PyConcordion is a Python port of Concordion BDD Agile testing framework. With this open source tool, you can : * Write your specification in HTML with Concordion instrumentation * Write your fixture in Python just like you would write a fixture in Java * Run your tests either individually or with the folder runner * Look at the Concordion report


Quick Sequence Diagram Editor

Quick Sequence Diagram Editor is a tool for creating UML sequence diagrams from textual descriptions of objects and messages that follow a very easy syntax. It supports actors, constructors, destructors, threads and on-diagram comments that can be used to represent conditions or loops.



Requirement Heap

Requirement Heap is a web based requirement management application. It allows to enter requirement in rich text, supports versioning and the management of requirements.


RE-Tools

The RE-Tools is a model-based modeling tool. All supported notations can be used together in an integrated manner, which means functional and non-functional requirements, agents, goals, softgoals, formal goals, and objects can be related as needed.


rmtoo

rmtoo is a free and open source requirements management tool. rmtoo uses a different approach than most other requirements management tools: it comes as a command line tool which is optimized for handling requirements. The power of rmtoo lies in the fact that the development environment can handle the input and output files - there is no need for a special tool set environment.


RTH - Requirements and Testing Hub

RTH (Requirements and Testing Hub) is an open-source test-management tool, which also has requirements-management and bug-tracking capabilities.


Ruby Concordion

This tool is inspired by Concordion originally written in Java. The goal of our version of Concordion is to provide an active specification framework in Ruby.


S.P.L.O.T.

The primary goal of SPLOT is to put Software Product Lines research into practice through the delivery of state-of-the-art online tools targeting academics and practitioners in the field. With SPLOT you can edit, debug, analyze, configure, share and download feature models instantly.


Sculptor

Sculptor is an open source productivity tool that applies the concepts from Domain-Driven Design and Domain Specific Languages. You express your design intent in a textual specification, from which Sculptor generates high quality Java code and configuration.


SLAM Software Lifecycle Artefact Manager

Swing Java Application manages software requirements and associated functional tests, including results, showing requirements/tests traceability at all time. Requirements and tests are formatted as in text processor; print-ready documents are generated.


specs2

specs2 provides a Behavior Driven Development (BDD) framework for for writing executable software specifications in Scala. With specs2 you can write specifications for simple classes (unit specifications) or specifications for full features (acceptance specifications).


Spectacular

Spectacular is an Acceptance Test Driven Development (ATDD) / Behavior Driven Development (BDD) tool that aggregates several different types of testing frameworks into 1, and it also introduces the idea of Executable Use Cases. Spectacular is a BDD framework for CoffeeScript and JavaScript whose attempt to bring the power of RSpec to JavaScript. Spectacular try to favor the best practices used for writing better RSpec tests in its design.


Stylebase for Eclipse

Stylebase for Eclipse is an open source tooling environment for software architects and designers. Stylebase is a reuse repository for architectural models and design patterns and it assists in applying quality-driven architecture design into software engineering.


TextUML Toolkit

TextUML Toolkit is an open-source IDE for UML that lets you create models at the same speed you write code. By adopting a textual notation, the TextUML Toolkit provides benefits you will not get elsewhere like increased modeling productivity


Umbrello UML Modeller

Umbrello UML Modeller is a Unified Modelling Language diagram programme for KDE. UML allows you to create diagrams of software and other systems in a standard format.


Umple

Umple is a modeling tool and programming language family to enable what we call Model-Oriented Programming. It adds abstractions such as Associations, Attributes and State Machines derived from UML to object-oriented programming languages such as Java, PHP and Ruby. Umple can also be used to create UML class diagrams textually.


UML Almighty

UML Almighty provides a dynamic view of an UML Model, simulating an entire UML model with desktop and web prototyping.


UML Designer

UML Designer is a graphical tool to edit and vizualize UML 2.4 models. It uses the standard UML2 metamodel provided by Eclipse Foundation.


UMLet - Fast UML Editor

UMLet is a UML tool aimed at providing a fast way of creating UML diagrams. UML elements are modified using text input instead of pop-up dialogs. Elements can be modified and used as templates; this way, users can easily tailor UMLet to their modeling needs. UMLet supports a variety of UML diagram types: class diagrams, use case diagrams, sequence diagrams, state diagrams, deployment diagrams, activity diagrams -- see some examples. UMLet allows users to create their own custom UML elements. An element's look can be modified at run-time by changing a few lines of Java code; UMLet then compiles the new element's code on the fly. Without leaving UMLet, users can thus create and add new element types to their diagrams.


UMLetino

UMLetino is a free online UML tool for fast UML diagrams. It runs in your browser, and does not require any installs. It is based on UMLet (which is available as stand-alone tool or Eclipse plugin), and shares its fast, text-based way of drawing UML sketches.


UNICASE

UNICASE is a CASE-tool that supports modeling artifacts of a software engineering project, such as components and tasks. All artifacts in UNICASE are part of one unified model, and we refer to them as model elements. UNICASE provides an initial set of model elements from two domains, the system model and the project model. Model elements from the system model describe the system under construction, such as functional requirements, use cases, components or UML artifacts. Model elements from the project model describe the on-going project, such as tasks, bug reports, the organizational structure, iterations or meetings. Since the UNICASE model explicitly defines the associations among model elements by model links it enables traceability even across domain boundaries. For example, a use case can be associated with the respective action items that are implementing the use case providing traceability from the requirements engineering to the task breakdown structure domain. The models are stored and versioned on a server comparable to svn but customized for models. Client and server are easily extensible to support integrating new models into the unified model.


Use Case Maker

Use Case Maker helps software developers to write organized use cases and to maintain related requirements.


Violet UML Editor

Violet is an open source and free UML editor intended for developers, students, teachers, and authors who need to produce simple UML diagrams quickly. Violet is a UML editor with these benefits: Very easy to learn and use. Draws nice-looking diagrams. Completely free. Cross-platform.


WhiteStarUML

WhiteStarUML is an open source UML (Unified Modeling Language) modeling tool derived from StarUML compatible with Windows 7-10. WhiteStarUML is based on UML version 1.4, provides eleven different types of diagram and it accepts UML 2.0 notation. It actively supports the MDA (Model Driven Architecture) approach by supporting the UML profile concept and allowing to generate code for multiple languages.


Xuse

The Xuse project is an Open Source initiative that aims to define an XML data model that will allow for the capture and management of software requirements from a use-case centric perspective. The project will provide XSLTs to create multiple views on this data model in a variety of formats such as HTML, PDF, SVG etc. As all the data will be stored in XML it will also be possible to provide different information to different consumers: for example you may wish to document technical issues of why a software requirement will be difficult to implement but not show this information to the customer who is signing off the requirements. Additionally different people such as QA engineers and developers may require different views on the data - something that XSLT facilitates