软件的分类
什么是分类 ?
举个例子:人的分类可以从以下几个方面来分类。
从肤色上
从肤色上
从年龄上
从性别上
从职业上
从性格上
…
前言:什么是软件的分类?软件从哪几个方面进行分类?
一、从来源上
1. 项目型软件:
使用群体:企业 (B端)
举例子:
ERP系统、CRM系统、银行软件、企业库存管理、销售统计、员工出勤考核等等
2. 产品型软件:
使用群体:人民群众,受市场驱动(C端)
举例子:
游戏,社交、视频、音乐
二、从功能上
1. 系统软件
用于操作计算机硬件的通用软件,它提供了运行应用程序软件的平台。
举例子:
Windows、Linux、Dos、Unix等操作系统
2. 应用软件
为了某种特殊的用途而被开发的软件,针对特定人群。
1. 办公软件
2. 聊天软件
3. 工具软件
4. 视频软件
5. 购物软件
6. 学习软件
举列子:1. 办公——企业微信、钉钉 2.聊天——QQ、微信 3.工具——高德地图、计算器 4.视频软件——哔哩哔哩、优酷、腾讯视频 5.购物软件——淘宝、京东 6.学习软件——中国大学、有道翻译
三、从结构上
1. B/S:浏览器/服务器(Web-Server)
程序在服务器上运行,用户通过浏览器查看使用作为用户只要有浏览器即可,不必因为服务器端的改变而实时更新浏览器。
举例子:网页版的手游,是兄弟来砍我999级那种、网站
- 优点:
- 客户端无需安装,有Web浏览器即可。
- BS架构可以直接放在广域网上,通过一定的权限控制实现多客户访问的目的,交互性较强。
- BS架构无需升级多个客户端,升级服务器即可(简化了系统的开发、运行、使用)。
- 缺点:
- 在跨浏览器上,BS架构不尽如人意。
- 表现要达到CS程序的程度需要花费不少精力。
- 在速度和安全性上需要花费巨大的设计成本,这是BS架构的最大问题。
- 客户端服务器端的交互是请求-响应模式,通常需要刷新页面,这并不是客户乐意看到的。(在Ajax风行后此问题得到了一定程度的缓解)
2. C/S:客户端/服务器(Client-Server)
程序基本运行在客户端,但数据要通过服务器服务器里的参数或程序改变了,客户端也要相应的更新
举例子:英雄联盟(无论是手机版的还是网页版的都需要下载客户端)、QQ
-
优点:
-
给人感觉更专业,专用,由于只有一层交互,响应速度、加载速度快 ,可以部分离线使用
-
C/S架构的界面和操作可以很丰富。
-
安全性能可以很容易保证,实现多层认证也不难。
-
-
缺点:
-
适用面窄,通常用于局域网中,不利于传播和分享。
-
用户群固定。由于程序需要安装才可使用,因此不适合面向一些不可知的用户。
-
投资高、维护成本高,发生一次升级,则所有客户端的程序都需要改变。
-