- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件项目过程分析
摘要:通过一个基于J2EE项目的开发过程进行分析,讨论了项目开发普遍需要考虑的两条路线,技术架构线和项目规范线,同时给出两条路线的最佳实践方案。
关键词:配置管理;软件过程;项目管理
中图分类号:TP311文献标识码:A 文章编号:1009-3044(2010)10-2395-02
Software Project Process Analysis
WANG Bo
(School of Software Engineering, Tongji University, Shanghai 201804, China)
Abstract: Through a J2EE-based project development process analysis to discuss two aspects, which the project development should consider in general, technical architecture and project specifications, and provides best practices for both of them.
Key words: configuration management; software process; project management
随着软件项目规模的扩大,推动了软件工程和软件技术的发展。但当前软件工程和软件技术的研究也日益深入。项目的管理一般需要把握两条线,技术架构和开发规范,本文基于一般多层架构的项目做一个软件项目开发过程的实践分析。
1 技术架构
技术架构可重可轻,它将直接涉及到安装运行环境,从而影响到软硬件成本,同时对项目组成员要求不同,从而影响项目进度,由于主流.Net和J2EE架构中,J2EE灵活性高,以下以J2EE平台进行架构考虑。
如果系统同时在线用户数目不大,操作方式不复杂(不会涉及远程调用,服务器集群,异步消息处理),项目规模不大(数据库结构表数目在100个以下),就一定不要使用EJB,也就是不要把Application Server引入。如情况相反,则往往需要应用系统分层实现策略。分层是实现一个健壮的复杂的现代软件系统的前提,一般的系统都必须考虑数据持续层、业务实现层、请求控制层和显示层。理清这个层次结构有助于设计阶段制定架构的实现,从而保证整个系统的结构清晰。以下是可供参考的策略。
1.1 数据持续层
当前数据库大都是关系型数据库,在面向对象设计语言下,使用O/R Mapping工具好像是很自然,如果架构中使用了Application Server,大家自然的选择是EntityBean,其容器事务管理方面确实很大优势。另外一个比较好的持续层方案是JDO和Hibernate工具,他们都支持通过POJO(Plain Old Java Object)进行O/R Mapping。他们实际上只是一组Java Class的工具类,不需Application Server支持。O/R Mapping技术在项目规模比较大的情况下,可以大大减少一个对象增删改的SQL语句数量,加快开发速度和质量,但对于小型项目却未必需要考虑,完全可以使用一个SQL执行工具完成访问数据库工作,Apache下开源项目Common里有个DbUtils就是一个好选择,所有SQL语句可以写在一个文本配置文件里,便于修改。
1.2 业务实现层
在使用Application Server时,毫无疑问使用Session Bean处理业务, 同时为每个Session Bean提供一个Business Delegate是一个不错的设计,为客户端隐藏调用细节。在轻量级情况,就用普通Java Class就可以了,业务层的设计主要在于相似业务的重用,一般做法把一些可重用方法提取到基类,例如得到数据连接,执行查询SQL和没返回的SQL,关闭数据连接,可以为各种类型的数据库操作在基类提供方法,而具体业务子类只要使用这个基类方法即可。
1.3 控制层
控制层负责接受请求,校验访问权限,调用业务对象,保存结果,分发视图,如果在大项目里,建议使用Apache下的Struts框架,当要注意合理使用,有必要进行合适的扩展。但不管是否使用Struts作为控制层框架,基于MVC的实现必须有如图1这样的思路。
Business是业务实现,Action负责提取请求中数据以适应Business的接口,读取结果以合适的结构返回给客户,运用Command模式进行设计,SecurityManager负责访问控制,同时对Action池进行管理,提高性能。而
您可能关注的文档
最近下载
- TCQAE.32025信息技术生僻字处理第3部分服务机构要求.pdf
- 医学影像检查技术学教案(本科).doc
- TCQAE.22025信息技术生僻字处理第2部分业务系统要求.pdf
- TCQAE.12025信息技术生僻字处理第1部分软件产品要求.pdf
- 《信息技术 生僻字处理要求 第 3 部分:服务机构》.PDF
- 《信息技术 生僻字处理要求 第 2 部分:业务系统》.PDF
- 国际结算(史燕平)第三章 国际结算方式--汇款方式与托收方式.ppt VIP
- 《信息技术 生僻字处理要求 第1部分:软件产品》.PDF
- 2025年青岛版(2024)小学科学三年级上册(全册)教学设计(附目录P150).docx
- 国际结算中的票据.pptx
文档评论(0)