【精品】软件系统建设方案 中国南车 投标技术方案.doc

上传人:文库蛋蛋多 文档编号:2253619 上传时间:2023-02-07 格式:DOC 页数:27 大小:3.26MB
返回 下载 相关 举报
【精品】软件系统建设方案 中国南车 投标技术方案.doc_第1页
第1页 / 共27页
【精品】软件系统建设方案 中国南车 投标技术方案.doc_第2页
第2页 / 共27页
【精品】软件系统建设方案 中国南车 投标技术方案.doc_第3页
第3页 / 共27页
【精品】软件系统建设方案 中国南车 投标技术方案.doc_第4页
第4页 / 共27页
【精品】软件系统建设方案 中国南车 投标技术方案.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《【精品】软件系统建设方案 中国南车 投标技术方案.doc》由会员分享,可在线阅读,更多相关《【精品】软件系统建设方案 中国南车 投标技术方案.doc(27页珍藏版)》请在三一办公上搜索。

1、中国南车 软件系统建设方案 (投标技术方案)Version 1.0.1 2012.06.22Written By Winskysoft 湖南微凯信息科技有限公司 2012All Rights Reserved目录(投标技术方案)1Version 1.0.11Written By Winskysoft1第一章 项目概述41.1 项目背景41.2 项目目标41.3 项目内容41.4 设计原则41.5 风险评估51.6 效益分析5第二章 项目设计要点62.1 业务难点62.1.1 变动频率高62.1.2 安全性62.1.3 系统运维6第三章 系统功能划分63.1 平台结构63.2 平台功能系统63.

2、3 平台功能详述63.4 平台安全方案6第四章 集成方案74.1 总体架构74.1.1 网站的系统分层架构74.1.2 网站的物理架构84.1.3 网站的开发架构94.1.4 网络拓扑结构104.2 设计方面114.2.1 网站的版式设计114.2.2 色彩在网页设计中的作用114.2.3 网页形式与内容相统一114.3 软件方案114.3.1 软件架构114.3.2 HTML静态化124.3.3 图片服务器分离134.3.4 数据库集群和库表散列134.3.5 缓存144.3.6 SpringMVC154.3.7 MyBatis164.4 硬件方案174.4.1 负载均衡174.4.2 双机

3、互备模式174.5 系统集成质量控制174.5.1 微凯项目管理174.5.2 微凯的质量管理184.5.3 测试自动化184.5.4 持续集成19第五章 系统实施与保障205.1 项目管理规范215.1.1 以项目管理为中心的管理机制:215.1.2 项目实施与管理流程:215.1.3 软件工作产品:225.1.4 项目过程定义245.2 项目实施255.2.1 角色与职责255.2.2 组间协调255.2.3 人员计划265.2.4 风险管理计划265.2.5 进度跟踪275.2.6 项目里程碑285.2.7 项目数据统计与分析295.3 系统培训305.4 系统测试与验收315.4.1

4、单元测试315.4.2 系统测试325.4.3 运行测试335.4.4 验收345.5 售后服务与技术355.5.1 开发过程的技术支持与保障355.5.2 技术支持与服务原则365.5.3 技术支持与服务目标36第一章 项目概述1.1 项目背景1.2 项目目标1.3 项目内容1.4 设计原则系统设计、开发与实施,应遵循以下原则: 高可靠性。作为工业产品,可靠性要求是第一位的,也是保障技术先进性正常发挥的重要条件。可靠性除包含系统所设计的硬件外,软件的可靠性、稳定性、网络系统抗病毒攻击能力均成为系统可靠性指标的组成部分。 高可用性。通过对系统进行专门的设计,从而减少因机器故障而导致的停工,而保

5、持其服务的高度可用性。 规范性。按照行业、国家和国际有关要求,遵循软件、硬件、自动化等系统的有关规范。信息分类编码标准化、信息接口标准化。 经济性。必须充分考虑现有软硬件、数据资源的合理利用,避免资源浪费,减少项目投资和节约建设时间。必须考虑项目实施的性价比和实施策略。 先进性。既要符合国际先进管理思想,也必须适合国情和企业情况。必须满足企业现在、未来发展的需要和采用当今较先进的技术两方面结合起来考虑,采用当今成熟的、先进的主流技术,能体现国内外先进的管理思想和理念。 实用性。需求驱动为原则,结合企业生产经营特点和企业发展需要,根据企业的实际情况和管理决策的需要,实事求是地确定解决方案,力求方

6、法、理论的先进性和实际情况有机地结合,高效地服务于企业。 安全性、可靠性与稳定性。系统必须具有极高的安全性和容错性。在系统平台设计、技术保证措施、软硬件选型、系统集成、技术服务以及系统信息资源的安全、可靠性方面均以系统开发成功为目的,不过分追求技术先进性。 可扩展性。软件系统采用组态化、模块化设计,所有功能均作为一个独立组件模块,增加了数据点不需要修改程序,同时,系统的扩展不影响现有系统结构及现有功能的正常使用。 开发性与易维护性。提供采集数据点的配置工具,方便用户进行设备、采集数据点等信息的调整维护工作。 人工智能性。对采集数据进行分析学习,对异常数据进行智能分析诊断并给出预警。1.5 风险

7、评估在项目实施中,为了保证项目的顺利进行,主要从以下个方面来保证项目的风险:BU-商业风险,CU-客户特性风险,DE-开发环境风险,TE-人员经验风险,ST-建造技术风险,PS-产品规模风险,PU-过程风险。1.6 效益分析a.基本建设投资,如:l 计算机设备,我们可以充分利用现有的计算机资源,可以根据实际情况适当投入,可降低投入成本;l 数据通讯设备,利用现有的资源;l 环境设备,利用现有的资源,适当增加所需设备;b.其他支出人员工资、培训费、差旅费、安装费等项目中日常发生的其他正常支出。c.收益第二章 项目设计要点2.1 业务难点本系统分为数据采集,设备控制,数据分析与数据展现四个大的部分

8、。2.1.1 技术上数据流量大,并发性高:一个城市的智能交通系统将面对大量数据终端采集数据以及控制信息的数据传送过程,这将产生很大的数据流量,并且因为众多的设备对于服务器的并发也有很大的压力。对服务器高可用性有很高的要求:城市的交通指挥系统必须能保证在复杂工作情况下尽可能做到24*7的工作,避免因为网线服务器软硬件问题而导致系统无法提供服务。对于软件的安全性,健壮性有较高要求:软件必须能够提供较高的安全性保障,采用的技术必须能够获得所有的源码与细节。适应性强,需要在各种版本、类型的操作系统上发布:本系统具体实施的时候需要在很多地市实施,则需要提供对软件进行良好的版本管理机制,能严格控制软件的质

9、量,确保各项测试工作的计划进行。2.1.2 管理上团队管理要能与产品开发相适应:产品类型的项目适合采用敏捷的开发方式进行项目开发。团队管理要科学化,标准化:必须要通过科学的工具来进行项目开发,项目测试,项目进度等管理。要有较强的版本管理能力:本系统需要进行很多版本的开发、管理与维护。测试管理与实施难度大:测试中有大量的回归测试需要完成。2.1.3 维护上能灵活适应需求变更特性能较方便的实现客户化和本地化能非常方便的进行部署和更新2.2 系统选型比较2.2.1 BS模式与CS模式还是混合模式B/S 是Browser/Server指浏览器和服务器端,在客户机端不用装专门的软件,只要一个浏览器即可(

10、瘦客户端)。C/S 是Client/Server指客户机和服务器,在客户机端必须装客户端软件及相应环境后,才能访问服务器(胖客户端)。1. CS系统的优缺点C/S的优点:1) 能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。2) 对应的优点就是客户端响应速度快。3) 相比较浏览器而言,CS模式的安全性、稳定性、健壮性均优于运行在浏览器上,依赖于浏览器环境的BS结构。C/S的缺点:1) 只适用于网速较快的网络环境如:局域网。2) 客户端需要安装专用的客户端软件及运行环境,维护起来的难度比较高。3) 系统软件升级时,每一台客户机需要重新安装,升级成本非常高。2. B/S最

11、大的优点:1) 所有的程序均运行在服务器上,客户端不用维护,适用于用户群庞大。2) 客户需求发生变化的时候只需要更新升级服务器上的代码即可,能更好的适应客户需求经常发生变化的情况。3) 只要有浏览器即可调用软件的相关功能。B/S的缺点:1) 需要提供对各种浏览器的兼容性处理。2) 对Javascript程序的调试,尤其是内存管理部分难度很高。3. 最终系统选型智能交通系统中,内部管理系统,基础数据管理,信息发布系统等均需要在不同的操作系统上显示,而且经常会涉及到修改升级的问题。比较适合采用BS结构的方式进行开发,所有需要使用系统的客户端只需要提供浏览器即可浏览与操作数据。在智能交通系统中涉及到

12、对硬件进行指挥控制,对于实施性并发性要求特别高的地方则比较适合使用CS类型的客户端。软件运行的时候并不依赖于浏览器等其他系统软件,所以健壮性也可以非常高,能提供长时间稳定的服务。至于升级维护方面可以采用自动升级等方式进行自我维护。综上所述,在智能交通系统里边既有适用于BS类型的部分,也有适用于CS类型的部分,我们正式的方案中应该在适合的场合用适合的系统,故推荐采用混合方式的模式。2.2.2 .NET技术与Java技术Java是由Oracle(甲骨文公司)所拥有的一门程序语言.NET是由Microsoft(微软公司)开发的一整套开发语言及工具的集合。作为开发语言与开发平台,不管是.NET还是Ja

13、va都非常的成熟和稳定,都有很多小型、中型到大型的项目案例。1. .NET特点.NET主要的特点是开发的效率比Java效率高,学习的曲线低,但是.NET只专注于WINDOWS的平台,不能很好的在其他的操作系统上运行。2. Java特点Java主要特点是开发源码,并且有开源社区大量的开源项目支持。通过精心调试设置好的大中型应用的运行效率并不低。3. 最终系统选型本系统是城市交通信息系统,对于系统安全性有较高的要求。Java完全开放源码的特性比封闭源码的.NET系统要更好。尤其是大中型.NET项目到后期进行优化的时候对人员的要求是非常高的。另外一方面,使用Java技术进行开发的时候也无需对开发与服

14、务器支付任何版权费用。2.2.3 虚拟化,云计算,高可用集群1. 虚拟化概念虚拟化是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。通过对特定服务器采用虚拟化技术,可以在一台或者一个集群服务器上虚拟出硬件设备并可以安装于使用操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上。2. 云计算概念云计算(cloud computing)是基于互联网的相关服务的增加、使用和交付模式。通常是采用提供动态易扩展且经常是虚拟化的资源。也就是说是使用虚拟化的一种具体使用方式。3. 高可用集群高可用性方案则利用更少的冗余部件同

15、时由软件检测故障,一旦故障发生立即隔离损坏部件,通过提供故障恢复实现最大化系统和应用的可用性。通俗地说,即当A无法为客户服务时,系统能够自动地切换,使B能够及时地顶上继续为客户提供服务,且客户感觉不到这个为他提供服务的对象已经更换。这里的A和B可以存在于各种领域,但一般高可用性特指计算机领域的数据库、应用服务、硬件设备等的失效转移。 如果发生硬件故障时,也可以通过我们所编写的检测脚本,检测到硬件设备时候发生故障。并通过短信网关,邮件等方式及时提醒运维人员对硬件设备进行整修和维护。4. 最终系统选型作为城市交通控制系统,我们必须要做到任何时间都要保证服务器的可用性,并且随着城市信息化建设进程推进

16、,要保证能够简单的通过水平扩展增加服务器的方式来保证系统对性能的需求。而虚拟化技术只是在一台较强服务器上虚拟出硬件设备来,其水平扩展能力,高可用性能力都与采用服务器集群实现高可用性的有一定的差距。所以本系统应该在方案设计中采用高可用性集群方案。2.2.4 软件架构选型1. 面向服务架构面向服务的体系结构(service-oriented architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一

17、和通用的方式进行交互。通过对本系统实现SOA架构,解除各个功能模块之间的耦合关系,进而使得整个软件功能模块之间实现松散耦合,可以对各种功能模块进行可拔插式组合。综上所述我们在软件架构上应该采用SOA的方式。2. 持久层框架Mybatis与Hibernate都是非常优秀的OR映射工具,Hibernate对数据库结构提供了较为完整的封装,Hibernate的O/R Mapping实现了POJO 和数据库表之间的映射,以及SQL 的自动生成和执行。而Mybatis的着力点,则在于POJO 与SQL之间的映射关系。当然也可以使用传统的JDBC直接编码的性能,但是开发的工作量要远远低于采用OR映射工具,

18、并且在后期的更新维护上也会有大量的工作量。系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高度优化的SQL语句(或存储过程)才能达到系统性能设计指标。在这种情况下Mybatis会有更好的可控性和表现,而且DBA能够参与进项目设计与SQL语句的优化工作。综上所述,我们在保证系统的运行性能的同时还要能够对开发效率有很好的支持,能够在后期更新于维护过程中简化复杂性,那么Mybatis作为一种OR映射工具必然成为我们的首选。3. REST开发方式与SpringMVCREST,即Representational State Transfer的缩写,与传统集中式的开发方式相比,这是一类新

19、型的分布式的开发方式,在一些方面(交互设计、服务器端架构)得到了简化。REST的优势在于:非常简单,轻量并且快速。RESTful的通过URL的方式对外提供资源服务。而资源的服务充分利用了HTTP协议中的GET,POST,PUT和DELETE去实现,而且可以用各类格式去访问这些资源,比如HTML,普通文本,XML,PDF,JPEG或者JSON。SpringMVC按照模型、视图、控制器对一个应用系统进行了划分,各层之间的耦合性较低。SpringMVC对于处理器映射、视图解析、文本国际化、主题解析、文件上传等功能提供了很好的实现机制。SpringMVC的视图解析方式,控制器Controller返回一

20、个ModelAndView对象,该对象属性就是视图名字或者模型,使得视图解析配置灵活。而WebMVC模式中还有一种Struts,经过我们测试SpringMVC比Struts吞吐量高66%;响应速度高40%;SpringMVC比Struts快50%以上。综上所述通过SpringMVC提供的REST风格的模式即可实现前文的SOA体系架构的设计。4. JWS/SWT/RIA客户端技术选择JavaTM Web Start 是基于 Java 技术的应用程序的一种部署解决方案。它是连接计算机和 Internet 的便捷通道,允许用户在完全脱离 Web 的情况下运行和管理应用程序。SWT是一个开源的GUI编

21、程框架,与AWT/Swing有相似的用处,著名的开源IDE-eclipse就是用SWT开发的。JQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为Web服务器提供Ajax交互。JQuery是RIA富客户端的事实标准。因为本系统是使用BS与CS混合编程模式,所以可以通过JWS或者SWT实现CS编程,通过JQuery实现Ajax框架。我们的软件架构采用的SOA方式,所以不管哪种客户端都可以直接调用Web服务器上的相关服务。5. ArcGISArcGIS是Esri公司集40余年地理信息系统(GIS)咨询和研发经验,奉献给用户的一套完整的GIS平台产品

22、,具有强大的地图制作、空间数据管理、空间分析、空间信息整合、发布与共享的能力。ArcGIS不但支持桌面环境,还支持移动平台、Web平台、企业级环境、以及云计算架构。并且同时为开发人员提供了丰富多样、基于IT标准的开发接口与工具,让您轻松构建个性化的GIS应用。通过GIS系统可以实时展现交通状况,并且一旦出现问题情况,也能够通过应用软件的消息系统给出警示。2.2.5 缓存1. OSCacheOSCache是当前运用最广的缓存方案,JBoss,Hibernate,Spring等都对其有支持。OSCache的特点:1) 缓存任何对象:你可以不受限制的缓存部分jsp页面或HTTP请求,任何Java对象

23、都可以缓存。 2) 拥有全面的API:OSCache API允许你通过编程的方式来控制所有的OSCache特性。 3) 永久缓存:缓存能被配置写入硬盘,因此允许在应用服务器的多次生命周期间缓存创建开销昂贵的数据。 4) 支持集群:集群缓存数据能被单个的进行参数配置,不需要修改代码。 5) 缓存过期:你可以有最大限度的控制缓存对象的过期,包括可插入式的刷新策略(如果默认性能不能满足需要时)。2. Memcachedmemcached是高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、 提高可扩展性。Memcached是以Key

24、/Value的形式单个对象缓存。3. 自主开发的内存数据缓存服务在Web应用中对于热点的功能,考虑使用完全装载到内存,保证绝对的响应速度,对于需要频繁访问的热点数据,采用集中缓存(多个可以采用负载均衡),减轻数据库的压力,比如:很多配置信息,操作员信息等等。2.2.6 开发工具选型1. EclipseEclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发。Eclipse的本身只是一个框架平台,但是众多插件的支持使得 Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。2. Maven现在Java新架构的不断出现,例如SpringMVC,Spring,

25、Mybatis等,项目的配置文件的增多,给开发人员带来很大麻烦。在实际的开发当中,Eclipse中的项目越来越庞大,所依赖的第三方Jar包越来越多,这显得项目很臃肿,给项目管理带来了很大不便,尤其是在一些大型项目表现尤为突出。Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。 3. Hudson持续集成本项目因为会有众多的客户,会有很多的版本管理,所以必须要采用持续集成的方式来进行项目集成。而Hudson 是一个可扩展的持续集成引擎。能持续、自动地构建/测试软件项目并监控一些定时执行的任务。并支持以下非常重要的特性。a. 集成RSS/

26、E-mail/IM-通过RSS发布构建结果或当构建失败时通过e-mail实时通知。b. 生成JUnit/TestNG测试报告。c. 分布式构建支持-Hudson能够让多台计算机一起构建/测试。 4. CheckstyleCheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具。它能够自动化代码规范检查过程,从而使得开发人员从这项重要,但是枯燥的任务中解脱出来。通过他能提升代码的注释,代码可读性等指标。5. Sonarsonar是一个管理代码质量的开源平台。我们将之与Hudson进行集成,以分析以下质量方面的指标。a. 架构和设计b. 代码重

27、合度c. 单元测试d. 代码复杂度e. 潜在bugf. 编码规则g. 代码注释6. 版本管理采用Subversion作为版本控制系统,能对所有的修改与操作进行复原。2.3 其他要点2.3.1 NTCIP协议NTCIP协议是美国针对智能运输系统(ITS)电子设备间数据传输所制定的标准通讯协议,适用范围包括高速公路、交通信号、紧急事件管理、出行者信息 等。协议涵盖了从简单点对点请求/响应到复杂的面向对象技术的完整协议族。该协议是专门为智能运输系统而设计的开放、通用的数据字典和通信协议族,具有体 系完整,通用性与兼容性好等特点。但是目前国内很多硬件设备对此协议支持并不好。在软件方面的话,我们可以通过

28、适当的设计来兼容该协议。2.3.2 计划与任务调度系统任务调度本身涉及到多线程并发、运行时间规则制定和解析、场景保持与恢复、线程池维护等诸多方面的工作。如果直接使用自定义线程这种刀耕火种的原始办法,开发任务调度程序是一项颇具挑战性的工作。Quartz对任务调度的领域问题进行了高度的抽象,提出了调度器、任务和触发器这3个核心的概念。通过计划任务,可以定时通过通讯链路与物理设备进行数据通讯,通过的数据库数据的定期汇总整理,也可以提升查询系统的响应速度。第三章 集成方案3.1 软件方案3.1.1 系统分层架构3.1.2 适配器设计3.1.3 物理架构3.1.4 开发架构3.1.5 网络拓扑结构备注:

29、1) 采用双防火墙双交换机做网络冗余,保障平台服务采用双千兆交换机分别接在2台防火墙上,当某台设备或者网络链路发生故障后,好设备自动接管已坏设备的工作,不影响网站的整体运行,根据业务及真实服务器的数量,交换机可以随时增加。2) 采用硬件设备负载均衡器,实现网络流量的负载均衡使用硬件设备负载均衡器,将网络流量均衡的分担到Web服务器集群各节点服务器,保障平台服务器资源均衡的使用。3) 采用代理服务器,实现软件级的网络负载均衡。4) 数据库服务器分离成生产数据库集群和查询数据库集群,实现生产读写与后台查询统计进行分离。3.2 硬件方案3.2.1 负载均衡负载均衡将是大型网站解决高负荷访问和大量并发

30、请求采用的终极解决办法。负载均衡技术发展了多年,有很多专业的服务提供商和产品可以选择,我个人接触过一些解决方法,其中有两个架构可以给大家做参考。3.2.2 双机互备模式是两个相对独立的应用在两台机器同时运行,但彼此均设为备机,当某一台服务器出现故障时,另一台服务器可以在短时间内将故障服务器的应用接管过来,从而保证了应用的持续性,但对服务器的性能要求比较高。配置相对要好。3.3 系统集成质量控制3.3.1 微凯项目管理采用流行的Redmine进行项目管理。3.3.2 微凯的质量管理3.3.3 测试自动化自动化测试就是希望能够通过自动化测试工具或其他手段,按照测试工程师的预定计划进行自动的测试,目

31、的是减轻手工测试的劳动量,从而达到提高软件质量的目的。自动化测试的目的在于发现老缺陷。而手工测试的目的在于发现新缺陷。我公司有专门的测试团队建立了适合自动化测试的测试流程、测试体系;能够通过系统自动把源代码从受控库中取出、编译、集成、发布可运行系统、进行自动化的单元测试和自动化的功能测试。自动化测试的好处1. 对新版本执行回归测试测试每个特征2. 更多更频繁的测试沉闷、耗时3. 替代手工测试的困难4. 具有一致性和可重复性5. 更好的利用资源周未/晚上6. 解决测试与开发之间的矛盾7. 增加软件信任度3.3.4 持续集成“持续集成”起源于极限编程开发是它的12个基本原则之一”持续集成”是一种软

32、件开发实践它要求开发小组的每个成员频繁 的集成他们的工作成果这个频度通常是至少每天一次有时甚至每天多次开发团队的成员频繁的整合他们之问的工作这种整合不是简单的组装软件每次的集成通过 一个包含测试的构建去尽快的探测潜在的错误保证软件现有的功能不被破坏,自动分析现有代码的状态f有无重复逻辑代码的复杂度等)并发布相关的报告。通 过快速反馈,开发人员可以了解软件集成的情况对不成功的集成进行快速的修改从而提高软件开发的效率和质量持续集成对软件项目管理的作用 1 减少风险通过每天集成变化的代码并发布,我们将减少项目的风险。这样做将可以推动尽早发现缺陷;尽早估量软件的质量;尽早排除假设。尽早发现缺陷并修复缺

33、陷软件开发中每天持续集成,并进行测试和评审,这些过程有许多的机会发现缺陷。尽早估量软件质量通过在持续集成中实施持续测试和评审的活动,软件产品的健康属性,例如复杂性,将被全程跟踪。尽早排除假设 通过在一个纯净的环境中,用同样的脚本和过程构建和测试软件,开发人员可以减少假设:是否使用了不正确的第三方的库,是否使用了不同的环境参数等。2 减少重复的过程通过减少重复性的动作来节省时间,成本,提高效率。在软件的开发过程中,有许多重复性的活动,这些活动包括代码编译,数据库集成,测试,评审,部署,信息反馈等。通过自动化的持续集成,你将获得如下能力:任何时候都可以执行一致的流程;每个开发过程的步骤都是依次执行的;在构建脚本,将依次执行编译,自动测试等动作。在版本控制库中,当代码提交发生时,构建过程自动执行。通过减少在重复性工作上的劳动力,让开发工程师做更多有价值的工作。3 产生可部署的软件持续集成可以让项目组在任一点上及时提交可以安装的软件包。这是持续集成最可看见的一个益处。我们可以无休止地讨论改善软件质量和减少风险,但是对用户或者客户来说,可以安装的软件包是最切实可行的4 使得项目更加透明

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号