《软件体系结构》复习总结
-
-
- 填空题
- 英文缩写
- 定义
- 判断题
- 简答题
-
- 1.软件危机四个表现,四个原因,如何克服软件危机li>
- 2.解释软件工程的三要素。
- 3.研究软件体系结构的意义:
- 4.软件体系结构的发展史:
- 5.“4+1”视图:对应用户li>
- 6.软件体系结构的生命周期:
- 7.软件体系结构风格的四要素:
- 8.经典的软件体系结构风格的分类:
- 9.C/S风格,三层C/S风格,B/S风格; 每种风格的优点、缺点和应用场合。
-
- 请简述三层?C/S?结构的优点
- 9.1 分层模式的优缺点。
- 9.2 C/S系统中客户端应用程序有哪些主要任务li>
- 9.3 与C/S体系结构相比,B/S体系结构也有许多不足之处,请简述。
- 10.公共对象请求代理体系结构:ORB 对象请求代理,功能是什么li>
- 11.ADL和其他语言的比较
- 12.体系结构的动态性体现在哪三个方面li>
- 13.软件体系结构更新的步骤li>
- 14.局部更新和全局更新的步骤(P180-182)li>
-
- 局部更新步骤
- 全局更新步骤
- 15.SOA设计原则:五个原则
- 16.SOA的关键技术:SOA服务栈的五个层,及其主要技术。
- 17.SOAP包含了哪几个部分,请简要描述各个部分li>
-
填空题
1.1968年,在原西德加密施(Garmish)召开的国际软件工程会议,**第一次**提出了软件工程的概念。
2.如何克服软件危机:用现代工程的**概念、原理、技术、方法**进行计算机软件的开发、管理和维护。
3.软件工程的三要素:**方法、工具**和==过程==。
4.软件元素包括:**程序代码、测试用例、设计文档、设计过程、需求分析文档**甚至==领域知识==。
5.构件模型的三个主要流派:OMG组织的**CORBA、Sun公司发布的EJB、Microsoft的DCOM**。
6.青鸟构件模型包括:外部接口和内部结构。—北大==杨芙清==院士提出的。
7.构件获取的方式:四个方面:1、购买;2、开发;3、遗留系统;4、现有构件库获取。
8.构件的分类方法:1、关键字分类法;2、刻面分类法;3、超文本组织方法 【知识图谱】。
9.构件的组装方式:1、基于功能的组装;2、基于数据的组装;3、面向对象的组装。
10.软件体系结构的模型包括:结构模型、框架模型、动态模型、过程模型和功能模型。
11.软件体系结构的核心模型包括:五种元素**:构件、连接件、配置、端口和角色。**
12.黑板系统由**:知识源、黑板数据结构**和==控制==组成。
13.正交软件体系结构:组织层、线索的构件。需要分层,层与层之间使用(线索)连接,最底层一般为(数据库层)。
14.可以从4个视点出发描述体系结构,即:需求视点、设计视点、实现视点、测试视点。
15.7个软件体系结构视图:用例视图、域视图、非功能需求视图、逻辑视图、实现视图、过程视图、部署视图。
16.软件体系结构描述语言三个基本元素:构件、连接件和体系结构配置。
17.UML的组成:构造块、公共机制和规则。
18.UML的系统视图:五个部分:逻辑视图、进程视图、实现视图、部署视图和用例视图。
19.UML中的事物包括:结构事物、行为事物、分组事物和注释事物。
20.结构事物包括:类、接口、协作、用例、活动类、构件、节点。
21.基于构件的动态系统结构模型包括:应用层、中间层和体系结构层。
22.动态体系结构的特征包括:可构造性、适应性、智能性。
23.SOA的特征:1、松散耦合;2、粗粒度服务;3、标准化接口。
24.SOA的三个主要抽象级别:操作、服务和业务流程。
25.SOA实现的方法:Web Service、企业服务总线和服务注册表。
26.UDDI技术规范包括:UDDI数据模型、UDDI API和UDDI注册服务。
27.Web 服务是采用(XML)格式的信息来定义和描述对外的公共接口和绑定。
28.软件体系结构的生命周期模型主要分为需求分析阶段、建立软件体系结构阶段、(设计阶段)和实现阶段。
29.对象管理组织基于CORBA基础设施定义了四种构件标准。其中,(会话构件)的状态信息是由构件自身而不是容器维护。
30.Unix Shell程序的编写采用了软件体系结构风格中的管道-过滤器风格。
英文缩写
1.基于层次消息总线的体系结构风格 HMB :Hierarchy Message Bus.
2.互联系统构成的系统及其体系结构:SIS System of Interconnected System.
3.特定领域的软件体系结构DSSA: Domain Specific Software Architecture.
4.软件体系结构描述语言ADL Architecture Description Language.
5.基于xml的构架描述语言XBA:XML Based Architecture Description Language.
6.基于构件的动态系统结构模型CBDSAM: Component Based Dynamic system Architecture model.
7.基于服务的体系结构SOA: Service Oriented Architecture.
定义
1.软件危机:落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。
2.软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程。
3.软件体系结构是具有一定形式的结构化元素的集合,即:构件的集合,包括:处理构件、数据构件和连接构件。
4.软件体系结构风格是描述某一特征应用邻域中系统组织方式的惯用模式。
5.软件体系结构的动态性:软件系统在运行时刻的体系结构变动。
6.基于服务的体系结构的定义:三种定义;
(1) W3C的定义: SOA是一种应用程序体系结构,在这种体系结构中,所有功能都定义为独立的服务,这些服务带有定义明确的可调用接口,能够以定义好的顺序调用这此服务来形成业务流程。
(2) Servicearchitecture. com 的定义:服务是精确定义、封装完整、独立于其他服务所处环境和状态的雨数。 SOA本质上是服务的集合,服务之间彼此通信,这种通信可能是简单的数据传送,也可能是两个或更多的服务协调进行某些活动。服务之间需要某些方法进行连接。
(3) Gartner 的定义: SOA是一种C/S体系结构的软件设计方法,应用由服务和服务使用者组成.SOA与大多数通用的C/S体系结构模型的不同之处,在于它着重强调构件的松散耦合,并使用独立的标准接口。
判断题
1.软件重用长期以来一直是软件工程界不断追求的目标。(√)
2.可重用技术对构件库组织方法要求不仅要支持精确匹配,还要支持相似构件的查找。(√)
3.常见构件模型有OMG的CORBA,Microsoft的EJB,Sun的DCOM。(×)
4.开发视图主要支持系统的功能需求,即系统提供给最终用户的服务。(×)
5.开发视图主要侧重如何把软件映射到硬件上,它通常要考虑到系统性能、规模、可靠性等。 (×)
6.软件体系结构是具有一定形式的结构化元素的集合 (√)
7.软件体系结构的建立应位于软件设计之后,软件实现之前。(×)
8.单个过滤器只能从一个端口使用数据或向其生成数据。(×)
9.层次系统组织成一个层次结构,每一层为上层服务,并作为下层客户。(√)
10.与基于C/S架构的信息系统相比,基于B/S架构的信息系统具备更强的事务处理能力,易于实现复杂的业务流程。(×)
11.采用C/S体系结构的应用系统,在数据查询等响应速度上,要远远地低于B/S体系结构(×)
12.功能性和质量属性是正交的(√)
13.架构设计必须按照需求分析进行,但不需要在需求分析完成后再开始设计架构(√)
简答题
1.软件危机四个表现,四个原因,如何克服软件危机h4>
软件危机的表现:1、软件成本日益增长;2、开发进度难以控制;3、软件质量差;4、软件维护困难。
原因:1、用户需求不明确;2、缺乏正确的理论指导;3、软件规模越来越大;4、软件复杂度越来越高。
如何克服软件危机:用现代工程的概念、原理、技术、方法进行计算机软件的开发、管理和维护。
2.解释软件工程的三要素。
方法:解决如何做的问题;
工具:借助什么开发工具,VS Eclipse;
过程:将软件工程的方法和工具综合起来以达到合理,及时地进行计算机软件开发的目的。
3.研究软件体系结构的意义:
1、体系结构是风险承担者进行交流的手段;
2、体系结构是早期设计决策的体现;
3、软件体系结构是可传递和可重用的模型。
4.软件体系结构的发展史:
1、无体系结构设计阶段;2、萌芽阶段;3、初期阶段;4、高级阶段
5.“4+1”视图:对应用户h4>
逻辑视图-最终用户:功能需求
开发视图-编程人员:软件管理
进程视图-系统集成人员:性能可扩充性、吞吐量等
物理视图-系统工程人员:系统拓扑、安装和通信等
场景视图-用例视图 用一个故事描述来把所有的视图关联起来
6.软件体系结构的生命周期:
1、软件体系结构的非形式化描述;
2、软件体系结构的规范描述和分析;
3、软件体系结构的求精及其验证;
4、软件体系结构的实施;
5、软件体系结构的演化和扩展;
6、软件体系结构的提供、评价和度量;
7、软件体系结构的终结
7.软件体系结构风格的四要素:
1、词汇表;
2、定义一套配置规则;
3、定义一套语义解释原则;
4、定义对基于这种风格的系统所进行的分析。
8.经典的软件体系结构风格的分类:
1.数据流风格:批处理序列、管道与过滤器;
2.调用/返回风格:主程序与子程序、面向对象风格、层次结构;
3.独立构件风格:进程通讯、事件系统;
4.虚拟机风格:解释器、基于规则的系统;
5.仓库风格:数据库系统、超文本系统、黑板系统。
9.C/S风格,三层C/S风格,B/S风格; 每种风格的优点、缺点和应用场合。
请简述三层?C/S?结构的优点
1.允许合理的划分三层结构的功能,使之在逻辑上保持相对独立性,从而使整个系?统的逻辑结构更为合理清晰,能提高系统和软件的可维护性和可扩展性。
2.允许更灵活的选用相应的平台和硬件系统使之在处理负荷能力上与处理特性上分?别适应于结构清晰的三层,并且具有可升级性和开放性
3.可并行开发,各层可选择各自最适合语言使之高效开发,从而达到较高的性价比
4.允许利用功能层有效的隔离开表示层和数据层,?未授权的用户难以通过如黑客手段访问数据层,同时也更加合理和有效的控制
9.1 分层模式的优缺点。
优点:
把复杂的问题分解为多个组件;
提高可扩展性和可复用性;
缺点:
层的增加会带来系统的成本和复杂度的增加;
给性能带来负面影响;
设计不好的层会妨碍到抽象;
过多的层间关系不利于可移植性和可修改性;
9.2 C/S系统中客户端应用程序有哪些主要任务h5>
1.提供用户与数据库的交互界面;
2.向数据库服务器提交用户请求并接受来自数据库服务器的信息;
3.利用客户端应用程序对存在于客户端的数据执行应用逻辑要求。
9.3 与C/S体系结构相比,B/S体系结构也有许多不足之处,请简述。
答:B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。
B/S体系结构的系统扩展能力差,安全性难以控制。
采用B/S体系结构的应用系统,在数据查询等相应速度上,要远远低于C/S体系结构。
B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理应用。
10.公共对象请求代理体系结构:ORB 对象请求代理,功能是什么h4>
功能: ORB 是一个关键的通信机制,它以实现互操作性为主要目标,处理对象之间消息分布。对象服务实现基本的对象创建和管理功能, 通用服务则使用对象管理结构所规定的类接口实现一些通用功能。
11.ADL和其他语言的比较
1.构造能力指的是 ADL 能够使用较小的独立体系结构元素来建造大型软件系统;
2.抽象能力指的是 ADL 使得软件体系结构中的构件和连接件描述可以只关注它们的抽象特性,而不管其具体的
实现细节;
3==.重用==能力指的是 ADL 使得组成软件系统的构件、连接件甚至是软件体系结构都成为软件系统开发和设计的可
重用部件;
4.组合能力指的是 ADL 使得其描述的每一系统元素都有其自己的局部结构,这种描述局部结构的特点使得 ADL支持软件系统的动态变化组合;
5.异构能力指的是 ADL 允许多个不同的体系结构描述关联存在;
6.分析和推理能力指的是 ADL 允许对其描述的体系结构进行多种不同的性能和功能上的多种推理分析。
12.体系结构的动态性体现在哪三个方面h4>
1.交互式动态性;2.结构化动态性;3.体系结构动态性
13.软件体系结构更新的步骤h4>
1.检测更新的范围;2.更新准备工作;3.执行更新;4.存储更新
14.局部更新和全局更新的步骤(P180-182)h4>
局部更新步骤
1.更新发起者发出一个更新请求,这个请求被送到构件 A 的配置器中,构件配置器将分析更新的类型,从而判断他是对象的局部更新
2.由于更新为局部更新,构件 A的配置器发出一个信 给连接件以隔离构件 A 的通信,准备执行更新
3.构件 A 的配置器开始执行更新
4.更新执行完毕后,构件 A 的构建描述被更新, 并且构建 A 发送一个消息给连接件 B,两者间的连接被重新存储起来
5.将更新结果返回给更新发起者
全局更新步骤
1.Server 构件配置器接收到更新发起者提出的更新请求后,向体系结构配置器提出更新请求
2.体系结构配置器对更新请求的类型进行分析,判断是否在更新请求限制(属于全局更新还是局部更新)范围内,不在更新范围内的更新不予执行;如果在更新限制范围内,体系结构配置器对更新所涉及的连接件和构件发出消息,要求它们做好更新准备工作
3.准备工作完成后, Client 构件配置器和连接件向体系结构配置器返回就绪信息
4.一切准备就绪后,体系结构配置器通知Server 构件进行更新
5.更新执行完毕后,向 Server 构件配置器、体系结构配置器和更新发起者通知更新执行完毕并返回更新结果;同时,体系结构配置器通知 Client 构件和连接件更新结束,可继续正常运行
15.SOA设计原则:五个原则
1.明确定义的接口 。
2.自包含和模块化。
3.粗粒度 。
4.松耦合。
5.互操作性、兼容和策略声明 。
16.SOA的关键技术:SOA服务栈的五个层,及其主要技术。
服务栈 | 主要技术 |
---|---|
发现服务层 | UDDI、DISCO |
描述服务层 | WSDL、XML Schema |
消息格式层 | SOAP、REST |
编码格式层 | XML |
传输协议层 | HTTP、TCP/IP、SMTP等 |
17.SOAP包含了哪几个部分,请简要描述各个部分h4>
SOAP基于XML语言和XSD标准,其定义了一套编码规则,该规则定义如何将数据表示为消息,以及怎样通过HTTP协议来传输SOAP消息,它由以下四部分组成:
SOAP信封(Envelope):定义了一个框架,该框架描述了消息中的内容是什么,包括消息的内容、发送者、接收者、处理者以及如何处理这些消息。
SOAP编码规则:它定义了一种系列化机制,用于交换应用程序所定义的数据类型的实例。
SOAP RPC表示:它定义了用于表示远程过程调用和应答协定。
SOAP绑定:它定义了一种使用底层传输协议来完成在节点间交换SOAP信封的约定。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!