未来软件开发模式
作者:网络转载 发布时间:[ 2013/9/18 14:50:23 ] 推荐标签:
一、传统软件开发模式
传统(目前)软件开发模式如图1,分为开发环境,测试环境,和客户运行环境。开发客户端(Deve Client)负责软件编码,并将代码发布到测试环境的开发测试机(Deve Test Env),该机可以被开发者访问更改。开发者可以在该机器进行初步的集成测试。当初步集成测试结束后,开发者向发布者(Release Client)提交集成测试申请,发布者将编译好的程序发布到集成测试机(Integration Test Env)。测试人员则在测试可客户端开始集成测试。当集成测试通过后,再由项目经理向发布者提交产品发布申请,终又发布者发布为产品。

缺点:
1.需要熟记过多的软硬件配置信息。大型软件开发时,各种环境都有很多服务器,例如产品运行环境Web服务器4台,数据库服务器2台,中间件服务器8台,客户端80台;集成测试环境,Web服务器2台,数据库服务器1台,中间件服务器4台,客户端4台;开发测试环境Web服务器2台,数据库服务器1台,中间件服务器2台,客户端2台。如果每台Web服务器有2个服务,每台中间件服务器有2个不同产品,在这种情况下,开发者通常需要熟记5种以上的软硬件配置。而集成测试者需要记更多,发布者则需要使用工具才能完成发布到上百个目标机器的工作。通常,开发者在发布到开发测试机一个补丁时,需要手动拷贝到不同的目录下,或者临时需要编写一些脚本。不管是采用那种方式,都不是一件轻松的工作,并且这种工作会经常出现。在项目进入维护阶段后,因为维护阶段不再配有测试人员,维护者既是开发者也是测试者这种繁杂的工作更加明显。也给培训新来的人带来了不少工作量;
2.发布者的工作量过重。通常软件发布人数不会太多,开发阶段3到4人左右,维护阶段一般2人,1人负责产品发布,1人负责集成测试环境发布。但不代表发布工作会少于开发阶段。在维护初期,系统还不稳定,经常会发布各种补丁。因为发布时间必须是其他人员休息时间,发布者的工作是非常辛苦的。发布者除了需要掌握各种发布环境,和工具,他们还必须认真审查开发者提交来的发布申请书,保证发布程序无误。因此发布者的压力也是很大的。
3.其它的重复劳动。除了开发环境,测试环境和产品发布需要做很多重复工作之外,还包括各个服务器软件产品运行状态监视,批处理程序的运行结果审查,密码过期处理,以及日常各种系统维护工作等。目前这些工作需要使用不同的工具来完成,有些需要购买,有些需要自行开发。而这些工具分散在不同的机器,由于产品不同,很难把他们整合在一起。
二、未来软件开发模式
未来软件开发模式,如图2,是结合现有ALM,SCM,SAM,CLMS,ES技术,提出的一种类似于中枢神经的N:1:M模式,N代表N台客户端;1代表中枢神经,这里指的是基于人工智能应用程序生命周期管理系统( ALM),它还包括软件配置管理(SCM),软件资产管理(SAM),组件库管理系统(CLMS),专家系统(ES);M则代表需要管理的各种环境,例如产品运行环境,测试环境等。


sales@spasvo.com