浅谈业务开发与非业务开发

简介: 讲述业务开发、非业务开发及两者之间区别

软件开发

在谈及业务开发与非业务开发之前,首先他们都是软件开发,那么软件开发的流程是怎样的呢?我们先来了解一下软件开发的流程。通常情况下软件开发的流程是这样的

image.png

在软件开发流程中每个阶段对应相应的内容如下:

需求分析:在需求分析阶段,需要明确用户的需求和期望,定义软件的功能、特性和用户界面等,一般涉及到的文档,比如:需求采集文档、需求分析文档、需求说明文档等;

软件设计:在软件设计阶段,根据需求分析的结果,设计软件的架构和业务逻辑,确定软件所需的开发环境、数据库、中间件等,一般涉及到的文档,比如:软件设计文档、数据库设计文档等

软件开发:在软件开发阶段,就是根据设计文档及软件设计原型来编写程序代码,实现软件的各项功能以及页面展示等;

软件测试:在软件测试阶段,就是对软件进行各种测试,包括单元测试、集成测试和验收测试等,确保软件的质量和稳定性,一般涉及到的文档,比如:测试用例文档、bug记录文档、需求验证文档等;

部署和维护:在部署和维护阶段,就是将通过验收测试的软件部署到对应的服务器中(可以是物理服务器、虚拟服务器、云服务器等),为用户提供技术支持和维护服务等,一般涉及的文档,比如:部署操作文档、运维手册文档、应急突发问题处理文档等。

软件迭代:在软件迭代阶段,就是说时刻关注用户需求的变化和技术的发展,不断对软件进行更新和升级,提高软件的适应性和可维护性,提高用户体验,一般涉及的文档,比如:版本升级记录文档、业务变更记录、以及以上涉及到的过程中的文档,因为对于每一次的版本迭代都是一次新的开发历程。

业务开发

那么什么是业务开发呢?个人理解的业务开发是指在软件开发中涉及到产品主线流程的开发人员,比如说需求阶段的产品经理、开发阶段的开发人员、测试阶段的测试人员、以及部署和维护阶段的运维人员等都可以算是业务开发人员,也就是说业务开发通常指的是软件相关人员(包括产品、开发、测试等人员)根据用户的业务需求和业务逻辑,对软件系统进行详细的需求分析、设计、编码、测试和部署等工作,以实现具体的业务功能和应用。 业务开发是软件开发过程中非常重要的一个环节,因为它直接关系到软件系统是否能够满足用户的需求和提供良好的用户体验。在业务开发过程中,开发人员需要深入理解用户的业务需求和业务逻辑,并根据需求设计和实现相应的功能和系统,以确保系统能够达到预期的效果。

总的来说,业务开发是软件开发过程中非常重要的一个环节,它直接关系到软件系统是否能够满足用户的需求和提供良好的用户体验。因此,在软件开发过程中,业务开发人员需要高度重视业务开发,并认真做好相关的需求分析、设计、编码、测试和部署等工作。

非业务开发

那么什么是非业务开发呢?个人理解非业务开发是指在软件开发初期需求采集阶段,以及在应用上线之后后期的优化,监控等阶段涉及到的非业务开发人员,也就是说非业务开发通常指的是非业务开发人员根据需求设计和实现相应的功能和系统,以支持软件的正常运行和功能实现,但不直接涉及用户的业务需求和业务逻辑。 非业务开发是软件开发过程中非常重要的一个环节,因为它直接关系到软件系统的功能和性能是否能够满足用户的需求和期望。在非业务开发过程中,非业务开发人员需要根据系统运行情况不断优化性能,保证稳定性,提高用户体验,同时对系统运行做好监控,及时响应异常情况处理等。

工作量的区别

通常情况下,业务开发所涉及的工作量会更大,因为它需要深入理解业务需求和业务逻辑,并对其进行详细的分析和设计,以确保系统能够满足业务需求并提供良好的用户体验。在具体开发过程中,前期业务开发人员需要投入人力进行产品设计,技术选型,过程中业务开发人员需要编写大量的代码,并与其他开发人员、测试人员和产品经理紧密合作,以确保最终产品符合业务需求和用户需求。 相比之下,非业务开发所涉及的工作量可能会相对较小,因为它通常不需要深入理解业务需求和业务逻辑,而是需要根据需求设计和实现相应的功能和系统,以支持业务需求。在具体开发过程中,非业务开发人员可能需要编写一些监控脚本或工具或者系统监控程序,以提高开发效率和质量,但不需要编写大量的代码。 当然,具体的工作量可能会受到许多因素的影响,如项目的规模、复杂度、团队协作和开发人员的经验和技能等。因此,在软件开发过程中,不能简单地说业务开发和非业务开发哪个工作量更大,而应该根据实际情况进行具体分析和评估。


相关文章
[ros] --- 配置ros主从机
[ros] --- 配置ros主从机
1276 0
|
存储 前端开发 Java
Java 开发技巧:减少魔法值的使用
代码中有魔法值会造成代码可读性低(与代码量成正比)。还会造成维护困难,改动一个数值便要大动干戈,牵一发而动全身。应当尽力消灭或减少魔法值,提高维护效率和代码可读性。
Java 开发技巧:减少魔法值的使用
|
2月前
|
机器学习/深度学习 人工智能 算法
GLM-5开源:迈向Agentic Engineering新范式,社区Day0 部署、推理实战来了!
智谱发布GLM-5:开源SOTA大模型,Coding与Agent能力双强,真实编程体验媲美Claude Opus 4.5;全球AI榜单排名第四、开源第一;MIT协议开源,支持复杂系统工程与长程Agent任务。
2001 5
|
12月前
|
人工智能 JSON 自然语言处理
除了MCP我们还有什么?
本文详细描述 agents.json ,涵盖了其背景、工作原理、与 OpenAPI 的关系等内容。
1001 94
除了MCP我们还有什么?
|
Java 调度
ScheduledThreadPoolExecutor分析
ScheduledThreadPoolExecutor 是一种适用于延时或周期性任务调度的线程池。它继承自 ThreadPoolExecutor,具备更强大的功能,可通过设定参数实现周期性任务调度。 内部实现中,`ScheduledFutureTask` 是关键类,通过 `run` 方法实现任务的循环调度与时间管理。`DelayedWorkQueue` 提供延迟队列功能,利用堆结构确保任务按优先级执行,并通过条件变量实现精确的延迟控制。整体设计结合了循环调度与延迟机制,满足高效的任务管理需求。
210 1
|
机器学习/深度学习 数据采集 人工智能
【专栏】AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计
【4月更文挑战第27天】本文探讨了AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计。AI辅助工具利用机器学习、自然语言处理和图像识别提高效率,但面临数据质量、模型解释性、维护更新及安全性挑战。未来,AI将更注重用户体验,提升透明度,并在保护隐私的同时,通过联邦学习等技术共享知识。AI在软件测试领域的前景广阔,但需解决现有挑战。
2006 6
|
机器学习/深度学习 人工智能 自然语言处理
探索AI在软件测试中的创新应用与实践###
本文旨在探讨人工智能(AI)技术如何革新软件测试领域,提升测试效率、质量与覆盖范围。通过深入分析AI驱动的自动化测试工具、智能化缺陷预测模型及持续集成/持续部署(CI/CD)流程优化等关键方面,本研究揭示了AI技术在解决传统软件测试痛点中的潜力与价值。文章首先概述了软件测试的重要性和当前面临的挑战,随后详细介绍了AI技术在测试用例生成、执行、结果分析及维护中的应用实例,并展望了未来AI与软件测试深度融合的趋势,强调了技术伦理与质量控制的重要性。本文为软件开发与测试团队提供了关于如何有效利用AI技术提升测试效能的实践指南。 ###
|
Java Maven
Mac安装Maven(图文解说详细版)
Mac安装Maven(图文解说详细版)
Mac安装Maven(图文解说详细版)
|
开发工具 数据安全/隐私保护 git
NSS [第五空间 2021]WebFTP
NSS [第五空间 2021]WebFTP
286 0

热门文章

最新文章