教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 实用文档 >

软件体系结构研究报告

来源:网络收集 时间:2026-09-05
导读: 软件体系结构研究 软件体系结构研究报告 软件体系结构研究 目录 引言_____________________________________ 错误!未定义书签。认识软件体系结构__________________________________________ 2流程处理系统______________________________________________

软件体系结构研究

软件体系结构研究报告

软件体系结构研究

目录

引言_____________________________________ 错误!未定义书签。认识软件体系结构__________________________________________ 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字,全部文档内容请下载后查看。喜欢就下载吧 ……

软件体系结构研究报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1115016.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)