下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 对几种常见软件体系结构模型的思考 陈岩本文通过介绍几种软件开发中常见软件体系结构模型,以及对几种模型进行分析比较,从而为软件开发过程中软件体系结构的选择提供一些思路,并减少一些开发软件过程中的风险。【关键词】软件体系结构 结构模型 管道过滤器 mvc模型计算机应用越来越广泛和深入,计算机软件规模和种类也变得更为复杂和多样化。在软件开发过程中,设计开发人员所要考虑的,不仅仅是系统的功能需求,还要更多的考虑软件后期维护和升级等问题,因此软件体系结构的设计选择对于一个软件开发过程十分重要。自软件体系机构出现以来,其结构、模式也在不断变化与发展,目
2、前,有几种比较常见的软件体系结构模型,本文就对这几种常见的结构模型进行介绍以及对它们进行简单的比较分析。1 层次体系结构模型层次体系结构模型是一种非常常见的体系结构模型,它的基本思想是将系统在水平方向上划分为多个抽象层次,中间层(第一层和最后一层除外)既服务于上层,又被下层服务。此外,层次之间的通信既可以相邻层次间进行,也可以通过协议隔层进行。使用最为广泛的分层体系结构是分层通信协议,我们常用的tcp/ip网络就是这种模型。这种结构下,与上层的通信都依靠于每一层的一个抽象功能,低层通信定义在低层次上,一般来讲,最底层与物理层次相连,其他常见的和最底层连接的有底层数据库连接或者操作系统连接。分层
3、体系结构非常常见,优点也非常明显,有以下几点:(1)抽象程度递增。分层体系结构中每层的抽象程度不一样,递增的设计能够使得系统的复杂程度更为容易被软件开发设计人员理解和掌握,从而按照复杂程度分解其功能。(2)支持系统功能增强。由于通信交互通常发生在每层和上下层之间,对于软件的全局相对来说更容易把握,因此在面对需求变化或者软件需要升级时,就可以通过在某一层修改功能或者增加功能来实现。(3)支持功能复用。一般来说,对于服务接口的定义不会变,因此,不同接口实现之间交换使用就可以在同一层进行。通常,会定义一个标准接口的不同实现方法。层次结构模型也有以下几个缺点:(1)更改层麻烦。修改底层对高层产生影响时
4、,则此底层的上层都需要进行修改。(2)效率低。层次之间的通信需要进行各种参数的传递与转换;高层对于底层的一些执行并不需要等。(3)层次的粒度难以确定。2 管道与过滤器结构模型过滤器为功能模块,功能模块之间的连接(数据流的输入输出)为通道,两者共同组成了管道与过滤器结构模型。功能模块间相互独立,即过滤器不需要进行状态之间的交互为管道过滤器模型的一个重要的特性,其中,若输入输出发生在任两个过滤器之间则两个过滤器可以连接使用。管道过滤器结构同时也限制了输入输出格式,因此在交互式应用中,这种模式是不适用的。其中,常见的管道过滤器模型应用之一就是编译器系统。管道过滤器模型有以下几个优点:(1)中间件可以
5、不再使用,同时也支持使用中间件。(2)灵活性增加。过滤器之间可以进行灵活的连接使用,组件的重用性提高。(3)效率提高。可以进行并行处理。管道与过滤器结构模型也有以下几个缺点:(1)信息共享问题。组件之间状态共享信息代价较大。(2)效率高假象。并行处理并没有真正提高效率。(3)数据转换增加开销。3 面向对象结构模型对于处理面向现实世界问题的系统,面向对象结构模型是最为合理的选择。在使用面向对象的软件中,把一切如数据、组件模块都作为对象来处理。对象包括对象的状态即数据以及对象的行为即操作方法,对象之间通信通过信息传递实现。在面向对象模型中,对用户透明,即用户不需要知道对象内部状态,只需要知道功能及
6、其使用,因而将软件系统开发周期和难度尽量减少。面向对象结构模型有以下优点:(1)对象封装。用户不必完全了解对象的数据状态,开发中可以减少难度和减少时间周期。(2)对象继承。继承提高了为代码的复用性,减少开发人员工作量和后期维护等工作量。(3)错误修改方便。对象出现错误,修改此对象即可,不需要对其他对象进行修改。面向对象结构模型有以下缺点:(1)交互要求高。对象间进行交互通过过程调用进行,调用对象则是通过对象标识来作为通信媒介。(2)修改繁琐。对象通过标识符标识,若对象的标识符修改了,则必须修改对对象的所有实例,同时需要解决标识符修改带来的副作用。4 mvc体系结构模型mvc体系结构(model
7、visualcontroller即模型视图控制器体系结构)也是当今应用十分广泛的交互界面结构模型。模型、视图和控制器是mvc结构模型的三个组成部分,它强制性地将软件的输入输出以及处理三个部分分开进行,每个部分相互独立,从而使得图形化用户交互更为方便。比如,可以使用mvc结构模型构建拍卖系统,使得处理结果更为直观。mvc体系结构模型的优点如下:(1)模式复用性。对于同一个模型,可以有多个视图进行任务处理。同一个模式可以开发多个应用程序框架。(2)视图灵活。可以将视图同步化,同时可以将视图和控制器插入。(3)控制器和视图联系紧密。mvc体系结构模型的缺点如下:(1)系统开发复杂性增加。同时增加了后
8、期维护以及升级更多的更新因素。(2)高耦合。模型、视图和控制器之间耦合过于紧密,修改维护工作量大。(3)效率低。视图中的数据访问效率较低。5 结束语软件开发与以往相比,软件算法和数据结构已经不再是最为重要的部分,软件开发中软件体系结构模型的选择才是目前适应软件开发最重要的关注点。软件体系结构模型的选择已经成为整个软件系统是否能成功开发的基础,通过软件体系结构模型,可以对系统开发中项目可行性、开发周期、功能需求分析、项目复杂程度和风险预测等进行估计预测。从上文对层次体系结构模型、管道与过滤器结构模型、面向对象结构模型和mvc体系结构模型四种软件体系结构模型进行简单的总结介绍以及对其优缺点分析,可以发现每种体系结构都不可避免的在不同方面有强点或者弱点,在实际软件开发中,需要根据项目实际情况综合分析,从而选用恰当合理的软件体系结构模型,使得软件开效率和质量都有所提高。參考文献1杨志明.几种常见软件体系结构模型的分析j.计算机工程与设计,2004(08):1326-1328.2田润芙,杨旭.常见软件体系结构分析j.网络财富,2010(01):160-161.3侯彬,张立臣.基于中间层的软件体系结构模型j.电子设计工程,2010(11):1-3.作者单位安徽电子工程学校 安徽省蚌埠市 233010 电子技
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年医疗消毒合作协议样本
- 搪瓷制品的市场营销与市场调研考核试卷
- 托儿所服务的专业规范培养考核试卷
- 《生物产业动态跟踪及趋势洞察月报(2023年12月)》范文
- 《航空航天产业动态跟踪及趋势洞察月报(2024年3月)》范文
- 《民族地区旅游小城镇发展路径研究》
- 《音乐学者凌瑞兰学术成果研究》
- 《基于改进Welch功率谱的轴承故障诊断研究》
- 中秋归来安全生产无小事考核试卷
- 2024年施工现场临时建筑协议模板
- 《中国药典》2023年版目录
- 第五章一元一次方程微专题-应用题表格类训练 (北师大版数学七年级上册)
- 改革开放简史智慧树知到课后章节答案2023年下北方工业大学
- 我的家乡-黑龙江-英语PPT
- 改革开放史学习通超星课后章节答案期末考试题库2023年
- 耕地保护交流发言【六篇】
- 办理银行汇票结算课件
- 中国文化概论-第11章-中国古代史学
- 租房合同电子版下载(标准版)
- 成人氧气吸入疗法护理标准解读
- 教育从看见孩子开始
评论
0/150
提交评论