JRequire is a simple tool that allows you to track whether your Java unit tests (JUnit) are covering your requirements. Checking code coverage of unit tests is a standard part of enterprise development, but check requirements coverage is novel.
To use JRequire, you have to maintain a mapping between your unit tests and your requirements. That means some effort, but it isn't going to get much easier than that. Mapping unit tests to requirements is an indirect way to map code to requirements, but I'm thinking that it could be a useful way to do it. Requirements don't necessarily map neatly to particular classes or methods, but I can see how they may map more neatly to unit tests, especially when testing of groups of related classes, rather than just individual classes.
Limitations? Well, sometimes requirements aren't the right thing to map code or unit tests to. For example, where use cases have been developed from requirements, development may be based on the use cases. In that case, you want two levels of mapping, code/tests to use cases, and use cases to requirements. More generally, allowing multiple levels of mapping is what you would need for a large enterprise project.
All that said, hats off to the JRequire folks for coming up with something so simple and useful.