体系结构 完整版
- 格式:doc
- 大小:31.00 KB
- 文档页数:7
第一章:1.根据自己的经验,谈谈对软件危机的看法。
软件危机是指软件生产方式无法满足迅速增长的计算机需求,开发和维护过程出现的一系列问题。
以下几个原因导致:(1)软件自身特点(2)开发人员的弱点(3)用户需求不明(4)缺乏正确理论指导(5)开发规模越来越大(6)开发复杂度越来越高可以通过软件生命周期的模型和软件工具的使用来缓解危机,通过程序自动化和软件工业化生产的方法实现软件标准化的目标,进一步缓解软件危机带来的影响。
软件危机有利有弊,除了带来许多麻烦,也给我们带来许多挑战,克服危机的过程,我们在技术上和创新上都有了一个提升,也算是间接为软件产业的发展做了贡献。
2.什么是软件重用,软件重用的层次可以分为哪几个级别?软件重用:是指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。
可以分为三个层次:(1)代码重用(2)设计结果重用(3)分析结果重用3.什么是可重用构件?相对于普通的软件产品,对可重用构件有何特殊要求?可充用构件表示软件重用过程中,可重用的软件构件元素。
可重用构件的特殊要求:(1)可重用构件应该具有功能上的独立性与完整性;(2)可重用构件应该具有较高的通用性;(3)可重用构件应该具有较高的灵活;(4)可重用构件应该具有严格的质量保证;(5)可重用构件应该具有较高的标准化程。
4.基于构件的软件开发的优势是什么?基于构件的软件开发面临哪些挑战和困难?优势:基于构件的软件将软件开发的重点从程序编写转移到了基于已有构件的组装,更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担,从而降低了软件开发的费用困难和挑战:没有可依据的参考,可用资源和环境缺乏,开发难度高,而各方面需求增长速度与日剧增,更新和升级的跟进是一个不小的挑战.此外,在同一系统采用多个开发商提供的构件,它们之间的兼容性可能是开发过程中所要面对的一个严峻的问题挑战和困难:(1)在同一系统采用多个开发商提供的构件,它们之间的兼容性可能是开发过程中所要面对的一个严峻的问题;(2)采用随处可以购买到的构件可能会使开发出来的软件产品丧失技术上的独创性和市场上的竞争力;(3)第三方的构件开发商可能歇业,这会使购买的构件失去维护服务。
典型的物联网系统架构共有3个层次。
一是感知层,即利用射频识别(radio frequency identification, RFID)、传感器、二维码等随时随地获取物体的信息;二是网络层,通过电信网络与互联网的融合,将物体的信息实时准确地传递出去;三是应用层,把感知层得到的信息进行处理,实现智能化识别、定位、跟踪、监控和管理等实际应用。
在工业环境的应用中,工业物联网面临着与传统的物联网系统架构两个主要的不同点:一是在感知层中,大多数工业控制指令的下发以及传感器数据的上传需要有实时性的要求。
在传统的物联网架构中,数据需要经由网络层传送至应用层,由应用层经过处理后再进行决策,对于下发的控制指令,需要再次经过网络层传送至感知层进行指令执行过程。
由于网络层通常采用的是以太网或者电信网,这些网络缺乏实时传输保障,在高速率数据采集或者进行实时控制的工业应用场合下,传统的物联网架构并不适用。
二是在现有的工业系统中,不同的企业有属于自己的一套数据采集与监视控制系统(supervisory control and data acquisition,SCADA,在工厂范围内实施数据的采集与监视控制。
SCADA系统在某些功能上会与物联网的应用层产生重叠,如何把现有的SCADA系统与物联网技术进行融合,例如哪些数据需要通过网络层传送至应用层进行数据分析;哪些数据需要保存在SCADA的本地数据库中;哪些数据不应该送达应用层,它们往往会涉及到部分传感器的关键数据或者系统的关键信息,只由工厂内部进行处理。
工业物联网的系统架构需要在传统的物联网架构的基础上增加现场管理层。
其作用类似于一个应用子层,可以在较低层次进行数据的预处理,是实现工业应用中的实时控制、实时报警以及数据的实时记录等功能所不可或缺的层次,如图1所示。
图1 工业物联网体系架构1. 感知层感知层的主要功能是识别物体,采集信息和自动控制,是物联网识别物体、采集信息的来源;它由数据采集子层、短距离通信技术和协同信息处理子层组成。
第一章:1•根据自己的经验,谈谈对软件危机的看法软件危机是指软件生产方式无法满足迅速增长的计算机需求,开发和维护过程出现的一系列问题。
以下几个原因导致:(1)软件自身特点(2)开发人员的弱点(3)用户需求不明(4)缺乏正确理论指导(5)开发规模越来越大(6)开发复杂度越来越高可以通过软件生命周期的模型和软件工具的使用来缓解危机,通过程序自动化和软件工业化生产的方法实现软件标准化的目标,进一步缓解软件危机带来的影响。
软件危机有利有弊,除了带来许多麻烦,也给我们带来许多挑战,克服危机的过程,我们在技术上和创新上都有了一个提升,也算是间接为软件产业的发展做了贡献。
2•什么是软件重用,软件重用的层次可以分为哪几个级别?软件重用:是指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。
可以分为三个层次:(1 )代码重用(2)设计结果重用(3)分析结果重用3•什么是可重用构件?相对于普通的软件产品,对可重用构件有何特殊要求?可充用构件表示软件重用过程中,可重用的软件构件元素可重用构件的特殊要求:(1)可重用构件应该具有功能上的独立性与完整性;(2)可重用构件应该具有较高的通用性;(3)可重用构件应该具有较高的灵活;(4)可重用构件应该具有严格的质量保证;(5)可重用构件应该具有较高的标准化程。
4•基于构件的软件开发的优势是什么?基于构件的软件开发面临哪些挑战和困难?优势:基于构件的软件将软件开发的重点从程序编写转移到了基于已有构件的组装,更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担,从而降低了软件开发的费用困难和挑战:没有可依据的参考,可用资源和环境缺乏,开发难度高,而各方面需求增长速度与日剧增,更新和升级的跟进是一个不小的挑战•此外,在同一系统采用多个开发商提供的构件,它们之间的兼容性可能是开发过程中所要面对的一个严峻的问题挑战和困难:(1)在同一系统采用多个开发商提供的构件,它们之间的兼容性可能是开发过程中所要面对的一个严峻的问题;(2)采用随处可以购买到的构件可能会使开发出来的软件产品丧失技术上的独创性和市场上的竞争力;(3)第三方的构件开发商可能歇业,这会使购买的构件失去维护服务。
完整版网络体系结构知识点总结网络体系结构是指整个网络系统的结构组成和各个组成部分之间的关系。
下面是关于网络体系结构的知识点总结。
1.体系结构的分类:a.标准体系结构:例如OSI(开放系统互连)参考模型和TCP/IP(传输控制协议/互联网协议)体系结构。
b. 专有体系结构:由具体厂商设计和实现的网络体系结构,例如Cisco的三层体系结构(核心层、分布层和接入层)。
2.OSI参考模型:a.OSI模型是一种理论上的体系结构,用于描述和规范计算机网络中的协议。
b.OSI模型将网络通信过程划分为七个层次:-物理层:负责传输比特流,物理接口和电气特性。
-数据链路层:负责将比特流组织成帧,并提供差错检测和纠正。
-网络层:负责路径选择和分组传输。
-传输层:负责可靠的端到端传输。
-会话层:负责建立、管理和终止会话。
-表示层:负责数据格式的转换、加密和解密。
-应用层:提供网络服务和应用程序接口。
3.TCP/IP体系结构:a.TCP/IP是互联网上最常用的网络体系结构。
b.TCP/IP体系结构将网络通信过程划分为四个层次:-网络接口层:负责处理与物理网络的接口。
-网际层:负责建立和管理数据包在网络中的跳转。
-传输层:提供端到端的可靠传输。
-应用层:提供各种网络服务和应用程序。
4.网络组件:a.网络接口卡(NIC):在计算机和网络之间传输数据的设备。
b.集线器:用于将多个设备连接到局域网上的设备。
c.交换机:用于在局域网内部进行数据包的转发。
d.路由器:用于在不同网络之间进行数据包的转发。
e.网关:在不同协议或网络体系结构之间进行数据包的转换和传输。
f.防火墙:保护网络免受未经授权的访问和网络攻击。
g.服务器:提供网络服务和资源的计算机。
5.网络协议:a.网络协议是计算机网络中用于数据传输和通信的规则和约定。
b.常用的网络协议有TCP(传输控制协议)、IP(互联网协议)、UDP(用户数据报协议)、HTTP(超文本传输协议)等。
完整版网络体系结构知识点总结网络体系结构是指计算机网络中各个层次之间的关系和相互作用。
它决定了计算机网络中的数据传输方式和协议。
下面是对网络体系结构的完整版知识点总结:1.OSI参考模型:- OSI模型是Open Systems Interconnection(开放系统互联)的缩写,由国际标准化组织(ISO)于1984年提出。
-OSI参考模型将网络通信的过程分解为七个不同的层次,每个层次都有一个特定的功能,并通过接口与相邻的层次进行通信。
-七个层次分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
2.TCP/IP参考模型:- TCP/IP模型是Transmission Control Protocol/Internet Protocol(传输控制协议/网际协议)的缩写,是互联网最常用的体系结构模型。
-TCP/IP参考模型将网络通信的过程分为四个层次,分别是网络接口层、互联网层、传输层和应用层。
-网络接口层提供与硬件设备(如网卡)之间的接口,互联网层负责寻址和路由,传输层提供可靠的数据传输服务,应用层则负责应用程序的通信。
3.物理层:-物理层是最底层的层次,负责将比特流转换为信号发送到物理介质上,以及将接收到的信号转换为比特流。
-物理层的主要功能包括定义物理接口标准、传输速率、传输模式和物理连接标准等。
4.数据链路层:-数据链路层位于物理层之上,负责将比特流划分为帧,并提供可靠的数据传输服务。
-数据链路层的主要功能是进行物理寻址、帧同步、流量控制和错误检测与纠正等。
5.网络层:-网络层负责在计算机网络中寻址和路由,以实现不同计算机之间的通信。
-网络层的主要功能是确定数据包的路径和转发,实现逻辑寻址和分组交换等。
6.传输层:-传输层位于网络层之上,为应用程序提供端到端的可靠数据传输服务。
-传输层的主要功能包括面向连接的传输和无连接的传输,以及流量控制和拥塞控制等。
7.会话层:-会话层负责建立、管理和结束应用程序之间的会话。
网络信息安全体系架构一、安全保障体系的总体架构网络信息安全涉及立法、技术、管理等许多方面, 包括网络信息系统本身的安全问题, 以及信息、数据的安全问题。
信息安全也有物理的和逻辑的技术措施, 网络信息安全体系就是从实体安全、平台安全、数据安全、通信安全、应用安全、运行安全、管理安全等层面上进行综合的分析和管理。
安全保障体系总体架构如下图所示:安全保障体系架构图二、安全保障体系层次按照计算机网络系统体系结构,我们将安全保障体系分为7个层面:(1)实体安全实体安全包含机房安全、设施安全、动力安全、等方面。
其中,机房安全涉及到:场地安全、机房环境/温度/湿度/电磁/噪声/防尘/静电/振动、建筑/防火/防雷/围墙/门禁;设施安全如:设备可靠性、通讯线路安全性、辐射控制与防泄露等;动力包括电源、空调等。
这几方面的检测优化实施过程按照国家相关标准和公安部颁发实体安全标准实施。
(2)平台安全平台安全包括:操作系统漏洞检测与修复(Unix系统、Windows系统、网络协议);网络基础设施漏洞检测与修复(路由器、交换机、防火墙);通用基础应用程序漏洞检测与修复(数据库、Web/ftp/mail/DNS/其它各种系统守护进程);网络安全产品部署(防火墙、入侵检测、脆弱性扫描和防病毒产品);整体网络系统平台安全综合测试、模拟入侵与安全优化。
(3)数据安全数据安全包括:介质与载体安全保护;数据访问控制(系统数据访问控制检查、标识与鉴别);数据完整性;数据可用性;数据监控和审计;数据存储与备份安全。
(4)通信安全既通信及线路安全。
为保障系统之间通信的安全采取的措施有:通信线路和网络基础设施安全性测试与优化;安装网络加密设施;设置通信加密软件;设置身份鉴别机制;设置并测试安全通道;测试各项网络协议运行漏洞等方面。
(5)应用安全应用安全包括:业务软件的程序安全性测试(bug分析);业务交往的防抵赖;业务资源的访问控制验证;业务实体的身份鉴别检测;业务现场的备份与恢复机制检查;业务数据的唯一性/一致性/防冲突检测;业务数据的保密性;业务系统的可靠性;业务系统的可用性。
(答案仅供参考如有不对请自己加以思考)第一章计算机网络体系结构一、习题1.比特的传播时延与链路带宽的关系(A )。
A.没有关系 B. 反比关系C. 正比关系D. 无法确定2.计算机网络中可以没有的是(D )。
A. 客服机B. 操作系统C. 服务器D.无法确定3.在OSI参考模型中,提供流量控制的层是第(1)层;提供建立、维护和拆除端到端连接的层是(2);为数据分组提供在网络中路由功能的是(3);传输层提供(4)的数据传送;为网络层实体提供数据发送和接收功能和过程的是(5)。
(1)A. 1、2、3 B. 2、3、4 C. 3、4、5 D. 4、5、6(2)A. 物理层 B. 数据链路层 C. 会话层 D. 传输层(3)A. 物理层 B. 数据链路层 C. 网络层 D.传输层(4)A. 主机进程之间 B. 网络之间 C. 数据链路层 D. 物理线路层(5)A. 物理层 B. 数据链路层 C. 会话层 D. 传输层4.计算机网络的基本分类方法主要有两种:一种是根据网络所使用的传输技术;另一种是根据()。
A. 网络协议B. 网络操作系统C. 覆盖范围与规模D. 网络服务器类型与规模5.计算机网络从逻辑功能上可分为()。
Ⅰ.资源子网Ⅱ.局域网Ⅲ.通信子网Ⅳ.广域网A.Ⅱ、ⅣB.Ⅰ、ⅢB. Ⅰ、Ⅳ D. Ⅲ、Ⅳ6. 计算机网络最基本的功能是()。
Ⅰ. 流量控制Ⅱ.路由选择Ⅲ. 分布式处理Ⅳ. 传输控制A. Ⅰ、Ⅱ、ⅣB.Ⅰ、Ⅲ、ⅣC. Ⅰ、ⅣD. Ⅲ、Ⅳ7.世界上第一个计算机网络是()。
A.ARPANETB. 因特网C. NSFnetD. CERNET8. 物理层、数据链路层、网络层、传输层的传输单位(或PDU)分别是()。
Ⅰ.帧Ⅱ. 比特Ⅲ.报文段Ⅳ.数据报A.Ⅰ、Ⅱ、Ⅳ、ⅢB. Ⅱ、Ⅰ、Ⅳ、ⅢC. Ⅰ、Ⅳ、Ⅱ、ⅢD. Ⅲ、Ⅳ、Ⅱ、Ⅰ9.设某段电路的传播时延是10ms,带宽为10Mbit/s,则该段电路的时延带宽积为()。
很详细的系统架构图--专业推荐2013.11.71.1.共享平台逻辑架构设计如上图所示为本次共享资源平台逻辑架构图,上图整体展现说明包括以下几个方面:1 应用系统建设本次项目的一项重点就是实现原有应用系统的全面升级以及新的应用系统的开发,从而建立行业的全面的应用系统架构群。
整体应用系统通过SOA面向服务管理架构模式实现应用组件的有效整合,完成应用系统的统一化管理与维护。
2 应用资源采集整体应用系统资源统一分为两类,具体包括结构化资源和非机构化资源。
本次项目就要实现对这两类资源的有效采集和管理。
对于非结构化资源,我们将通过相应的资源采集工具完成数据的统一管理与维护。
对于结构化资源,我们将通过全面的接口管理体系进行相应资源采集模板的搭建,采集后的数据经过有效的资源审核和分析处理后进入到数据交换平台进行有效管理。
3 数据分析与展现采集完成的数据将通过有效的资源分析管理机制实现资源的有效管理与展现,具体包括了对资源的查询、分析、统计、汇总、报表、预测、决策等功能模块的搭建。
4 数据的应用最终数据将通过内外网门户对外进行发布,相关人员包括局内各个部门人员、区各委办局、用人单位以及广大公众将可以通过不同的权限登录不同门户进行相关资源的查询,从而有效提升了我局整体应用服务质量。
综上,我们对本次项目整体逻辑架构进行了有效的构建,下面我们将从技术角度对相关架构进行描述。
1.2.技术架构设计如上图对本次项目整体技术架构进行了设计,从上图我们可以看出,本次项目整体建设内容应当包含了相关体系架构的搭建、应用功能完善可开发、应用资源全面共享与管理。
下面我们将分别进行说明。
1.3.整体架构设计上述两节,我们对共享平台整体逻辑架构以及项目搭建整体技术架构进行了分别的设计说明,通过上述设计,我们对整体项目的架构图进行了归纳如下:综上,我们对整体应用系统架构图进行了设计,下面我们将分别进行说明。
1.3.1.应用层级说明整体应用系统架构设计分为五个基础层级,通过有效的层级结构的划分可以全面展现整体应用系统的设计思路。
第1章计算机系统结构的基本概念 (1)第2章指令集结构的分类 (6)第3章流水线技术 (8)第4章指令级并行 (21)第5章存储层次 (30)第6章输入输出系统 (38)第7章互连网络 (41)第8章多处理机 (45)第9章机群 (45)第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。
这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。
虚拟机:用软件实现的机器。
翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。
解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。
执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。
计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。
计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。
系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。
Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。
包括时间局部性和空间局部性。
CPI:每条指令执行的平均时钟周期数。
测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。
Windows 的体系结构Windows 的体系结构分析环境reactos0.3.1 ,i386体系]了解了windows的体系结构才知道reactos到底要干什么,以及如何干,因为reactos的目标是兼容windows。
下面是windows的体系结构:这是整个windows的体系结构的总览。
从图上可以看出系统被分成内核模式和用户模式。
内核模式的构成文件是系统的核心文件她包含:hal.dllntoskrnl.exe设备驱动文件系统驱动图形设备驱动win32k.sys1.首先来看第一层HAL(硬件抽象层)HAL使得reactOS 内核可以运行在不同的x86母板上。
HAL为内核抽象母板的特定代码也许是对不同母板定义一种抽象的接口,向上提供一种标准的接口调用,这样不同的母板就不需要改变内核,思想上有点像驱动程序的设计,不过用在另外一个地方(具体的实现目前还不知道,以后边看代码边了解)。
2.ntoskrnl(内核)内核又分成两层,第一层有的称为核心层(core)提供非常原始且基本的服务,如多处理器的同步、线程调度、中断分派等等。
第二层是执行体(EXECUTIVE)内核执行体提供了系统的服务,这里的服务不是指windows服务管理器看到的那种服务,而是一些系统函数。
而这些函数被划分成不同的类别:具备虚拟存储的内存管理:采用分段和分页以及虚拟内存的方式管理内存的使用。
对象管理:采用面向对象的思想,用C来实现,在windows中一切资源都被抽象为对象。
如文件对象,进程线程对象等。
进程线程管理:负责创建和终止进程、线程。
配置管理:负责管理注册表安全引用监视:在本地计算机上执行安全策略,保护计算机的资源I/O管理:实现I/O的设备无关性,并负责把I/O请求分配给相应的设备驱动程序以进一步处理即插即用管理器(PNP):确定设备应该由哪个驱动程序来支持并负责加载相应驱动。
在启动时的枚举过程中,它收集每个设备所需要的硬件资源,并根据设备的需要来分配合适的硬件资源如I/O端口,IRQ,DMA通道之类,当系统中的设备发生变化时它负责向系统和应用程序发送通知消息。
第一章1.软件复用:利用现有的软件资源来开发新应用系统的过程。
其中软件资源可能是已经存在的软件,也可能是专门用于开发设计且可复用的软件构件。
2.可复用的软件的资源即复用成分,是软件服用技术的核心与基础。
3.实现软件复用需要解决三个问题:1.有可以复用的对象2.所复用的对象的对象是可用的3.复用者要知道怎样去使用被复用的对象4..软件重用再工程五个阶段:(1)候选阶段(2)选择阶段(3)资格说明阶段(4)分类和存储阶段(5)查找和检索5.软件复用:(1)代码复用分为目标代码复用和源代码复用(2)设计复用比源程序复用的级别更高(3)分析复用要比设计复用的级别更高(4)测试复用主要包括测试用例复用和测试过程复用6.软件复用的实现技术:组装和生成在组装中软件构件是复用的基石在生成中由程序生成器完成对软件结构模式的复用7.从构件的表示角度出发,分为人工智能方法、超文本和信息科学方法信息科学方法:枚举层次关键词分类方法8.软件构件化:就是要让软件开发过程向机械加工一样,可以使用各种标准的和非标准的零件来组装机器。
9.抽象构件模型:提供服务接口--(软件构件:属性集合行为集合)--接收服务接口10.网络服务技术:OMG的CORBA;SUN公司的J2EE/JavaBeans/EJB;Microsoft的DCOM/COM/COM+11.构件获取的四种方式:(1)从构件库中,按照适合新系统的原则选取,并做适应性修改已获得可重用的构件。
(2)根据新功能模块进行自行开发,以获取新构件(3)对遗留系统进行功能分析,将具有潜在应用价值的模块提取出来,使其接口进行标准化以获得可重用性构件(4)通过商业方式购买合适的构件,利用互联网资源进行共享或免费获取12.框架:是一种为特定领域应用提供可扩展模版的架构实例。
它表述了整个设计过程、指明了协作对象之间的依赖关系、明确了责任分配和控制流13.软件体系结构主要包括:构件、连接件和配置约束14.构件:可预制和可重用的软件部件,是组成体系结构的基本计算单元或数据存储单元1.模型的作用:使复杂的信息关联变得简单易懂,使我们能够洞察杂乱的和庞大的数据背后所隐藏的规律,使我们能够将系统需求映射到软件的框架结构上去。
2.软件体系结构模型能够帮助人们从全局的角度来把握整个系统的框架结构。
3.软件体系结构模型:(5种)结构模型:这是一个最直观、最普遍的建模方法。
这种方法以体系结构的构件、连接件和其他概念来刻画结构,并力图通过结构来反映系统的重要语义。
系统语义主要包括系统的配置、约束、隐含的假设条件、风格、性质等。
动态模型:是对结构或框架模型的补充,研究系统的“大颗粒”的行为性质。
例如,描述系统的重新配置或演化。
动态可以指系统总体结构的配置、建立或拆除通信通道或计算的过程。
框架模型:框架模型与结构模型类似,但它不太侧重描述结构的细节而更侧重于整体的结构。
框架模型主要以一些特殊的问题为目标建立只针对和适应该问题的结构。
过程模型:过程模型研究构造系统的步骤和过程。
结构是遵循某些过程脚本的结果。
功能模型:功能模型认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。
功能模型可以看作是一种特殊的框架模型。
4.“4+1”视图模型逻辑视图(概念视图)逻辑试图主要是用来描述系统的功能需求,即系统提供给最终用户的服务.表述了系统的功能需求及其之间的相互关系。
按照应用领域的概念来描述系统的框架结构。
在面向对象技术中,通过抽象、封装、继承,可以用对象模型来代表逻辑视图开发视图(模块视图)开发视图主要用来描述系统的组织,与逻辑视图密切相关,都是描述了系统的静态结构。
但是侧重点有所不同,开发视图与系统实现紧密相关。
模块视图负责软件模块的组织和管理,该视图以构件为着眼点,是系统开发的核心视角之一。
过程视图进程试图侧重系统的动态行为即系统运行时所表现出来的相关特征。
着重解决系统的可靠性、并发性、分布性、容错性、吞吐量等。
反映软件的行为结构。
物理视图物理试图主要描述硬件配置。
服务于系统工程人员,解决系统的拓扑结构、系统安装、通信等问题。
主要考虑如何把软件映射到硬件上,也要考虑系统性能、规模、可靠性等。
可以与进程视图一起映射。
场景视图场景是用户需求和系统功能实例的抽象,设计者通过分析如何满足每个场景所要求的约束来分析软件的体系结构。
场景是整个体系结构设计的依据。
(1)不能体现体系结构的构造是多层次抽象的过程,不能充分表达系统的体系结构风格(2)数据作为系统的重要组成部分,”4+1”视图中没有得到充分的体现(3)”4+1”视图不能充分的反映系统要素之间的联系,如构件、功能和角色之间的关联(4)在实现体系结构模型时,缺乏构造视图和建立视图之间关系的指导信息5.核心模型::=(构件,连接件,约束)构件::={端口1,端口2,...端口N}连接件::={角色1,角色2,...角色M}约束::={(端口i,角色j),...}6.构件是软件体系结构中的基本要素。
构件具有一定功能和可明确辨识的软件单位。
7.软件可以有不同的粒度。
一个构件可以小到只有一个过程,也可以大到包含一个应用程序。
可包含函数对象进程二进制对象类库和数据包等8.常见的构件:纯计算单元,数据存储单元,管理器,控制器9.构件组合遵循三个原则:(1)使参与组合的构件保持自身的独立性,从而有利于构件和所形成的复合构件具有更强的复用能力和演化能力(2)构件之间的组合应该由构件以外的实体来实施,如连接件。
(3)构件组合应有助于根据参与组合的构件的行为和性质来推导符合构件的行为和性质,从而有助于基于可复用构件的应用系统的开发10.常用的连接件:过程调用,数据流,消息传递11.对于构件而言,连接件是黏合剂,是构件交互的实现。
连接件和构件之间的区别主要在于他们在软件体系结构中承担不同的作用12.软件体系结构工程=形式化模型+软件技术+软件工程P3313.描述软件框架结构常用方法:一种是实践派风格,使用通用的建模符号;一种是学院派风格,使用了体系结构描述语言(ADL)集中描述了整个系统的高层结构实践派风格包括图形表示方法,模块内连接语言,基于构件的系统描述语言和UML描述方法14.P49页图1.软件体系结构风格也成为软件体系结构惯用模式,是指不同系统所拥有的共同组织结构和语义特征。
2.常见的软件体系结构的风格;(1)数据流风格(2)调用/返回风格(3)面向对象风格(4)独立部件风格(5)虚拟机风格(6)数据共享风格3.在管道/过滤器风格中,每个过滤器独立完成自己的任务,不同过滤器之间不需要进行交互。
各个过滤器不需要知道在其上游和下游所连接的过滤器的详细信息。
在该结构中,数据输出的最终结果和各个过滤器执行的顺序无关。
4.事件驱动体系结构的优缺点优点:(1)事件声明者不需要知道哪些构件会影响事件,因此,不能确定构件处理的先后顺序,甚至不能确定事件会引发哪些过程调用。
(2)提高了软件复用能力。
(3)便于系统升级。
缺点:(1)构件放弃了对计算的控制权。
(2)存在数据传输问题。
5.分层体系结构的风格是什么?:在分层体系结构中,上层通过下层提供的接口使用下层功能,而下层不能使用上层功能。
利用接口,可以将下层实现细节隐藏起来,从而有助于抽象设计,形成松散耦合和结构模型。
良好的层次结构将有助于对逻辑功能实现灵活的增加、删除和修改。
此外,良好的层次结构还有助于实现产品在不痛平台之间的快速移植。
优点:(1)设计者可以讲系统分解成一个增量的步骤序列,从而完成复杂的业务逻辑。
(2)每一层至多和相邻上下两层进行交互,每一层的功能变化最多只影响相邻两层,便于实现系统功能的扩展。
(3)只要给相邻层提供相同接口,就可以实现不同的方法来实现每一层,支持软件资源的复用。
缺点:(1)并非所有系统都能够按照层次来划分。
(2)很难找到一种合适和正确的层次划分方法,其应用范围受到限制。
(3)在传输数据的时候,需要经过多个层次,导致了系统性能下降。
(4)多层结构难以调试,往往需要一系列的跨层次调用来实现。
6.P58黑板体系结构:主要包括(1)知识源(2)中央数据单元(3)控制单元三个部分优点:(1)便于多用户共享大量数据,而不必关心数据是何时产生、由谁提供的及通过何种途径来提供。
(2)便于将构件座位知识源添加到系统中来。
缺点:(1)对于共享数据结构,不同的知识源要达成一致。
(2)需要同步机制和加锁机制来保证数据的完整性和一致性,增大了系统设计和复杂度。
7.解释器体系结构优点:(1)能够提高应用程序的移植能力和编程语言的跨平台移植能力。
(2)实际测试工作可能非常复杂,测试代价及其昂贵,具有一定的风险性。
可以利用解释器对未实现的硬件进行仿真。
缺点:(1)由于使用了特定语言和自定义操作规则,因此增加了系统运行的开销。
(2)解释器系统难以设计和测试。
8.C/S P62页图优点:(1)客户机构件和服务器构件分别运行在不同的计算机上,有利于分布式数据的组织和处理。
(2)构件之间的位置是相互透明的,客户机程序和服务器程序都不必考虑对方的实际存储位置。
(3)客户机侧重数据的显示和分析,服务器则注重数据的管理,因此,客户机程序和服务器程序可以运行在不痛的操作系统上,便于实现异构环境和多种不同开发技术的融合。
(4)构件之间是彼此独立和充分隔离的,这使得软件环境和硬件环境的配置有极大的灵活性,便于系统功能的扩展。
(5)将大规模的业务逻辑分布到多个通过网络连接的低成本的计算机上,降低了系统的整体开销。
缺点:(1)开发成本较高。
(2)在开发C/S结构系统的时候,大部分工作都集中在客户机程序的设计上,增加了设计的复杂度。
(3)信息内容和形式单一。
(4)如果对C/S体系结构和系统进行升级,开发人员需要到现场来更新客户及程序,同时需要对运行环境进行重新配置,增加了维护费用。
(5)两层C/S结构采用了单一的服务器,同时以局域网为中心,因此难以扩展到Internet 和Internet。
(6)数据安全性不高9.在三层C/S结构的软件系统中,可以将业务逻辑划分成表示层、功能层和数据层三个部分。
P64图10.浏览器/服务器体系结构(B/S)优点:(1)客户端只要安装浏览器,操作简单。
能够发布动态信息和静态信息。
(2)运用HTTP标准协议和统一客户端软件,能够实现跨平台通信。
(3)开发版本较低,只需要维护Web服务器和中心数据库。
缺点:(1)个性化成都比较低,所有客户端的功能都是一样的。
(2)客户端数据处理能力比较差,加重了Web服务器的工作负担,影响系统的整体性能。
(3)在B/S结构的系统,数据提交一般以页面为单位,动态交互性不强,不利于在线事务处理(Online Transaction Processing,OLTP)(4)B/S体系结构的课扩展性比较差,系统安全性难以保障。