1、试对管道-过滤器风格、事件驱动风格、分层系统、c2风格进行分析比较。
管道-过滤器风格:由管道(称为连接件)和过滤器(称为构件)组成,每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。这种风格的连接件就像是数据流传输的管道,将一个过滤器的输出传到另一过滤器的输入。
事件驱动风格:这种风格的构件是一些模块,模块既可以是一些过程,又可以是一些事件的集合。过程可以用通用的方式调用,也可以在系统事件中注册一些过程,当发生这些事件时,过程被调用。
构件不直接调用一个过程,而是触发或广播一个或多个事件。系统中的其它构件中的过程在一个或多个事件中注册,当一个事件被触发,系统自动调用在这个事件中注册的所有过程,这样,一个事件的触发就导致了另一模块中的过程的调用。
分层系统:将系统组织成一个层次结构,每一层为上层服务,并作为下层客户。 这种风格支持基于可增加抽象层的设计。
由于每一层最多只影响两层,同时只要给相邻层提供相同的接口,允许每层用不同的方法实现,同样为软件重用提供了强大的支持。
c2风格:通过连接件绑定在一起的按照一组规则运作的并行构件网络。系统中的构件可实现应用需求,并能将任意复杂度的功能封装在一起;所有构件之间的通讯是通过以连接件为中介的异步消息交换机制来实现的。
2、层次系统结构和基于层次消息总线的系统结构有什么区别?
在层次系统结构中,每一层为上层提供服务,并作为下层的客户。在一些层次系统中,除了一些精心挑选的输出函数外,内部的层只对相邻的层可见。
在基于层次消息总线的体系结构中,通过系统消息总线或局部消息总线将各个构件连接在一起,各构件之间通过消息总线进行通信。消息总线是系统的连接件,负责消息的分派、传递和过滤以及处理结果的返回。
3、试分析和比较二层c/s、三层c/s以及b/s体系结构,指出各自的优点和缺点。
二层c/s:
优点: c/s 体系结构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。
系统的客户应用程序和服务器构件分别运行在不同的计算机上,系统中每台服务器都可以适合各构件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小。
在c/s体系结构中,系统中的功能构件充分隔离,客户应用程序的开发集中于数据的显示和分析,而数据库服务器的开发则集中于数据的管理,不必在每一个新的应用程序中都要对一个dbms进行编码。
缺点: 开发及升级成本较高。对客户端软硬件的配置要求较高,尤其是软件不断升级,对硬件要求不断提高,增加了整个系统的成本。
客户端程序设计复杂;
信息内容和形式单一。界面基本遵循数据库的字段解释。
用户界面风格不一,使用繁杂,不利于推广使用。
软件移植困难;
软件维护和升级困难;
新技术不能轻易应用。软件平台和开发工具一旦选定,不可能轻易更改。
三层c/s:
优点: 允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,能提高系统和软件的可维护性和可扩展性。
允许更灵活有效地选用相应的平台和硬件系统,使之在处理负荷能力上与处理特性上分别适应于结构清晰的三层;并且这些平台和各个组成部分可以具有良好的可升级性和开放性。
应用的各层可以并行开发,可以选择各自最适合的开发语言。
利用功能层有效地隔离开表示层与数据层,未授权的用户难以绕过功能层而利用数据库工具或黑客手段去非法地访问数据层,为严格的安全管理奠定了坚实的基础。
缺点: 三层c/s结构各层间的通信效率不高,即使分配给各层的硬件能力很强,其作为整体来说也达不到所要求的性能。
设计时必须慎重考虑三层间的通信方法、通信频度及数据量。这和提高各层的独立性一样是三层c/s结构的关键问题。
b/s:优点:
基于b/s体系结构的软件,系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。
b/s体系结构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础。
缺点: b/s体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。
b/s体系结构的系统扩展能力差,安全性难以控制。
采用b/s体系结构的应用系统,在数据查询等响应速度上,要远远地低于c/s体系结构。
b/s体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于**事务处理(oltp)应用。
4、sis和dssa分别用在哪些场合?
sis适用的场合:分布式系统;大型复杂的系统;综合几个业务领域的系统;重用其他系统的系统;系统的分布式开发。
dssa适用的场合:适用于特定的应用领域,包括垂直域和水平域。
垂直域:定义了一个特定的系统族,包含了领域内的多个系统,结果是在该领域中可作为系统的可行解决方案的一个通用软件体系结构。
水平域:定义了在多个系统和多个系统族中功能区域的共有部分。
5、在软件开发中,采用异构结构有什么好处,其负面影响有哪些?
采用异构结构的好处:
1) 由于不同的结构各有其强项和弱点,采用异构结构可以使一个系统中的不同部分可以根据问题的实际情况和需要而采用不同的结构;
2) 具有较强的适应能力;
3) 对于遗留软件,出于经济及技术方面的考虑,需要与新系统共存。
负面影响:负面影响是不同结构之间的匹配问题,需要许多技术来处理;
重用的**可能与新系统有某种程度的不协调。
维护困难,需要维护人员掌握多方面的技能。
第3章作业答案
第三章作业。一 单项选择题。1 两种完全正相关 的相关系数为 b a r 0b r 1c r 1d r 2 已知某 系数为2,则该 的风险是 d a 无风险b 风险很低。c 与市场平均风险一致d 是市场平均风险的2倍。3 a公司1991年发行面值为 1000的债券,票面利率是9 于2001年到期,市...
第3章作业答案
第三章作业。一 单项选择题。1 两种完全正相关 的相关系数为 b a r 0b r 1c r 1d r 2 已知某 系数为2,则该 的风险是 d a 无风险b 风险很低。c 与市场平均风险一致d 是市场平均风险的2倍。3 a公司1991年发行面值为 1000的债券,票面利率是9 于2001年到期,市...
第3章作业答案
3 源端口 y,目的端口 x 6 可以,应用程序开发可以把稳定的数据流放在应用层协议里面。然而,这要求一个大量的调试工作。14 a false b false c true d false e true f false g false 15 a 20 字节 byte b ack number 90 ...