Skip to Main Content
Many of the problems of software system development can be traced to poor understanding or specification of what the system is supposed to do. Much attention is now being given to producing requirements specifications that are understandable, formal, complete, and modifiable. The structure and content of conceptual models for problem understanding are discussed; such models can form the basis for requirements analysis. Techniques for "tuning" and formally specifying the conceptual model are surveyed, and the proper scope of a software requirements document-including nonfunctional requirements such as performance-is explained.