Welcome 微信登录

首页 / 软件开发 / 数据结构与算法

某大型银行深化系统之二:设计策略

某大型银行深化系统之二:设计策略

某大型银行深化系统之二:设计策略2013-11-17一、糅合技术(Mashup)Mashup是糅合,即一种交互式Web应用程序,它利用了从外部数据源检索到的内容来创建全新的创新服务。Mashup实质是将多种使用公共或者私有数据库的web应用,通过调用内容提供者的Web API,将信息糅合在一起,形成一个整合应用。Mashup一般使用源应用的API接口,或者是一些RSS输出(含atom)作为内容源;区别于Portal门户,Mashup不需要Portal容器就...
某大型银行深化系统之三:标准规范JSR

某大型银行深化系统之三:标准规范JSR

某大型银行深化系统之三:标准规范JSR2013-11-17一、Java EEJava EE(Java Platform,Enterprise Edition)是SUN公司定义的一个开发分布式企业级应用的规范。它提供了一个多层次的分布式应用模型和一系列开发技术规范。多层次分布式应用模型是指根据功能把应用逻辑分成多个层次,每个层次支持相应的服务器和组件,组件在分布式服务器的组件容器中运行(如Servlet组件在Servlet容器上运行,EJB组件在EJB容器上...
某大型银行深化系统之四:系统架构

某大型银行深化系统之四:系统架构

某大型银行深化系统之四:系统架构2013-11-17一、逻辑架构某大型银行深化系统的整体逻辑架构是依据平台的建设目标进行设计的,按照主流技术标准采用分层的技术架构,在Java EE、SOA等标准规范体系下,将最基本的以及共性的信息处理、流程调度、优先级、权限、路由等相关的功能作为平台运维的核心层,以“工厂化”、“流水线”的指导思想建立起数据录入、凭证登记、影像扫描、传输、验印、OCR识别、安全加密、监控等等可...
cobertura-maven-plugin 生成单元测试报告时排除接口,异常类,常量类

cobertura-maven-plugin 生成单元测试报告时排除接口,异常类,常量类

cobertura-maven-plugin 生成单元测试报告时排除接口,异常类,常量类2013-11-17当我们为一个项目用cobertura生成单元测试覆盖率报告时,常常有以下需求:需求说明:因为一个项目有许多接口定义,常量定义,异常类定义,这些类是不需要单元测试的。而当我们用cobertura来生成测试报告时候,如果不排除这些类的话,就会使得报告的数据不太好看,因为毕竟有某些被算进去的类没有对应的单元测试嘛。所以我们就希望可以在用cobertura-...
自动化构建的那些事儿:金融网站虚拟案例

自动化构建的那些事儿:金融网站虚拟案例

自动化构建的那些事儿:金融网站虚拟案例2013-11-17 infoq Joe Enos 译:邵思华介绍本系列的第一部分讨论了将你的构建和部署流程自动化的部分好处。促使你这样做的理由有很 多:让你的开发者更关注于核心业务而不是流程管理、减少人为因素导致的错误、减少部署花费的时间以及其 它很多原因。无论你的动机如何,自动化你的构建流程永远是正确的回答。本篇文章中,我们将以一 个虚拟的金融机构的企业网站作为示例,将其构建过程一步步完全自动化。案例描述我们的公 ...
在SOA和云中我们真的需要身份传递吗

在SOA和云中我们真的需要身份传递吗

在SOA和云中我们真的需要身份传递吗2013-11-17 infoq 译:陈菲IT 开发者,尤其IT安全专家已经为创建一个企业级的身份控制机制奋斗了多年。在这一领域最广为人知的 倡议和模型就是单点登陆(SSO),单个终端用户的身份能够在系统间传递并能在整个企业内被认知。在当今的IT环境下,安全问题还必须要处理面向服务的环境以及云计算(简称云)。许多企业安全专家及供应 商都有对服务和云在SSO方面的考虑。尽管如此,一个简单的问题仍然需要被回答,那就是从商业视...
优秀的敏捷项目经理是项目成功的尚方宝剑

优秀的敏捷项目经理是项目成功的尚方宝剑

优秀的敏捷项目经理是项目成功的尚方宝剑2013-11-17 infoq 译:江辉如果按照思维定式来考虑已有的Scrum框架,项目中本没有敏捷项目经理(Agile PM)这样的角色。而在另 一些敏捷方法中——例如特征驱动开发(FDD)人们仍然依仗项目经理(PM)。但项目经理的角色已更多转变 为负责项目行政方面,而非负责协调开发团队及其活动方面,或是处理资源问题方面(也远非项目管理知识体 系——PMBOK中所描述...
为什么敏捷专家应该关心资本化

为什么敏捷专家应该关心资本化

为什么敏捷专家应该关心资本化2013-11-17 infoq 译:赵震一在很多公司中,由于对敏捷软件开发的误解和错误报告,导致税负的增加,损益报告的不稳定,并需要对 程序员的工时进行人工跟踪。我敢断言,相比于大多数瀑布模型的实施者,Scrum团队创造的生产成本数据更 具有可检验性,并且记录得更好,也与已知的客户价值更为密切。更为出色的报表将意味着可观的税负节约并 且能激发更大的投资者兴趣。敏捷公司应该对财务报表这一实践进行改良,从而彰显出Scrum的优势。...
使用MRUnit,Mockito和PowerMock进行Hadoop MapReduce作业的单元测试

使用MRUnit,Mockito和PowerMock进行Hadoop MapReduce作业的单元测试

使用MRUnit,Mockito和PowerMock进行Hadoop MapReduce作业的单元测试2013-11-17 infoq 奚亚伟译引言Hadoop MapReduce作业有着独一无二的代码架构,这种代码架构拥有特定的模板和结构。这样 的架构会给测试驱动开发和单元测试带来一些麻烦。这篇文章是运用MRUnit,Mockito和PowerMock的真实范例 。我会介绍使用MRUnit来编写Hadoop MapReduce应用程序的JUnit测试使用...
使用XML维护Selenium自动化测试脚本

使用XML维护Selenium自动化测试脚本

使用XML维护Selenium自动化测试脚本2013-11-17 ibm 祝 尚元本文适用于需要为测试团队开发自动化回归测试框架的测试设计开发人员。目前业内主流的商业自动化测 试工具和开放源代码测试工具,都需要测试人员熟悉开发编程语言。但是过高的编程门槛让很多测试人员只能 对自动化测试驻足遥望。为解决该群体的困扰,本文将介绍一种基于 XML 维护自动化测试脚本的自动化测试 框架,并详细描述了其中的技术实现细节。XML 具有编写简单,易于在任何程序中读写数据...
java单元测试如何返回void的方法

java单元测试如何返回void的方法

java单元测试如何返回void的方法2013-11-17大家写单元测试时候,一定比较不喜欢测试那些返回void的方法,因为大多数是执行一些动作序列,感觉没法测试,其实,对于这类方法,如果方法的执行是可能发生异常的,(比如方法本身就用throws语句),那么这种方法就算是void返回值,也是可以测试的。举个例子,以下就是我写的一个为返回void方法进行的单元测试:@Test public void testServeResource()throws Exc...
从持续设计到持续交付:完善循环

从持续设计到持续交付:完善循环

从持续设计到持续交付:完善循环2013-11-17 infoq 译:陈菲通常情况下,软件交付中的创新和产品构思之间并不总会互相影响。尽管如此,随着对产品新功能的需求 不断增多,及对应产品生命周期的缩短,甚至商业模型,也都使得将持续设计和持续交付置于同一循环以实现 全面的交付成为必需。由于缺少好的名字,我们就暂就时叫本文为创新循环,循环的每一个阶段如下所示:选择一个构思将该构思提炼成一个可测的假设选择完成该构思所需的功能开发并测试这些功能开发和测试那些衡量标...
敏捷软件开发实践:概括

敏捷软件开发实践:概括

敏捷软件开发实践:概括2013-11-17应朋友之邀,我准备写一组文章关于敏捷软件开发的实践,也帮助广大没有用过Agile的或者只停留在书本内容上的朋友亲临敏捷软件开发这个惊心动魄的历程。所谓敏捷,书本上有很多的介绍,我也不想重复发明轮子了,反正就我的理解,敏捷的精髓就是面向变化,敏捷这个词语,我最早遇到是出现在玩各种游戏中,所谓的“力量型”英雄,“敏捷型”英雄,比如暗黑的亚马逊,比如魔兽世界的猎人,这种职业...
敏捷软件开发实践-Code Review Process

敏捷软件开发实践-Code Review Process

敏捷软件开发实践-Code Review Process2013-11-17介绍:在敏捷软件开发中,从代码的产生速度上来看,要比传统Waterfall产生速度高很多。因为我们把时间安排的更加紧凑了。那么这么多的代码,如何能保证这些代码质量呢?很多人可能直接想到静态代码检测工具。没错,那些是可以定义一个代码检查规则来确保代码的质量,但是那个仅仅是从语言角度,那么逻辑是否已经最优化了?可重用性是否已经优化到极致了?这些是静态代码工具不能完成的,所以我们需要Co...
敏捷软件开发实践-Release Process/Release Plan

敏捷软件开发实践-Release Process/Release Plan

敏捷软件开发实践-Release Process/Release Plan2013-11-17介绍:因为我们的开发周期是迭代进行的,以Sprint为单位,我们每个Sprint如何去和客户说我们的成 果呢,那么我就需要Demo和release一些新功能,或者一些bug fixing。Demo我这里不讨论了, 大体上就是部 署都服务器上然后运行下给meeting的所有人看下,我们这里主要讨论和发布(release)有关的话题。实现方式:话题1:我们如何让发布者...
敏捷软件开发实践-Sprint Setup Meeting

敏捷软件开发实践-Sprint Setup Meeting

敏捷软件开发实践-Sprint Setup Meeting2013-11-17介绍:对于一个迭代周期Sprint来说,最先开始的活动并且也是最重要的活动之一就是Sprint Setup Meeting. 在这个会议上,我们主要会去探讨一些这个Sprint我们需要完成哪些story,并且这些story的具体需求是什么。其实,我们公司走的是离岸开发模式,这种模式下,我们由于和我们的客户有个时差(9小时) ,所以很难大家坐在一起然后和标准的Sprint Setu...
敏捷软件开发实践-Sprint Status Track

敏捷软件开发实践-Sprint Status Track

敏捷软件开发实践-Sprint Status Track2013-11-17介绍:对于敏捷软件开发来说,能时刻保持跟进项目的进度是非常重要的,因为你可以随时了解团队的健康状况,并且对各种突发情况进行突发的处理,从而保证每个迭代结束后我们的项目可以按时的交付。实现方式:看项目进度的最好的工具当然是burndown chart,我们使用Jira做项目管理工具,Jira中有一个Report视图,可以非常直观的显示story的burn down 曲线,从而让团队直...
敏捷软件开发实践-Sprint Story Point Estimation

敏捷软件开发实践-Sprint Story Point Estimation

敏捷软件开发实践-Sprint Story Point Estimation2013-11-17介绍:对于story来说,一个很重要的衡量它的大小的因素就是story point,它不等同于软件工作量评估中的Function Point,因为story point只是用来粗略的相对的估计story的大小,而Function Point则是用来衡量功能模块的精确大小并且要参与到公式计算的,这里澄清下。story point的估算是一门很深的学问,而且我们不能...
敏捷软件开发实践-Sprint Task Split

敏捷软件开发实践-Sprint Task Split

敏捷软件开发实践-Sprint Task Split2013-11-17介绍:在开完了Sprint Setup Meeting,并且吧所有的Story Point都合理的估算之后,下面一步就是吧story细分到每个开发者/测试者手里,让他们在story下面建sub-task. 这里最关键的问题是,如何更高效的利用团队的人力资源并且做最合理的分配。实现方式:这个其实都是根据skill set来的,因为大家都知道,一个团队的人的水平,经验都层次不齐,有高级/中...
敏捷软件开发实践-Team Management

敏捷软件开发实践-Team Management

敏捷软件开发实践-Team Management2013-11-17介绍:对于敏捷开发团队来说,团队管理也是必不可少的,我带领的团队分2部分,1个是开发团队,一个是测试团队。开发团队,我大体上比较放心,因为毕竟已经运行1年多了,文档充足,而且技术方面也有很多资料或者现成代码可以参考,测试团队是刚组建没多久的,因为原来测试团队放在onshore那边,但是现在他们测试团队解散了,所以我们这边就组建了一个测试团队。这里共享下我管理团队的一些经验。实现方式:其实我...
<< 161 162 163 164 165 166 167 168 169 170 >>