We've focused on the use-case method for capturing the majority of requirements for our system, and we've suggested that functional requirements are best expressed in use cases. In so doing, we may have overstated the case. In fact, there are many kinds of functional requirements that we cannot express so conveniently in the context of a use case, and for these cases we often recommend a traditional "declarative" requirements technique, simple text-based sentences, or other techniques that describe what the system needs to do without the structure of a use case.
Indeed, many complex systems tend to have minimal human interfaces or even other device interfaces, but that doesn't mean they don't do a lot of work on behalf of someone or something. For example, the following types of systems are not so easily described with the use-case technique.
In these cases, the supplementary specification will take on a more primary role in the requirements process. In the extreme, most of the requirements will be recorded in the supplementary specification and the use-case model will reflect a much smaller set of externally visible behaviors.