软件体系结构研究报告
软件体系结构研究
软件体系结构研究报告
软件体系结构研究
目录
引言_____________________________________ 错误!未定义书签。认识软件体系结构__________________________________________ 2流程处理系统______________________________________________ 5层次结构__________________________________________________ 7客户机/服务器系统_________________________________________ 9代理系统_________________________________________________ 12面向对象风格_____________________________________________ 13基于事件的隐式调用_______________________________________ 15结语_____________________________________________________ 17
软件体系结构研究
引言
Melton和Garlan等人对体系结构、设计模式和对象进行了分析和比较,指出软件体系结构风格是在诸多系统中所拥有的共同的结构和语义特性。Garlan和Shaw指出,体系结构指导如何将各个模块和子系统组织成一个完整的系统。因此,选择合适的体系结构,将直接关系到软件的重用性。
Kruchten指出,软件体系结构有四个角度,它们从不同方面对系统进行描述:概念角度描述系统的主要构件及它们之间的关系;模块角度包含功能分解与层次结构;运行角度描述了一个系统的动态结构;代码角度描述了各种代码和库函数在开发环境中的组织。
Hayes Roth则认为软件体系结构是一个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接、接口和关系。
David Garlan和Dewne Perry于1995年在IEEE软件工程学报上又采用如下的定义:软件体系结构是一个程序/系统各构件的结构、它们之间的相互关系以及进行设计的原则和随时间进化的指导方针。
本文将对几种软件体系结构做出分析。
软件体系结构研究
认识软件体系结构
软件体系结构的初步认识
软件体系结构定义了软件的布局和总体计算部件的构成,以及这些部件(组件)之间的相互作用关系。
部件包括诸如客户、服务器、数据库、程序包、过程、子过程等一切软件的组成成分。
相互作用关系包括过程调用、共享变量访问、消息传递等。相互作用也包括具有十分复杂的语义和构成的关系,诸如客户/服务器的访问协议、数据库的访问协议、网络传输协议、异步事件的映射等。
在系统的功能需求方面,体系结构还表达了系统需求和构成之间的对应关系,这为系统的设计提供了分析和评价的依据。在系统宏观层面上,人们所关心的是系统的非功能性需求方面的内容,诸如容量、数据吞吐量、一致性、兼容性、安全性、可靠性等,这些在体系结构中也都表达了出来。
体系结构设计与程序设计之间的侧重点不同。
作体系结构设计时,主要关心的是各部件的协作、系统的总体性能、伸缩扩展能力等。
在程序设计时,则集中注意一个部件、界面或子系统内的详情。
体系结构的重要性在于它决定了一个系统的主体结构、宏观特性和具有的基本功能及其特性。
大型建筑物设计成功的关键首先在于主体结构。同样,复杂软件设计的成功与否在于软件系统的宏观上层结构设计的正确和合理性。
软件体系结构研究
熟悉软件体系结构的好处
把某一体系结构的总体性质和不同背景的人分享。
反复把体系结构的结构和样式,应用在不同系统和环境中。 比较不同的体系结构,根据其长短处,作出总体性的决策。
常见的软件体系结构样式
流程处理系统(pricedutal processing diagram ) 层次系统(layered system )
客户机
/服务器(client/server)系统
代理(agent )
面向对象风格
基于事件的隐式调用
软件体系结构研究
流程处理系统
概念
流程处理系统(procedural processing system)以程序算法和数据结构为中心,像输送或过滤器般处理数据。每一个处理过程中,先接受输入数据,对他们进行处理(过滤),最后产生输出数据。
优点
系统的总体行为,是各个处理部件的简单组合。
只要输入和输出数据合适,处理部件可以在不同系统中重复使用。
只要增加新的处理部件,系统可以很容易地扩展。
系统可以在大规模并行计算机中运行,解决复杂的工程技术和科研难题。
缺点
它主要以一个批量处理的方式运行,不太适合交互式应用。
软件体系结构研究
当有大量和不同方式的输入和输出数据时,对数据的管理比较困难。
流程处理系统的软件体系结构
例如:
人脸动画的流程
软件体系结构研究
层次结构
概念
所谓层,就是一个部件或结点中的一组对象或函数,它们同心协力,提供一定范畴的服务。层状系统则是带有这些分组或层的软件系统,它常见于服务器中,里层给外层提供服务。
优点
在部件或结点中分设层有助把复杂的问题按功能分解,使整体设计更为清晰。
由于内层与外界隔绝,内层函数和服务受到有效的控制,只有界面层的对象作为界面类向外界公开。
新的运算可以在界面层引入,它们把内层(核心或持久)的一些运算合起来。
如果界面合适,某一个层反复用在不同地方。一个自成一体的层,也可以作为部件或结点使用。
软件体系结构研究
缺点
层的个数多时,系统性能就会下降。因为界面函数可能通过好几层,才能到达某一内层。
层次结构的操作系统
软件体系结构研究
客户机/服务器系统(C/S)
PC机的出现给应用程序模型的发展带来了巨大的推动力,这时出现了客户机/服务器模式的应用程序,即应用程序的代码和资源被明确的划分为客户端和服务器端。
因为PC机有了一定的处理能力,在大型机上实现的的用户界面和部分事务逻辑被移到PC机上运行(将这种PC机端的代码称为应用程序客户端),而大型机则提供部分事务逻辑处理和数据存取的功能(将这种大型机端的代码称为应用程序服务器端)。
随着PC机处理能力在逐渐加大,客户端执行的任务逐渐增多,这时对服务器端的硬件要求也在逐渐地降低。
两层客户机/服务器结构
根据事务逻辑在客户端和服务器端分配的不同,该种模型有几种形式:
事务逻辑完全配置在服务器端。
事务逻辑完全配置在客户机端。
服务器端和客户机端都配置有事务逻辑。
两层客户/服务器应用模型的三种形式
软件体系结构研究
三层客户机/服务器结构
在三层的应用程序模型中,事务逻辑与用户界面和数据存取明显地分离出来,将
客户端的用户界面与服务器端数据存取隔离开来,极大地改善了应用程序的可维护性。注意,虽然最常用的多层客户/服务器模型是三层模型,但是,现在已经出现了将事
务逻辑层和数据存取层增加的趋势。
更多更细的分层不但提高了系统的维护性能,同时也增加了系统的重用性和与分
布式系统概念融合的可能性。
三层客户/服务器应用模型
EDI-SEVER的体系结构图
软件体系结构研究
多层客户机/服务器结构
多层系统有如下好处
(1) 因为系统的功能分布在几个级或服务器上,系统维修和扩展都比较容易。(2) 从底层 …… 此处隐藏:2741字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [实用文档]李践-有效提升销售的12大黄金法则8-大
- [实用文档]党支部换届工作方案
- [实用文档]2013年下期电子商务专业部宣传工作计划
- [实用文档]方庄一矿通风、钻探绩效工资考核管理办
- [实用文档]项目一 认识企业物流认识企业物流
- [实用文档]MBI_Display_产品蓝图规画
- [实用文档]北京市建筑业劳务作业人员普法维权培训
- [实用文档]锅炉燃烧调整与运行优化
- [实用文档]4支付结算业务的核算
- [实用文档]米什金_货币金融学_第9版各章学习指导
- [实用文档]水泥混凝土路面硬化工程施工组织设计
- [实用文档]钢筋工程安全技术交底书
- [实用文档]关于公布华中师范大学本科毕业论文
- [实用文档]太原市园林绿化施工合同范本 2
- [实用文档]周日辅导 初中英语分类复习单项选择题(
- [实用文档]第四章 文化经纪人的管理形式 第二节
- [实用文档]学宪法讲宪法竞赛题库
- [实用文档]《数值计算方法》期末考试模拟试题二
- [实用文档]爱词霸学英语:每日一句( 十月)
- [实用文档]2014年国家公务员面试:无领导小组讨论
- 新课程主要理念和教学案例分析汇编(24
- 英国人的快乐源于幸福的家庭生活
- 七年级上册第一次月考模拟数学试卷
- 真丝及仿真丝的种类有哪些?
- 【最新】华师大版八年级数学下册第十六
- 高中英语3500个必背单词
- 我可以接受失败,但我不能接受放弃!
- 最近更新沪科版八年级物理上册期末试卷
- 绿化工作先进乡镇事迹材料
- 鲁教版九年级上册思想品德教学计划
- 英语音标的分类
- 地下室底板无梁楼盖与普通梁板结构形式
- 美容师黄金销售话术
- 雅思写作满分作文备考方法
- 血清甲状腺激素测定与高频彩色多普勒超
- 1度浅析装修对室内空气品质的影响
- 2017-2022年中国汞矿行业深度分析与投
- 计算机二级VB公共基础知识
- (何勇)秸秆禁烧_重在寻找出路
- 内外墙抹灰工程分包施工合同1




