Starting with a basic joomla install...
Your job will be to develop a component that allows the following.
Make a way to define an object called "requirements" a requirement will have a title and some other data fields (10). The area where you define this would be a single page where you can create, edit, or delete "requirements" This page is set to only "editor" access.
Second we will modify one of the what you see is what you get editors. We will add a button that works much like the "link" button does. One can highlight an area of text then click our new button. This will launch a process where they can pick one or more of the "requirement" objects. Then click ok. This will tag the selected text for this particular "requirement". This tag will not appear in the editor but the text should be highlited or some way to indicate it has been linked to a requirement (much like a hyper link does today). This indication should not show in the style sheet presentation for the reader (site user) but just in the editor.
Thirdly we shall add a search feature that allows a user to select a "requirement" from the standard search page. Search results would be direct links to the areas tagged for the particular requirement. This should work alone or as an "AND" to a key word search
Forth we shall add a reporting page that allows a user to browse all "requirements" the requirements will be headers, under each requirement will be a link to the areas tagged for the particular requirement. IE the requirement would be a header then under it links to each item where this requirement has been linked to. The links below the header should have a small excerpt of the tagged text, say 15-30 words. This function would be a single page to start, then later we can organize it better or divde it up or make it sortable..
Fifth, we shall modify the editor to only include a few of the items possible for the HTML. This will limit the person editing to our defined items.
Sixth, we shall make an import feature to import "requirements" from XML. The XML is already a defined standard. I can provide this when we get to this point.
After this initial build most likely I will go to pay by the hour support for this component.