字号: 小 中 大 |
推荐给好友
上一篇 |
下一篇
漫谈企业应用项目的软件开发过程 一个PRM系统实施的经验与教训
发布: 2008-9-22 10:25 |
作者: 不详 |
来源:
领测软件测试网 采编 |
查看: 47次 | 进入软件测试论坛讨论
领测软件测试网
IS!A1Wf上述两种情况在少量负载的单元测试和集成测试中是不可能出现的。
@S^Va7Jl$K`软件测试技术网xD6[!J4Q$XN8r教训二:对于企业应用系统,尤其是业务系统,没有切实注意负载、性能等非功能性需求。
效率与设计:在J2EE中,已经成功的运用了很多设计模式的思想,为系统的开发提供了一个很好框架。但是,在项目的架构设计中,除了考虑可维护性、可复用性等问题以外,还要考虑代码执行效率的问题[5]。软件测试技术网 r"~w6C-X
软件测试技术网*f.Qf
r.B8C0X
随着计算机硬件技术的发展,"莫尔定律"被一再的验证,系统硬件的价格逐渐降低。对于很多使用J2EE架构或者JAVA技术的项目来说,解决性能与效率问题的解决方案就是增加硬件方面的投入。而实际上,软件开发过程中优劣算法之间的差距是靠硬件的投入平衡不了的。软件测试技术网&q\O$`,fT%b
软件测试技术网#\k^%A|d3I
该项目在系统维护期间,对代码进行走查,修改了很多对于性能有影响的语句;同时,在框架设计中,尤其是数据库操作方法,利用Cache原理,从一定程度上解决了性能的问题。软件测试技术网S8T5q)A,i(m
软件测试技术网I6q0S\Cq
教训三:系统框架设计只考虑面向对象和可维护性,没有在完美的设计与高效率的代码之间做出权衡。
数据库设计:JAVA是纯粹的面向对象语言,利用J2EE开发的项目,也强调首先进行OOAD的分析,首先有对象,然后再有数据库的设计。DBA在项目中的作用,已经远远没有传统的结构性编程中重要。而实际情况却是远非如此:大部分的业务系统,如果要对系统的性能做出优化,对数据库层或者SQL语句进行优化是关键的步骤之一。软件测试技术网2[%q&FWW+e+f
软件测试技术网:dlHW#h[%f
对于这个PRM系统,在数据库的设计上并没有经过DBA的审查就开始进行开发;而在性能问题出现以后,客户增加了512M的内存,也没有请求DBA对Oracle的参数做相应的调整,造成了很大的资源浪费。
%E.|$K g7w B
在项目维护过程中,依靠DBA的帮助,开发商对于数据库系统参数、索引、存储过程和SQL语句都做了一定的调整,这对于系统性能的提高起了很大的作用。软件测试技术网|dFd"mWK
教训四:在面向对象的软件系统构建中,忽视数据库设计以及DBA的重要作用。
客户参与:在传统的软件开发过程中,一般情况下,客户在签订合同后,项目交付前是很少有机会看到系统的,这样就造成了系统交付后,客户抱怨很多的情况;而在以XP为代表的敏捷软件开发方法中,强化了客户在软件开发中的重要作用,XP更是提出了"现场客户"的实践,将客户作为项目小组的一员,客户对于项目的发布计划、内容和优先级等方面有绝对的控制权。
1?]Jx+xS/\m4A'X软件测试技术网-G w(tw%K'kcat
对于这个PRM项目,由于客户的原因,不可能采取"现场客户"的实践,但是,开发商的BD对于该客户十分熟悉,完全可以作为客户代表参与到项目中来,因此,开发商将客户经理作为项目组的一员。
k I \G(J;Ns`实际情况是:开发过程中,客户经理由于业务拓展的原因,并没有在项目上分配多少时间进行审查;而客户在交付前也没有花费很多的时间研究系统,也没有提交很多的反馈报告。在系统交付出现性能等问题后,客户经理与开发人员一起对于系统需求进行审查,提出了很多有参考性的意见。如果从一开始,就强化"现场客户"的最佳实践,就可以很早发现问题。教训五:客户或者客户经理对于项目的参与力度不够。
e{'k,]2` 四、 结论软件测试技术网ZS4?