如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
http://www.cndw.com/tech/program/2006041947559.asp 本文以一个PRM项目为例,探讨了目前国内软件开发企业在软件开发过程中,尤其是企业应用系统项目开发中,面临的问题以及如何利用敏捷软件开发方法的解决方案。一、项目与公司背景该项目是一个PRM(PartnerRelationshipManagement)系统,为世界著名的快速消费品品牌在中国大陆的合作伙伴提供订单管理以及其它辅助功能。该系统原来是基于PHP实现的,已经运行将近2年的时间,但是由于系统功能问题,需要对系统进行重新开发,新的系统基于J2EE框架实现。项目预期情况如下:项目开始时间:2002年7月1日预期交付时间:2002年9月1日项目金额:70万RMB项目开发商是亚洲领先的电子商务解决方案供应商,在J2EE架构的项目执行方面有丰富的经验,结合RUP与WebSoftwareEngineering形成了自己的一套电子商务项目实施方法论,并在多个项目中成功进行实施。二、项目实施情况项目由于客户预算等原因,原有的软、硬件系统继续使用,同时,应用系统平台也采用开源项目。项目部署时的系统情况如下:硬件:操作系统:Solaris主频:400M内存:1G硬盘:20G应用平台:Web服务器:Apache1.3.21应用服务器:Tomcat4.0.6数据库服务器:Oracle8.1.7项目人员配置与项目规模:项目团队项目经理:1技术经理:1(兼)客户经理:1开发人员:4测试人员:2HTML人员:1(兼)项目规模UseCase:32代码行数:65000JSP页面:198项目真实执行情况:开始日期:2002/7/1交付日期:2002/9/2验收日期:2003/5/8维护时间:230人小时目前项目盈利:20000目前,项目由于性能问题,仍然没有验收,维护时间日益增长,目前仍然有30万左右的尾款没有收到;更为严重的是,目前项目开发商正在投标的另一快速消费品行业著名客户的合作伙伴与该客户有很大的重叠,因此,对于潜在项目的招标造成一定的影响。三、经验与教训从项目规模中可以看出,该项目的时间还是比较紧张的;另外一方面,项目交付是在合同规定日期之前完成,而且通过了所有的功能测试。从一定意义上的讲,项目的开发是取得了一定的成功的。3.1经验在项目开发前,项目开发商已经通过其它项目,实施了以XP为代表的敏捷软件开发方法的部分最佳实践,并取得了很大的成功。因此,在该项目的执行过程中,项目开发商继续采用了XP的部分实践以及其它软件开发方法中的推荐做法[1][2]:每日晨会:在项目实施过程中,每天早晨开发小组都要参加一个持续15分钟左右的会议,由项目经理主持,听取每个成员的进度,并根据进展情况,对于进度和资源进行调整。由于会议是每天进行的,PM很容易从中获得真实的项目情况-"掀开地毯下面的东西"[4],从而对风险有了较好的控制。交叉审核:项目组在最初的时候原本是想采取"成对编程"的实践,但是没有获得物理和管理上的支持,因此,只能采取交叉审核的方式进行。需求获取:由PM和一名对于原有系统较熟悉的开发人员进行需求获取和SRS(SoftwareRequirementSpecification)的撰写。技术经理和其它开发人员进行需求的审核。分析与设计:由一名开发人员进行系统框架的设计,其它人员进行审核;在系统框架设计进行过程中,由于系统去除订单处理以外的其它部分比较独立,因此,将其它模块分配给开发人员,而将核心部分交与技术经理进行分析与设计。开发人员在每个迭代周期内,都会在分析与设计做完后,每2人一组进行审核。编码:每天下班前,2人一组,对对方的代码进行Review,发现问题及时解决。代码Review的时候,语法与规则的检查,通过CheckStyle的工具进行;开发人员将审查的重点放在功能实现与性能优化等方面。测试:在需求文档形成以后,2个测试人员分布编写分配模块的TestCase;而在具体测试的时候,两人交叉测试对方的模块和更新文档。在系统开发Verification的各个阶段,都有CheckList,详细的信息请查看参考文献[3]。测试先行:测试在软件开发中的重要作用已经得到了越来越多的重视,但是,由于习惯势力的影响和对于"Test-DrivenDevelopment"的不熟悉,开发小组并没有实施完全意义上的测试先行。对于系统框架的核心类设计过程中,项目小组采取了TDD的方式进行开发。在后续的系统开发中,每个开发人员在进行开发前,首先要完成一个功能测试(FunctionTest)列表,将要完成的UseCase中的主要业务逻辑以及关联逻辑都要罗列出来,在提交测试人员进行集成测试之前,开发人员需要保证完成FunctionList中的所有选项。在每个开发人员的模块完成并通过
my****25
实名认证
内容提供者
最近下载
最新上传
2025年法律职业资格之法律职业客观题(黄金题型).docx
2025年法律职业资格之法律职业客观题(预热题).docx
2025年法律职业资格之法律职业客观题(重点).docx
2025年法律职业资格之法律职业客观题(达标题).docx
2025年法律职业资格之法律职业客观题(轻巧夺冠).docx
2025年法律职业资格之法律职业客观题(能力提升).docx
2025年法律职业资格之法律职业客观题(考试直接用).docx
2025年法律职业资格之法律职业客观题(考点精练).docx
2025年法律职业资格之法律职业客观题(考点梳理).docx
2025年法律职业资格之法律职业客观题(考点提分).docx