Presentation¶
About requirements¶
- https://en.wikipedia.org/wiki/Requirement
- A text sencence.
- Characteristics of good requirements (unitary, complete, consistent, traceable, unambiguous, verifiable...).
About DOORS¶
https://www.youtube.com/watch?v=Reff4ELfwrM
- Similar to a word document.
- Database under the hood.
- Tree structure for readability (hierarchy).
- Columns with properties.
- Filterable.
- Keeps track of changes (baselines, etc...).
- Also similar to an spreadsheet.
- Ability to generate reports.
- Links between requirement items (dependences).
- Architecture can be described using DOORS (product tree).
- Links between requirement items and architecture items.
- Consistency checks between arch & req.
- Validation plans can be described using DOORS.
- Links between req or arch items and validation items.
- Consistency checks between arch & req & validation steps.
- Too expensive.
- From the software development point of view, is a very simple tool.
- “Closed and de facto industry standard”.
- Poor interoperability.
- Poor workflow support.
- Poor role support.
- Poor collaborative work support.
- Needs specific server & specific clients.
- Tayloring using specific scripting language.
- Plugin development out of the scope of the clients.
- Does not allow offline modification.
An hybrid alternative using Redmine + Git.¶
- Redmine has:
- Database under the hood.
- Redmine + Git can be put in sync.
- Strong REST API for total interoperability.
- Strong team support.
- Strong workflow support.
- Based on roles.
- Strong colaborative work support.
- Need Specific server.
- No specific client needed (web).
- Open source & free.
- Tayloring using:
- Strong configuration panel.
- Standard ruby language via plugin development.
- Any other language (javascript, python, etc..) through REST API.
- Git is:
- Roughly speaking, the leader and best tool for version control.
- The reference tool and vastly documented.
Redmine is a task management tool. We can transform it to be a requirements management tool.
In combination with Git, the requirements can be uploaded/downloaded to/from the BD from/to the filesystem, keeping track of the changes and allowing baselining.
cosmoSys-Req¶
- Is is able to include all the functionalities of DOORS.
- It can provide the same functionality with greater quality.
- It is providing more features than DOORS right now.
- It can be extended and improved easily without needing to learn specific scripting tools.
- It is more visual.
- It generates better reports.
- It generates diagrams, complete or requirement centered.
- It can also be extended (near future) to arch and validation plans.
- Focused for public or private entities with small budgets.
- It can be used in offline mode.
- It is free.
- It is open source.
- It is just the beginning.
- Little (but growing) support.