《软件体系结构大纲整理版》由会员分享,可在线阅读,更多相关《软件体系结构大纲整理版(8页珍藏版)》请在金锄头文库上搜索。
1、软件体系结构大纲整理版整理:飞鸟执行小组审核:飞鸟鸣鸾1. 一、飞鸟猜想:单项选择软件危机的原因P2(1)用户需求不明确(2)缺乏正确的理论指导(3)软件规模越来越大2. (4)软件复杂度越来越高重用组织框架的主要组成P17(1)构件开发组(2)构件应用组3. (3)协调组正交软件体系结构的特点P77(1)结构清晰,易于理解(2)易修改,可维护性强(3)可移植性强,重用粒度大Web服务用来作为消息定义格式P175Web服务是一个可以用URI(UniversalResourceIdentifier统一资源标识)来标识的软件系统,它采用XML格式的信息来定义和描述对外的公共接口和绑定。4. 软件产
2、品线的概念P284-285软件产品线由核心资源和产品集合组成。软件产品线开发4个基本技术特点:过程驱动、特定领域、技术支持和体系结构为中心。(1)将利用了产品间公共方面、预期考虑了可变性等设计的产品族称为产品线。(2)产品线就是由在系统的组成元素和功能方面具有共性和个性相似的多个系统组成的一个系统族。(3)软件产品线就是在一个公共的软件资源集合基础上建立起来的,共享同一特性集合的系统集合。(4)一个软件产品线由一个产品线体系结构、一个可重用构件集合和一个源自共享资源的产品组成,是组织一组相关软件产品开发的方式。(5)产品线是一个产品集合,这些产品共享一个公共的、可管理的特征集,这个特征集能满足
3、选定的市场或任务领域的特定需求。这些系统是在遵循一个预描述的方式,在公共的核心资源基础上开发的。设计模式的主题P195设计模式,简单地理解,是一些设计面向对象的软件开发的经验总结。一个设计模式事实上是系统地命名、解释和评价某一个重要的可重现的面向对象的设计方案。5. 行为模式包括P2036. 见P203表格静态工厂的核心角色P?7. 抽象产品构件模型三个流派P4(注:构建模型没找到。CORBA(通用对象请求代理结构)、EJB、DCOM(分布式构件对象模型)集成测试P255集成测试的主要任务是测试构件之间的接口以保证构件能够交互,它将对象本身抽象为单元,并关注于构件间的消息传递,构件的交互行为可
4、以通过形式化规约得到因此这种测试可提前进行。8. 软件危机表现P1(1)软件成本日益增长(2)开发进度难以控制(3)软件质量差9. (4)软件维护困难软件体系结构的核心模型最基本的元素P37构件、连接件、配置(组成元素:构件、连接件、配置、端口和角色)设计模式一般用来解决什么样的问题P?10. 同一问题的不同表相设计模式的两大主题P?16. 系统复用和系统扩展15.SEI产品线的基本活动组成部分P286核心资源开发(即领域工程)、产品开发(即应用工程)和管理并行/管道一过滤器结构风格应用于当前环境中有多个构件同时运行的情况。P245并行管道过滤器结构风格中,多个构件可以同时执行。并行/管道过滤
5、器结构风格通常发生在单处理器多进程环境中。评估方法质量属性中可修改性P259可维护性、可扩展性、结构重组、可移植性18传统软件测试和基于体系结构测试的内容包括P254测试内容、测试准则、测试用例、测试充分性及测试方法等问题。1. 二、飞鸟猜想:判断题构件P4,37,41(1)构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统。结构上,它是语义描述、通信接口和实现代码的复合体。(2)构件是具有一定的功能,能够独立工作或同其它构件装配起来协调工作的程序体。构件的使用同它的开发、生产无关。(3)构件是具有某种功能的可重用的软件模板单元,表现了系统中主要的计算元素和
6、数据存储。包括复合构件和原子构件。需求语言与ADL的区别P106ADL:ArchitectureDescriptionLanguage,软件体系结构描述语言,其基本元素包括:构件、连接件、体系结构配置,是一种形式化语言。ADL与需求语言的区别在于后者描述的是问题空间,而前者则扎根于解空间中。ADL与建模语言的区别在后者对整体行为的关注要大于对部分的关注,而ADL集中在构件的表示上。2. 基于构件的动态系统结构模型包括P1553. 应用层、中间层和体系结构层体系结构级评估作用P258(1)为软件系统选用恰当的体系结构(2)确保按照所选用的体系结构能够顺利地开发出成功的软件产品。评估方法质量属性包
7、括内容,每一项具体内容P258-262(1)性能指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理的事件个数。(2)可靠性是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力。分为容错和健壮性。由平均失效等待时间(MTTF)和平均失效间隔时间(MTBF)来衡量。(3)可用性是系统能够正常运行的时间比例。(4)安全性指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。(5)可修改性指能够快速地以较高的性能价格比对系统进行变更的能力。包括:可维护性、可扩展性、结构重组、可移植性。(6)功能性是系统所能
8、完成所期望的工作的能力。(7)可变性(8)是指体系结构经扩充或变更而成为新体系结构的能力。(9)集成性是指系统能与其他系统协作的程度。(10)互操作性作为系统组成部分的软件不是独立存在的,经常与其他系统或自身环境相互作用。4. WSDL特点P182WSDL,WebServicesDescriptionLanguage,服务描述语言。WSDL是可扩展的,使得在通信时无论使用何种消息格式或网络协议,都可以对端点及其消息进行描述。WSDL是一种XML格式,用于将网络服务描述为一组端点,这些端点对包含面向文档或面向过程的消息进行操作。这种格式首先对操作和消息进行抽象描述,然后将其绑定到具体的网络协议和
9、消息格式上以定义端点。相关的具体端点即组合成为抽象端点(服务)。5. 图形表达工具与软件体系结构描述P103对于软件体系结构的描述和表达,一种简洁易懂且使用广泛的方法是采用由矩形框和有向线段组合而成的图形表达工具。矩形框代表抽象构件,框内标注的文字为抽象构件的名称,有向线段代表辅助各种构件进行通信、控制或关联的连接件。&模式目标中的模式描述P196一个软件体系结构的模式描述了一个出现在特定设计语境中的特殊的再现设计问题,并为它的解决方案提供了一个经过充分验证的通用图示。9. 设计模式作用P194(1)避免重复设计,至少将之减少到最低水平。(2)当找到一个好的解决方案时,可以一次又一次地使用它。
10、10. 软件重用P4是指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程。软件重用的作用P4(1)减少软件开发活动中大量的重复性工作,从而提高软件生产率,降低开发成本,缩短开发周期。(2)有助于改善软件质量(3)软件的灵活性和标准化程度得到提高。11. 软件体系结构概念和作用P19-20定义:(1)软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。(2)软件体系结构是软件设计过程中的一个层次,这一层次超越计算过程的算法设计和数据结构设计。(3)软件体系结构是一个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接、接口和关系
11、。(4)软件体系结构是一个程序/系统各构件的结构、他们之间的相互关系以及进行设计的原则和随时间演化的指导方针。(5)软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。作用:(1)指定了系统的组织结构和拓扑结构。(2)显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。并发视图作用P205,211并发视图:P205,211使用并发视图来检查系统多用户的并发行为。使用“并发”来代替“进程”,是为了强调没有对进程或线程进行任何操作,一旦执行这些操作,则并发视图就演化为进程视图。开发
12、视图:P33也称模块视图,主要侧重于软件模块的组织和管理。通过系统输入输出关系的模型图和子系统图来描述。可以在确定了软件包含的所有元素之后描述完整的开发角度,也可以在确定每个元素之前,列出开发视图原则。体系结构核心模型基本元素P37构件、连接件、配置、端口和角色。(最基本的元素:构件、连接件、配置)ADL定义与特点P106定义:ADL是这样一种形式化语言,它在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架。基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持。其基本元素包括:构件、连接件、体系结构配置。特点:精确性、严格性、还具有构造、抽象、重用
13、、组合、异构和分析推理等多种能力和特性。12. ABSD作用P203-204ABSD,Architecture-BasedSoftwareDesign,基于体系结构的软件设计。披荆斩棘,勇夺七色彩虹!(1)可以为有效地设计一个软件体系结构提供一个关注创造性过程、为处理非确定软件需求提供策略、在设计过程中为组织做出设计决策提供指导的方法。(2)为产生软件系统的概念体系结构提供基础。13. 可靠性与哪些因素有关P258可靠性是指软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力。分为容错和健壮性。由平均失效等待时间(MTTF)和平均失效间隔时间(MTBF)来衡量
14、。1. 三、飞鸟猜想:填空题软件体系结构5种模型P31结构模型、框架模型、动态模型、过程模型和功能模型。2. 软件体系结构描述方法P103-P105(1)图形表达工具(2)模块内连接语言(3)基于软构件的系统描述语言3. (4)软件体系结构描述语言SAAM评估方法P273-276SAAM方法是最早形成文档并得到广泛使用的软件体系结构分析方法,用来分析体系结构的可修改性,也可用于对许多质量属性(如可移植性、可扩充性、可集成性等)及系统功能进行快速评估。(1)形成场景(2)描述体系结构(3)对场景进行分类和确定优先级(4)对间接场景的单个评估(5)评估场景的相互作用4. (6)形成总体评估动态体系
15、结构研究内容P154,153,165(1)一方面研究模拟和描述体系结构动态更新的语言。(2)另一方面是研究支持体系结构动态更新的执行工具。5. 领域工程阶段主要任务P285(1)领域分析(2)领域设计6. (3)领域实现完整的Web服务包括哪些逻辑构件P176(1)服务提供(2)服务代理(3)服务请求消息总线对消息过滤的方式P80转换和阻塞&软件工程包括基本要素有哪些P3方法、工具和过程。四、飞鸟猜想:名词解释1.SOAP186SOA是一种粗粒度、松耦合的服务体系结构,其服务之间通过简单、精确定义接口进行通信,不涉及底层编程接口和通信模型。这种模型特征:松散耦合、粗粒度服披荆斩棘,勇夺七色彩虹!务、标准化接口。2. MVCP195MVC即模型视图控制器(Model-View-Controller),在开发人机界面软件时考虑的一种交互界面的结构组织模型。3. 构件P4,37,41是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通信接口和实现代码的复合体。构件是具有某种功能的可重用的软件模版单元,表示了系统中主要的计算元素和数据存储。构件是一个数据单元或一个计算单元,它由构件的对象的集合、属性的集合、动作的集合和端口的集合组成。4. 软件体系结构P4