软件体系结构答案文档格式.docx
- 文档编号:17840049
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:13
- 大小:33.44KB
软件体系结构答案文档格式.docx
《软件体系结构答案文档格式.docx》由会员分享,可在线阅读,更多相关《软件体系结构答案文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
该模型由5个视图构成,每个视图只关心系统的一个侧面,5个视图结合在一起才能反映系统的软件体系结构的全部内容。
程序员软件管理
最终用户功能
系统工程师拓扑通
集成者信
性能可扩展性
体系结构的概念在每个视图里面都可以独立应用,并不是所有的软件体系结构都需要完整的4+1视图。
●逻辑视图,主要支持功能需求,即系统应当向最终用户提供怎么样的服务。
在逻辑视图中,从问题出发,采用面向对象的方法,按照抽象、封装、继承的原则,系统分解成一系列的功能抽象,得到代表着系统的关键抽象表示的峰值。
当用面向对象的设计方法时,逻辑视图即是对象模型。
●过程视图,考虑的是一些非功能性需求,它所要面对的问题有并发、发布、系统的完整性、容错能力等,强调并发性、发布性、系统集成性和容错能力,还要考虑怎样把过程视图与逻辑视图的要点相适应。
●开发视图,关注的是软件开发环境中软件模块的实际组织和管理。
开发视图通过具有输入输出关系的模块和子系统图来表示。
描述开发视图的原则是分割、编组、可视。
开发视图侧重的是内部需求,这些需求目的是要使开发相关活动更容易进行。
●物理视图,主要考虑如何把软件映射到硬件上。
软件系统在计算机网络的各个处理节点上运行,各种被确定的元素——网络、过程、任务和对象——需要映射到各种节点上去。
●场景视图,通过使用一些重要的场景,4个视图中的元素可以协调的共同工作。
它承担着2个任务:
Ø
在软件体系结构设计中,将以此视图为驱动来发现体系结构元素
在体系结构设计结束后,此视图承担验证和描述的角色。
它不仅用于书面记录,并且是体系结构原型测试的起始点。
第三章:
5.软件生命周期
是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。
6.构件
构件是系统中实际存在的可更换部分,它实现特定的功能,看、构件可以看成数据单元或是计算单元。
符合一套接口标准并实现一组接口。
构件代表系统中的一部分物理实施,包括软件代码或其等价物。
7.连接件
连接件是软件体系结构的一个组成部分,他通过对构件间的交互规则的建模来实现构件间的连接,连接件不许编译。
8.软件体系结构范式
答:
设A=<
C,O>
是一个软件体系结构,若任意一个构件都至少与另一个构件依赖,则称A满足第一范式,记为1NF。
是一个软件体系结构,若A中存在码,则称A满足第二范式,记为2NF。
是一个软件体系结构,若A中存在码,若A满足第一范式,并且C中的构件都为事件依赖,则称A满足可靠性范式,记为RNF。
9.∏演算的定义
∏演算是移动、交互、并发系统的理论模型,它提供相关的概念框架和数学工具,用于表达移动、交互系统和推论它们的行为,达到增强对已堕落感系统的理解的目的。
10.化学抽象机模型
化学抽象机(chemicalabstractmachine,CHAM)是一种对动态软件体系结构的分析、测试非常有用的形式化描述技术。
第四章:
11.管道和过滤器风格
在管道过滤器模式下,功能模块称作过滤器;
功能模块间的连接可以看作输入、输出数据流之间的通路,所以称作管道。
12.客户机——分配器——服务器风格
客户机的任务是去执行特殊领域的任务。
为了执行处理任务,客户机访问由服务器提供的操作。
在发送请求给服务器之前,客户机向分配器请求信道。
客户机利用这个和服务器通信。
服务器为客户机提供一组操作。
它既可以注册自身,也可以通过其名字和地址向分配器进行注册。
一个服务器组件可以与客户机位于同一台计算机,也可以位于网络的某个节点处。
分配器提供在客户机和服务器间建立通信信道的功能。
要实现这一点,需要取出服务器组件的名字并将这个名字映射成为服务器组件的物理地址。
13.分层系统风格
所谓分层体系结构,是按层次组织软件的一种软件体系结构,其中每一层软件建立在低一层的软件层上。
分层风格的主要特征是第J层的服务只被第J+1层使用-----层之间没有更进一步的自己依赖关系。
分层风格的体系结构的优点:
1)由于对层次的邻接层数目进行glen限制,所以系统易于改进和扩展。
2)每一层的软件都易于重用,并可为某一层次提供多种可互换的具体实现。
3)分层系统所支持的设计体现了不断增加的抽象层次,这样一个复杂问题的求解就被分解为一系列递增的步骤。
4)标准化支持。
清晰定义和接受共同的抽象层能促进标准化任务和接口的开发,同一接口的不同实现可以替换使用。
5)余部依赖性。
层之间的标准化接口往往会限制被改动层的改动代码的影响。
6)可替换性。
独立层实现不需要太费劲就可以被语义上等价的实现所替换。
分层风格的体系结构的缺点有:
1)应当如何界定是层次间的划分是一个比较复杂的问题。
2)更改行为的重叠。
层的行为改变时会出现一个严重的问题。
3)降低效率。
说起来一个分层体系结构的效率往往要低于整体结构或一个“对象的海洋”。
4)不必要的工作。
如果底层执行的某些服务执行了多余或重复的工作,而这些工作并非高层真正需要的,那么这对性能的影响是负面的。
5)难以认可层的正确粒度。
层数太少的分层体系结构不能完全发挥这种模式在可重用性、可更改性和可移植性上的潜力。
14.面向服务的体系结构
面向服务的体系结构是一个组件模型。
面向服务的体系结构将应用程序中的不同功能单元称为服务,并通过对这些服务之间定义良好的接口而将其联系起来。
这种具有中立的接口定义的特征称为服务之间的松耦合。
松耦合系统的好处有两点:
一点是它的灵活性;
另一点是,当组成整个应用程序的每个服务的内部结构和实现逐渐发生改变时,它能够继续存在。
然而,紧耦合意味着应用程序的不同组件之间的接口与其功能和结构是紧密相连的,因而当需要对部分或整个应用程序进行某种形式的更改时,系统就显得非常脆弱。
一个SOA系统中的各个组成元素:
1、其功能部分包括以下元素:
1)通信。
表示了服务提供者和服务使用者之间的消息传输所采用的协议。
如HTTP、FTP等。
2)服务通信协议。
表示了服务之间通信所采用的协议,即服务气功这和使用者之间如何理解双方互相发送的消息。
这种协议如SOAP等。
3)服务描述。
表示了如何对服务本身进行描述,即描述了服务所需的入口参数、返回值、服务所在位置等信息。
这样的描述有WSDL等。
4)服务。
表示了可被调用的服务本身。
5)业务流程。
表示了为达到业务需求目的而按照规则和一定序列调用的一组服务集合,它可以将细粒度的服务组合为粗粒度的服务。
浙西饿业务流程描述通常有BPM、WSFL、BPEL等。
6)服务登记。
保存有服务数据和描述信息。
服务提供者可以将其服务信息发布在此,服务使用者可以在这里查找服务。
2、服务质量包括了下列部分:
规则。
表示了一组可以是服务使用者得到服务提供者所提供服务的规则。
安全。
表示了一组服务在服务使用者的认证、授权、访问控制等方面的规则。
交互。
表示了一组服务在共同完成一项了俩书时所要遵循的属性。
管理。
表示了用以管理服务提供者和服务使用者的一组属性。
第五章:
15.什么是ADL
体系结构描述语言(ADL)是软件体系结构研究的核心问题之一,ADL使用符号标记把系统分解成构件和连接件,并且说明了这些元素如何连接在一起构成一个配置。
它不但是形式化描述软件体系结构的基本工具,而且也是对软件体系结构进行求精、验证、演化和分析的前提和基础。
16.典型的ADL
1)C2,C2是一种基于构件和消息的ADL,适用于大型频繁交互的层次型图形用户界面的软件体系结构描述。
C2构件包含4个内部部分:
内部对象、包装器、对话和域转换器,内部对象存储构件状态并实现构件所提供的操作;
包装器监控所有操作请求,并通过底端接口发送通知;
对话负责把接收到的外部消息映射成内部对象上的操作;
域转换器是可选的,它可以修改一些消息使其能被其他构件理解,这样一个构件就能在特定的体系结构中适用。
2)Darwin与Wright,Darwin与Wright分别将∏演算和CSP作为其数学基础,适用于分布式并发类型的体系结构描述。
Darwin和其他ADL类似,把构件这个概念作为系统的基本构成元素,在Darwin中,对于构件,主要关心的是它为其他构件提供了哪些服务,他们需要其他构件的哪些服务。
Wright的关键思想是把体系结构连接件定义为明确的语义实体,Wright的主要特点是对体系结构和抽象行为的精确描述。
定义体系结构风格的能力和一组对体系结构描述进行一致性和完善性的检查。
3)ACME是一种体系结构交互语言,支持从一种ADL向另一种ADL规格说明的转换,ACME的核心概念以7种类型的实体为基础:
构件、连接件、系统、端口、角色、表述和表述图,支持系统结构的分级描述,特别是每个构件或连接件都能用一个或多个更详细更低层的描述来表示。
ACME主要考虑的是体系结构的构造,因此并不包含体系结构的计算语义,而依靠一个开放的语义框架。
因此严格来说,ACME并不是一种真正意义上的ADL,而是一种体系结构变换语言,它提供了一种在不同ADL的体系结构规范描述之间实现变换的机制。
ACME从4个不同的方面对软件体系结构进行描述,分别是结构、属性、约束、类型和风格。
4)UniCon是一种围绕着构件和连接件这2个基本概念组织的体系结构描述语言。
UniCon的主要目的在于支持对体系结构的描述,对构件交互模式进行定位和编码,并且对需要不同交互模式的构件的打包加以区分。
具体来说UniCon及其支持工具的主要目的有:
●提供对大量构件和连接件的统一的访问。
●区分不同类型的构件和连接件以便对体系结构配置进行检查。
●支持不同的表示方式和不同的开发人员的分析工具。
●支持对现有构件的使用
5)Aesop是一个软件体系结构设计环境生成器,它的最初目标就是要提供一个用于构造开放的、最初体系结构风格的体系结构设计环境开发工具包。
它的基本思路是:
要使定义新的风格变的容易,从而让设计者能够利用这些风格进行体系结构设计。
每个这样的环境度支持以下5个方面:
●与风格词汇表相对应的一系列设计元素类型,即特定风格的构件和连接件
●检查设计元素的成分,满足风格的配置约束
●优化设计元素的语义描述
●一个允许外部工具进行分析和操作体系结构描述的接口
●多风格特定的体系结构的可视化,以及操作它们的图形编辑工具
6)Rapide是一种基于事件的、用于定义并执行系统体系结构模型的计算机语言,还包括与这个语言相关的模仿工具集,是一种可执行的ADL,其目的在于通过定义并模拟基于事件的行为对分布式并发系统建模。
Rapide由5种子语言构成:
●类型语言,定义接口类型和函数类型,支持通过继承已有的接口来构造新的接口类型
●模式语言,定义具有因果、独立、时序等关系的事件所构成的事物模型
●可执行语言,包含描述构件行为的控制结构
●约束语言,定义构件行为和体系结构所满足的形式化约束,其中约束为需要的或禁止的偏序集模式
Rapide的优点在于能够提供多种分析工具,它所支持的分析都基于检测在某个模拟过程中的事件是否违法了某种次序关系
7)MetaH的目的是支持实时、容错、安全、多处理、嵌入式的软件体系系统的分析、验证和生产。
MetaH提供了集成的、可跟踪的体系结构规格说明、分析和实现,能够进一步保证系统行为与模型一致,降低建模、实现、调试和验证的难度,能通过更精确、快速的设计评估改善系统设计质量。
MetaH语言不仅有文本方式的语法描述,又能以图形方式描述。
8)SADL语言提供了对软件体系结构的精确文本表示,同时保留了直观的框线图模型,明确区分了多种体系结构对象。
SADL不仅提供了定义体系结构的功能,而且能够定义对体系结构的特定类约束。
SADL的一个独特方面是对体系结构层次体系的表示和推理。
SADL模式支持结构改进,即把一个体系结构系统地转化成另一个包含不同体系结构概念的体系结构。
第六章:
17.什么是风险分析?
分析方法有哪些?
风险分析是系统安全性工程中一种系统分析方法。
主要有以下分析方法:
1)失效模式和后果模式分析,是一种非常有用的方法,主要用于预防失效。
2)失效模式、后果与严重度分析,是失效模式和后果分析的一个扩展,应用于考虑每个组件失效的重要性
3)风险和可操作性研究,使用一系列的向导词调查来自系统操作每个阶段正规状况下的后果
4)事件树分析,又称决策树分析,是在给定系统起始事件的情况下,分析此事件可能导致的各种事件的一系列结果,从而定性与定量的评价系统的特性,并帮助人们做出处理或防范的决策
5)失效树分析,又称因果树分析,在产品设计阶段,失效树分析可帮助判明潜在危险的模式和灾难性危险因素,发现系统或装置的薄弱环节,以便改进设计,也可以作为事故发生后的调查手段。
6)改进的风险分析方法,用来确定系统中的组件及可能存在的错误模式。
第七章:
18.什么是设计模式?
模式分类
设计模式是利用面向对象技术来解决特定环境中问题的方法,是整个软件行业不断积累的集体智慧的结晶。
按照其目的可分为3类:
1)创建模式:
Factory(工厂模式)、Prototype(原型模式)、Builder(建造模式)、Singleton(单利模式)和Adapter(适配器模式)
2)结构模式:
Faç
ade(门面模式)、Proxy(代理模式)、Composite(组合模式)、Decorator(装饰模式)、Bridge(桥接模式)和Flyweight(享元模式)
3)行为模式:
Template(模板模式)、Memento(备忘录模式)、Observer(观察者模式)、ChainofResponsibility(反映链)、Command(命令模式)、State(状态模式)、Strategy(策略模式)、Mediator(中介者模式)、Interpreter(解释器模式定义)、Visitor(迭代器模式)
第十章:
19.软件复用定义
软件复用是一种由预先构造好的、为复用目的而设计的软件构件来建立或者组装软件系统的过程
第十一章:
20.构件的特点
1)以二进制形式存在,软件构件一般不再以源代码方式实现复用
2)可与其他独立开发的软件构件协同工作
3)软件构件具有相对独立的功能
4)与程序设计语言无关
5)成为其他软件构件的生成模块
6)存储在构件库中的长久实体
7)有提供和请求服务的插件
8)有良好定义的接口
9)属于某种构件模型
10)有充分的自容性
21.构件的分类
1)根据构件复用的方式,分为黑盒构件和百盒构件。
黑盒构件不需要了解内部结构,能通过接口从外部调用,能达到即插即用的构件,白盒构件是必须经过修改才能复用的构件。
2)根据功能用途,可分为系统构件、支撑构件和领域构件。
系统构件在整个构件集成环境和运行环境中都可以使用的构件,支撑构件是在构件集成环境和构件管理系统中使用的构件,领域顾客是为专门应用领域制作的构件。
3)根据粒度大小可分为基本数据结构类构件、功能构件和子系统构件
4)根据构件复用时的形态,分为动态构件和静态构件,动态构件是运行时刻动态嵌入、链接的构件,静态构件如源代码构件系统分析构件设计构件等。
5)根据构件的外部形态,可分为独立而成熟的构件、有限制的构件、适应性构件、装配的构件和可修改的构件。
6)根据构件的结构,分为原子构件和组合构件
7)根据构件的来源,分为自开发构件和第三方构件
22.3C模型
模型是由Tracz提出的构件描述模型,3C分别代表概念、内容和语境,概念是对构件做什么的描述,内容描述了构件被如何实现,语境将可复用构件放置到其可应用的领域中,也就是说,通过刻画概念的、操作的和实现的特征,让软件开发人员能够搜索到适当的构件以满足应用需求。
第十三章:
23.软件过程管理
软件过程管理是能够在可控制、可预测的前提下,不断优化和提高软件开发的品质和降低成本,保证一个软件高品质和低成本是进行软件过程管理的最终目的。
24.软件规模度量
软件规模度量可分为初步度量和详细度量。
初步度量是在需求分析和详细设计未完成之前,通过对软件功能分析得出结果。
详细度量是在需求分析和详细设计以后所进行的度量,通过参考开发过程中的详细度量结果,可以对根据初步度量做出的计划安排进行调整,以达到更好的资源配置。
软件规模度量的方法有:
FPA方法、MarkⅡMethod方法、特征点方法、3D功能点方法、构造性成本模型和COSMIC-FFP方法。
第十四章:
25.FPA方法
FPA方法是一种将系统分解成更小的单位来度量的方法,这样就更容易理解和分析。
利用FPA来度量一个系统规模的步骤如下:
工程类型判定
↓
确定系统边界和计测范围
计算数据功能点
计算事物功能点
↓
计算调整系数
计算调整后的功能点
确定功能点
数据功能点是为了实现计测对象应用系统的机能所必须的数据的规模衡量。
构成数据功能点的数据种类包括内部逻辑文件(InternalLogicalFileILF)和外部接口文件(ExternalInterfaceFileEIF)。
ILF是一组用户可以确认的在逻辑上有联系的数据,它们属于系统内部,并通过EI(ExternalInput外部输入)来维护。
EIF是一组用户可以确认的在逻辑上有联系的数据,但它只作为参考的目的。
这些数据保存在应用系统边界的外部,通过另一个系统的EI来维护。
对于一个系统的EIF,也是另一个系统的ILF。
数据功能点计算流程如下
数据的抽出
↓
数据种类的识别(ILF/EIF)
RET(记录元素类型)的识别和计数
DET(数据元素类型)的识别和计数
↓
数据复杂性判定
计算出数据功能点
事物功能点(TransactionFunctionPointTFP)是网络实现计测对象应用系统的机能所必须的事物处理的规模的度量,是用户和开发者共同认识的、可以被定义的、不可分割的业务处理的最小单位。
TFP的种类包括外部输入(EI)、外部输出(EO)和外部查询(EQ)。
EI是一个最小的处理过程,它处理的数据是从应用系统边界的外部到内部的数据。
EO是一个最小的处理过程,它将数据从外应用系统边界的内部传递到外部,一个EO可能会更新一个ILF。
EQ是一个最小的处理过程,这个过程中既有输入,也有输出,它将一个或多个的ILF中的数据输出到EIF中。
事物功能点的计算流程如下:
事物的抽出
事物种类的识别
FTR(正式技术评审)的识别和计算
DET(数据元素类型)的识别和计算
计算出事物的功能点
调整系数是基于14个一般系统特性来计算的,根据这些系统的通用特性我们可以估计出系统的常规功能。
这14个一般系统特性是:
数据通信处理特性、分布式数据处理特性、性能要求特性、负荷要求特性、集中处理峰值特性、在线数据输入特性、用户操作效率要求、在线数据更新特性、处理峰值性特性、代码复用性要求、安装简易性要求、操作简易性要求、多站点安装要求、对应机能变更要求
第十八章:
26.性能恢复技术
恢复技术主要分两大类:
向前错误恢复和向后错误恢复。
向前错误恢复是根据系统的故障特征,校正出错的系统状态,使系统进程正确运行下去的的一种恢复技术。
这种技术不需要保存系统出错钱的状态和信息,不需要返回重运行,因此它导致的系统开销小,可避免多米诺效应,但其算法复杂,必须基于对故障特征和性质的全面而深刻的认识,因此恢复的可靠性会受到影响,而且不能采取措施来消除错误或掩盖故障。
向后恢复技术是把出错的系统进程从当前错误状态返回到以前的某一正确状态,然后从这一状态开始继续系统的运行。
这种恢复技术是以事先建立恢复点位基础的,因此实现简单、恢复可靠,但为了保存恢复点内容和完成返回重来的操作,系统的时间、空间开销会很大且容易引起多米诺效应。
27.软件抗衰技术
软件抗衰技术SR就是当计算机系统的性能衰退到一定程度时,终止程序的继续运行,重启系统以清理其内部状态,从而释放操作系统资源,使系统性能得到回复。
28.什么是构件
构件是指语义完整、语法正确和有课复用价值的单位软件,是软件复用过程中可以明确辨识的系统;
结构上,它语义描述、通信接口和实现代码的复合体。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 体系结构 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)