欢迎来到天天文库
浏览记录
ID:14704382
大小:3.72 MB
页数:35页
时间:2018-07-30
《软件体系结构复习总结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、感谢在职班同学架构定义1.LenBass,PaulClements等人对软件构架所做的定义(黄皮18页):某个软件或计算系统的软件构架是该系统的一个或多个结构,它由软件元素、这些元素的外部可见属性以及这些元素之间的关系组成。2.含义:(黄皮书19-20页,此处需要看书,因为估计考的比较灵活)•首先,构架定义了软件元素。–构架必须省略元素中与其交互无关的某些信息•第二,该定义明确指出系统可能而且确实由多个结构组成。–其中任何一个结构并不能与构架等同–结构的多重性是理解软件构架的关键•第三,该定义意味着具有软
2、件的每个计算系统都有一个软件构架。–每个软件系统都可以看成由若干个元素及其相互联系构成•第四,只要某个元素的行为可以从其他元素的角度观察到或区别开,这个元素的行为就是构架的内容。–这种行为使各元素的交互成为可能,是构架的一部分(要求:弄清这个定义的含义并能根据这个定义分析现有的一些关于构架的描述是否正确。)3.软件体系结构异构的方式,特点?异构的方式:一种方式是使用层次结构,一个系统构件被组织成某种体系结构风格,但它的内部结构可能是另一种完全不同的风格。第二种组合风格的方式是,允许单一构件使用复合的连接件
3、。比如一个构件可能通过它的接口访问知识库,但通过管道与系统中其他构件进行交互,又通过其他接口接受控制信息。第三种组合方法是用完全不同的软件体系结构风格对一个系统水平的软件体系结构进行描述。4、构件:构件是计算或数据储存的单元;构件定义:构件是指语义完整、语法正确和有可复用价值的单位软件,是软件复用过程中可以明确辨识的元素;结构上,它是语义描述、通讯接口和实现代码的复合体。5、连接件:连接件是构件之间的交互和指导这些交互的规则进行建模的体系结构元素软件体系结构(构架)研究的问题•结构性问题•系统的组织,由哪
4、些组件构成•全局性的控制结构•通讯、同步或访问的协议•将功能分配到不同的系统组成部分•设计元素的组成•系统的物理分布•可扩展性、性能(要求:要弄清哪些方面的问题是属于构架的,哪些方面的问题是不属于构架的)常见的架构风格一、什么是软件架构风格软件体系结构风格描述某一特定应用领域中系统组织方式的惯用模式,以结构组织模式定义了一个系统家族a)关于构件和连接件类型的术语词汇表b)一组约束它们组合方式的规定c)一个或多个语义模型,规定了如何从各成分的特性决定系统整体特性概括地说,一种软件体系结构风格刻画一个具有共享
5、结构和语义的系统家族【MaryShow和DavidGarlan认为:软件体系结构风格就是就是软件体系结构模式。FrankBuschmann认为,有区别:模式比风格更加面向问题,模式通常有问题出现的语境、解决方案和适用的场景;风格更侧重于从应用系统中抽取他们的总体结构,极少从实际设计环境来考虑设计技术。】(了解)二、常见的架构风格–管道和过滤器模式–数据抽象/面向对象模式–基于事件的模式–分层模式–仓库(Repository)模式–解释器模式–过程控制–C/S,B/S–特点,不变式,优点,缺点答:比较典型的
6、体系结构风格有:数据流风格(Dataflow):批处理序列、管道-过滤器风格(Pipe-and-Filter)调用/返回风格:主程序/子程序、面向对象风格(ADT)、层次系统(LayeredSystems)独立构件风格:进程通信、事件系统虚拟机风格:解释器、基于规则的系统仓库风格:数据库系统、超文本系统、黑板系统1、–管道和过滤器模式•每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。这个过程通常通过对输入流的变换及增量计算来完成,所以在输入被完全消费之前,输出便产生了•这
7、里的构件被称为过滤器,这种风格的连接件就象是数据流传输的管道,将一个过滤器的输出传到另一过滤器的输入•优点–使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;–允许设计者将整个系统的输入/输出行为看成是多个过滤器的行为的简单合成;–支持软件复用。只要提供适合在两个过滤器之间传送的数据,任何两个过滤器都可被连接起来;–系统维护和增强系统性能简单。新的过滤器可以添加到现有系统中来;旧的可以被改进的过滤器替换掉;–允许对一些如吞吐量、死锁等属性的分析–支持并行执行。每个过滤器是作为一个单独的任务完成,因此可与其
8、它任务并行执行•缺点–通常导致进程成为批处理的结构。这是因为虽然过滤器可增量式地处理数据,但它们是独立的,所以设计者必须将每个过滤器看成一个完整的从输入到输出的转换;–不适合处理交互的应用。当需要增量地显示改变时,这个问题尤为严重;–因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。2、数据抽象和面向对象组织•这种风格建立在数据抽象和面向对象的基础上,
此文档下载收益归作者所有