软件体系结构课后作业及参考答案
体系结构课后习题答案

3.某模型机有10条指令I1~I10,它们的使用频度分别为0.3,0.24,0.16,0.12,0.07,0.04,0.03,0.02,0.01,0.01。
(1)计算采用等长操作码表示时的信息冗余量。
(2)要求操作码的平均长度最短,试设计操作码的编码,并计算所设计操作码的平均长度。
(3)只有二种码长,试设计平均码长最短的扩展操作码编码并计算平均码长。
(4)只有二种码长,试设计平均码长最短的等长扩展码编码并计算平均码长。
3.(1)采用等长操作码表示时的信息冗余量为33.5%。
(2)操作码的Huffman编码法如表2.2所示,此种编码的平均码长为2.7位。
表2.2 操作码的Huffman编码法、2-5扩展码和2-4等长扩展码编码法(3)操作码的2-5扩展码编码法如表2.2所示,此种编码的平均码长为2.9位。
(4)操作码的2-4等长扩展码编码法如表2.2所示,此种编码的平均码长为2.92位。
5.若某机设计有如下格式的指令:三地址指令12种,一地址指令254种,设指令字的长度为16位,每个地址码字段的位数均为4位。
若操作码的编码采用扩展操作码,问二地址指令最多可以设计多少种?5.二地址指令最多可以设计48种。
6.一台模型机共有9条指令I1~I9,各指令的使用频度分别为30%,20%,20%,10%,8%,6%,3%,2%,1%。
该模型机有8位和16位两种指令字长。
8位字长指令为寄存器-寄存器(R-R)二地址类型,16位字长指令为寄存器-存储器(R-M)二地址变址寻址类型。
(1)试设计有二种码长的扩展操作码,使其平均码长最短,并计算此种编码的平均码长。
(2)在(1)的基础上,该机允许使用多少个可编址的通用寄存器?(3)若采用通用寄存器作为变址寄存器,试设计该机的两种指令格式,并标出各字段的位数。
(4)计算变址寻址的偏移地址范围。
6.(1)操作码的2-5扩展码编码法如表2.3所示,此种编码的平均码长为2.9位。
计算机体系结构课后习题

第1章 计算机系统结构的基本概念1.1 试用实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系。
答:如在设计主存系统时,确定主存容量、编址方式、寻址范围等属于计算机系统结构。
确定主存周期、逻辑上是否采用并行主存、逻辑设计等属于计算机组成。
选择存储芯片类型、微组装技术、线路设计等属于计算机实现。
计算机组成是计算机系统结构的逻辑实现。
计算机实现是计算机组成的物理实现。
一种体系结构可以有多种组成。
一种组成可以有多种实现。
1.2 计算机系统设计中经常使用的4个定量原理是什么?并说出它们的含义。
答:(1)以经常性事件为重点。
在计算机系统的设计中,对经常发生的情况,赋予它优先的处理权和资源使用权,以得到更多的总体上的改进。
(2)Amdahl 定律。
加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性。
(3)CPU 性能公式。
执行一个程序所需的CPU 时间 = IC ×CPI ×时钟周期时间。
(4)程序的局部性原理。
程序在执行时所访问地址的分布不是随机的,而是相对地簇聚。
1.3 计算机系统中有三个部件可以改进,这三个部件的部件加速比为:部件加速比1=30; 部件加速比2=20; 部件加速比3=10(1) 如果部件1和部件2的可改进比例均为30%,那么当部件3的可改进比例为多少时,系统加速比才可以达到10?(2) 如果三个部件的可改进比例分别为30%、30%和20%,三个部件同时改进,那么系统中不可加速部分的执行时间在总执行时间中占的比例是多少?解:(1)在多个部件可改进情况下,Amdahl 定理的扩展:∑∑+-=iii n S F F S )1(1已知S 1=30,S 2=20,S 3=10,S n =10,F 1=0.3,F 2=0.3,得:)()(10/20/0.330/0.30.30.3-111033F F +++++=得F 3=0.36,即部件3的可改进比例为36%。
软件体系结构课后习题第三章作业

题1.层次系统结构和基于消息的层次系统结构有什么区别?答:层次系统组织成一个层次结构,每一层为上层服务,并作为下层客户。
在一些层次系统中,除了一些精心挑选的输出函数外,内部的层只对相邻的层可见。
这样的系统中构件在一些层实现了虚拟机(在另一些层次系统中层是部分不透明的)。
连接件通过决定层间如何交互的协议来定义,拓扑约束包括对相邻层间交互的约束。
这种风格支持基于可增加抽象层的设计。
允许将一个复杂问题分解成一个增量步骤序列的实现。
由于每一层最多只影响两层,同时只要给相邻层提供相同的接口,允许每层用不同的方法实现,同样为软件重用提供了强大的支持。
而在基于消息的层次系统结构中构件不直接调用一个过程,而是触发或广播一个或多个事件。
系统中的其它构件中的过程在一个或多个事件中注册,当一个事件被触发,系统自动调用在这个事件中注册的所有过程,这样,一个事件的触发就导致了另一模块中的过程的调用。
这种风格的构件是一些模块,模块既可以是一些过程,又可以是一些事件的集合。
过程可以用通用的方式调用,也可以在系统事件中注册一些过程,当发生这些事件时,过程被调用。
这种风格的主要特点是事件的触发者并不知道哪些构件会被这些事件影响。
这样不能假定构件的处理顺序,甚至不知道哪些过程会被调用,因此,许多隐式调用的系统也包含显式调用作为构件交互的补充形式。
题2.分析比较B/S、二层C/S和三层C/S,指出各自的优点和缺点。
二层C/S结构的优点:◆C/S 体系结构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。
◆系统的客户应用程序和服务器构件分别运行在不同的计算机上,系统中每台服务器都可以适合各构件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小。
◆在C/S体系结构中,系统中的功能构件充分隔离,客户应用程序的开发集中于数据的显示和分析,而数据库服务器的开发则集中于数据的管理,不必在每一个新的应用程序中都要对一个DBMS进行编码。
软件体系结构 习题答案

软件体系结构习题答案软件体系结构习题答案1. 什么是软件体系结构?软件体系结构是指软件系统的整体结构和组织方式,它描述了软件系统中各个组件之间的关系以及它们的功能和行为。
软件体系结构通常包括多个层次,从整体到细节逐渐展开,以便更好地理解和设计软件系统。
2. 为什么软件体系结构很重要?软件体系结构对于软件系统的开发和维护具有重要意义。
它可以提供一个框架,指导软件开发者进行系统设计和实现。
良好的软件体系结构可以提高软件系统的可维护性、可扩展性和可重用性,同时降低开发和维护的成本。
3. 软件体系结构有哪些常见的模式?常见的软件体系结构模式包括分层模式、客户端-服务器模式、发布-订阅模式、模型-视图-控制器模式等。
每种模式都有其特定的应用场景和优缺点,开发者可以根据具体需求选择合适的模式。
4. 什么是分层模式?分层模式是一种常见的软件体系结构模式,将软件系统划分为多个层次,每个层次负责不同的功能。
通常包括表示层、业务逻辑层和数据访问层。
这种模式可以提高系统的可维护性和可扩展性,同时降低各个层次之间的耦合度。
5. 客户端-服务器模式是什么?客户端-服务器模式是一种常见的软件体系结构模式,将软件系统划分为客户端和服务器两部分。
客户端负责用户界面和用户交互,而服务器负责处理客户端的请求并提供相应的服务。
这种模式可以实现分布式计算和资源共享,提高系统的可伸缩性和可靠性。
6. 发布-订阅模式是什么?发布-订阅模式是一种常见的软件体系结构模式,用于实现消息传递和事件通知。
发布者将消息发布到一个或多个主题,而订阅者可以选择订阅感兴趣的主题并接收相关的消息。
这种模式可以实现解耦和灵活的通信方式,适用于分布式系统和异步通信。
7. 模型-视图-控制器模式是什么?模型-视图-控制器(MVC)模式是一种常见的软件体系结构模式,用于实现用户界面和业务逻辑的分离。
模型负责处理数据和业务逻辑,视图负责显示用户界面,而控制器负责协调模型和视图之间的交互。
软件体系结构习题答案

支持基于抽象程度递增的系统设计;支持功能增强;支持重用。分层系统的缺点:并不是每个系统都可以很容易的划分为分层的模式,甚至即使是层次化的,出于性能的考虑,也不得不吧一些低及或高级的功能综合起来;很难找到一个合适的、正确的层次抽象方法。
(1)
(2)
(3)应用层:处于最底层,包括构件链接,构件接口和执行中间层:包括连接件配置,构件配置,构件描述及执行体系结构层:位于最上层,控制和管理整个体系结构,包括体系结构配置,体系结构描述和执行。
1、请把基于体系结构的软件开发模型与其他软件开发模型进行比较。
答:软件开发模型有演化模型、螺旋模型、喷泉模型、智能模型等。传统软件开发模型存在开发效率不高,不能很好地支持软件重用等缺点。在
b/s风格就是上述三层应用结构的一种实现方式,其具体结构为:浏览器/web服务器/数据库服务器。优点(1)基于b/s体系结构的软件,
系统安装,修改和维护全在服务器端解决。(2)提供了异种机,异种网,异种应用服务的联机,联网,同意服务的最现实的开放性基础。缺点(1)缺乏对动态页面的支持能力,没有集成有效的数据库处理能力。(2)在数据查询等响应速度上,要远远低于c/s体系结构。(3)数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理应用。
3、sis和dssa分别用在哪些场合?
答:1.dssa只对某一个领域进行设计专家知识的提取,存储和组织,但可以同时使用多种体系结构风格;而在某个体系结构风格中进行体系结
构设计专家知识的组织时,可以将提取的公共结构和设计方法扩展到多个领域。
2.dssa的特定领域参考体系结构通常选用一个或多个适合所研究领域的体系结构风格,并设计一个该领域专用的体系结构分析设计工具。
(完整版)软件体系结构复习题及答案

概述部分1、请分析软件危机的主要表现和原因。
表现:a)软件成本日益增加:开发、部署与应用成本高b)开发进度难以控制:不能按期完成c)软件质量差:错误率高,不能满足用户的需求,没有生命力d)软件维护困难:成本高,维护效果不理想,可能带来潜在的错误原因:1.用户需求不明确2.缺乏正确的理论指导3.软件规模越来越大4.软件复杂度越来越高2、请说明软件规模与复杂度对软件过程的影响及解决方法。
软件规模与复杂度增加后,软件开发和维护成本增加,开发进度难以控制,软件质量差,软件维护变得困难。
应更多地采用科学的分析、设计和实现方法以及辅助工具,增强软件分析和设计的力度,并通过构件化提高软件的重用能力。
3、什么是软件体系结构,由哪三个部分组成?(构件、连接件、约束)软件体系结构为软件系统提供了一个结构、属性和行为的高级抽象。
它不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
4、请简述软件重用的含义和意义。
可重用元素包括哪些种类?软件重用是指在多次不同的软件开发过程中重复使用相同或相近软件元素的过程。
(含义)可重用的元素包括程序代码、测试用例、设计文档、需求分析文档甚至领域知识。
(种类)可重用的元素越大,我们就说重用的粒度(Granularity)越大。
软件重用是软件产业工业化、工程化的重要手段。
软件重用对提高生产率,降低开发成本,缩短开发周期,改善软件质量以及提高灵活性和标准化程度大有帮助。
(意义)5、请简述常用的构件实现模型及其意义。
实现模型:1.CORBA2.EJB / DCOM / COM+意义:这些模型通常都定义了构件的实现方式、接口定义、访问方法等。
符合这些标准的任何构件都有很高的重用能力。
描述部分6、请用图示法说明4+1模型的5种视图之间的关系及关注点和涉众用户。
数据视图风格部分7、什么是软件体系结构的风格?它在软件开发过程中具有何种意义?软件体系结构风格是指设计、组织和实现软件体系结构的各种惯用模式和习惯用法,是对一系列体系结构设计的抽象。
软件工程课后习题(含答案)

第一章练习题一、填空题1、软件工程三要素是:方法、工具、过程。
2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。
二、名词(术语)解释:1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。
可靠性是衡量软件质量的一个重要目标。
2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。
可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。
三、问答题1、面向对象方法的优点是什么?答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。
(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。
2、可视化开发方法的优点有哪些?答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。
(2)软件开发简单,易学、易上手。
(3)专业或非专业人员都能参与软件开发活动。
第二章练习题一、填空题:1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工程活动。
2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。
3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。
4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。
二、简答题:1、瀑布模型的优点有哪些?答:1、强迫开发人员采用规范的技术方法;2、严格地规定了每个阶段必须提交的文档;3、每个阶段结束前必须正式进行严格的技术审查和管理复审。
2、瀑布模型的缺点是什么?答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。
2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。
3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。
软件设计与体系结构练习题参考答案

一、选择题CDABC DABCC ACDCC BADCA DDCBC ADBDA二、判断题√√X√√√√X X√X√√√X X X X X√√X√ X X X三、简答题1、简述实体类的概念及其作用。
实体类实现所谓的对象关系映射(Object Relational Mapping,简称ORM),是为了解决面向对象的类与关系数据库的表之间,存在的不匹配的现象,通过使用描述对象和关系之间映射的元数据,在程序中的类对象,与关系数据库的表之间建立持久的关系,用于在程序中描述数据库表。
本质上就是将数据从一种形式转换到另外一种形式。
简单地说,就是描述一个业务实体的类。
实体类对象是现实世界中实体对象在计算机中的表示,在层与层之间以及层内模块间进行数据传输。
2、敏捷开发宣言。
我们正在通过亲身实践以及帮助他人实践,揭示更好的软件开发方法,通过这项工作,我们认为:个体和交互胜过过程和工具可以工作的软件胜过面面俱到的文档客户合作胜过合同谈判响应变化胜过遵循计划虽然右项也有其价值,但我们认为左项更加重要。
3、简述XP的短交付周期的概念。
迭代计划: XP项目每两周交付一次可以工作的软件。
每两周的迭代都实现了利益相关者的一些需求,在每次迭代结束时,会给利益相关者演示迭代生成的系统,以得到他们的反馈。
迭代是一次较小的交付,可能会被加入到产品中,也可能不会。
每个周期(Iteration)开发的需求都是用户最需要的东西。
发布计划:XP团队通常会创建一个计划来规划随后大约6次迭代的内容。
一次发布通常需要2-3个月的工作。
它表示了一次较大的交付,通常此次交付会被加入到产品中。
发布计划不是一成不变的,客户可以随时改变计划的内容,他可以取消用户故事,编写新的用户故事,或者改变用户故事的优先级别。
但是客户应该更改后面迭代的内容,尽量不要更改下一次迭代。
4、测试驱动开发的概念及其积极作用。
编写所有产品代码的目的都是为了使失败的单元测试能够通过。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、就项目管理方面而言,软件重用项目与非重用项目有哪些不同之处。
答:使用软件重用技术可减少重复工作,提高软件生产率, 缩短开发周期。
同时,由于软构建大多经过严格的质量认证,因此有助于改善软件质量,大量使用构建,软件的灵活性和标准化程度可得到提高。
2、实际参与/组织一个软件重用项目的开发,然后总结你是如何组织该项目的开发的答:参加了一个网页管理系统的开发,该项目重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。
在过程中使用了代码的复用、设计结果的复用、分析结果的复用、测试信息的复用等。
3、为什么要研究软件体系结构?答:1.软件体系结构是系统开发中不同参与者进行交流和信息传播的媒介。
2.软件体系结构代表了早期的设计决策成果。
3.软件体系结构可以作为一种可变换的模型。
4、根据软件体系结构的定义,你认为软件体系结构的模型应该由哪些部分组成?答:构件(component)可以是一组代码,如程序的模块;也可以是一个独立的程序(如数据库的SQL服务器);连接件(connector)是关系的抽象,用以表示构件之间的相互作用。
如过程调用、管道、远程过程调用等;限制(constrain):用于对构件和连接件的语义说明。
5、在软件体系结构的研究和应用中,你认为还有哪些不足之处?答:(1)缺乏同意的软件体系结构的概念,导致体系结构的研究范畴模糊。
(2)ADL繁多,缺乏同意的ADL的支持。
(3)软件体系结构研究缺乏统一的理论模型支持。
(4)在体系结构描述方便,尽管出现了多种标准规范或建议标准,但仍很难操作。
(5)有关软件体系结构性质的研究尚不充分,不能明确给出一个良体系结构的属性或判定标准,没有给出良体系结构的设计指导原则,因而对于软件开发实践缺乏有力的促进作用。
(6)缺乏有效的支持环境软件体系结构理论研究与环境支持不同步,缺乏有效的体系结构分析、设计、方针和验证工具支持,导致体系结构应用上的困难。
(7)缺乏有效的体系结构复用方案。
(8)体系结构发现方法研究相对欠缺。
1、选择一个规模合适的系统,为其建立“4+1”模型。
逻辑视图(Logical View),设计的对象模型(使用面向对象的设计方法时)。
过程视图(Process View),捕捉设计的并发和同步特征。
物理视图(Physical View),描述了软件到硬件的映射,反映了分布式特性。
开发视图(Development View),描述了在开发环境中软件的静态组织结构。
架构的描述,即所做的各种决定,可以围绕着这四个视图来组织,然后由一些用例(use cases)或场景(scenarios)来说明,从而形成了第五个视图。
2、引入了软件体系结构以后,传统软件过程发生了哪些变化?这种变化有什么好处?答:软件体系结构的引入使软件设计开发更加具体和形象,它的模型更使得软件过程更加方便和多样化。
其好处在于:包括程序员在内的绝大多数系统的利益相关人员都借助软件体系结构来进行彼此理解、协商、达成共识或者相互沟通的基础,软件体系机构的模型可以应用到具有相似质量属性和功能需求的系统中,并能够促进大规模软件的系统级复用,在很多方面使得软件开发更加人性化。
3、软件体系结构的生命周期模型与软件生命周期模型有什么关系?答:软件体系结构是贯穿于软件研发的整个生命周期的系统开发、运行、维护所实施的全部工作和任务的结构框架,给出了软件开发活动各阶段之间的关系,软件体系结构的生命周期模型为软件生命周期模型提供了很好的结构依据和参考,也为其构建了很好的开发方式。
1、层次系统结构和基于消息的层次系统结构有什么区别?答:层次结构将系统进行分级组织,其组织思想是:在层次结构中,每一层向上层提供服务,并作为客户向下层请求服务。
分层系统的优点:支持基于抽象程度递增的系统设计;支持功能增强;支持重用。
分层系统的缺点:并不是每个系统都可以很容易的划分为分层的模式,甚至即使是层次化的,出于性能的考虑,也不得不吧一些低及或高级的功能综合起来;很难找到一个合适的、正确的层次抽象方法。
消息总线是系统的连接件、负责消息的分派、传递和过滤以及处理结果的返回。
消息是构件之间通信的唯一方式。
由于构件通过总线进行连接,并不要求各个构件具有相同的地址空间或局限在一台机器上,因此该风格可以很好的刻画分布式开发系统,以及CORBA.DCOM和EJB规范的系统。
2、试分析和比较B/S,二层C/S和三层C/S,指出各自的优点和缺点。
答:二层C/S体系结构将应用一分为二,服务器负责数据管理,客户机完成与用户的交互任务。
优点(1)C/S体系结构具有强大的数据操作的事务处理能力,模型思想简单,易于人们理解和接受。
(2)对软硬件的变化有极大的适应性和灵活性,易于对系统进行扩充和缩小。
(3)系统中的功能构建充分隔离,节约大量费用。
缺点:(1)开发成本较高。
(2)客户端程序设计复杂(3)信息内容和形式单一(4)用户界面风格不一,使用繁杂不易推广。
(5)软件移植困难(6)软件维护和升级困难(7)新技术不能轻易应用。
三层CS在上面的基础上进行了改造,并增加了一个服务器,其优点:(1)允许合理的划分三层结构的功能,能提高系统和软件的可维护性和可扩展性。
(2)具有良好的可升级性和开放性。
(3)应用的各层可以并行开发,可以选择各自最适合的开发语言。
(4)为严格的安全管理奠定了坚实的基础。
B/S风格就是上述三层应用结构的一种实现方式,其具体结构为:浏览器/Web服务器/数据库服务器。
优点(1)基于B/S体系结构的软件,系统安装,修改和维护全在服务器端解决。
(2)提供了异种机,异种网,异种应用服务的联机,联网,同意服务的最现实的开放性基础。
缺点(1)缺乏对动态页面的支持能力,没有集成有效的数据库处理能力。
(2)在数据查询等响应速度上,要远远低于C/S体系结构。
(3)数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理应用。
3、SIS和DSSA分别用在哪些场合?答:1.DSSA只对某一个领域进行设计专家知识的提取,存储和组织,但可以同时使用多种体系结构风格;而在某个体系结构风格中进行体系结构设计专家知识的组织时,可以将提取的公共结构和设计方法扩展到多个领域。
2.DSSA的特定领域参考体系结构通常选用一个或多个适合所研究领域的体系结构风格,并设计一个该领域专用的体系结构分析设计工具。
3.体系结构风格的定义和该风格应用的领域是直交的,提取的设计知识比用DSSA提取的设计专家知识的应用范围要广。
4.DSSA和体系结构风格是互为互补的两项技术。
4、在软件开发中,采用异构结构有什么好处,其负面影响有哪些?答:1.结构有不同的处理能力的强项和弱点,一个系统的体系结构应该根据实际需要进行选择,以解决实际问题。
2.软件包,框架,通信以及其他一些体系机构上的问题,目前存在者多中标准。
即使再某一段时间内某一标准占据着统治地位,但变动最终是绝对的。
3.工作中,我们总会遇到一些遗留下的代码,它们仍有效用,但是却与新系统有某种程度上的不协调。
然而在很多场合,将技术与经济综合进行考虑时,总是决定不重写它们。
4.在某一单位中,规定了共享共同的软件包或相互关系的一些标准,仍会存在解释或表示习惯上的不同。
负面影响:大多数应用程序只使用10%的代码实现系统的公开功能,剩下90%的代码完成系统管理功能:输入和输出,用户界面,文本编辑,基本图表,标准对话框,通信,数据确认和旁听追踪,特定领域的基本定义等。
1什么是动态软件体系结构?动态软件体系结构与静态软件体系结构有什么区别?答:动态软件体系结构的动态性包括:交互性动态性,结构化动态性,体系结构动态性。
由于系统需求,技术,环境,分布等因素的变化而最终造成软件体系结构的变动,称之为软件体系结构演化。
软件系统在运行时刻的体系结构变化称之为软件体系结构的动态性,动态软件体系结构的动态性包括:交互性动态性,结构化动态性,体系结构动态性。
2基于构件的动态软件体系结构模型的层次结构是什么?答:基于构件的动态系统结构模型支持运行系统的动态更新,该模型分为三类,分别是应用层,中间层和体系结构层。
(1)应用层:处于最底层,包括构件链接,构件接口和执行(2)中间层:包括连接件配置,构件配置,构件描述及执行(3)体系结构层:位于最上层,控制和管理整个体系结构,包括体系结构配置,体系结构描述和执行。
1、请把基于体系结构的软件开发模型与其他软件开发模型进行比较。
答:软件开发模型有演化模型、螺旋模型、喷泉模型、智能模型等。
传统软件开发模型存在开发效率不高,不能很好地支持软件重用等缺点。
在多个大中型软件项目的实践基础上,提出了基于体系结构的软件开发模(ABSD)。
ABSD模型把整个基于体系结构的软件过程划分为体系结构需求、设计、文档化、复审、实现、演化等6个子过程,讨论了各个子过程所要完成的工作,给出了ABSD模型在劳动和社会保险领域的一个应用实例。
实践表明,采用ABSD模型进行软件项目开发,具有结构清晰、易于理解、可移植性强、重用粒度大等优点。
2、如何才能提高软件系统的可演化性。
答:构造性和演化性是软件的两个基本特性。
软件进行渐变并达到所希望的形态就是软件演化,软件演化是由一系列复杂的变化活动组成。
对软件变化的控制是软件开发者历来追求的目标。
引起软件变化的原因是多方面的,如基本设施的改变,功能需求的增加,高性能算法的发现,技术环境因素的变化等。
所以对软件变化甚至演化进行理解和控制显得比较复杂和困难1 为什么要评估软件体系结构?答:所谓软件体系结构的分析评估,就是事先通过代价低廉的评估活动来识别软件结构中存在的潜在风险,找出软件体系结构中影响系统质量的主要因素及改进措施,并在此基础上检验软件的质量需求是否在具体设计中得到实现,并预见未来软件质量。
软件体系结构在软件开发和管理中扮演者越来越重要的角色,软件体系结构设计对软件质量有着至关重要的影响,对此最终确保系统的质量有重要的意义。
软件体系结构评估,是对系统的某些值的关心的属性进行评估和判断。
评估的结果可用于确认潜在的风险,并检查设计阶段系统需求的质量,在系统被实际构造之前,预测其属性质量。
2、从哪些方面评估软件体系结构?答:(1)性能是指系统的影响能力,即要经过多长时间才能对某个事件作出响应,或者在某段事件内系统所能处理的事件的个数。
(2)可靠性是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力。
(3)可用性是系统能够正常运行的时间比例。
经常用两次故障间的时间长度或在出现故障时系统能够恢复正常的速度来表示。
(4)安全性是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。