软件体系结构考试知识点

本文由用户“binggogo2”分享发布 更新时间:2021-06-01 23:14:57 举报文档

以下为《软件体系结构考试知识点》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

什么是软件体系结果?软件产品在实现时通常分解成一些较小的模块,这种做法的意义是什么?

一个软件系统的体系结构是指构成这个系统的计算部件(computational components)、部件间的相互作用关系(interactions)。部件间的相互作用关系称为连接(connector)

软件产品在实现时通常分解成一些较小的模块,这种做法的意义是:解决复杂问题的一种有效方法;集体分工协作的前提;产品维护的保障。(详细内容在第一讲里)

/

在C/S结构中,有状态信息服务器和无状态信息服务器相比,哪一种服务器对同时使用的用户有限制?为什么?

有状态信息服务器对同时使用的用户数有限制。因为有状态信息服务器需要设计一个状态信息表,用于登记当前的用户操作请求,当状态信息表填满时,新用户的操作被推迟,意味着同时使用的用户数受限制。(详见第五讲层次结构分析中的二部分)

总结P/F结构风格的缺点(P/F:Pipes and Filters 管道/过滤器,第二讲的第二部分)

通常导致进程成为批处理的结构。这是因为虽然过滤器可增量式地处理数据,但它们是独立的,所以设计者必须将每个过滤器看成一个完整的从输入到输出的转换。

不适合于需要共享大量数据的应用设计。

不适合处理交互的应用。当需要增量地显示改变时,这个问题尤为严重。

过滤器之间通过特定格式的数据进行工作,数据格式的设计和转换是系统设计的主要方面,为了确保过滤器的正确性,必须对数据的句法和语义进行分析,这增加了过滤器设计的复杂性。

并行运行获得高效率往往行不通。原因,第一,独立运行的过滤器之间的数据传送的效率会很低,在网络传送时尤其如此;第二,过滤器通常是在消耗了所有输入后才产生输出;第三,在单处理器的机器上进程的切换代价是很高的;第四,通过管道对过滤器的同步控制可导致频繁启动和停止过滤器工作。

在分布是令牌环互斥算法中,一个进程进入临界区执行需要令牌消息传递的个数是[1,∞],解释这里∞含义。(第四讲第四部分分布式互斥算法)

分布式在令牌环互斥算法中,算法保持一个令牌在环中传递,一个进程只有在得到令牌时才能进入临界区执行,以便实现互斥,技术当前所有进程都没有申请进入临界区运行,令牌也要沿着环不断地传递;因此当一个进程要进入临界区执行时,令牌消息传递的个数是不确定的,可能有任意多次,即∞。

解释RPC透明性的含义,RPC中客户代理(client stub)实现什么主要功能?

含义:RPC透明性的思想使得远程过程调用尽可能象本地调用一样,即调用进程应该不知道被调用过程是在另一台计算机上执行,反过来也是如此,被调用过程也应该不知道是由哪台机器上的进程调用。客户代理(client stub)主要功能:参数整理、查找服务器地址;向服务器发送请求;阻塞等待接收结果,分析结果返回并唤醒client进程。

(RPC文档里的内容)将参数封装成消息,请求内核将消息发送给服务器;调用receive原某某进入阻塞状态;当消息返回到客户时,内核找到客户进程,消息被复制到缓冲区,并且客户进程解除阻塞;客户代理检查消息,从中取出结果,并将结果复制给它的调用进程

RPC中服务器代理(server stub)实现什么主要功能?

调用receive原某某,处于阻塞状态,并等待消息的到来当消息到达后,代理被唤醒;将消息分解,并取出参数;以通常方式调用服务器的过程;调用结束并获得控制后,把结果封装成消息;调用send原某某发送给客户重新调用receive等待下一个消息

简述QDS的思想、作用及目标(第七讲: 三量化设计空间)。

QDS思想是基于设计空间(design space)和质量配置函数(quality function deployment,QFD)。QDS的作用是一种将系统需求转换为可选择的功能和结构设计,量化(quantified)分析各种的可能选择记忆组合。QDS的目标为一个期望的系统(desired system)制作(produce)一个设计模型,也可以用来分析和比对已有的设计,或对XX的设计提出改进建议,作为自动系统设计(automated system design)的基础。

RPC动态联编(Binding)有哪些特点?定期转询的功能是什么?

动态联编的灵活性(flexible);均衡工作量(load balancing):支持多服务器(support multiple servers),把客户均衡地分布于各个服务器上;容错性(fault tolerance):定期转询服务器(poll the server perodically),对无响应的过程unregister,到达一定程度的容错性;支持权限:服务器可以指定由哪些用户使用,这样联编对非授权的用户拒绝接受。动态联编的缺点(disadvantages):花费系统时间:the extra overhead of exporting and importing interfaces costs time.客户进程往往执行时间短,但每次每个进程要重新import to binder;瓶颈(bottleneck):use multiple binders

定期转询功能:定期转询服务器(poll the server perodically),对无响应的过程unregister,到达一定程度的容错性,(客户代理定期轮询,对无响应的过程unregister。)

在C/S结构中,有状态信息服务器和无状态信息服务器相比,哪一种服务器更具有可靠性?w为什么?

无状态信息服务器更具有可靠性:因为无状态信息

总结基于事件隐含激活的结构风格特点(第二讲)。

在一个基于事件的隐含激活系统中,组件不直接调用一个过程,而是触发(announce)或广播(broadcast)一个或多个事件(event)。系统中的组件事先注册(register)它们感兴趣的事件及对应的过程,将来,当一个事件被触发(inovaation),系统自动调用在这个事件中注册的所有过程,这样,一个事件的触发就导致了另一模块中的过程的调用。从体系结构上说,这种隐含激活风格的组件是一些模块,这些模块是一些过程和一些事件的集合。过程可以用通常的方式调用,也可以在系统事件中注册一些过程,当发生这些事件时,过程被隐含调用。

/

第一讲 软件体系结构概述

一、什么是软件体系结构(Software Architecture)

1.软件体系结构是软件工程的一门新兴学科

2.在系统科学中,系统(system)的定义

系统的特性(集合性,相关性, 整体性, 功能性, 环境适应性

系统的体系结构

3.软件体系结构的定义(Mary Shaw, David Garlan)

4.软件设计的层次性(结构级, 代码级, 执行级)

5.体系结构的类别(概略型, 需求型, 设计型)

6.体系结构的重要性(规划, 需求, 设计, 实施, 测评, 维护阶段)

二、模块及其设计

1.什么是模块(定义, 模块的重要性)

2.模块内聚性(module cohesion),含义

内聚性的层次(偶然,逻辑,暂时,过程,通信,信息,功能)

3.模块耦合(module coupling)

耦合的级别(内容,共用,控制,特征 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 esign Space)

第八讲 软件体系结构描述

一、软件体系结构形式化的意义

1.The architecture of a specific system(指定系统的体系结构)

二、软件体系结构描述的方法

1.主程序和子过程

2.数据抽象和面向对象设计

3.Category Theory(类属理论)

三、Z Notation简介

1.什么是形式规范(formal specifications)

2.Z notation的思想

3.Declarations,4. Schema texts,5. Predicates

四、Z-Notation的应用例子- The birthday book

[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]

以上为《软件体系结构考试知识点》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览