当前位置: 首页 > news >正文

AgileEAS.NET之敏捷并行开发方法

     首先声明,此并行开发非指并行计算,而是指实践软件工程所总结的一些心得和做法。
      敏捷并行开发方法,是利用软件构件技术等技术,以及平台+插件化开发技术整合而出的一种快速开发模式;并行是指产品在生命周期内,项目管理过程、项目研发过程和机构支撑过程“并行”开展,项目研发过程中各个阶段有限度“并行”开展。
并行开发
      在传统的瀑布开发模式下,同一软件的多个阶段是顺序地被开发出来的,也就是说第一阶段全部开发结束后才开始第二阶段的开发;同样,等第二阶段全部开发结束后第三阶段的开发工作才会启动。但这种串行开发模式在当今的市场环境下越来越行不通,因为所有的软件产品都面临越来越大的迅速上市的压力,唯一有效的解决方案就是引入并行开发机制。在并行开发模式下,同一软件的多个开发阶段会同时进行开,如第一阶段的工作尚未完成,往往就会启动第二阶段的工作,甚至会同时启动第三阶段的工作,从而有效缩短软件的上市周期。
相关技术
      软件构件技术:所谓软件构件化,就是要让软件开发像机械制造工业一样,可以用各种标准和非标准的零件来进行组装。软件的构件化和集成技术的目标是:软件系统可以由不同厂商提供的,用不同语言开发的,在不同硬件平台上实现的软件构件,方便地、动态地集成。这些构件要求能互操作,它们可以放在本地的计算机上,也可以分布式地放置在网上异构环境下的不同结点上。
      软件复用技术:软件复用就是将已有的软件成分用于构造新的软件系统。可以被复用的软件成分一般称作可复用构件,无论对可复用构件原封不动地使用还是作适当的修改后再使用,只要是用来构造新软件,则都可称作复用。
        平台+插件开发方法: 插件的本质在于不修改程序主体(平台)的情况下对软件功能进行扩展与加强,当插件的接口公开后,任何公司或个人都可以制作自己的插件来解决一些操作上的不便或增加新的功能,也就是实现真正意义上的“即插即用”软件开发。平台+插件软件结构是将一个待开发的目标软件分为两部分,一部分为程序的主体或主框架,可定义为平台,另一部分为功能扩展或补充模块,可定义为插件。
小结
       敏捷并行开发方法的基础是基于构件(插件)技术支持的并行,涉及软件开发的分析、设计、实现和测试等过程, 一个完善的开发方法不单单是一个简单的理论基础,还需要相应的基础平台、项目管理工具、开发辅助工具才能构成一个完整的方法体系。
       敏捷并行开发方法以AgileEAS.NET做为构件技术运行、管理平台,应用开发人员根据应用需要及AgileEAS.NET平台构件契约进行分析需要、设计开发应用构件,使用EAS.NET构件管理工具对所开发的构件进行总装集成和管理。
 
 
QQ群:120661978,125643764
链接: AgileEAS.NET应用开发平台介绍
敏捷软件工程实验室


本文转自 agilelab 51CTO博客,原文链接:http://blog.51cto.com/agilelab/561884

相关文章:

  • Zabbix监控屏幕全屏显示多个监控项
  • 脚本1-38
  • python之通过“反射”实现不同的url指向不同函数进行处理(反射应用一)
  • Bash技巧总结
  • 关于vector性能的测试(一)
  • 重装linux服务器后开不了机
  • Linux TC的ifb原理以及ingress流控
  • linux--mariadb数据库
  • nginx开启后主机无法访问虚拟机的nginx解决方案
  • Linux 特殊目录
  • MPLS TE第一步:创建基本TE隧道
  • mysql5.6之key_buffer_size优化设置
  • 使用yum安装MariaDB
  • Oracle Goldengate Director软件截面图
  • Spring4-自动装配Beans-按属性名称自动装配
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • 0x05 Python数据分析,Anaconda八斩刀
  • js继承的实现方法
  • mongo索引构建
  • PHP CLI应用的调试原理
  • spring cloud gateway 源码解析(4)跨域问题处理
  • 关于springcloud Gateway中的限流
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 面试遇到的一些题
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 数据结构java版之冒泡排序及优化
  • 转载:[译] 内容加速黑科技趣谈
  • 1.Ext JS 建立web开发工程
  • FaaS 的简单实践
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • ​水经微图Web1.5.0版即将上线
  • #1015 : KMP算法
  • #预处理和函数的对比以及条件编译
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (八)Spring源码解析:Spring MVC
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (七)Java对象在Hibernate持久化层的状态
  • (转)LINQ之路
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .NET处理HTTP请求
  • .Net的DataSet直接与SQL2005交互
  • @Async注解的坑,小心
  • [.NET 即时通信SignalR] 认识SignalR (一)
  • []T 还是 []*T, 这是一个问题
  • [20160807][系统设计的三次迭代]
  • [20161101]rman备份与数据文件变化7.txt
  • [Android]使用Retrofit进行网络请求
  • [BZOJ] 2044: 三维导弹拦截
  • [CISCN 2019华东南]Web11
  • [Docker]十一.Docker Swarm集群raft算法,Docker Swarm Web管理工具
  • [Google Guava] 1.1-使用和避免null
  • [hdu 1711] Number Sequence [kmp]
  • [LeetCode系列]子集枚举问题[无重复元素]