INTERVIEW QUESTION:

What is a Requirements Modeling Language?


Requirements Modeling Language (RML) is a collection of diagrams used to model software from the business analysis or product management perspective.  Instead of focusing on complex system design models as is typically done with UML or SysML, RML looks at a project’s goals and objectives.  Of course, many people have adapted the usage of UML diagrams to try and capture business requirement information more effectively, and there's nothing wrong with that.  But RML was established with a focus first and foremost on the business objectives and requirements in order to compensate for where UML and SysML have fallen short such as product line engineering, goal conflict resolution and hazard/threat modeling.

Furthermore, requirements engineering for complex systems requires collaboration between inter-disciplinary teams and domain experts. Many of which might not have software or systems engineering backgrounds.  RML was created with these people in mind and is easily digestible to the business.

RML models fall into 4 categories:

RML as described here is a broadly accepted idea.  But several requirements modeling languages exist.  So there is still some variation in the models used throughout the industry. Two of the more common versions are RML (Requirements Modeling Language) and URML (Unified Requirements Modeling Language). Both were established to fulfill the same goals and to compensate for the shortcomings of UML and SysML.


posted @ Sunday, May 10, 2015 8:04 PM by Chris Adams