Is there any software which can be used to write functional and non-functional requirements?

When writing those, it is essential to:

  • Store the document in text format to be able to make diffs and minimize the impact on the version control,

  • Apply extensive formatting when creating diagrams would be an overkill,

  • Use diagrams, preferably stored in text format as well,

  • Cross-link the requirements or the appendixes.

Currently, I can only think about three editors which may be used, but which are not truly suitable:

  1. A Markdown editor.

    Benefits: text only; easy to add formatting.

    Disadvantage: not powerful enough: one can add images, but not diagrams; formatting is rather limited; no cross-linking (unless adding much HTML markup).

  2. An HTML editor.

    Benefits: text only; ability to add diagrams with HTML 5. Advanced formatting is possible.

    Disadvantages: markup difficult to change by hand, or if WYSIWYG editor is used, markup is often too verbose and low quality; cross-linking limited to manual only.

  3. A document editor such as OpenOffice or Microsoft Word.

    Benefits: ability to apply some advanced formatting; excellent automated cross-linking.

    Disadvantages: binary format, which means no diff and wasted space in version control.

What are my other choices?

What is actually used in the industry?

  • Collaborative web editing a la Google Docs? – rwong Aug 17 '13 at 8:15
  • 1
    In the industry, the most often used requirements gathering tool is MS Word, followed by MS Excel. Word and Excel have inbuild diff/merge capabilities (if those are suitable one has to decide, of course), but the "wasted space" thing is just "premature optimization" - come on, your requirements don't need that much space compared to the software source code you are going to build around that requirements. – Doc Brown Aug 17 '13 at 10:06
  • @rwong: you want the NSA to proofread your requirements? – Doc Brown Aug 17 '13 at 10:20
  • SRS is just a template. MS Word is very widely used, but any editor would do. Once upon a time there were SRS SGML DTDs and XML schemas for structured editing. – Deer Hunter Aug 17 '13 at 18:17

Have you thought about these

  • Docx - MS Word format based on XML
  • Latex
  • a Wiki eg Confluence
| improve this answer | |
  • +1 for Latex. It may be exactly what I need. Wiki like Confluence is similar to a WYSIWYG. As for .docx, it's not an option, since Word would still create a ZIP file; moreover, making a diff of a .docx is not the easiest task to do. – Arseni Mourzenko Aug 17 '13 at 9:46
  • 1
    When you combine latex with a version control system such as git with latexdiff, you can very easily make diff pdf's: tex.stackexchange.com/questions/1325/using-latexdiff-with-git/…. – Paul Hiemstra Aug 17 '13 at 10:53

DOORS (Dynamic Object-Oriented Requirements management System) is an object-oriented database system and application code specifically for managing requirements. It is heavily used in the industry by the serious players.

| improve this answer | |

Two ideas:

  • docbook may suit your needs (not specifically for requirements, you can use this for any kind of formatted docs). Text format, cross linking capabilities, images. How you get diagrams into your documents depends a little bit on your workflow (for example, in the past my team set up a workflow where we can use Inkscape for diagramming, with an automatic conversion from SVG to PNG images).

  • any kind of issue tracking system. See requirements just as "missing features" (or issues), starting from a "Hello World" program.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.