软件开发中的术语整理
1. 开发环境
- DEV: Development Environment ,开发环境,用于开发者调试使用;
- FAT: Feature Acceptance Test Environment, 功能验收测试环境,用于软件测试者测试使用;
- UAT: User Acceptance Test Enironment, 用户验收测试环境,用于生产环境下的软件测试者测试使用(比如甲方用户进行验收测试的环境);
- PRO: Product Environment, 生产环境。
2. 系统性能指标
- QPS: Queries Per Second,指每秒钟系统能够处理的查询(请求)数量,通常用于衡量数据库或服务器的性能。例如,一个数据库每秒能处理的查询数量为100,则称其QPS为1000。在网络应用中,QPS可以表示每秒钟系统接收的请求数量或每秒响应的请求数量。
- TPS: Transaction Per Second, 每秒钟系统能够处理的事务的数量。吞吐量;
- RT: Response Time, 响应时间。
3. 软件开发过程中的版本说明
3.1 一些常见的版本术语
- GA: General Avaliablity, 正式发布版本,是最终发布给用户使用的稳定版本,不再包含明显的缺陷和错误,官方推荐使用此版本;
- RELEASE(或R): 正式版本,等价于GA;
- SNAPSHOT: 快照版,可以稳定使用,且该版本会一直进行小量的优化和改进;
- PRE: 预览版,主要用于内部开发人员和测试人员测试使用,不推荐使用。
3.2 其他版本术语
Alpha,Beta,Gamma
- Alpha(或A版本): 通常是开发初期的版本,具有基本功能但可能存在较多的错误和为完善的部分;
- Beta(或B版本): 在Alpha版本之后发布,已经修复了较多的错误并添加了一些新功能,但仍可能存在一些缺陷需要修复;
- Gamma: 经Beta版本修改完善,成为正式发布的候选版本(RC: Release Candidate);
RC,GA,Release(或R)
- RC: Release Candidate, 发布候选版本(几乎就是正式版了),RC版本是在开发者认为软件已经足够稳定和功能完善后发布的版本,供用户测试和反馈;
- GA: General Avaliablity, 正式发布版本,是最终发布给用户使用的稳定版本,不再包含明显的缺陷和错误,官方推荐使用此版本;
- RELEASE(或R): 正式版本,等价于GA;
Patch(P版),Minor(m版本),Major(M版本)
- Patch(或P版): 通常所说的P版,是用于修复已发布版本中的问题和漏洞;
- Minor(或m版): 用于表示软件较小的变更,表示增加向后兼容的新功能和改进;
- Major(或M版): 用于表示软件较大的变更,表示可能引入不兼容变更或重要的新功能。
3.3 其他版本术语(补充)
- Alpha:内部测试版
- Beta:外部测试版
- Build:修正版
- Corporation或Enterprise:企业版
- Delux:豪华版
- DEMO:演示版,有功能限制
- Free:免费版
- Full:完全版
- Final:正式版
- Pro(professional):专业版
- Plus:加强版
- Retail:零售版
- Release:发行版,有时间限制
- Shareware:共享版,虽然不会要求用户注册,但是一般也有功能限制
- SR:修正版
- Trial:试用版(一般有时间或者功能限制)
4. 一方库/二方库/三方库
下面只是一种个人理解的关于一方/二方/三方库的区别和理解,具体的库分类可能会因开发者、组织或项目的需求而有所不同
- JDK是第一方(以Java开发工具包举例);
- 自己的程序是第二方;
- 其他的是第三方(如阿里,腾讯提供的SDK)。
5. 其他的一些专业术语名词
1.LXC:(Linux Container,Linux容器)
Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源。
-
DevOps:(Development和Operations的组合词)
DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。
它是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。
它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运维工作必须紧密合作。 -
CI/CD:(continuous integration and continuous delivery,持续交付和持续集成)
优秀的CI/CD文章:https://linux.cn/article-9926-1.html -
BP:(Best Practice)最佳实践
-
TDD:(Test Driven Develop,测试驱动开发)
-
JaCoCo:(Java code-coverage,Java代码覆盖率)
-
CLI:(Command-line interface,命令行界面)
-
APK:(Android application package,Android应用程序包)
-
SCM:(Software Configuration Management,软件配置管理)
-
OSS:(Object Storage Service,阿里云对象存储)
COS: (Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。
对象存储 -
ECS:(Elastic Compute Sevice,弹性计算服务)
云服务器ECS(Elastic Compute Service)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。云服务器ECS免去了您采购IT硬件的前期准备,让您像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。阿里云ECS持续提供创新型服务器,解决多种业务需求,助力您的业务发展。
软件即服务 (SaaS)。
平台即服务 (PaaS)。
基础设施即服务 (IaaS)
-
AWS:(Amazon Web Services,亚马逊网络服务) , Microsoft Azure, Google Cloud,Alibaba Cloud
-
SCM(Software Configuration Management,软件配置管理)
-
文件ACL:(文件Access Control List)
-
QPS(Query Per Second,每秒请求数)
-
WAF(Web Application Firewall,Web应用防火墙)
-
CNCF(Cloud Native Computing Foundaion,云原生计算基金会)
-
R&D:(Research and Development,研发)
20:
SaaS系统是云服务模式中的一种,云服务模式有三种,分别是:SaaS,PaaS,Iaas
SaaS : Software as a Service 软件即服务 (企业应用较多,不太成熟)
PaaS :Platform as a Service 平台即服务(最不成熟,应用最不广泛)
IaaS : Infrastructure as a Service 基础设施即服务(相对前两者,最成熟)
云堆栈(cloud stack)中,底层是传统数据中心,往上分别是iaas,paas和saas。saas是最上层。
顾名思义,saas是一种服务,应用形式是软件。但其实给客户的是一种打包服务,理论上即买(订阅或租)即用。
举个例子:
传统软件,一次性买断,服务器要自己采购或搭建,需要专职IT。
售后以实施交付为主,响应维护为辅。
saas服务,租给你的是软件+服务器+服务+等等,理论上不需要IT,不过实际也需要,看产品轻重。
未完待续…