This seems like a pretty good place to start. The following doodle is intentionally abstract. However, it should, in my biased opinion, cover the responsibilities of any software application. Some systems may not have a visual interface that you access with a PC internet browser or mobile application. But those systems would do something more data-driven like listen to signals from a piece of hardware in a manufacturing line, or even, in 2018, send fax messages.