软件的概括分类主要基于功能、技术架构和用户类型等维度,具体如下:
一、按功能划分
系统软件 - 提供计算机硬件管理、系统资源分配等基础功能,如操作系统(Windows、Linux等)、数据库管理系统(MySQL、Oracle)和硬件驱动程序。
- 作用:使计算机硬件资源得到合理调度,为应用软件提供运行平台。
应用软件
- 为满足特定用户需求而开发,如办公软件(Word、Excel)、图像处理软件(Photoshop)和游戏软件。
- 特点:直接面向用户,处理具体业务逻辑。
中间件
- 介于系统软件和应用软件之间,提供通信、数据管理等服务,如消息队列、分布式计算框架(如Hadoop)。
- 作用:简化应用软件的开发复杂度,提升系统集成能力。
二、按技术架构划分
单机软件
- 直接在单一计算机上运行,如文本编辑器、画图工具,无需网络连接。
C/S(客户端/服务器)结构软件
- 需安装客户端软件,数据存储在服务器端,如QQ、邮件客户端。
B/S(浏览器/服务器)结构软件
- 通过浏览器访问,服务器端处理业务逻辑,如网页浏览器、企业管理系统。
三、按用户类型划分
产品软件
- 面向大众用户,如办公软件、娱乐软件(游戏、视频播放器)。
项目软件
- 为特定项目定制开发,如企业资源规划(ERP)系统、定制化工具。
补充说明
数据与文档: 软件由程序、数据和相关文档组成,文档包括用户手册、设计文档等。 其他分类方式
按开发规模:小型(10人以下)、中型(10-100人)、大型(100人以上);
按开发周期:开源软件、商业软件。
以上分类方式各有侧重,实际应用中常交叉使用。例如,办公软件属于通用应用软件,同时是C/S结构软件。