I am currently drawing interfaces in Visio. In the file there is a heap of sheets, on each sheet the interface form is drawn, where the same program header is found. And if you need to change something in the header, then you have to change the interfaces on each sheet. Prompt software that would allow to build the interface from primitives as in Visio. And in order to be able to use the rendered interface element, for example, the Site Cap, and in other interfaces. And the most important thing is that the changes of this object Caps of the site should be taken into account in other interfaces where this Cap is used.