1、目录第一章:软件体系结构概论41、就项目管理方面而言,软件重用项目与非重用项目有哪些不同之处。42、实际参与/组织一个软件重用项目的开发,然后总结你是如何组织该项目的开发的?43、为什么要研究软件体系结构?44、根据软件体系结构的定义,你认为软件体系结构的模型应该由哪些部分组成?55、在软件体系结构的研究和应用中,你认为还有哪些不足之处?56、根据自己的经验,谈谈对软件危机的看法?(结合表现、原因、如何克服描述)66.1、软件危机的表现?66.2、软件危机的原因?76.3、如何克服软件危机?87、研究软件体系结构的意义是什么?88、从哪些方面评估软件体系结构?9第二章:软件体系结构建模101、
2、选择一个规模合适的系统,为其建立“4+1”模型。102、引入了软件体系结构以后,传统软件过程发生了哪些变化?这种变化有什么好处?123、软件体系结构的生命周期模型与软件生命周期模型有什么关系?13第三章:软件体系结构风格131、层次系统结构和基于消息的层次系统结构有什么区别?132、试分析和比较B/S,二层C/S和三层C/S,指出各自的优点和缺点。133、SIS和DSSA分别用在哪些场合?144、在软件开发中,采用异构结构有什么好处,其负面影响有哪些?15第四章:软件体系结构描述151、体系结构描述有哪些?有哪些标准和规范?152、体系结构描述语言与程序设计语言的区别?163、选择一个规模适中
3、的系统,使用UML为其建模。17第五章:动态软件体系结构171、什么是动态软件体系结构?动态软件体系结构与静态软件体系结构有什么区别?172、基于构件的动态软件体系结构模型的层次结构是什么?17第六章:Web服务体系结构和SOA181、什么是Web服务体系结构?与传统的结构相比,使用Web服务有哪些好处?182、在Web服务中,如何实现其松散耦合的特点?183、试分析服务提供者、服务请求者和服务代理三者的作用,以及它们之间的工作流程。184、试解释Web服务栈的层次结构。195、Web服务有哪些核心技术,这些技术是如何在Web服务中发挥作用的。196、从管理的角度看,SOA有什么优点?207、
4、在实际开发中,如何实现Web服务和SOA结构?20第七章:基于体系结构的软件开发211、请把基于体系结构的软件开发模型与其他软件开发模型进行比较。212、请把基于体系结构的软件设计方法与其他软件设计方法进行比较。233、如何才能提高软件系统的可演化性。23第八章:软件体系结构的分析与测试241、什么是软件体系结构的可靠性?为什么要研究软件体系结构的可靠性?242、如何模型化系统的可靠性?243、软件体系结构风险分析有哪些基本步骤?244、软件体系结构测试与程序测试的主要区别是什么?24第一章:软件体系结构概论1、就项目管理方面而言,软件重用项目和非重用项目有哪些不一样之处。答:使用软件重用技术
5、可降低反复工作,提升软件生产率, 缩短开发周期。同时,因为软构建大多经过严格质量认证,所以有利于改善软件质量, 大量使用构建, 软件灵活性和标准化程度可得到提升。或:软件重用项目需要考虑生产可重用软部件机制。同时,软件重用项目能够降低开发活动中大量反复性工作,能提升软件生产率,降低开发成本,缩短开发周期。同时因为大量使用软构件,软件灵活性和标准化程度也可望得到提升。所以,软件重用项目在管理是比非重用项目更节省管理资源,同时管理起来更方便。2、实际参与/组织一个软件重用项目标开发,然后总结你是怎样组织该项目标开发?答:参与了一个网页管理系统开发,该项目反复使用已经有软件产品用于开发新软件系统,以
6、达成提升软件系统开发质量和效率,降低开发成本目标。在过程中使用了代码复用、设计结果复用、分析结果复用、测试信息复用等。3、为何要研究软件体系结构?答:所谓软件体系结构分析评定,就是事先经过代价低廉评定活动来识别软件结构中存在潜在风险,找出软件体系结构中影响系统质量关键原因及改善方法,并在此基础上检验软件质量需求是否在具体设计中得到实现,并预见未来软件质量。软件体系结构在软件开发和管理中饰演者越来越关键角色,软件体系结构设计对软件质量有着至关关键影响,对此最终确保系统质量相关键意义。软件体系结构评定,是对系统一些值关心属性进行评定和判定。评定结果可用于确定潜在风险,并检验设计阶段系统需求质量,在
7、系统被实际结构之前,估计其属性质量。或:答:1.软件体系结构是系统开发中不一样参与者进行交流和信息传输媒介。2软件体系结构代表了早期设计决议结果。3软件体系结构能够作为一个可变换模型。4、依据软件体系结构定义,你认为软件体系结构模型应该由哪些部分组成?答: 构件(component)能够是一组代码,如程序模块;也能够是一个独立程序(如数据库SQL服务器);连接件(connector)是关系抽象,用以表示构件之间相互作用。如过程调用、管道、远程过程调用等;限制(constrain):用于对构件和连接件语义说明。5、在软件体系结构研究和应用中,你认为还有哪些不足之处?答:(1)缺乏同意软件体系结构
8、概念,造成体系结构研究范围模糊。(2)ADL繁多,缺乏统一ADL支持。(3)软件体系结构研究缺乏统一理论模型支持。(4)在体系结构描述方便,尽管出现了多个标准规范或提议标准,但仍极难操作。(5)相关软件体系结构性质研究尚不充足,不能明确给出一个良体系结构属性或判定标准,没有给出良体系结构设计指导标准,所以对于软件开发实践缺乏有力促进作用。(6)缺乏有效支持环境软件体系结构理论研究和环境支持不一样时,缺乏有效体系结构分析、设计、方针和验证工具支持,造成体系结构应用上困难。(7)缺乏有效体系结构复用方案。(8)体系结构发觉方法研究相对欠缺。6、依据自己经验,谈谈对软件危机见解?(结合表现、原因、怎
9、样克服描述)6.1、软件危机表现?l 软件成本日益增加 因为软件是逻辑、智力产品,软件开发需建立庞大逻辑体系,这是和其它产品生产不一样。 在软件开发过程中,用户需求改变等多种意想不到情况层出不穷,令软件开发过程极难确保按预定计划实现,给项目计划和论证工作带来了很大困难。 盲目增加软件开发人员并不能成百分比地提升软件开发能力。相反,伴随人员数量增加,人员组织、协调、通信、培训和管理等方面问题将更为严重。l 开发进度难以控制l 软件质量差软件项目即使能按预定日期完成,结果却不尽人意。1965年至1970年,美国范登堡基地发射火箭数次失败,绝大部分故障是由应用程序错误造成。 在“软件作坊”里,因为缺
10、乏工程化思想指导,程序员几乎总是习惯性地以自己想法去替换用户对软件需求,软件设计带有随意性,很多功效只是程序员“一厢情愿”而已,这是造成软件不能令人满意关键原因。l 软件维护困难因为在软件设计和开发过程中,没有严格遵照软件开发标准,多种随意性很大,没有完整真实反应系统情况统计文档,给软件维护造成了巨大困难。 尤其是在软件使用过程中,原来开发人员可能因多种原因已经离开原来开发组织,使得软件几乎不可维护6.2、软件危机原因?l 用户需求不明确 在软件开发完成之前,用户不清楚软件具体需求;用户对软件需求描述不正确,可能有遗漏、有二义性、甚至有错误;在软件开发过程中,用户还提出修改软件功效、界面、支撑
11、环境等方面要求;开发人员对用户需求了解和用户原来愿望有差异。l 缺乏正确理论指导缺乏有力方法学和工具方面支持。因为软件不一样于大多数其它工业产品,其开发过程是复杂逻辑思维过程,其产品极大程度地依靠于开发人员高度智力投入。因为过分地依靠程序设计人员在软件开发过程中技巧和发明性,加剧软件产品个性化,也是发生软件危机一个关键原因。 l 软件规模越来越大伴随软件应用范围增广,软件规模愈来愈大。大型软件项目需要组织一定人力共同完成,而多数管理人员缺乏开发大型软件系统经验,而多数软件开发人员又缺乏管理方面经验。各类人员信息交流不立即、不正确、有时还会产生误解。 软件项目开发人员不能有效地、独立自主地处理大
12、型软件全部关系和各个分支,所以轻易产生疏漏和错误。 l 软件复杂度越来越高软件不仅仅是在规模上快速地发展扩大,而且其复杂性也急剧地增加。软件产品特殊性和人类智力不足,造成大家无力处理“复杂问题”。 所谓“复杂问题”概念是相正确,一旦大家采取优异组织形式、开发方法和工具提升了软件开发效率和能力,新、更大、更复杂问题又摆在大家面前。 6.3、怎样克服软件危机?大家面临不光是技术问题,更关键是管理问题。管理不善肯定造成失败 。要提升软件开发效率,提升软件产品质量,必需采取工程化开发方法和工业化生产技术。在技术上,应该采取基于重用软件生产技术;在管理上,应该采取多维工程管理模式。7、研究软件体系结构意
13、义是什么?(1)体系结构是风险负担者进行交流手段软件体系结构代表了系统公共高层次抽象。这么,系统大部分相关人员(即使不是全部)能把它作为建立一个相互了解基础,形成统一认识,相互交流。(2)体系结构是早期设计决议表现l 明确了对系统实现约束条件l 决定了开发和维护组织组织结构l 制约着系统质量属性l 经过研究软件体系结构可能估计软件质量l 使推理和控制更改更简单l 有利于循序渐进原型设计l 能够作为培训基础(3)软件体系结构是可传输和可重用模型软件体系结构级重用意味着体系结构决议能在含有相同需求多个系统中发生影响,这比代码级重用作用更大。8、从哪些方面评定软件体系结构?答:(1)性能是指系统影响
14、能力,即要经过多长时间才能对某个事件作出响应,或在某段事件内系统所能处理事件个数。(2)可靠性是软件系统在应用或系统错误面前,在意外或错误使用情况下维持软件系统功效特征基础能力。(3)可用性是系统能够正常运行时间百分比。常常见两次故障间时间长度或在出现故障时系统能够恢复正常速度来表示。(4)安全性是指系统在向正当用户提供服务同时能够阻止非授权用户使用企图或拒绝服务能力。安全性又可划分为机密性、完整性、不可否认性及可控性等特征。(5)可修改性是指能够快速以较高性能代价比对系统进行变更能力。(6)功效性是系统所能完成所期望工作能力。(7)可变性是指体系结构经扩充或变更而成为新体系结构能力。(8)可
15、集成性是指系统能和其它系统协作程度(9)互操作性是指和其它环境或系统本身相互作用能力。第二章:软件体系结构建模1、选择一个规模适宜系统,为其建立“4+1”模型。逻辑视图(Logical View),设计对象模型(使用面向对象设计方法时)。开发视图(Development View),描述了在开发环境中软件静态组织结构。进程视图(Process View),捕捉设计并发和同时特征。物理视图(Physical View),描述了软件到硬件映射,反应了分布式特征。 架构描述,即所做多种决定,能够围绕着这四个视图来组织,然后由部分用例 (use cases)或场景(scenarios)来说明,从而形成
16、了第五个视图。2、引入了软件体系结构以后,传统软件过程发生了哪些改变?这种改变有什么好处? 答:软件体系结构引入使软件设计开发愈加具体和形象,它模型更使得软件过程愈加方便和多样化。其好处于于:包含程序员在内绝大多数系统利益相关人员全部借助软件体系结构来进行相互了解、协商、达成共识或相互沟通基础,软件体系机构模型能够应用到含有相同质量属性和功效需求系统中,并能够促进大规模软件系统级复用,在很多方面使得软件开发愈加人性化。3、软件体系结构生命周期模型和软件生命周期模型有什么关系?答:软件体系结构是贯穿于软件研发整个生命周期系统开发、运行、维护所实施全部工作和任务结构框架,给出了软件开发活动各阶段之
17、间关系,软件体系结构生命周期模型为软件生命周期模型提供了很好结构依据和参考,也为其构建了很好开发方法。第三章:软件体系结构风格1、层次系统结构和基于消息层次系统结构有什么区分?答:层次结构将系统进行分级组织,其组织思想是:在层次结构中,每一层向上层提供服务,并作为用户向下层请求服务。分层系统优点:支持基于抽象程度递增系统设计;支持功效增强;支持重用。分层系统缺点:并不是每个系统全部能够很轻易划分为分层模式,甚至即使是层次化,出于性能考虑,也不得不吧部分低及或高级功效综合起来;极难找到一个适宜、正确层次抽象方法。消息总线是系统连接件、负责消息分配、传输和过滤和处理结果返回。消息是构件之间通信唯一
18、方法。因为构件经过总线进行连接,并不要求各个构件含有相同地址空间或局限在一台机器上,所以该风格能够很好刻画分布式开发系统,和CORBA.DCOM和EJB规范系统。2、试分析和比较B/S,二层C/S和三层C/S,指出各自优点和缺点。答:二层C/S体系结构将应用一分为二,服务器负责数据管理,用户机完成和用户交互任务。优点(1)C/S体系结构含有强大数据操作事务处理能力,模型思想简单,易于大家了解和接收。(2)对软硬件改变有极大适应性和灵活性,易于对系统进行扩充和缩小。(3)系统中功效构建充足隔离,节省大量费用。缺点:(1)开发成本较高。(2)用户端程序设计复杂(3)信息内容和形式单一(4)用户界面
19、风格不一,使用繁杂不易推广。(5)软件移植困难(6)软件维护和升级困难(7)新技术不能轻易应用。三层CS在上面基础上进行了改造,并增加了一个服务器,其优点:(1)许可合理划分三层结构功效,能提升系统和软件可维护性和可扩展性。(2)含有良好可升级性和开放性。(3)应用各层能够并行开发,能够选择各自最适合开发语言。(4)为严格安全管理奠定了坚实基础。B/S风格就是上述三层应用结构一个实现方法,其具体结构为:浏览器/Web服务器/数据库服务器。优点(1)基于B/S体系结构软件,系统安装,修改和维护全在服务器端处理。(2)提供了异种机,异种网,异种应用服务联机,联网,同意服务最现实开放性基础。缺点(1
20、)缺乏对动态页面支持能力,没有集成有效数据库处理能力。(2)在数据查询等响应速度上,要远远低于C/S体系结构。(3)数据提交通常以页面为单位,数据动态交互性不强,不利于在线事务处理应用。3、SIS和DSSA分别用在哪些场所?答:1.DSSA只对某一个领域进行设计教授知识提取,存放和组织,但能够同时使用多个体系结构风格;而在某个体系结构风格中进行体系结构设计教授知识组织时,能够将提取公共结构和设计方法扩展到多个领域。2.DSSA特定领域参考体系结构通常选择一个或多个适合所研究领域体系结构风格,并设计一个该领域专用体系结构分析设计工具。3体系结构风格定义和该风格应用领域是直交,提取设计知识比用DS
21、SA提取设计教授知识应用范围要广。4DSSA和体系结构风格是互为互补两项技术。SIS:交互式网络互连服务 DSSA:特定领域软件体系结构4、在软件开发中,采取异构结构有什么好处,其负面影响有哪些?答:1.结构有不一样处理能力强项和弱点,一个系统体系结构应该依据实际需要进行选择,以处理实际问题。2.软件包,框架,通信和其它部分体系机构上问题,现在存在者多中标准。即使再某一段时间内某一标准占据着统治地位,但变动最终是绝正确。3.工作中,我们总会碰到部分遗留下代码,它们仍有效用,不过却和新系统有某种程度上不协调。然而在很多场所,将技术和经济综合进行考虑时,总是决定不重写它们。4.在某一单位中,要求了
22、共享共同软件包或相互关系部分标准,仍会存在解释或表示习惯上不一样。负面影响:大多数应用程序只使用10%代码实现系统公开功效,剩下90%代码完成系统管理功效:输入和输出,用户界面,文本编辑,基础图表,标准对话框,通信,数据确定和旁听追踪,特定领域基础定义等。第四章:软件体系结构描述1、体系结构描述有哪些?有哪些标准和规范?体系结构描述方法:(1)图形表示工具:由矩形框和有向线段组合而成。(2)模块内连接语言:将一个或多个传统程序设计语言模块连接起来语言。(3)基于软构件系统描述语言:将软件系统描述成一个是由很多以特定形式相互作用特殊软件实体结构组成组织或系统。(4)软件体系结构描述语言:是参考传
23、统程序设计语言设计和开发经验,针对软件体系结构特点重新设计、开发和使用专门软件体系结构描述语言。体系结构描述标准和规范:IEEEP1471:于9月21日经过IEEE-SA标准委员会评审。2、体系结构描述语言和程序设计语言区分? 结构能力:ADL能够使用较小独立体系结构元素来建造大型软件系统; 抽象能力:ADL使得软件体系结构中构件和连接件描述能够只关注它们抽象特征,而不管其具体实现细节; 重用能力:ADL使得组成软件系统构件、连接件甚至是软件体系结构全部成为软件系统开发和设计可重用部件; 组合能力:ADL使得其描述每一系统元素全部有其自己局部结构,这种描述局部结构特点使得ADL支持软件系统动态
24、改变组合; 异构能力:ADL允很多个不一样体系结构描述关联存在; 分析和推理能力:ADL许可对其描述体系结构进行多个不一样性能和功效上多个推理分析。经典元素含义比较:3、选择一个规模适中系统,使用UML为其建模。第五章:动态软件体系结构1、什么是动态软件体系结构?动态软件体系结构和静态软件体系结构有什么区分?答:动态软件体系结构动态性包含:交互性动态性,结构化动态性,体系结构动态性。因为系统需求,技术,环境,分布等原因改变而最终造成软件体系结构变动,称之为软件体系结构演化。软件系统在运行时刻体系结构改变称之为软件体系结构动态性,动态软件体系结构动态性包含:交互性动态性,结构化动态性,体系结构动
25、态性。2、基于构件动态软件体系结构模型层次结构是什么?答:基于构件动态系统结构模型支持运行系统动态更新,该模型分为三类,分别是应用层,中间层和体系结构层。(1) 应用层:处于最底层,包含构件链接,构件接口和实施(2) 中间层:包含连接件配置,构件配置,构件描述及实施(3) 体系结构层:在最上层,控制和管理整个体系结构,包含体系结构配置,体系结构描述和实施。第六章:Web服务体系结构和SOA1、什么是Web服务体系结构?和传统结构相比,使用Web服务有哪些好处?答:Web服务作为一个新兴Web应用模式,是一个崭新分布式计算模型,是Web上数据和信息集成有效机制。Web服务就像Web上构件编程,开
26、发人员经过调用Web应用编程接口,将Web服务集成进她们应用程序,就像调用当地服务一样。这关键包含一下模块内容:数据层、数据访问层、业务层、业务面、监听者;Web服务不一样描述:应用风不是;应用到应用交互;平台无关性;Web服务开发生命周期:构建、布署、运行、管理;Web服务特点:使用标准协议规范;使用协越规范性;高度集成能力;完好封装性;松散耦合;和传统结构相比,含有以下多个优点:高度通用性和易用性;完全平台、语言独立性;高度集成性;轻易布署和公布;2、在Web服务中,怎样实现其松散耦合特点?答:C/S结构是松散耦合系统,它们经过消息传输机制进行通话,由用户端发出请求给服务器,服务器进行对应
27、处理后经传输机制送回用户端。3、试分析服务提供者、服务请求者和服务代理三者作用,和它们之间工作步骤。答:服务请求者和服务提供者经过语义进行交互,服务提供者提交web服务描述给服务代理者,服务代理者返回web服务描述给服务请求者。4、试解释Web服务栈层次结构。答: XML(可扩展标识语言)、SOAP(简单对象访问协议)、WSDL(web服务定义语言)、UDDI(统一描述发觉和集成)。5、Web服务有哪些关键技术,这些技术是怎样在Web服务中发挥作用。答:Web服务技术关键基于可扩展标识语言XML标准,包含简单对象访问协议,Web服务描述语言和统一描述,发觉和集成协议。SOAP定义了三部分:定义
28、了描述消息和怎样处理消息框架封装,表示应用程序定义数据类型实例编码规则和描述远程调用和应答协议和SOAP编订。WSDL为服务者提供以XML格式描述WEB服务请求标准格式,经网络服务描述为能够进行消息交换通信端点集合,以表示一个Web服务能做什么,她位置在哪里,和怎样调用等信息。UDDL规范描述了Web概念,同时也定义了一个编程接口。经过UDDL提供标准接口,企业能够公布自己Web服务供其它企业调用和查询,业能够查询特地服务描述信息,并动态绑定到该服务上,经过UDDL,Web服务能够真正实现信息“一次注册四处访问”。6、从管理角度看,SOA有什么优点?答:(1)更易于维护;服务提供者和服务和服务
29、使用者松散耦合关系及对开放标准采取确保了该特征实现。(2)更高可用性;该特征在服务提供者和服务使用者松散耦合关系上得以表现。使用者无需了解提供者实现细节。(3)愈加好伸缩性;依靠服务设计、开发和布署所采取架构模型实现伸缩性。服务提供者能够相互独立调整,以满足服务需求。7、在实际开发中,怎样实现Web服务和SOA结构?答:申明技术:J2EE编程模型就是使用申明技术提供给用程序逻辑和中间件配置分离一个例子。抽象:在一些情况下,SOA基础结构中能够提供API,以用于特定用途。比如,SOA基础结构能够提供错误汇报和审核机制。在设计这类API时应很小心,要注意其易用性。我们应优先考虑申明技术,而不是对这
30、些机制进行编程配置。一样,在标准API可用时,我们应经过这些标准API公开SOA基础结构功效,而不是采取自己开发编写方法。代码生成:在无法避免代码复杂性地方,能够使用代码生成技术。比如,Web服务描述语言(WebServicesDefinitionLanguage,WSDL)就能够为开发人员隐藏SOAP、HTTP和JMS复杂细节。这是经过组适用WSDL表示可由计算机处理接口定义和可从WSDL生成相关调用代码语言特定实现工具来实现。工具:在不可避免SOA基础结构细节进入开发人员代码情况下,我们能够经过使用适宜工具扩展开发环境来降低开发人职员作复杂性。IBMRationalSoftwareDeve
31、lopmentPlatform产品所提供基于Eclipse环境可使用自定义插件、代码片段和用户指南轻松地进行扩展。模型驱动开发:模型驱动开发技术能够被视为前面两种方法特定复杂组合,同时利用了工具和代码生成功效来简化开发体验。开发人员生成统一建模语言(UnifiedModelingLanguage,UML)模型,这类模型可转换为对应代码,其中包含利用SOA基础结构所必需代码。总而言之,在定义面向服务体系结构及其基础结构时,我们必需尤其注意开发人员需求。当为开发人员提供指南,以通知她们应怎样开发或使用服务时,我们应该寻求可促进这些指导方针遵照机制。SOA内控制对其成功甚为关键。第七章:基于体系结构
32、软件开发1、请把基于体系结构软件开发模型和其它软件开发模型进行比较。答:软件开发模型有演化模型、螺旋模型、喷泉模型、智能模型等。传统软件开发模型存在开发效率不高,不能很好地支持软件重用等缺点。在多个大中型软件项目标实践基础上,提出了基于体系结构软件开发模(ABSD)。ABSD模型把整个基于体系结构软件过程划分为体系结构需求、设计、文档化、复审、实现、演化等6个子过程,讨论了各个子过程所要完成工作,给出了ABSD模型在劳动和社会保险领域一个应用实例。实践表明,采取ABSD模型进行软件项目开发,含有结构清楚、易于了解、可移植性强、重用粒度大等优点。答:一、基于体系结构为基础基于构件组装软件开发模型
33、,如基于构件开发模型和基于体系结构开发模型等。基于体系结构开发模型是以软件体系结构为关键,以基于构件开发方法为基础。然后采取迭代增量方法进行分析和设计,将功效设计空间映射到结构设计空间,再由结构设计空间映射到系统设计空间过程。特点:是利用需求分析结果设计出软件总体结构,经过基于构件组装方法来结构软件系统。优点:软件复用,提升了开发效率。软件结构框架更清楚,有利于系统设计、开发和维护。缺点:缺乏通用组装结构标准,所以引入了较大风险。可重用性和软件高效性不易协调。用户满意度低,过分依靠于影响产品质量。二、以软件需求完全确定为前提软件开发模型,如瀑布模型等。特点:软件需求在开发阶段已经被完全确定,将
34、生命周期各项活动依次序固定,强调开发阶段性;优点:开发步骤简单。缺点:是开发后期要更正早期存在问题需要付出很高代价,用户需要等候较长时间才能够看到软件产品,增加了风险系数。三、在开始阶段只能提供基础需求渐进式开发模型,如螺旋模型和原型实现软件开发模型等。特点:软件开发开始阶段只有基础需求,软件开发过程各个活动是迭代。经过迭代过程实现软件逐步演化,最终得到软件产品。在此引入了风险管理,增加项目成功几率优点:强调了其它模型均忽略了风险分析。缺点:因为需求不完全性,从而为软件总体设计带来了困难并要求对风险技能管理水平高要求。2、请把基于体系结构软件设计方法和其它软件设计方法进行比较。基于体系结构开发
35、方法出现了基于构件、基于框架、基于模板开发技术,项目利用基于体系结构开发思想,从需求到高层框架设计、架构设计、平台实现,充足表现了基于体系结构开发中从高层设计入手,复用体系结构框架、设计和实现可复用构件标准。另外,和其它软件设计方法区分还有:1、单个用户界面和业务逻辑改动不会影响到系统整体2、开发人员组织用户界面和业务逻辑定制可由领域人员来完成;专业计算机人员制作不一样粒度构件,完成模型开发。3、不一样业务对象有相同业务逻辑,可直接复用其构件。4、在系统维护过程更新某一模块,不会影响系统其它部分。3、怎样才能提升软件系统可演化性。答:结构性和演化性是软件两个基础特征。软件进行渐变并达成所期望形
36、态就是软件演化,软件演化是由一系列复杂改变活动组成。对软件改变控制是软件开发者一向追求目标。引发软件改变原因是多方面,如基础设施改变,功效需求增加,高性能算法发觉,技术环境原因改变等。所以对软件改变甚至演化进行了解和控制显得比较复杂和困难。 (1)必需频繁地改变以适应要求。(2)软件复杂度不停地增加。 (3)经过自我调整以符合产品需求和过程特征。(4)在软件生命周期中保持一定组织稳定性。(5)不一样版本之间保持一定连贯性。(6)功效连续地增加。(7)在没有严格维护和适应性修改情况下会出现质量衰退。(8)是一个反馈系统。第八章:软件体系结构分析和测试1、什么是软件体系结构可靠性?为何要研究软件体
37、系结构可靠性?答:经过系统具体说明书,确定系统所采取体系结构风格。把每一个体系结构风格转换成状态视图,并计算状态视图中每一个状态可靠性及其对应迁移概率。经过整个系统体系结构视图,把全部状态视图集成为一个整体状态视图。经过整体状态视图结构系统迁移矩阵,并计算系统可靠性。2、怎样模型化系统可靠性?答:软件体系结构风险分析有哪些基础步骤采取体系结构描述语言ADL对体系结构进行建模经过模拟方法实施复杂性分析经过FMEA和模拟运行实施严重性分析为构件和连接件开发其启发式风险因子建立用于风险评定CDG3、软件体系结构风险分析有哪些基础步骤?答:软件体系结构风险分析有哪些基础步骤采取体系结构描述语言ADL对
38、体系结构进行建模经过模拟方法实施复杂性分析经过FMEA和模拟运行实施严重性分析为构件和连接件开发其启发式风险因子建立用于风险评定CDG4、软件体系结构测试和程序测试关键区分是什么?答:软件体系结构测试要研究对象时软件体系结构设计,并以此为基础产生高层次测试用例集,以指导代码层测试活动。她目标是找出体系结构设计错误和缺点,产生指导代码测试测试计划和测试用例,软件体系结构测试和传统软件测试现有联络又有区分,而软件体系结构测试包含两个方面,一个是软件体系结构结构分析,一个侍女软件体系结构测试。程序测试是指对一个完成了全部或部分功效、模块计算机程序在正式使用前检测,以确保该程序能按预定方法正确地运行。现在,软件正确性还未得到根本处理,软件测试仍是发觉软件错误和缺点关键手段。为了发觉系统中错误,应尽力设计能暴露错误测试用例。测试用例是有测试数据和预期结果组成。一个好测试用例是极有可能发觉至今为止还未发觉错误测试用例。高效测试是指用少许测试用例,发觉被测软件尽可能多错误。软件测试所追求是以尽可能少时间和人力发觉软件产品尽可能多错误。
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100