STORM, presented in this paper, is a UML-based software engineering tool designed for the purpose of automating as much of the requirements specification phase as possible. The main idea of the STORM approach is to combine adequate requirements writing with robust use case modelling in order to expedite the process leading up to the actual design of the software. This paper presents a description of our approach to software requirements specification as well as an overview of STORM’s design concepts, organizing principles, and modes of operation. Also included are examples of the tool’s use, a comparison between STORM and similar CASE tools, and a discussion of needed features for software environments that support text aspects of requirements and use case modelling.