Tools
Requirements elicitation and analysis need a toolbox containing a combination of 'hard' and 'soft' tools. Soft tools are needed because so often, when a problem is perceived, and people want a modified or new system to help deal with the problem, it may be very difficult to articulate what is wanted.......
...... and combine that with the reality that so often people do not say what they mean, and they do not mean what they say - there is nothing wilful about this - it's just that it can be very difficult to go from a feeling that the current system is 'not quite right', or something new is wanted, to articulating what the new system should be, and how it should do what it needs to do. Soft tools are often used to help with eliciting and articulating what is wanted, as well as achieving consensus among stakeholders about what solution is needed.
System specifications for real systems may have thousands of elements in the specification. This is where 'hard' tools are required. The degree of detail needed is, of course, determined in part by the level of audience. For example, less detail is normally needed for presentation to a board, whereas considerable detail will be needed by people responsible for construction and implementation of a new system. Hard tools can also be of great help in the requirements elicitation process by iterating eliciting requirements and problem statements, and checking the detail known so far, for completeness and consistency.
All of this issues related to these points are explored further in this, and associated, websites.