第一部分——零散知识点(加粗部分为关键字)1、软件体系结构是一门新兴学科,它源于软件工程。
(建议查找了解“软件体系结构”和“软件工程”的具体的联系和区别)2、软件体系结构它关注的是软件大粒度的重用、质量和维护3、在“基于消息传递”的通信中,连接器是采用可靠的通信。
而“可靠”是指“发送进程发出的消息,接受进程一定能收到”4、模块设计原则——高内聚,低耦合5、“通信协议”不属于软件体系结构(SA)中“构件”的范畴。
换言之,SA中的“构件”12、“基于规则系统”的软件体系结构风格为:13、JDBC是体系结构中“连接件”的实现,有关此连接件的规约是SQL语言14、每个系统可以不容易的划分层次的模式。
(换句话说,要层次化地划分和设计一个系统也许会十分困难),也可以说,每个系统都可以划分层次,但是层次的划分比较难15、“管道和过滤器风格”不适合处理交互类型的应用。
*建议:此知识点考点较多,选择,判断,简答题均有涉及,可以多花时间重点看下PPT。
以此类推:了解各个体系结构的风格、特点、结构图。
16、“面相对象”的体系结构风格中的“构件”是“对象”17、SA(软件体系结构)= 构件+ 连接件+ 拓扑结构+ 约束+ 质量18、过程控制软件系统,一般使用“数据流”风格(管道-过滤器)的软件体系结构。
无图无真相:通过房间温度的数据来控制暖气的供输。
19、软件系统的非功能需求就是指:有关能够以用户要求的性能标准,合理、高效地实现各类功能性需求的需求20、结构化设计属于面向数据流的设计方法21、耦合是一个软件体系结构(SA)内各模块互连程度的度量22、软件体系结构(SA)中定义的“连接件”是指:机制和协议23、层次风格的体系结构也是调用/返回的一种特例24、基于过程(方法)的调用机制一般是同步的。
25、基于消息的调用机制一般是异步的。
26、中间件一般是解决软件基础设施的复杂性的一种工具。
27、DSSA就是在一个特定的应用领域中为一组组织结构参考的标准软件体系机构。
28、随着软件工程开发方法的进步,体系结构中的粒度越来越粗(细?这个我突然搞不清楚了,有待确认)。
29、共享内存是体系机构中的一种连接方法(连接件)30、使用管道-过滤器风格的软件能够得到一个很好的高内聚、低耦合的系统。
31、SOA是一种特殊的SA。
面向服务的体系结构(Service-Oriented Architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。
第二部分-简答题+答题32、简述SA定义。
PPT上内容:软件体系结构(SA):提供了一个结构、行为和属性的高级抽象从一个较高的层次来考虑组成系统的构件、构件之间的连接,以及由构件与构件交互形成的拓扑结构这些要素应该满足一定的限制,遵循一定的设计规则,能够在一定的环境下进行演化。
反映系统开发中具有重要影响的设计决策,便于各种人员的交流,反映多种关注,据此开发的系统能完成系统既定的功能和性能需求。
体系结构= 构件+ 连接件+ 拓扑结构+ 约束+ 质量Architecture = Components + Connectors + Topology + Constraints + Performance33、列举五种符合SA定义的构件对象:属于调用/返回风格中的面向对象风格。
模块;组件;Severlet;控件;子系统;EJB;函数:(注意稍微解释:属于哪个软件体系结构风格,此构件具有什么作用?(能说多少是多少)) (注:列举连接件:注册表、文件、动态链接、RMI、共享内存、JDBC、TCP/IP)34、列举五种体系结构风格面向对象:调用返回:隐式事件调用:管道过滤器:基于规则模型系统:(要简要描述:模板如下:构件是……连接件是……拓扑结构是……优点是……缺点是……)35、简述SA中的“4+1”视图模型的具体内容参照书上P31 图2-1逻辑视图(Logical View),设计的对象模型(使用面向对象的设计方法时)。
主要支持系统的功能需求,系统提供给最终用户的服务。
进程视图(Process View),捕捉设计的并发和同步特征。
侧重于系统的运行特性,主要关注一些非功能性需求。
物理视图(Physical View),描述了软件到硬件的映射,反映了分布式特性。
主要考虑如何把软件映射到硬件上,考虑系统性能、规模、可靠性。
开发视图(Development View),也称模块视图,描述了在开发环境中软件的静态组织结构。
侧重于软件模块的组织和管理。
架构的描述,即所做的各种决定,可以围绕着这四个视图来组织,然后由一些用例(use cases)或场景(scenarios)来说明,使四个视图有机联系起来,从而形成了第五个视图,场景视图是最重要的需求抽象。
36、比较以下体系结构风格的特点:(1)管道-过滤器风格(2)隐式事件调用(3)基于规则的系统37、比较以下体系结构风格的特点:(1)层次结构(2)隐式事件调用38、题干略(当时没抄)(1)请说明任意一种软件体系结构风格分类,并就其中软件体系结构风格的构件、连接件类型和组合约束要求等结构特征、及其应用特点。
这个果断照抄PPT,各种PPT啊,童鞋们看起那个风格就抄哪个……(2)具体阐述你参与管理或开发的项目中在体系结构设计时选择使用软件体系结构风格的情况,包括选择的依据,(还有几个要求,抄掉球了哈)这个也好解决,就拿以前整过的东西瞎扯……反正体系结构的优点都有……不会要求得满分吧?反正我不想……39、题干略(也没抄)关于DSSA书Page89(1)说明领域软件体系结构(DSSA)的含义,并就其中领域软件体系结构必备特征、范围和基本活动等结构特征及其应用特点。
DSSA含义:(2选一)1)来自Hayes-Roth:DSSA就是专用于一类特定类型的任务(领域)的,在整个领域中能有效地使用的、为成功构造应用系统限定了标准的组合结构的软件构件的集合2)来自Tracz:DSSA就是一个特定的问题领域中支持一组应用的领域模型、参考需求、参考体系结构等组成的开发基础,其目标就是支持在一个特定领域中多个应用的生成。
DSSA的必备特征:1)一个严格定义的问题域和/或解决域2)具有普遍性,使其可以用于领域中某个特定应用的开发3)对整个领域的合适程度的抽象4)具备该领域固定的、典型的在开发过程中课重用元素。
DSSA的范围:从功能覆盖的范围角度有两种理解DSSA中领域范围的划分:1)垂直域定义了一个特定的系统族,包含整个系统族内多个系统,其结果是在该领域中可作为系统的可行解决方案的一个通用软件体系结构。
2)水平域定义了在多个系统和多个系统族中功能区域的共有部分,在子系统级上涵盖多个系统族的特定功能部分,无法为系统提供完整的通用体系结构。
DSSA的基本活动:1)领域分析主要目标是获取领域模型,它描述领域中系统之间的共同的需求。
细节活动有:定义领域边界、识别信息源2)领域设计目标是获得DSSA,它描述在领域模型中表示的需求的解决方案,非但系统表示,而是适应领域中多系统的一个高层次设计。
细节活动:以领域模型为基础派生出被建模的DSSA3)领域实现主要目标是依据领域模型和DSSA 开发和组织可重用信息。
细节活动:反复地、逐渐求精地开发和组织重用信息。
DSSA的应用特点:以问题域为出发点的DSSA与以解决域为出发点的软件体系结构有不同的应用特点:1)DSSA只对特定领域进行设计、建模、开发,但可以同时使用多种体系结构风格,也可以将使用的某一个体系结构风格中的公共结构和设计扩展到多个应用领域。
2)DSSA 学习吸收一个或多个与特定领域相关的体系结构风格来设计一个本领域专用的体系结构分析设计工具,该工具只适用于本领域中。
并且两个不同DSSA特定领域之间是不可重用的,工具开发成本很高3)对于普遍体系结构而言,对特定领域的专家知识和经验的忽略,使其在具体的应用开发中所起的作用并不比DSSA大。
4)DSSA和体系结构风格是互为补充的两种技术。
(2)具体阐述你参与管理或开发的项目中在领域体系结构中设计的情况包括选择的依据以及最终实现效果。
见书Page 94 3.11.5(建议将此节通读,可以解决本问题)软件体系结构PPT课件知识点汇总:帮助大家整理思路的,具体内容就不在完善了。
毕竟上面的才是考试核心。
通用体系结构风格的分类数据流风格:批处理序列、管道/过滤器风格过程控制风格:开环,闭环调用/返回风格:主程序/子程序、面向对象风格、层次结构独立构件风格:进程通信、事件系统虚拟机风格:解释器,基于规则的系统仓库风格:数据库系统、黑板系统分类描述复习:建议根据所提的问题去复习知识点。
一、数据流风格Pipes and Filters(1)什么是管道-过滤器风格?(2)过滤器组件的类型有哪些?(3)管道-过滤器风格的构件和连接件是什么?(4)这种风格的特点是什么?优缺点各是什么?批处理风格特点是什么?和管道-过滤器风格的比较二、过程控制风格什么是开环控制和闭环控制?三、调用/返回风格分层风格一般适用于什么样的问题?它的解决方案?它的优点,缺点是什么?分层风格具体的实例可以是什么?面相对象:⏹构件:对象⏹连接件:消息⏹优点⏹缺点四、独立构件风格五、虚拟机风格解释器:⏹什么是解释器风格⏹组件构成⏹连接件⏹该风格的优点和缺点⏹该风格适用于什么情况六、仓库风格数据仓库和黑板模型两种类型的构件:一个中央数据单元,(系统当前的各种状态)相对独立的组件的集合,这些组件对中央数据单元进行操作连接件:控制根据控制策略的不同,分为:数据库(知识库):系统由输入数据流中的事务信息来驱动,即输入数据流中的事务指令可以触发系统相应进程的执行,黑板:如果系统由中央数据结构的当前状态来驱动,则黑板模型。
黑版风格⏹Component:⏹中央数据单元⏹知识源⏹控制单元系统的质量属性⏹可用性⏹可修改性⏹性能⏹安全性⏹可测试性⏹易用性。