The ACM Computing Classification System (1998) D.2.2 Design Tools and Techniques Computer-aided software engineering (CASE) Decision tables Evolutionary prototyping Flow charts Modules and interfaces Object-oriented design methods Petri nets Programmer workbench [**] Software libraries State diagrams Structured programming [**] Top-down programming [**] User interfaces