欢迎来到天天文库
浏览记录
ID:39969139
大小:4.06 MB
页数:85页
时间:2019-07-16
《jee开发常用软件体系架构模式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、J2EE开发常用软件体系架构模式华南师范大学软件学院作者:杨劲松struts,hibernate,spring及其衍生框架主要内容:单击此处添加文字内容软件体系架构单击此处添加文字内容J2EE的体系架构单击此处添加文字内容其他开发框架单击此处添加文字内容SSH框架12431、软件体系架构——软件无处不在7/15/2021华南师范大学软件学院31、软件体系架构——软件开发现状超时超预算被取消按时按预算完成15%25%60%设计集成和系统测试50-80%7/15/2021华南师范大学软件学院41、软件体系架
2、构——软件危机的案例7/15/2021华南师范大学软件学院5IBM公司的OS/360,共约100万条指令,花费了5000个人年;经费达数亿美元,而结果却令人沮丧,错误多达2000个以上,系统根本无法正常运行。OS/360系统的负责人Brooks这样描述开发过程的困难和混乱:“…像巨兽在泥潭中作垂死挣扎,挣扎得越猛,泥浆就沾得越多,最后没有一个野兽能够逃脱淹没在泥潭中的命运。…”1963年美国飞往火星的火箭爆炸,造成1000万美元的损失。原因是FORTRAN程序:DO5I=1,3误写为:DO5I=1.31
3、967年苏联“联盟一号”载人宇宙飞船在返航时,由于软件忽略一个小数点,在进入大气层时因打不开降落伞而烧毁1、软件体系架构——软件为什么会失效7/15/2021华南师范大学软件学院61、软件体系架构——产生软件危机的根源7/15/2021华南师范大学软件学院7软件规模越来越大、复杂度越来越高用户需求不明确缺乏正确有效的理论及工程指导——对用户要求、实现条件没有完整准确的分析就匆忙编写程序,是许多软件开发失败的主要原因在此种背景下,人们认识到软件体系架构的重要性软件工程研究初期重点放在数据结构和算法的选择如
4、Knuth提出了数据结构+算法=程序1、软件体系架构——什么是软件体系架构DewaynePerry和A1exanderWo1f软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工数据构件是被加工的信息连接构件把体系结构的不同部分组组合连接起来MaryShaw和DavidGarlan软件体系结构是软件设计过程中的一个层次,这一层次超越计算过程中的算法设计和数据结构设计——关于整体系统结构设计和描述方面的一些问题,如:全局组织和全局控制结构关于通
5、讯、同步与数据存取的协议,等7/15/2021华南师范大学软件学院81、软件体系架构——什么是软件体系架构Kruchten软件体系结构有四个角度,它们从不同方面对系统进行描述:概念角度描述系统的主要构件及它们之间的关系;模块角度包含功能分解与层次结构;运行角度描述了一个系统的动态结构;代码角度描述了各种代码和库函数在开发环境中的组织不同研究背景、应用背景的人员从不同的角度给出了多达近百种定义,但有两点共识:软件体系结构对于软件开发具有重要意义,必须采用良好的设计原则达到良好的结构设计主流的定义都认为:软
6、件体系结构是用来表示软件系统的总体结构的,该结构由软件构件和构件之间的关系及约束构成7/15/2021华南师范大学软件学院92、J2EE的体系架构J2EE为企业应用系统的开发提供了一种多层分布式企业应用模型按应用逻辑按功能不同可以划分为不同类型的组件7/15/2021华南师范大学软件学院客户层,运行在客户计算机上的组件。Web层,运行在J2EE服务器上的组件。业务层,同样是运行在J2EE服务器上的组件。企业信息系统层(EIS),是指运行在EIS服务器上的软件系统。J2EE分层结构2、J2EE的体系架构J
7、2EE7/15/2021华南师范大学软件学院11用户与系统的接口逻辑功能是显示数据可以是在客户端层内运行的浏览器、基于Java的程序或者其它web型编程环境2、J2EE的体系架构J2EE7/15/2021华南师范大学软件学院122、J2EE的体系架构J2EE7/15/2021华南师范大学软件学院132、J2EE的体系架构7/15/2021华南师范大学软件学院14——什么是模式?什么是框架?模式,即pattern。其实就是解决某一类问题的方法论。你把解决某类问题的方法总结归纳到理论高度,那就是模式。模式分
8、为:体系结构模式设计模式框架,即framework。建立在体系结构模式的基础上。包括大量组件,设计模式,与某一领域的具体应用无关。C/S:以数据库为中心B/S多层架构将显示、业务运算、数据库等功能完全分离,杜绝彼此的耦合与影响,从而实现松耦合和良好的可维护性。3、SSH框架7/15/2021华南师范大学软件学院15——SSH简介Struts(表示层)+Spring(业务层)+Hibernate(持久层)7/15/2021华南师范大学软件学院
此文档下载收益归作者所有