SOFTWARE analysis and design 2020