4.3.2.3 Representation tools
In general, requirements methods and languages and the tools that support them fall into three general categories—object,
process, and behavioral. Object-oriented approaches organize the requirements in terms of
real-world objects, their attributes, and the services performed by those objects. Process-based approaches
organize the requirements into hierarchies of functions that communicate via data flows. Behavioral
approaches describe external behavior of the system in terms of some abstract notion (such as predicate
calculus), mathematical functions, or state machines.
The degree to which such tools and methods may be useful in preparing an SRS depends upon the size and
complexity of the program. No attempt is made here to describe or endorse any particular tool.
When using any of these approaches it is best to retain the natural language descriptions. That way, customers
unfamiliar with the notations can still understand the SRS.
4.3.3 Complete
An SRS is complete if, and only if, it includes the following elements:
a) All significant requirements, whether relating to functionality, performance, design constraints,
attributes, or external interfaces. In particular any external requirements imposed by a system speci-
fication should be acknowledged and treated.