欢迎来到天天文库
浏览记录
ID:11166767
大小:26.00 KB
页数:5页
时间:2018-07-10
《基于web服务组合的敏捷软件开发研究》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于Web服务组合的敏捷软件开发研究 引言 当今的软件行业依旧在焦油坑中痛苦挣扎,为平衡项目时间、预算、成本、质量等基本要素,从管理到开发过程提出众多解决方案,可问题依旧很难得到解决[1]。随着《敏捷宣言》和《敏捷原则》的发布,敏捷开发思想逐步普及。随着互联网的出现,软件开发按老套路很难跟上市场变化。目前,软件功能变化快,业务交叉增多,用户需求变化快,因此需要将新思想和开发技术引入到软件开发中。随着面向服务应用的增多,拥有不同软硬件资源的单位为软件开发用户提供了大量Web服务。充分利用这些服务也符合敏捷开发中精益思想和快速使用软件的思想。 1敏捷软件开发思想 瀑布
2、模型将软件开发的过程设计成一个线性过程,主要分为5个阶段:需求分析、设计、编码实现、测试和部署维护,依次线性进行,只有当前一个阶段任务完成后,才能进行下一个阶段。只有到测试阶段才能发现问题,而要解决这些问题,几乎要再来一遍,很难适应中途需要变更的项目。前一个阶段出现错误会被后一个阶段放大,可能造成灾难性后果。在互联网和移动互联网快速发展的今天,业务改变更快、更频繁。业务需求分析和设计往往还没完成,市场和消费需求已经发生变化,这就要求软件开发能适应新时代要求。在这种背景下提出敏捷开发,软件工程的另一个重要进展是基于构件的开发。尽可能利用可复用构件,组装成新系统,提高软件使用
3、率,减少故障和降低成本,提高系统质量。基于构件的系统,更适用Internet技术和分布式系统开发的需要[]。二战后日本丰田公司陷入困境,丰田开始从全新的角度思考制造、物流和新产品研发活动,并逐步形成丰田生产系统这一新型的生产方式。丰田生产系统的根本思想是精益原则,即消除浪费,并对浪费的概念重新进行定义,即“不能为客户创造价值的事物都是浪费”[]。浪费也是软件开发中的常见问题,过度文档设计到最后却不能变成实实在在的软件,导致开发软件反复返工、开发人员频繁跳槽、经常加班等。Web服务能很好地共享资源,减少浪费,方便连通不同企业、不同信息平台,合理整合业务链内的上中下游企业资源
4、。 Web服务组合 所谓Web服务组合是指通过服务查找以及服务之间的接口集成,将多个自治Web服务根据需求进行组合,从而提供新的、功能更强的Web服务。从粒度意义上讲,Web服务组合是对Web服务进行更大规模封装,并将该封装结果作联盟为一个Web服务展现给外界。从顺序意义上讲,Web服务组合是一个满足用户需求的Web服务调用序列[]。如游客想到北京旅游,希望在提供旅游业务的网站上完成整个旅行安排。其要求如下:首先,选择景点,包括人文和自然;其次,选择交通工具以及所选交通工具的价格类型,希望根据预计的旅游时间和当天的天气选择交通工具,如果天气晴朗则坐飞机,否则坐火车;再
5、次,酒店预定和支付。在这个案例中用户涉及的服务主要是景点服务、交通服务、酒店服务、支付服务。提供这些服务的提供商并不是一家,但商家之间需要相互合作。这4个服务是大的复合型服务,其也是更多具体服务的组合,如图1所示。 具体的服务可以划分为多个层次,每个层次可由复合服务和原子服务组成。叶子节点处的服务都是原子结点。按从上到下逻辑划分,具体组合由下而上填充服务,组合成更具体服务。因此,进行Web服务组合的第一步是对业务流程进行分析,划分业务单元。 图1Web服务组合层次结构 快速交付可使用软件 当用户提出需求时,不可能一次性将所有需求都表达清楚,而且开发过程不可能一直等
6、待所有需求都最终确定。这就需要开发人员针对用户需求做优先级排序,先解决优先级最高、最紧迫、用户最关心的需求。由于Web服务都是已封装好的业务功能,可快速使用,缩短开发时间。在基于服务架构的系统中,不同业务Web服务可根据需要进行组合和替换,增强软件灵活性和适应性,更好适应多变需求,减少不必要浪费。近年来网络上Web服务数量急剧上升,从Internet上寻找满足需求的服务变得困难[]。为让Web服务成为计算机可理解的软件实体,将语义Web技术引入Web服务,形成能够在语义层面支持Web服务间互操作的语义Web服务,使基于Web的服务应用更灵活、更智能。基于语义的服务描述主要
7、是利用本体表述领域内知识,使服务描述带有语义。本体是共享的概念模型的形式化的规范说明[]。本体对于Web网络的意义在于:本体通过统一术语概念及其联系的解释,阐述网络上的数据、程序、网页及其它网络资源包含的语义[]。Web服务语义是指服务提供者与服务请求者之间就使用某个具体服务的必需条件、交互过程及服务运行结果所达成的共识或协议[]。用语义标识描述Web服务,最终目的是实现语义Web服务自动查找、组合调用,改变软件开发模式,使计算机可以参与到开发过程中,加快软件开发进度、降低人工成本、提高开发效率。由于Web服务不同于传统软件开
此文档下载收益归作者所有