Types and application characteristics of CASE tools