软件标准体系结构课后习题第三章作业_第1页
软件标准体系结构课后习题第三章作业_第2页
软件标准体系结构课后习题第三章作业_第3页
软件标准体系结构课后习题第三章作业_第4页
软件标准体系结构课后习题第三章作业_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

题1.层次系统结构和基于消息层次系统结构有什么区分?答:层次系统组织成一个层次结构,每一层为上层服务,并作为下层用户。在部分层次系统中,除了部分精心挑选输出函数外,内部层只对相邻层可见。这么系统中构件在部分层实现了虚拟机(在另部分层次系统中层是部分不透明)。连接件经过决定层间怎样交互协议来定义,拓扑约束包含对相邻层间交互约束。这种风格支持基于可增加抽象层设计。许可将一个复杂问题分解成一个增量步骤序列实现。因为每一层最多只影响两层,同时只要给相邻层提供相同接口,许可每层用不一样方法实现,一样为软件重用提供了强大支持。而在基于消息层次系统结构中构件不直接调用一个过程,而是触发或广播一个或多个事件。系统中其它构件中过程在一个或多个事件中注册,当一个事件被触发,系统自动调用在这个事件中注册全部过程,这么,一个事件触发就造成了另一模块中过程调用。这种风格构件是部分模块,模块既能够是部分过程,又能够是部分事件集合。过程能够用通用方法调用,也能够在系统事件中注册部分过程,当发生这些事件时,过程被调用。这种风格关键特点是事件触发者并不知道哪些构件会被这些事件影响。这么不能假定构件处理次序,甚至不知道哪些过程会被调用,所以,很多隐式调用系统也包含显式调用作为构件交互补充形式。题2.分析比较B/S、二层C/S和三层C/S,指出各自优点和缺点。二层C/S结构优点:◆C/S体系结构含有强大数据操作和事务处理能力,模型思想简单,易于大家了解和接收。◆系统用户应用程序和服务器构件分别运行在不一样计算机上,系统中每台服务器全部能够适合各构件要求,这对于硬件和软件改变显示出极大适应性和灵活性,而且易于对系统进行扩充和缩小。◆在C/S体系结构中,系统中功效构件充足隔离,用户应用程序开发集中于数据显示和分析,而数据库服务器开发则集中于数据管理,无须在每一个新应用程序中全部要对一个DBMS进行编码。将大应用处理任务分布到很多经过网络连接低成本计算机上,以节省大量费用二层C/S结构缺点:◆开发成本较高◆用户端程序设计复杂◆信息内容和形式单一◆用户界面风格不一,使用繁杂,不利于推广使用◆软件移植困难◆软件维护和升级困难◆新技术不能轻易应用三层C/S结构优点:◆许可合理地划分三层结构功效,使之在逻辑上保持相对独立性,能提升系统和软件可维护性和可扩展性。◆许可更灵活有效地选择对应平台和硬件系统,使之在处理负荷能力上和处理特征上分别适应于结构清楚三层;而且这些平台和各个组成部分能够含有良好可升级性和开放性。◆应用各层能够并行开发,能够选择各自最适合开发语言。◆利用功效层有效地隔离开表示层和数据层,未授权用户难以绕过功效层而利用数据库工具或黑客手段去非法地访问数据层,为严格安全管理奠定了坚实基础。三层C/S结构缺点:◆三层C/S结构各层间通信效率若不高,即使分配给各层硬件能力很强,其作为整体来说也达不到所要求性能。◆设计时必需慎重考虑三层间通信方法、通信频度及数据量。这和提升各层独立性一样是三层C/S结构关键问题。B/S体系结构优点:◆基于B/S体系结构软件,系统安装、修改和维护全在服务器端处理。用户在使用系统时,仅仅需要一个浏览器就可运行全部模块,真正达成了“零用户端”功效,很轻易在运行时自动升级。◆B/S体系结构还提供了异种机、异种网、异种应用服务联机、联网、统一服务最现实开放性基础。B/S体系结构缺点:◆B/S体系结构缺乏对动态页面支持能力,没有集成有效数据库处理功效。◆B/S体系结构系统扩展能力差,安全性难以控制。◆采取B/S体系结构应用系统,在数据查询等响应速度上,要远远地低于C/S体系结构。◆B/S体系结构数据提交通常以页面为单位,数据动态交互性不强,不利于在线事务处理(OLTP)应用。题3.组织或参与一个采取B/S和C/S混合体系结构软件项目标开发,总结开发经验。首先,开发者依据一定标准,将系统全部子功效分类,决定哪些子功效适合采取C/S,哪些适合采取B/S。适合采取C/S子功效应含有以下特点:1安全性要求高;2要求含有较强交互性;3使用范围小,地点固定;4要求处理大量数据。比如,仓库管理系统中入库单、领料单输入功效,财务系统中凭证输入功效等等。而适合采取B/S子功效应含有以下特点:1使用范围广,地点灵活;2功效变动频繁;3安全性、交互性要求不一样。比如:企业内部信息公布功效,意见箱输入功效,企业财务分析表查询功效,总裁决议支持系统中查询功效等等。

相对于单独采取C/S或B/S,这种方案优点在于:1确保敏感数据安全性,尤其是对数据库修改和新增统计加强了控制;2经济有效地利用企业内部计算机资源,简化了一部分能够简化用户端;3既确保了复杂功效交互性,又确保了通常功效易用和统一;4系统维护简便,布局合理;5网络效率最高。

假如系统开发者在系统设计阶段决定采取这种C/S和B/S相结合模式,那么在系统开发生命周期以下各个阶段相对这种新模式全部应有所响应。

在系统设计阶段关键考虑是MIS系统平台选择问题。在具体设计阶段,系统开发者需要依据企业本身业务特点,和一定选择标准,来决定各个子功效采取哪一个模式并在系统说明书上分别注明。在编码设计阶段,系统开发者需要针对采取不一样模式子功效,选择不一样编码方法(比如:C/S能够采取VB编程环境,而B/S采取ASP方法),然后编译生成不一样用户应用及Web服务程序。在安装调试阶段,其特点关键表现在系统物理结构上,即特定用户应用程序将被安装在特定使用者用户端上,Web服务程序需要被安装在Web服务器上,而每个用户端上全部将被安装上浏览器,同时,用户应用使用者必需接收一定培训。在软件维护阶段,针对不一样模式子功效应采取不一样维护方法。题4.在软件开发中,采取异构结构有什么好处,其负面影响有哪些?答:全部体系结构不仅有很紧密联络,而且在大多数情况下是被一起使用。对于一个实际系统,甚至不能判定它是A风格、B风格还是C风格,因为没有足够理由把它归为任何一个独立体系结构风格。这种系统类型被称为异构结构。上图展示了一个虚拟系统,它整合了很多体系结构风格。能够把整个系统当成一个分层系统。这么它能够被分成两层:第1层是原始数据生成层,第2层是解释层。在第1层,关键组成部分是管道-过滤器子系统。(1)第1个过滤器中数据能够被送到第2个过滤器中。(2)当第2个过滤器收到数据时,将会产生对应信息,然后将此信息传送到事件队列构件和服务提供对象构件中。(3)当事件队列不为空时,它将会激发对应对象来处理这个事件,并完成任务。这是一个经典事件驱动体系结构风格例子。(4)当服务提供对象构件接收到由第2个过滤器传来信息时,它将把这些信息统计在信息库里。它就像是在数据共享风格中黑板。在这个信息库中,全部信息、知识和规则被统计下来。当“事件驱动”部分想要完成一些任务时,它可能需要从这个信息库里获取部分有用信息,然后依据其中规则完成正确行动。这部分能够被看成数据共享和反馈控制环风格结合。因为全部数据在组成信息库里被共享,其它部分能够从信息库中存放和获取数据。用户能够经过向信息库中统计新数据来更新它。这也含有反馈控制环风格特点。在第2层解释器中,来自第1层中数据被解释。当解释数据时,构件必需知道上下文、解释规则和解释器状态。所以这部分含有状态构件、规则构件和数据构件。当解释时产生全部错误和程序缺点被统计在数据库里。最终,输出解释完成数据。从这个例子中,能够看出一个完善系统可能由多种多样体系结构风格组成,具体组成方法要依据系统需求和多种体系结构风格优势来确定。所设计最好系统不是特意包含“所谓”结构体系风格,而是能够合适利用体系结构风格系统。设计出系统要满足需要质量属性。负面影响就是结构可能愈加复杂,不易于设计和维护。经过查资料然后分析,给出下列体系结构Windows7,Android,P2P,webservice,要求:1.模块划分和功效描述。2.模块间关系。3.经典功效模块调用关系。4.各自优缺点。答:Android操作系统架构图以下:\o"查看图片"Android系统架构由5部分组成,分别是:LinuxKernel、AndroidRuntime、Libraries、ApplicationFramework、Applications。第二部分将具体介绍这5个部分。架构详解现在我们拿起手术刀来剖析各个部分。其实这部分SDK文档已经帮我们做得很好了,我们要做就是拿来主义,然后再加上自己了解。下面自底向上分析各层。1、LinuxKernelAndroid基于Linux2.6提供关键系统服务,比如:安全、内存管理、进程管理、网络堆栈、驱动模型。LinuxKernel也作为硬件和软件之间抽象层,它隐藏具体硬件细节而为上层提供统一服务。2、AndroidRuntimeAndroid包含一个关键库集合,提供大部分在Java编程语言关键类库中可用功效。每一个Android应用程序是Dalvik虚拟机中实例,运行在她们自己进程中。Dalvik虚拟机设计成,在一个设备能够高效地运行多个虚拟机。Dalvik虚拟机可实施文件格式是.dex,dex格式是专为Dalvik设计一个压缩格式,适合内存和处理器速度有限系统。Dalvik虚拟机依靠于Linux内核提供基础功效,如线程和底层内存管理。3、LibrariesAndroid包含一个C/C++库集合,供Android系统各个组件使用。这些功效经过Android应用程序框架(applicationframework)暴露给开发者。下面列出部分关键库:系统C库——标准C系统库(libc)BSD衍生,调整为基于嵌入式Linux设备媒体库——基于PacketVideoOpenCORE。这些库支持播放和录制很多流行音频和视频格式,和静态图像文件,包含MPEG4、H.264、MP3、AAC、AMR、JPG、PNG界面管理——管理访问显示子系统和无缝组合多个应用程序二维和三维图形层LibWebCore——新式Web浏览器引擎,驱动Android浏览器和内嵌web视图SGL——基础2D图形引擎3D库——基于OpenGLES1.0APIs实现。库使用硬件3D加速或包含高度优化3D软件光栅FreeType——位图和矢量字体渲染SQLite——全部应用程序全部能够使用强大而轻量级关系数据库引擎4、ApplicationFramework经过提供开放开发平台,Android使开发者能够编制极其丰富和新奇应用程序。开发者能够自由地利用设备硬件优势、访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等等,很多很多。开发者能够完全使用关键应用程序所使用框架APIs。应用程序体系结构意在简化组件重用,任何应用程序全部能公布她功效且任何其它应用程序能够使用这些功效(需要服从框架实施安全限制)。这一机制许可用户替换组件。全部应用程序其实是一组服务和系统,包含:视图(View)——丰富、可扩展视图集合,可用于构建一个应用程序。包含包含列表、网格、文本框、按钮,甚至是内嵌网页浏览器内容提供者(ContentProviders)——使应用程序能访问其它应用程序(如通讯录)数据,或共享自己数据资源管理器(ResourceManager)——提供访问非代码资源,如当地化字符串、图形和布局文件通知管理器(NotificationManager)——使全部应用程序能够在状态栏显示自定义警告活动管理器(ActivityManager)——管理应用程序生命周期,提供通用导航回退功效5、ApplicationsAndroid装配一个关键应用程序集合,包含电子邮件用户端、SMS程序、日历、地图、浏览器、联络人和其它设置。全部应用程序全部是用Java编程语言写。愈加丰富应用程序有待我们去开发!二、P2P系统架构图以下:P2P网络大约可划分为纯分散式P2P网络和混合式P2P网络两大类。纯分散式P2P网络,其拓扑图2所表示。网络中没有服务器,链状节点之间组成一个分散式网络。经过基于对等网协议用户端软件搜索网络中存在对等节点.节点之间无须经过服务器,可直接建立连接。这种P2P网络模型优点在于许可用户设定自己规则和建立自己网络环境;为和Internet合作,提供近似即插即用特征;不仅能够在Internet下有效地工作,而且对于LAN也很有用。不过,因为没有中心管理者,网络节点难以发觉,不易管理且安全性较差。

图2纯分散式P2P网络拓扑(2)混合式P2P网络混合式P2P网络其拓扑图3所表示。各节点之间能够直接建立连接,但网络构建需要服务器,经过集中认证,建立索引机制。然而这里服务器仅用于辅助对等节点之间建立连接,一旦连接成功,服务器不再起作用,对等节点之间直接进行通信。这不一样于C/S模式中服务器,也能够认为是弱化了服务器作用。这种P2P网络模型和纯分散式P2P网络相比,易于发觉网络节点、易于管理且安全性很好,但也有类似C/S模式缺点,如容错性差等。现在P2P技术应用大多为这种模式。P2P网络系统优缺点:P2P网络系统开发面临着很多问题亟待处理,比如:在P2P共享网络中普遍存在侵犯版权问题;在一个无中心环境中怎样选择可靠资源,即怎样建立节点之间信誉问题;P2P带来新型网络病毒传输模式防阻断问题;基于P2P隐蔽通讯和隐私保护问题;P2P网络服务健壮性和抗毁能力等。三、Windows7体系结构以下:1.硬件抽象层(HAL)HAL=HardwareAbstractionLayerHAL是一个关键态模块(HAL.DLL),它为运行Windows/XP硬件平台提供低级接口。2.设备驱动程序可加载关键态模块I/O系统和相关硬件之间接口WDM=WindowsDriverModel3.内核NTOSKRNL.EXE下层(MicrosoftBootUpKernel)内核是对处理器体系结构抽象,将实施体和处理器体系结构差异相隔离,确保系统可移植性。大多数代码用C编写,部分依靠于硬件体系结构代码用汇编编写.内核实现了一组简单对象,称为内查对象,以帮助内核控制中心处理并支持实施体对象创建。控制对象——包含异步过程调用(APC,asynchronousprocedurecall)对象、延迟过程调用(DPC,deferredprocedurecall)对象和多个由I/O系统使用对象,比如中止对象。调度程序对象——负责同时操作并影响线程调度。调度程序对象包含内核线程、互斥体(Mutex)、事件(Event)、内核事件对、信号量(Semaphore)、定时器和可等候定时器4.实施体提供函数调用从用户态导出而且能够调用函数。这些函数接口在NTDLL.DLL中。经过Win32API或部分其它环境子系统能够对它们进行访问。从用户态导出而且能够调用函数,但目前经过任何文档化子系统函数全部不能使用。在WindowsDDK中已经导出而且文档化关键态调用函数。在关键态组件中调用但没有文档化函数。比如在实施体内部使用内部支持例程。组件内部函数。5.环境子系统将基础实施体系统服务一些子集以特定形态展示给应用程序三种环境子系统:POSIX、OS/2和Win32(OS/2只能用于x86系统)Windows体系结构优

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论