未来软件开发模式

1.传统软件开发模式

传统(目前)软件开发模式如图1,分为开发环境,测试环境,和客户运行环境。开发客户端(Deve Client)负责软件编码,并将代码发布到测试环境的开发测试机(Deve Test Env),该机可以被开发者访问更改。开发者可以在该机器进行初步的集成测试。当初步集成测试结束后,开发者向发布者(Release Client)提交集成测试申请,发布者将编译好的程序发布到集成测试机(Integration Test Env)。测试人员则在测试可客户端开始集成测试。当集成测试通过后,再由项目经理向发布者提交产品发布申请,最终又发布者发布为产品。

<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 6in; HEIGHT: 260.25pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:%5CDOCUME~1%5CADMINI~1%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image001.png"></imagedata></shape>

1

缺点:

1.需要熟记过多的软硬件配置信息。大型软件开发时,各种环境都有很多服务器,例如产品运行环境Web服务器4台,数据库服务器2台,中间件服务器8台,客户端80台;集成测试环境,Web服务器2台,数据库服务器1台,中间件服务器4台,客户端4台;开发测试环境Web服务器2台,数据库服务器1台,中间件服务器2台,客户端2台。如果每台Web服务器有2个服务,每台中间件服务器有2个不同产品,在这种情况下,开发者通常需要熟记5种以上的软硬件配置。而集成测试者需要记更多,发布者则需要使用工具才能完成发布到上百个目标机器的工作。通常,开发者在发布到开发测试机一个补丁时,需要手动拷贝到不同的目录下,或者临时需要编写一些脚本。不管是采用那种方式,都不是一件轻松的工作,并且这种工作会经常出现。在项目进入维护阶段后,因为维护阶段不再配有测试人员,维护者既是开发者也是测试者这种繁杂的工作就更加明显。也给培训新来的人带来了不少工作量;

2.发布者的工作量过重。通常软件发布人数不会太多,开发阶段34人左右,维护阶段一般2人,1人负责产品发布,1人负责集成测试环境发布。但不代表发布工作会少于开发阶段。在维护初期,系统还不稳定,经常会发布各种补丁。因为发布时间必须是其他人员休息时间,发布者的工作是非常辛苦的。发布者除了需要掌握各种发布环境,和工具,他们还必须认真审查开发者提交来的发布申请书,保证发布程序无误。因此发布者的压力也是很大的。

3.其它的重复劳动。除了开发环境,测试环境和产品发布需要做很多重复工作之外,还包括各个服务器软件产品运行状态监视,批处理程序的运行结果审查,密码过期处理,以及日常各种系统维护工作等。目前这些工作需要使用不同的工具来完成,有些需要购买,有些需要自行开发。而这些工具分散在不同的机器,由于产品不同,很难把他们整合在一起。

2.未来软件开发模式

未来软件开发模式,如图2,是结合现有ALMSCMSAMCLMSES技术,提出的一种类似于中枢神经的N:1:M模式,N代表N台客户端;1代表中枢神经,这里指的是基于人工智能应用程序生命周期管理系统( ALM),它还包括软件配置管理(SCM),软件资产管理(SAM),组件库管理系统(CLMS),专家系统(ES);M则代表需要管理的各种环境,例如产品运行环境,测试环境等。

2

未来的软件开发模式构成,如图3

1.客户端已不需要在分门别类,任何一个客户端只要能连接到AI.ALMS并有相应的权限,就可以充当任何角色。是AI.ALMS的构成。用户可以通过各种Web浏览器访问AI. ALMS。当开发者需要访问或更新源代码时,可以通过这些SCM的客户端在AI.ALMS提供的配置信息下操作。AI. AI. ALMS还提供了访问各个环境的远程登录工具,该工具结合TelnetFTP,微软的Remote Desktop Connection的功能。

<shape id="_x0000_i1027" style="WIDTH: 6in; HEIGHT: 228.75pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:%5CDOCUME~1%5CADMINI~1%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image005.png"></imagedata></shape>

3

2.CLMS是组件库管理系统,在开发软件过程中,通过与CLMS交互,开发者可以获得CLMS的可再利用组件。而开发者在开发过程的软件资产CLMS会通过SCM自动获取,自动组织加入到CLMS中。

3.ES是软件开发的专家系统,帮助开发者解决技术难题,修改程序现在bug,并将和开发者的交互记录保存到知识库中。

4.SCM是软件配置管理,它负责管理项目的所有源代码和文档。它还负责连接各个环境,代码发布将通过SCM上传到各个环境中。SCM保管各个环境的应用程序副本。当一个程序需要发布,SCM根据本地副本的目录地址上传到目标机的相应位置。ALMS可包含多种SCM系统,例如CVSVSSSVN等。根据项目需要SCM可能需要安装在不同的操作系统。

5.ALM是生命周期管理器,包括分布开发管理,变更管理,需求管理,发布管理,Bug管理。

优点:

1.统一管理。AI.ALMS类似于大脑的神经中枢,统一控制软件开发的所有资源。项目组成员在系统搭建后就不需要熟记各个环境的配置信息。AI.ALMS会管理的很好。

2.软件发布。发布者不需要在本地保留发布副本,或是从其他的开发者获得发布副本,而只直接方法AI.ALMS,在AI.ALMS的应用程序生命周期管理器(ALM)里,已有开发者申请发布记录和产品经理审批记录,发布者所做的只是点击发布按钮,ALM自己将完成剩余操作。开发者在开发测试环境里发布自己的程序时,也可充当发布者的角色,不同的时在开发测试环境发布不需要产品经理的审批。发布的过程也非常简单,ALM访问SCM,根据源文件的版本号,来判断哪些文件需要发布,在需要发布的文件上打上发布的记号,再由ALM的发布程序来完成剩余的操作。当然这一些都是在配置好AI.ALMS的情况下进行。

3.辅助开发。CLMSES帮助开发者实现各种功能和解决各种技术问题。CLMSES里保存的内容是公司的软件资产也是智慧宝库。是急速软件开发必不可少的组成部分。

总结:

虽然题目是未来软件开发模式,其实离我们并不遥远,本文所使用的术语和系统名称都来自于现代技术,或许某个公司的某个项目已经使用了这种模式。诚然AI.ALMS的建立是复杂的,需要做大量的准备工作。但一旦系统搭建起来,其受益是不可估量的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《MODBUS软件开发实战指南》是一本关于MODBUS协议软件开发的实用指南,主要介绍了MODBUS协议的基本原理、通信方式以及软件开发中的注意事项和技巧。 该指南首先对MODBUS协议进行了详细的介绍,包括MODBUS的起源、功能特点以及常用的通信方式。同时,还介绍了MODBUS的数据传输格式和寄存器类型,使读者对MODBUS协议有一个全面的理解。 在软件开发过程中,该指南提供了一些实用的指导和技巧。首先,它介绍了如何选择适合的MODBUS通信库和开发工具,以帮助开发者更高效地完成开发任务。其次,该指南介绍了MODBUS通信的常见问题和解决方法,如通信错误、超时等。此外,还介绍了一些编程技巧,如如何处理MODBUS协议中的异常码和错误码,以及如何实现多线程的MODBUS通信等。 除了理论知识和技巧,该指南还提供了一些实例和实战案例,帮助读者更好地了解如何应用MODBUS协议进行软件开发。这些实例涵盖了各种实际应用场景,如传感器数据采集、设备控制等,并提供了相应的源代码和示意图,供读者参考和借鉴。 总之,《MODBUS软件开发实战指南》是一本对MODBUS协议软件开发非常有帮助的指南,既介绍了协议的基本原理,又提供了一些实用的开发技巧和实战经验,对于从事MODBUS软件开发的工程师和学习者来说,是一本不可多得的参考书。 ### 回答2: 《Modbus软件开发实战指南》(PDF版)是一本针对Modbus协议的软件开发实战指南,主要介绍了Modbus协议的基本原理、通信方式以及软件开发中的常见问题和解决方案。 该指南首先详细介绍了Modbus协议的基本概念和通信方式,包括Modbus的通信模式、主从站的概念以及常用的功能码和寄存器类型。接着,指南介绍了Modbus通信的硬件连接和通信参数的设置,包括串口通信和以太网通信两种常见的方式。 指南还提供了Modbus软件开发的实战指导,包括使用C语言进行Modbus通信的示例代码,以及针对不同平台和开发环境的设置和调试方式。同时,指南还介绍了Modbus通信中常见问题的排查和解决方法,如通信超时、数据丢失和错误校验等。 指南还对Modbus通信的应用场景进行了实例分析和讨论,包括工业自动化、楼宇自动化和能源监控等领域。通过这些实例,读者可以更加深入地了解Modbus协议的应用和开发。 总之,这本《Modbus软件开发实战指南》提供了对Modbus协议及其软件开发的全面指导和实战经验,对于想要学习和应用Modbus协议的软件开发人员来说,是一本非常实用的参考资料。 ### 回答3: 《Modbus软件开发实战指南》是一本针对Modbus通讯协议进行软件开发的实用指南,为开发者提供了全面的指导和实战经验。该指南主要内容包括以下几个方面。 首先,该指南详细介绍了Modbus通讯协议的基本原理和通信方式。通过对Modbus协议的解释和分析,开发者能够全面了解协议的结构和工作原理,为后续的软件开发打下坚实的基础。 其次,该指南提供了丰富的实战经验和实例。通过实际案例的引导,开发者可以学习到如何使用Modbus协议进行数据的读写、设备的控制等操作。同时,指南还介绍了常见的问题和解决方法,帮助开发者避免在实际开发中遇到的一些典型错误。 此外,该指南还介绍了一些常用的Modbus开发工具和软件库。开发者可以根据自己的需求选择合适的工具和库进行开发,提高开发效率和质量。同时,指南还提供了一些使用这些工具和库的技巧和注意事项,帮助开发者更好地利用它们。 最后,该指南还对Modbus软件开发未来发展趋势进行了展望。通过对现有技术的分析和预测,提出了一些可能的改进和扩展方向,为开发者提供了一些思路和参考。 总之,《Modbus软件开发实战指南》是一本对Modbus通讯协议进行软件开发的实用指南,通过详细的介绍和实例,帮助开发者更好地理解和应用该协议,提高开发效率和质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值