说说我的个人意见
从传统分类上来讲,(狭义的)软件包括硬件中的嵌入系统软件、硬件驱动、系统软件、应用软件、运行时、中间件等等。(广义的)软件更包括软件工程管理、软件开发技术、软件基础支撑理论等等内容。
从流行方向上来讲,软件已经发展成为一种服务(SaaS),在云计算这类前沿技术中,所有的功能都作为服务提供,这都是软件。
而应用程序,只是直接面对用户提供一定功能的软件,可能是桌面上的浏览器,可能是手机上的地图,可能是Google云所表现出来的Gmail。
web app,我一般会翻译为“在线应用”,翻译成“在线软件”、“线上软件”也还可以,尽管准确来说“app”不是“软件”。“Web”和“网页”不能画等号,Web只是传输方式,Z终表现不一定是网页,学过软件服务课程的都应该了解。