2022年软件体系结构作业(完整版推荐 .pdf
《2022年软件体系结构作业(完整版推荐 .pdf》由会员分享,可在线阅读,更多相关《2022年软件体系结构作业(完整版推荐 .pdf(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章:1.根据自己的经验,谈谈对软件危机的看法。软件危机是指软件生产方式无法满足迅速增长的计算机需求,开发和维护过程出现的一系列问题。以下几个原因导致:(1)软件自身特点(2)开发人员的弱点(3)用户需求不明(4)缺乏正确理论指导(5)开发规模越来越大(6)开发复杂度越来越高可以通过软件生命周期的模型和软件工具的使用来缓解危机,通过程序自动化和软件工业化生产的方法实现软件标准化的目标,进一步缓解软件危机带来的影响。软件危机有利有弊,除了带来许多麻烦,也给我们带来许多挑战,克服危机的过程,我们在技术上和创新上都有了一个提升,也算是间接为软件产业的发展做了贡献。2.什么是软件重用,软件重用的层次
2、可以分为哪几个级别?软件重用:是指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。可以分为三个层次:(1)代码重用(2)设计结果重用(3)分析结果重用3.什么是可重用构件?相对于普通的软件产品,对可重用构件有何特殊要求?可充用构件表示软件重用过程中,可重用的软件构件元素。可重用构件的特殊要求:(1)可重用构件应该具有功能上的独立性与完整性;(2)可重用构件应该具有较高的通用性;(3)可重用构件应该具有较高的灵活;(4)可重用构件应该具有严格的质量保证;(5)可重用构件应该具有较高的标准化程。4.基于构件的软件开发的优势是什么?基于构件的软件开发面临哪些挑战和困难?优势:基于构
3、件的软件将软件开发的重点从程序编写转移到了基于已有构件的组装,更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担,从而降低了软件开发的费用困难和挑战:没有可依据的参考,可用资源和环境缺乏,开发难度高,而各方面需求增长速度与日剧增,更新和升级的跟进是一个不小的挑战.此外,在同一系统采用多个开发商提供的构件,它们之间的兼容性可能是开发过程中所要面对的一个严峻的问题挑战和困难:名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 18 页 -(1)在同一系统采用多个开发商提供的构件,它们之间的兼容性可能是开发过程中所要面对的一个严峻的问题;(2)采用随处可以购买到的构件可能会使开发出
4、来的软件产品丧失技术上的独创性和市场上的竞争力;(3)第三方的构件开发商可能歇业,这会使购买的构件失去维护服务。这些都是在购买第三方构件进行软件开发时无法回避的问题,因此需要对这些风险进行充分的估计。5.简述 3 种应用最为广泛的构件技术规范COM、CORBA 和 EJB的各自特点。CORBA 的特点:(1)实现客户与服务对象的完全分开,客户不需要了解服务对象的实现过程以及具体位置。(2)应用程序间的统一接口。(3)采用面向对象的软件实现方法开发应用系统,实现对象内部细节的完整封装,保留对象方法的对外接口定义。(4)分层的设计原则和实现方式。COM的特点:(1)语言无关性。(2)可重用性。EJ
5、B的特点:(1)可移植性。(2)平台独立性。(3)简化了分布式对象的开发、部署和访问。6.就项目管理方面而言,软件重用项目与非重用项目有哪些不同之处。使用软件重用技术可减少重复工作,提高软件生产率,缩短开发周期。同时,由于软构建大多经过严格的质量认证,因此有助于改善软件质量,大量使用构建,软件的灵活性和标准化程度可得到提高。7.实际参与/组织一个软件重用项目的开发,然后总结你是如何组织该项目的开发的。针对之前的一个软件重用项目的开发过程,将该项目的的软部件进行整合,整理成软部件库,对不要重用的部分进行修剪同时选取需要的软部件。根据以上步骤,然后结合当前开发的项目,进行软件重用。8.软件体系结构
6、的研究范畴有哪些?举例加以说明?研究范畴:非形式化的框图,形式化建模符号、体系结构说明的分析与开发工具,体系结构再工程。其中典型的例子是美国卡耐基梅隆大学的Robert JA11en 于 l997 年提出的 Wright 系统名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 18 页 -9.根据软件体系结构的定义,你认为软件体系结构的模型应该由哪些部分组成?构件(component):可以是一组代码,如程序的模块也可以是一个独立的程序(如数据库的 SQL服务器);连接件(connector):是关系的抽象,用以表示构件之间的相互作用。如过程调用、管道、远程过程调用等;限制(cons
7、train):用于对构件和连接件的语义说明。10.在软件体系结构的研究和应用中,你认为还有哪些不足之处?(1)缺乏同意的软件体系结构的概念,导致体系结构的研究范畴模糊。(2)ADL繁多,缺乏同意的ADL的支持。(3)软件体系结构研究缺乏统一的理论模型支持。(4)在体系结构描述方便,尽管出现了多种标准规范或建议标准,但仍很难操作。(5)有关软件体系结构性质的研究尚不充分,不能明确给出一个良体系结构的属性或判定标准,没有给出良体系结构的设计指导原则,因而对于软件开发实践缺乏有力的促进作用。(6)缺乏有效的支持环境软件体系结构理论研究与环境支持不同步,缺乏有效的体系结构分析、设计、方针和验证工具支持
8、,导致体系结构应用上的困难。(7)缺乏有效的体系结构复用方案。(8)体系结构发现方法研究相对欠缺。第二章:1.软件体系结构模型是软件体系结构的表现形式,软件体系结构模型可以分为哪几种,具体是如何划分的?(1)结构模型这是一个最直观、最普遍的建模方法。这种方法以体系结构的构件、连接件和其他概念来刻画结构,并力图通过结构来反映系统的重要语义内容,包括系统的配置、约束、隐含的假设条件、风格、性质。研究结构模型的核心是体系结构描述语言。(2)框架模型框架模型与结构模型类似,但它不太侧重描述结构的细节而更侧重于整体的结构。框架模型主要以一些特殊的问题为目标建立只针对和适应该问题的结构。(3)动态模型动态
9、模型是对结构或框架模型的补充,研究系统的 大颗粒 的行为性质。例如,描述系统的重新配置或演化。动态可能指系统总体结构的配置、建立或拆除通信通道或计算的过程。这类系统常是激励型的。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 18 页 -(4)过程模型过程模型研究构造系统的步骤和过程。因而结构是遵循某些过程脚本的结果。(5)功能模型该模型认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。它可以看作是一种特殊的框架模型。2.选择一个规模合适的系统,为其建立“4+1”模型。3.引入了软件体系结构以后,传统软件过程发生了哪些变化?这种变化有什么好处?软件体系结构的引入使软件设
10、计开发更加具体和形象,它的模型更使得软件过程更加方便和多样化。其好处在于:包括程序员在内的绝大多数系统的利益相关人员都借助软件体系结构来进行彼此理解、协商、达成共识或者相互沟通的基础,软件体系机构的模型可以应用到具有相似质量属性和功能需求的系统中,并能够促进大规模软件的系统级复用,在很多方面使得软件开发更加人性化。4.软件体系结构的生命周期模型与软件生命周期模型有什么关系?软件体系结构是贯穿于软件研发的整个生命周期的系统开发、运行、维护所实施的全部工作和任务的结构框架,给出了软件开发活动各阶段之间的关系,软件体系结构的生命周期模型为软件生命周期模型提供了很好的结构依据和参考,也为其构建了很好的
11、开发方式。第三章软件体系结构风格1、层次系统结构和基于消息的层次系统结构有什么区别?层次结构将系统进行分级组织,其组织思想是:在层次结构中,每一层向上层提供服务,并作为客户向下层请求服务。分层系统的优点:支持基于抽象程度递增的系统设计;支持功能增强;支持重用。分层系统的缺点:并不是每个系统都可以很容易的划分为分层的模式,甚至即使是层次化的,出于性能的考虑,也不得不吧一些低及或高级的功能综合起来;很难找到一个合适的、正确的层次抽象方法。消息总线是系统的连接件、负责消息的分派、传递和过滤以及处理结果的返回。消息是名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 18 页 -构件之间通信
12、的唯一方式。由于构件通过总线进行连接,并不要求各个构件具有相同的地址空间或局限在一台机器上,因此该风格可以很好的刻画分布式开发系统,以及CORBA.DCOM和 EJB 规范的系统。2、试分析和比较 B/S,二层 C/S 和三层 C/S,指出各自的优点和缺点。二层 C/S 体系结构将应用一分为二,服务器负责数据管理,客户机完成与用户的交互任务。优点(1)C/S 体系结构具有强大的数据操作的事务处理能力,模型思想简单,易于人们理解和接受。(2)对软硬件的变化有极大的适应性和灵活性,易于对系统进行扩充和缩小。(3)系统中的功能构建充分隔离,节约大量费用。缺点:(1)开发成本较高。(2)客户端程序设计
13、复杂(3)信息内容和形式单一(4)用户界面风格不一,使用繁杂不易推广。(5)软件移植困难(6)软件维护和升级困难(7)新技术不能轻易应用。三层 CS 在上面的基础上进行了改造,并增加了一个服务器,其优点:(1)允许合理的划分三层结构的功能,能提高系统和软件的可维护性和可扩展性。(2)具有良好的可升级性和开放性。(3)应用的各层可以并行开发,可以选择各自最适合的开发语言。(4)为严格的安全管理奠定了坚实的基础。B/S 风格就是上述三层应用结构的一种实现方式,其具体结构为:浏览器/Web 服务器/数据库服务器。优点(1)基于 B/S 体系结构的软件,系统安装,修改和维护全在服务器端解决。(2)提供
14、了异种机,异种网,异种应用服务的联机,联网,同意服务的最现实的开放性基础。缺点(1)缺乏对动态页面的支持能力,没有集成有效的数据库处理能力。(2)在数据查询等响应速度上,要远远低于C/S 体系结构。(3)数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理应用。名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 18 页 -3、组织或参与一个采用B/S 和 C/S 混合体系结构的软件项目的开发,总结开发经验。首先,开发者根据一定的原则,将系统的所有子功能分类,决定哪些子功能适合采用C/S,哪些适合采用B/S。适合采用 C/S 的子功能应具备以下特点:1 安全性要求高;2
15、要求具有较强的交互性;3 使用范围小,地点固定;4 要求处理大量数据。例如,仓库管理系统中的入库单、领料单的输入功能,财务系统中的凭证输入功能等等。而适合采用 B/S 的子功能应具备以下特点:1 使用范围广,地点灵活;2 功能变动频繁;3 安全性、交互性要求不同。例如:企业内部信息发布功能,意见箱输入功能,公司财务分析表的查询功能,总裁决策支持系统中的查询功能等等。相对于单独采用C/S 或 B/S,这种方案的优点在于:1 保证敏感数据的安全性,特别是对数据库的修改和新增记录加强了控制;2 经济有效地利用企业内部计算机的资源,简化了一部分可以简化的客户端;3 既保证了复杂功能的交互性,又保证了一
16、般功能的易用与统一;4 系统维护简便,布局合理;5 网络效率最高。如果系统开发者在系统设计阶段决定采用这种C/S 与 B/S 相结合的模式,那么在系统开发生命周期的如下各个阶段相对这种新模式都应有所响应。在系统设计阶段主要考虑的是MIS 系统平台选择问题。在详细设计阶段,系统开发者需要根据企业自身的业务特点,以及一定的选择原则,来决定各个子功能采用哪一种模式并在系统说明书上分别注明。在编码设计阶段,系统开发者需要针对采用不同模式的子功能,选用不同的编码方式(例如:C/S 可以采用VB 编程环境,而B/S 采用 ASP方法),然后编译生成不同的客户应用及Web 服务程序。在安装调试阶段,其特点主
17、要体现在系统的物理结构上,即特定的客户应用程序将被安装在特定的使用者的客户端名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 18 页 -上,Web 服务程序需要被安装在Web 服务器上,而每个客户端上都将被安装上浏览器,同时,客户应用的使用者必须接受一定的培训。在软件维护阶段,针对不同模式的子功能应采取不同维护方式。4、组织或参与一个采用三层体系结构的软件项目的开发,总结开发经验。三层体系结构包括:用户界面表示层(USL)、业务逻辑层(BLL)、数据访问层(DAL)。各层的作用:1:数据访问层:主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就
18、是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务。2:业务逻辑层:主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建。3:表示层:主要表示 WEB 方式,也可以表示成WINFORM方式,WEB 方式也可以表现成:aspx,如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。三层是指逻辑上的三层,即使这三个层放置到一台机器上。三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。在保证客户端功能的前提下,为用户提供一个简洁的界面。这意味着如果需要修改
19、应用程序代码,只需要对中间层应用服务器进行修改,而不用修改成千上万的客户端应用程序。“中间业务层”的用途有很多,例如:验证用户输入数据、缓存从数据库中读取的数据等等.但是,“中间业务层”的实际目的是将“数据访问层”的最基础的存储逻辑组合起来,形成一种业务规则。要保证“数据访问层”的中的函数功能的原子性!即最小性和不可再分。“数据访问层”只管负责存储或读取数据就可以了。名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 18 页 -我们用三层结构主要是使项目结构更清楚,分工更明确,有利于后期的维护和升级。它未必会提升性能,因为当子程序模块未执行结束时,主程序模块只能处于等待状态。这说明
20、将应用程序划分层次,会带来其执行速度上的一些损失。但从团队开发效率角度上来讲却可以感受到大不相同的效果。需要说明一下,三层结构不是.NET 的专利,也不是专门用在数据库上的技术。它是一种更加普适的架构设计理念。此种架构要在数据库设计上注意表之间的关系,尽力满足主与子的关系。在功能上对用户要有一定的限制,不要表现在对于子表的删除操作一定要慎重,以免造成主表与子表的数据在逻辑上出现的主表的外键在子表中没有相对应的值。“三层结构”开发模式,入门难度够高,难于理解和学习。这是对于初学程序设计的人来说的。以这种模式开发出来的软件,代码量通常要稍稍多一些。这往往会令初学者淹没在茫茫的代码之中。望之生畏,对
21、其产生反感,也是可以理解的。5、在软件开发中,采用异构结构有什么好处,其负面影响有哪些?1).结构有不同的处理能力的强项和弱点,一个系统的体系结构应该根据实际需要进行选择,以解决实际问题。2).软件包,框架,通信以及其他一些体系机构上的问题,目前存在者多中标准。即使再某一段时间内某一标准占据着统治地位,但变动最终是绝对的。3).工作中,我们总会遇到一些遗留下的代码,它们仍有效用,但是却与新系统有某种程度上的不协调。然而在很多场合,将技术与经济综合进行考虑时,总是决定不重写它们。4).在某一单位中,规定了共享共同的软件包或相互关系的一些标准,仍会存在解释或表示习惯上的不同。名师资料总结-精品资料
22、欢迎下载-名师精心整理-第 8 页,共 18 页 -负面影响:大多数应用程序只使用10%的代码实现系统的公开功能,剩下90%的代码完成系统管理功能:输入和输出,用户界面,文本编辑,基本图表,标准对话框,通信,数据确认和旁听追踪,特定领域的基本定义等。6、选择一个你熟悉的大型软件系统,分析其体系结构中用到的风格,以及表现出的特点(为什么要采用这种风格?带来了哪些优势?具有哪些不足?)。对社交软件的分析:采用了C/S 风格,并且在一定程度上算为三层C/S 风格表示层:社交信息的显示,并提供了更新和搜索等操作功能层:具有搜索、在线聊天、离线留言、文件传输等等功能数据层:有数据库服务器提供留言、相册、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年软件体系结构作业完整版推荐 2022 软件 体系结构 作业 完整版 推荐
限制150内