软件工程

您所在的位置:网站首页 jsp分层 软件工程

软件工程

2023-04-10 00:11| 来源: 网络整理| 查看: 265

  不可否认,对于简单的应用,采用ASP 或者PHP 的开发效率比采用J2EE 框架的开发效率要高。甚至有人会觉得:这种分层的结构,比一般采用JSP + Servlet 的系统开发效率还要低。笔者从以下几个角度来阐述这个问题。·开发效率:软件工程是个特殊的行业,不同于传统的工业,如电器、建筑及汽车等行业。这些行业的产品一旦开发出来,交付用户使用后将很少需要后续的维护。421轻量级J2EE 企业应用实战Struts+Spring+Hibernate 整合开发但软件行业不同,软件产品的后期运行维护是个巨大的工程,单纯从前期开发时间上考虑其开发效率是不理智的,也是不公平的。众所周知,对于传统的ASP和PHP 等脚本站点技术,将整个站点的业务逻辑和表现逻辑部混杂在ASP 或PHP页面里,从而导致页面的可读性相当差,可维护性非常低。即使需要简单改变页面的按钮,也不得不打开页面文件,冒着破坏系统的风险。但采用严格分层J2EE架构,则可完全避免这个问题。对表现层的修改即使发生错误,也绝对不会将错误扩展到业务逻辑层,更不会影响持久层。因此,采用J2EE 分层架构,即使前期的开发效率稍微低一点,但也是值得的。·需求的变更:以笔者多年的开发经验来看,很少有软件产品的需求从-开始就完全是固定的。客户对软件需求,是随着软件开发过程的深入,不断明晰起来的。因此,常常遇到软件开发到一定程度时,由于客户对软件需求发生了变化,使得软件的实现不得不随之改变。当软件实现需要改变时,是否可以尽可能多地保留软件的部分,尽可能少地改变软件的实现,从而满足客户需求的变更?答案是一一采用优秀的解藕架构。这种架构就是J2EE 的分层架构,在优秀的分层架构里,控制层依赖于业务逻辑层,但绝不与任何具体的业务逻辑组件藕合,只与接口楠合:同样,业务逻辑层依赖于DAO 层,也不会与任何具体的DAO 组件相合,而是面向接口编程。采用这种方式的软件实现,即使软件的部分发生改变,其他部分也尽可能不要改变。注意:即使在传统的硬件行业,也有大量的接口规范。例如, PCl 接口、显卡或者网卡,只要其遵守PCl 的规范,就可以插入主板,与主板通信。至于这块卡内部的实现,不是主板所关心的,这也正是面向接口编程的好处。假如需要提高电脑的性能,需要更新显卡,只要更换另一块PCl 接口的显卡,而不是特整台电脑抛弃。如果一台电脑不是采用各种接口组合在一起,而是做成整块,那将意味着即使只需要更新网卡,也要放弃整台电脑。同样,对于软件中的一个个组件,当一个组件需要重构时,尽量不要影响到其他纽件。实际上,这是最理想的情况,即使采用目前最优秀的架构,也会有或多或少的影响,这也是软件工程需要努力提高的地方。·技术的更新,系统重构:软件行业的技术更新很快,虽然软件行业的发展不快,但小范围的技术更新特别快。一旦由于客观环境的变化,不得不更换技术时,如何保证系统的改变最小呢?答案还是选择优秀的架构。在传统的Modell 的程序结构中,只要有一点小的需求发生改变,将意味着放弃整个页面或者改写。虽然前期的开发速度快,除非可以保证以后永远不会改变应用的结构,否则不要采用Modell 的结构。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3