软件体系结构课后作业及答案
【软件体系结构】 答案
1.理解并比较构件分类的三种方法,如何在其中检索构件?每种方法各有什么优缺点?关键字分类法:是一种最简单的构件库组织方法,其基本思想是:根据领域分析的结果将应用领域的概念按照从抽象到具体的顺序逐次分解为树形或有向无回路图结构。
优点:简单,易于实现缺点:某些场合没有应用价值,因为用户往往无法用构建库中已有的关键字描述期望的构建功能或行为,对库的浏览也容易使用户迷失方向。
刻面分类法:主要思想来源于图书馆学,在刻面分类机制中,定义若干用于刻画构建特征的“面”,每个面包含若干概念,这些概念表述构建在面上的特征。
刻面可以描述构建执行的功能,被操作的数据,构建应用的语境或任意其他特征。
优点:易于实现相思构建的查找缺点:查询时比较麻烦。
超文本组织方法:其主要思想是所有构建必须辅以详尽的功能或行为说明文档;说明中出现的重要概念或构建以网状链接方式相互连接;检索者在阅读文档的过程中可按照人类的联想思维方式任意跳转到包含相关概念或构建的文档;全文检索系统将用户给出的关键字说明文档中的文字进行匹配,实现构建的浏览式检索。
超文本组织方法为构造构件和重用构件提供了友好,直接的多媒体方式。
优点:由于网状结构比较自由,松散,因此,超文本组织方法比前两种方法更易于修改构件库的结构。
缺点:在某些情况下用户难以在超文本浏览过程中正确选取构建。
2.详细了解什么是Web服务体系结构?Web服务是基于XML和HTTPS的的一种服务,其通信协议主要基于SOAP,服务的描述通过WSDL,通过UDDI来发现和获得服务的元数据。
平台无关、语言无关。
对于图片的描述:在Web 服务模型的解决方案中,服务提供者定义并实现Web 服务,使用服务描述语言(WSDL)描述Web 服务,然后将服务描述发布到服务请求者或服务注册中心;服务请求者使用查找操作从本地或服务注册中心检索服务描述,然后使用服务描述与服务提供者进行绑定并调用Web 服务。
服务注册中心是整个模型中的可选角色,它是连接服务提供者和服务请求者的纽带;Web服务的具体特征(优点):完好的封装性;松散耦合;使用协议的规范性;使用标准协议规范;高度可集成能力。
软件体系结构 习题答案
软件体系结构习题答案软件体系结构习题答案1. 什么是软件体系结构?软件体系结构是指软件系统的整体结构和组织方式,它描述了软件系统中各个组件之间的关系以及它们的功能和行为。
软件体系结构通常包括多个层次,从整体到细节逐渐展开,以便更好地理解和设计软件系统。
2. 为什么软件体系结构很重要?软件体系结构对于软件系统的开发和维护具有重要意义。
它可以提供一个框架,指导软件开发者进行系统设计和实现。
良好的软件体系结构可以提高软件系统的可维护性、可扩展性和可重用性,同时降低开发和维护的成本。
3. 软件体系结构有哪些常见的模式?常见的软件体系结构模式包括分层模式、客户端-服务器模式、发布-订阅模式、模型-视图-控制器模式等。
每种模式都有其特定的应用场景和优缺点,开发者可以根据具体需求选择合适的模式。
4. 什么是分层模式?分层模式是一种常见的软件体系结构模式,将软件系统划分为多个层次,每个层次负责不同的功能。
通常包括表示层、业务逻辑层和数据访问层。
这种模式可以提高系统的可维护性和可扩展性,同时降低各个层次之间的耦合度。
5. 客户端-服务器模式是什么?客户端-服务器模式是一种常见的软件体系结构模式,将软件系统划分为客户端和服务器两部分。
客户端负责用户界面和用户交互,而服务器负责处理客户端的请求并提供相应的服务。
这种模式可以实现分布式计算和资源共享,提高系统的可伸缩性和可靠性。
6. 发布-订阅模式是什么?发布-订阅模式是一种常见的软件体系结构模式,用于实现消息传递和事件通知。
发布者将消息发布到一个或多个主题,而订阅者可以选择订阅感兴趣的主题并接收相关的消息。
这种模式可以实现解耦和灵活的通信方式,适用于分布式系统和异步通信。
7. 模型-视图-控制器模式是什么?模型-视图-控制器(MVC)模式是一种常见的软件体系结构模式,用于实现用户界面和业务逻辑的分离。
模型负责处理数据和业务逻辑,视图负责显示用户界面,而控制器负责协调模型和视图之间的交互。
软件体系结构作业(完整版)
第一章:1•根据自己的经验,谈谈对软件危机的看法软件危机是指软件生产方式无法满足迅速增长的计算机需求,开发和维护过程出现的一系列问题。
以下几个原因导致:(1)软件自身特点(2)开发人员的弱点(3)用户需求不明(4)缺乏正确理论指导(5)开发规模越来越大(6)开发复杂度越来越高可以通过软件生命周期的模型和软件工具的使用来缓解危机,通过程序自动化和软件工业化生产的方法实现软件标准化的目标,进一步缓解软件危机带来的影响。
软件危机有利有弊,除了带来许多麻烦,也给我们带来许多挑战,克服危机的过程,我们在技术上和创新上都有了一个提升,也算是间接为软件产业的发展做了贡献。
2•什么是软件重用,软件重用的层次可以分为哪几个级别?软件重用:是指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。
可以分为三个层次:(1 )代码重用(2)设计结果重用(3)分析结果重用3•什么是可重用构件?相对于普通的软件产品,对可重用构件有何特殊要求?可充用构件表示软件重用过程中,可重用的软件构件元素可重用构件的特殊要求:(1)可重用构件应该具有功能上的独立性与完整性;(2)可重用构件应该具有较高的通用性;(3)可重用构件应该具有较高的灵活;(4)可重用构件应该具有严格的质量保证;(5)可重用构件应该具有较高的标准化程。
4•基于构件的软件开发的优势是什么?基于构件的软件开发面临哪些挑战和困难?优势:基于构件的软件将软件开发的重点从程序编写转移到了基于已有构件的组装,更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担,从而降低了软件开发的费用困难和挑战:没有可依据的参考,可用资源和环境缺乏,开发难度高,而各方面需求增长速度与日剧增,更新和升级的跟进是一个不小的挑战•此外,在同一系统采用多个开发商提供的构件,它们之间的兼容性可能是开发过程中所要面对的一个严峻的问题挑战和困难:(1)在同一系统采用多个开发商提供的构件,它们之间的兼容性可能是开发过程中所要面对的一个严峻的问题;(2)采用随处可以购买到的构件可能会使开发出来的软件产品丧失技术上的独创性和市场上的竞争力;(3)第三方的构件开发商可能歇业,这会使购买的构件失去维护服务。
软件体系结构习题答案
支持基于抽象程度递增的系统设计;支持功能增强;支持重用。分层系统的缺点:并不是每个系统都可以很容易的划分为分层的模式,甚至即使是层次化的,出于性能的考虑,也不得不吧一些低及或高级的功能综合起来;很难找到一个合适的、正确的层次抽象方法。
(1)
(2)
(3)应用层:处于最底层,包括构件链接,构件接口和执行中间层:包括连接件配置,构件配置,构件描述及执行体系结构层:位于最上层,控制和管理整个体系结构,包括体系结构配置,体系结构描述和执行。
1、请把基于体系结构的软件开发模型与其他软件开发模型进行比较。
答:软件开发模型有演化模型、螺旋模型、喷泉模型、智能模型等。传统软件开发模型存在开发效率不高,不能很好地支持软件重用等缺点。在
b/s风格就是上述三层应用结构的一种实现方式,其具体结构为:浏览器/web服务器/数据库服务器。优点(1)基于b/s体系结构的软件,
系统安装,修改和维护全在服务器端解决。(2)提供了异种机,异种网,异种应用服务的联机,联网,同意服务的最现实的开放性基础。缺点(1)缺乏对动态页面的支持能力,没有集成有效的数据库处理能力。(2)在数据查询等响应速度上,要远远低于c/s体系结构。(3)数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理应用。
3、sis和dssa分别用在哪些场合?
答:1.dssa只对某一个领域进行设计专家知识的提取,存储和组织,但可以同时使用多种体系结构风格;而在某个体系结构风格中进行体系结
构设计专家知识的组织时,可以将提取的公共结构和设计方法扩展到多个领域。
2.dssa的特定领域参考体系结构通常选用一个或多个适合所研究领域的体系结构风格,并设计一个该领域专用的体系结构分析设计工具。
软件设计与体系结构智慧树知到课后章节答案2023年下云南大学
软件设计与体系结构智慧树知到课后章节答案2023年下云南大学云南大学第一章测试1.以下对软件架构师、软件工程师、系统分析师表述正确的是?()答案:软件工程师一般专注于模块级、功能代码级的开发工作,针对功能模块级的代码细节要求较高,但对系统级的架构设计要求较低。
对业务分析、项目管理、运营维护、法律规定则不做过多要求。
;系统分析师的主要职责是在于需求分析、开发管理、运行维护、法律法规等方面。
对代码细节开发不做过多要求,但需要掌握一定的软件架构知识。
;软件架构师的重点工作是架构与设计这两个关键环节上,因此,对设计、架构、代码撰写都有较高的要求。
但是,对需求分析、项目管理、运管管理、法律法规的要求相对较低。
2.《软件工程》主要聚焦于有关软件需求分析,软件过程模型,软件项目管理、软件运营维护、软件迭代升级等软件生命周期的相关理论和方法学。
()答案:对3.《软件设计与体系结构》则聚焦于软件的设计原则和架构模式。
以撰写高质量程序代码为目标,通过四个层次的方法学理论,指导开发者在不同的条件下,撰写较为高质量的程序代码。
()答案:对第二章测试1.GRASP设计原则主要指导开发者进行:()答案:职责设计2.信息专家原则的主要含义是?()答案:一个类能否分配一个职责的基本条件是该类是否拥有执行该职责的全部信息3.以下哪种情况中,创建者的关系强度最高?()答案:A类组合B类(B是A的成员,B实例不能离开A实例单独存在)4.以下耦合关系中,哪种耦合强度最高?()答案:A类引用B类5.以下说法相对正确的是?()答案:类和模块的内部应该尽量的提高内聚,外部应该降低耦合;类和模块的应同时考虑高内聚和低耦合原则6.控制器原则的主要含义是?()答案:应该尽量将功能控制代码分配在一个单独的控制器实现类中,UI默认调用抽象控制器类来执行功能;在各类编程语言的类库中,常见的控制器类有handler, Action, Listener等。
软件体系结构课后习题第三章作业
软件体系结构课后习题第三章作业软件体系结构课后习题第三章作业题1.层次系统结构和基于消息的层次系统结构有什么区别?答:层次系统组织成一个层次结构,每一层为上层服务,并作为下层客户。
在一些层次系统中,除了一些精心挑选的输出函数外,内部的层只对相邻的层可见。
这样的系统中构件在一些层实现了虚拟机(在另一些层次系统中层是部分不透明的)。
连接件经过决定层间如何交互的协议来定义,拓扑约束包括对相邻层间交互的约束。
这种风格支持基于可增加抽象层的设计。
允许将一个复杂问题分解成一个增量步骤序列的实现。
由于每一层最多只影响两层,同时只要给相邻层提供相同的接口,允许每层用不同的方法实现,同样为软件重用提供了强大的支持。
而在基于消息的层次系统结构中构件不直接调用一个过程,而是触发或广播一个或多个事件。
系统中的其它构件中的过程在一个或多个事件中注册,当一个事件被触发,系统自动调用在这个事件中注册的所有过程,这样,一个事件的触发就导致了另一模块中的过程的调用。
这种风格的构件是一些模块,模块既能够是一些过程,又能够是一些事件的集合。
过程能够用通用的方式调用,也能够在系统事件中注册一些过程,当发生这些事件时,过程被调用。
这种风格的主要特点是事件的触发者并不知道哪些构件会被这些事件影响。
这样不能假定构件的处理顺序,甚至不知道哪些过程会被调用,因此,许多隐式调用的系统也包含显式调用作为构件交互的补充形式。
题2.分析比较B/S、二层C/S和三层C/S,指出各自的优点和缺点。
二层C/S结构的优点:◆C/S 体系结构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。
◆系统的客户应用程序和服务器构件分别运行在不同的计算机上,系统中每台服务器都能够适合各构件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小。
◆在C/S体系结构中,系统中的功能构件充分隔离,客户应用程序的开发集中于数据的显示和分析,而数据库服务器的开发则集中于数据的管理,不必在每一个新的应用程序中都要对一个DBMS进行编码。
软件体系结构课后作业及参考答案
1、就项目管理方面而言,软件重用项目与非重用项目有哪些不同之处。
答:使用软件重用技术可减少重复工作,提高软件生产率, 缩短开发周期。
同时,由于软构建大多经过严格的质量认证,因此有助于改善软件质量,大量使用构建,软件的灵活性和标准化程度可得到提高。
2、实际参与/组织一个软件重用项目的开发,然后总结你是如何组织该项目的开发的答:参加了一个网页管理系统的开发,该项目重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。
在过程中使用了代码的复用、设计结果的复用、分析结果的复用、测试信息的复用等。
3、为什么要研究软件体系结构?答:1.软件体系结构是系统开发中不同参与者进行交流和信息传播的媒介。
2.软件体系结构代表了早期的设计决策成果。
3.软件体系结构可以作为一种可变换的模型。
4、根据软件体系结构的定义,你认为软件体系结构的模型应该由哪些部分组成?答:构件(component)可以是一组代码,如程序的模块;也可以是一个独立的程序(如数据库的SQL服务器);连接件(connector)是关系的抽象,用以表示构件之间的相互作用。
如过程调用、管道、远程过程调用等;限制(constrain):用于对构件和连接件的语义说明。
5、在软件体系结构的研究和应用中,你认为还有哪些不足之处?答:(1)缺乏同意的软件体系结构的概念,导致体系结构的研究范畴模糊。
(2)ADL繁多,缺乏同意的ADL的支持。
(3)软件体系结构研究缺乏统一的理论模型支持。
(4)在体系结构描述方便,尽管出现了多种标准规范或建议标准,但仍很难操作。
(5)有关软件体系结构性质的研究尚不充分,不能明确给出一个良体系结构的属性或判定标准,没有给出良体系结构的设计指导原则,因而对于软件开发实践缺乏有力的促进作用。
(6)缺乏有效的支持环境软件体系结构理论研究与环境支持不同步,缺乏有效的体系结构分析、设计、方针和验证工具支持,导致体系结构应用上的困难。
《软件体系结构》课后复习习题22页文档
第6章 文档化体系结构
1、软件文档的类型有哪些?内涵如何? 2、视图类型和风格的关系如何? 3、简述软件接口编档的内容和含义。 4、简述制作文档包的内容。
《软件体系结构》电子教案
第7章 软件体系结构评估
1. 为什么要评估软件体系结构? 2. 从哪些方面评估软件体系结构? 3. 简述ATAM对软件体系结构进行评估的过程和基本
《软件体系结构》电子教案
第5章 软件体系结设计
1. 什么是设计模式,在什么场合下需要使用设计模式? 请结合实际项目举例说明该如何使用设计模式。
2. 常用的设计模式包括哪些?根据你的了解举你所知的 设计模式。
3. 设计模式可以分为哪几类?并简要说明软件体系结构 和设计模式的关系。
4. 什么是基于体系结构的设计方法?简要叙述基于体系 结构的设计方法的生命周期模型和开发。
4. 组织或参与一个采用三层体系结构的软件项目的开 发,总结开发经验。
5. 在软件开发中,采用异构结构有什么好处,其负面 影响有哪些?
《软件体系结构》电子教案
第3章 软件体系结构风格
6. 选择一个你熟悉的大型软件系统,分析其体系结构中 用到的风格,以及表现出的特点(为什么要采用这种 风格?带来了哪些优势?具有哪些不足?)。
2. 软件产品线包括哪些过程,如何实现软件产品线的 创建与演化?
3. 结合一个你熟悉的软件产品,说明该如何建立该产 品的软件产品线体系结构。
4. 软件产品线的演化是什么?根据你所熟悉的软件产 品线来考虑是否该演ቤተ መጻሕፍቲ ባይዱ,如何实现其演化。
《软件体系结构》电子教案
第8章 软件产品线体系结构
5. A公司是一家相对较大的软件和硬件企业,专业从 事网络设备的开发。从单一的产品开始,现在,已 经延伸到包括摄相服务器、扫描服务器、光盘服务 器以及其他的存储服务器在内的产品。公司原来的 产品都是一个一个地开发,每个软件组织一个项目 组。为了适应快速变化的市场,降低开发成本,公 司想引入产品线方法。然而,软件产品线开发涉及 了一个软件开发组织的多个产品,选择了软件产品 线意味着要承担由此带来的许多风险。
整理软件体系结构课后作业及答案
软件体系结构课后作业及答案整理表姓名:职业工种:申请级别:受理机构:填报日期:A4打印/ 修订/ 内容可编辑文件编号:3B-E4-81-1F-1B本科实验大纲(计算机科学与技术学院2016版-信息安全专业课程)教务处制第II页共97目录03402022课程名称:计算机组成原理203402025课程名称:数据库系统原理703402026课程名称:网络安全1003402027课程名称:网络编程技术1303402509课程名称:算法与数据结构1903402512课程名称:计算机网络(Ⅱ)2103402517课程名称:程序设计基础2403402521课程名称:操作系统2703404001课程名称:微机操作实习3103404010课程名称:程序设计实践3403404016课程名称:计算机网络课程设计37 03406001课程名称:企业实习4303406002课程名称:Linux操作系统实践4503424002课程名称:密码学课程设计4803404020课程名称:网络安全课程设计5203424001课程名称:信息安全综合设计与实践55 03401521课程名称:汇编语言程序设计6003402029课程名称:网络管理6303422001课程名称:计算机病毒6803422005课程名称:计算机系统安全技术71 03402023课程名称:嵌入式系统设计与开发74 03402024课程名称:嵌入式系统体系结构实验大纲77 03406003课程名称:互联网应用服务开发与安全80 03406004课程名称:民航信息系统8403412007课程名称:移动终端程序开发与应用87 03422003课程名称:信息隐藏技术9003422006课程名称:网络攻击与防御93第1页共9703402022课程名称:计算机组成原理英文名称:Principle of Computer Organization课程编号:03402022一、实验(上机)学时/课程总学时: 12学时 /64学时二、先修课程:计算机导论、电子线路分析(I)、数字逻辑三、本实验课程在专业人才培养中的地位作用计算机组成原理课程是我院的学科专业基础必修课之一,也是本学院培养本科生形成专业思想的重要专业课程之一,是本学院得主干必修课之一。
软件体系结构作业
软件体系结构作业第一章:软件体系结构概论1、基于构件的软件开发方法能够有效提高开发效率,简述在实际的项目中有哪些方式获得构件、如何管理以及重用构件?答:构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通讯接口和实现代码的复合体。
在实际项目中获取构件的方式有:(1)从现有的构件中获取符合条件的构件,直接使用或做适应性修改,得到可重用的构建。
(2)通过遗留工程,将具有潜在重用价值的构件提取出来,得到可重用的构件。
(3)从市场上购买现成的构件,既COTS构件;(4)开发新的符合条件的构件。
管理构件的方法有:构件分类方法,关键字分类法,刻面分类法,超文本组织法,人员及权限管理。
其中关键字分类法和刻面分类法都是以数据库系统作为实现背景。
构件开发的目的是重用,为了让构件在新的软件项目中发挥作用,库的使用者必须完成以下工作:检索与提取构件,理解与评价构件,修改构件,构件组装。
其中检索与提取构件的方法有:基于关键字的检索,刻面检索法,超文本检索法,其他检索方法。
2、软件体系结构定义众多,你是如何理解软件体系结构的?软件体系结构在软件系统中有何作用?答:软件体系结构虽脱胎于软件工程,但其形成同时借鉴了计算机体系结构和网络体系结构中很多宝贵的思想和方法,最近几年软件体系结构研究已完全独立于软件工程的研究,成为计算机科学的一个最新的研究方向和独立学科分支。
随着软件系统规模越来越大、越来越复杂,整个系统的结构和规格说明显得越来越重要。
对软件体系结构的系统、深入的研究将会成为提高软件生产率和解决软件维护问题的新的最有希望的途径。
软件体系结构研究内容涉及软件体系结构的描述、风格、评估和形式化方法等,根本目的是解决好软件的重用、质量和维护问题。
软件体系结构有四个角度,它们从不同方面对系统进行描述:概念角度描述系统的主要构件及它们之间的关系;模块角度包含功能分解与层次结构;运行角度描述了一个系统的动态结构;代码角度描述了各种代码和库函数在开发环境中的组织。
课后练习及答案7
软件体系结构设计(习题与参考答案)[选择题]1. ()系统体系结构的最佳表示形式是一个可执行的软件原型。
(B)A. 真B. 假2. ()软件体系结构描述是不同项目相关人员之间进行沟通的使能器。
(A)A. 真B. 假3. ()良好的分层体系结构有利于系统的扩展与维护。
(A)A. 真B. 假4. ()消除两个包之间出现的循环依赖在技术上是不可行的。
(B)A. 真B. 假5. ()设计模式是从大量成功实践中总结出来且被广泛公认的实践和知识。
(A)A. 真B. 假6. 程序编译器的体系结构适合使用()。
(A)A. 仓库体系结构B. 模型-视图-控制器结构C. 客户机/服务器结构D. 以上选项都不是7. 网站系统是一个典型的()。
(C)A. 仓库体系结构B. 胖客户机/服务器结构C. 瘦客户机/服务器结构D. 以上选项都不是8. 在分层体系结构中,()实现与实体对象相关的业务逻辑。
(D)A. 表示层B. 持久层C. 实体层D. 控制层9. ()可以帮助人们简单方便地复用已经成功的设计或体系结构。
(B)A. 商业组件B. 设计模式C. 遗留系统D. 需求规格说明10. ()用于封装具体的平台,从而使应用程序可以在不同的平台上运行。
(A)A. 抽象工厂模式B. 外观模式C. 观察者模式D. 以上选项都不是[练习题]1. 良好的软件体系结构设计有什么好处?答案要点:软件体系结构设计过程的核心在于建立系统的一个基本框架,即识别出系统的主要组件以及这些组件之间的通信。
良好的体系结构设计具有以下主要好处:y项目相关人员之间的沟通:软件体系结构是系统的一种高层表示,它可以成为不同项目相关人员之间沟通的使能器;y系统分析:在系统分析过程中确定系统的初步体系结构,将对系统是否满足关键性需求(如性能、可靠性和可维护性等)产生很大的影响;y大规模复用:体系结构可以在具有相似需求的系统之间互用,从而支持大规模的复用。
2. 消除包之间的循环依赖性有哪两种主要方法?参考答案:将PackageA中的循环依赖元素提取到PackageC中(1)PackageC 中的循环依赖PackageD 中(2)3. 给下面的系统设计一个适当的体系结构:参考火车站自动售票系统客户机模型,其中自动售票机作为客户机负责处理应用逻辑并实现(2) MVC 结构,其中模型是三维几何形体的边界表示,视图将模型中的几(3) 三层体系结构,其中一个数据服务器管理客户的帐户数据库,一个Web 服务4. 什么是三层体系结构?它的优缺点是什么?结构将系统划分成表示层、应用逻辑层和数据存储层,其中表示层由客户机上的浏览器处y 之间是松耦合关系,二者通过标准的HTML 语言进行交互,客户端的维y 务器之间是松耦合关系,应用服务器可以通过标准的数据访问接口(如(1) 火车站自动售票系统(2) 三维几何造型系统(3) 网上银行系统答案:(1) 这是一个典型的胖与系统的交互,服务器是一个大型主机,运行火车票的数据库。
2.1-2.2软件件体系结构作业答案
2.1 工厂方法与抽象工厂模式一、在简单工厂方法模式、工厂方法模式与抽象工厂模式中,哪个模式符合开闭原则?为什么?哪个模式一般不符合开闭原则?或者说明在哪种情况下,开闭原则成立,哪种情况下,开闭原则不成立。
答:简单工厂模式一般不符合开闭原则。
在简单工厂模式中,如果要增加一个新产品类,相应地在工厂类中也要增加一个条件语句,用于创建新的产品类的对象。
也就是说,必须修改工厂类的源代码。
工厂方法模式和抽象工厂模式符合开闭原则。
因为在工厂方法模式和抽象工厂模式中,无需修改或者重新编译已经存在的代码,就可以添加新的产品类。
开闭模式是指对扩展开放,对修改关闭,说的更通俗点,就是说开发了一个软件,应该可以对它进行功能扩展(开放),而在进行这些扩展的时候,不需要对原来的程序进行修改(关闭)。
二、图2.17所示设计类图是关于游戏软件的设计。
在该设计中,SlowGameFactory类负责创建SlowFighter对象与SlowMonster对象,并且将创建完的对象以其超类类型返回给ClientGUI对象。
然后,ClientGUI对象将操纵SlowFighter 对象与SlowMonster对象,使得它们互相打斗。
问题与任务:1、上述设计使用了什么设计模式?2、请在以上设计类图中添加4个新的类MedFighter、SuperFighter、MedMonster和SuperMonster,以便使得MedFighter对象能够对应于MedMonster对象;SuperFighter对象能够对应于SuperMonster对象,绘制新设计类图;3、除了以上添加的4个类以外,在以上类图中还应该添加什么类?4、描述新的设计类图;5、明确说明新设计的优点。
答:1、上述设计使用抽象工厂设计模式。
23、SuperGameFactory MedGameFactory4、多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。
一个抽象工厂类,可以派生出多个具体工厂类。
软件体系结构简答参考答案
简答及计算题1、请简述软件体系结构的定义答:软件体系结构包括一个或一组软件构件、软件构件的外部的可见特性及其相互关系。
其中,“软件外部的可见特性”是指软件构件提供的服务、性能、特性、错误处理、共享资源使用等。
软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。
软件体系结构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
2. 下列图能作为一个水下声音模拟系统的体系结构吗,为什么?答:不能。
原因如下:1)图中的解释在哪里?2)构件的定义是什么?什么是连接器?3)方块和箭头代表什么?4)图中分布是否合理?5)水平和垂直线代表什么?6)每个元素的功能和职责是什么?它们是如何划分的?7)每个元素运行在不同的处理器上吗?运行在不同时间?它们能代表开发分组?还是运行时的分组?8)每个元素代表不同对象?不同任务?不同功能?不同进程?它们是分布式的吗?9)元素间联系的强度如何?联系是代表元素间通讯?还是互相控制?相互传递数据?相互调用?相互同步?信息共享?或上述模式的部分组合?通讯的机制如何?信息是如何流动的?10)结构是如何分层的?为什么CP单独一层?是说CP能调用其他三个元素,而不能反过来?还是说CP包含了下面三个元素的实现?3. 软件体系结构通常使用哪三类结构视图?答:模块视图:•分解:将实现代码分解成系统、子系统、子子系统等。
它通常作为开发项目组织的基础,包括文档结构、集成和测试计划等。
结构中的每个单元通常有与特定组织相关的名字。
•使用:它是一种特定形式的依赖关系。
该使用关系将系统分成子集,从而支持增量式开发。
•泛化风格:在类的层次框架下,它表明了不同的代码单元如何关联在一起。
具有相似行为或能力的模块可以使用子类的方法集成。
类的结构也可支持重用和增量式丰富功能。
软件体系结构课后作业及参考答案
1'就项目管理方面而言,软件垂用项目与非垂用项目有哪些不同之处。
答:使用软件垂用技术可减少垂复工作,提高软件生产率,缩短开发周期•>同时,由于软构建大多经过严格的质塑认证 > 因此有助于改善软件质鱼,大址使用构建,软件的灵活性和标准化程度可得到提高。
2•实际参与/组织一个软件垂用项目的开发,然后总结你是如何组织该项目的开发的答:参加了一个网页管理系统的开发、该项目垂复使用已有的软件产品用于开发新的软件系统•以达到提高软件系统的开发质塑与效率,降低开发成本的目的。
在过程中使用了代码的复用、设计结果的复用、分析结果的复用•测试信息的复用等。
3・为什么婆研究软件体系结构?答:1・软件体系结构是系统开发中不同参与者进行交流和信息传播的媒介。
2 •软件体系结构代去了早期的设计决策成果。
3 •软件体系结构可以作为一种可娈换的模型。
4 •根据软件体系结构的定义,你认为软件休系结构的模型应该由哪些部分组成?答:构件(component)uj以是一组代码,如程序的模块:也可以是一个独立的程序(如数据库的SQL服务器);连接件(connector)是矢系的抽象•用以表示构件之间的相互作用。
如过程调用、管道、远程过程调用等:限M(constrain):用于对构件和连接件的语义说明。
5 •在软件体系结构的研究和应用中•你认为还有哪些不足之处?答:(1)缺乏同意的软件体系结构的概念•导致体系结构的硏究范時模縄>(2) ADL繁多,缺乏同意的ADL的支持。
(3) 软件体系结构硏究缺乏统一的理论模型支持。
(4) 在休系结构描述方便,尽管岀现了多种标准规范或建议标准 > 但仍很难操作•(5) 有矢软件体系结构性质的硏究尚不充分,不能明确给出一个良体系结构的属性或判定标准,没有给出良体系结构的设计指导原则•因而对干软件开发实践缺乏有力的促进作用。
(6) 缺乏有效的支持环境软件体系结构理论研究与环境支持不同步,缺乏有效的休系结构分析•设计•方针和验证工具支持•导致体系结构应用上的困难。
软件体系结构答案
《软件体系结构》答案一、填空题(2×18空=36分)1、(方法)、(工具)、和(过程)2、(构件)3、(CORBA(通用对象代理结构))、(EJB)、DCOM(分布式构件对象模型)4、(用户界面类、数据库类)、(核心技术类)5、(构件提交者)、(超级系统管理员)6、(属性)、(服务)、(主题)7、(ADL)8、(模型-视图-控制器)9、(公共对象请求代理)10、(面向对象设计)二、简答题(共64分)1、(10分)答:体系结构设计有两大类方法:过程驱动方法和问题列表驱动方法。
过程驱动方法包括:(1)面向对象方法,与OOA/OOD相似,但更侧重接口与交互;(2)“4+1”模型方法;(3)基于的场景的纸时迭代方法。
基于过程驱动的体系结构设计方法适用范围广,易于裁剪,具备动态特点,通用性与实践性强。
问题列表驱动方法的基本思想是枚举设计空间,并考虑设计维的相关性以此来选择体系结构的风格。
该方法适用于特定的领域,是静态的,并可以实现量化体系结构设计空间。
2、(15分)答:三个组成部分:数据库服务器、客户应用程序和网络。
服务器负责有效的管理系统的资源,其任务集中于:(1)数据库安全性的要求;(2)数据库访问并发性的控制;(3)数据库前端的客户应用程序的全局数据完整性规则;(4)数据库的备份与恢复。
客户应用程序的主要任务是:(1)提供用户与数据库交互的节目;(2)向数据库服务器提交用户请求并接收来自数据库服务器的信息;(3)利用客户应用程序对存在于客户端的数据执行应用逻辑要求。
网络通信软件的主要作用是完成数据库服务器和客户应用程序之间的数据传输。
3、(15分)答:三层C/S体系结构是将应用功能分成表示层、功能层和数据层三个部分。
(1)表示层是应用的用户接口部分,担负着用户与应用间的对话功能。
它用于检查用户从键盘等设备输入的数据,显示应用输出的数据。
一般使用图形用户界面,操作简单,易学易用。
(2)功能层相当于应用的本体,它是将具体的业务处理逻辑编入程序中。
软件设计及体系结构课后习题答案(秦航)
软件设计与体系结构答案目录:第一章 (4)1.什么是软件?软件的特点是什么?软件有那些分类?2.软件设计应该包括哪些要素?软件设计在软件工程中所处的位置和重要性如何?3.请用自己的话说明软件体系结构。
传统的建筑体系结构科学和软件体系结构有何相似之处?有何不同之处?4.软件设计和软件体系结构有何关系?软件体系结构的出现有何必然性和重要意义?5.在软件设计过程中,人们需要重点考虑软件系统结构的哪些方面?第二章 (5)1.什么是软件模型?2.软件模型对软件体系结构的作用是什么?3.常用的软件模型有哪些?4.什么是软件模型的非形式化描述和形式化描述?5.软件体系结构设计方法中的水平型设计和垂直型设计各有什么特点?6.什么是ADL?7.典型的ADL有哪几种?第三章 (6)1.在整个开发过程中,UML主要起到什么作用?2.如何利用模式解决在面向对象系统分析与设计中遇到的问题?3.UML中都包含哪些图?简述这些图的作用。
14.简述用例图之间的关系。
5.简述协作图和序列图的区别。
6.神舟六号描述画出能正确表示它们之间关系的UML图。
7.某个网上银行的用户登录过程用一个时序图描述这个过程。
第四章 (9)1.简述抽象与逐步求精的含义。
2.简述模块化与信息隐藏的关系。
3.为什么软件要追求高内聚、低耦合?4.软件设计过程中包含哪些活动?5.试总结本章列举的软件体系结构设计方法的特点。
第五章 (10)1.选择一个熟悉的大型软件系统,分析其体系结构中用到的风格,以及表现出的特点(为什么要采用这种风格?采用这种风格带来哪些优势?具有哪些不足?)2.选择4种风格,设计简单的体系结构,并实现简单的原型系统3.不同的体系结构风格具有各自的特点、优劣和用途,试对管道-过滤器风格,分层系统、C2风格和基于消息总线(基于事件的隐式调用)的风格进行分析比较。
第六章 (13)1.简述面向对象方法支持的3种基本活动.2.简述面向对象的系统开发生命周期。
软件体系结构(考试习题集含答案)
1、面向对象得方法优势体现在( ABD )A.简化软件开发过程B.支持软件复用C.提高软件运行效率D.改善软件结构2.用户界面设计中得三条“黄金规则”就是( ABC )A.使系统处于用户控制之中B.减少用户得记忆负担C.保持界面得一致性D.保证用户得易学性3.用户界面得分析与设计过程就是迭代得,其中包括得活动就是( ABCD )A.用户、任务以及环境得分析与建模B.界面设计C.界面实现D.界面确认4.界面确认需要注意三个方面( ABC )A.界面正确完成了用户得任务,适应用户得任务变化B.易学性与易用程度C.用户得接受程度D.用户得习惯5.用户界面分析时通常采用得信息获取方式包括( ABCD )A.用户会谈B.销售人员信息采集C.市场分析D.用户支持人员信息收集6.( C )把完成一个特定功能得动作序列抽象为一个过程名与参数表A.数据抽象B.动作抽象C.过程抽象D.类型抽象7.( A)把一个数据对象得定义抽象为一个数据类型名A.数据抽象B.动作抽象C.过程抽象D.类型抽象8.软件体系结构设计需要考虑以下( ABCD )A.适用性B.结构稳定性C.可扩展性D.可复用性9.模块设计时应该考虑(AB )A.模块功能独立B.模块信息得隐藏C.模块接口得简单D.模块实现简单10.一个完整得软件设计得主要活动包括有( ABCD )A.体系结构设计B.界面设计C.模块/子系统设计、D.数据模型、过程/算法设计等11.模块化就是指把一个复杂得问题分割成若干个可管理得小问题后,更易于理解,模块化正就是以此为依据得,在划分模块得过程中应该考虑到( ABC )A.模块得可分解性、可组装型B.模块得可理解性、连续性、C.模块保护D.尽可能低分割模块,使得问题得难度降到最1.什么就是软件工程?构成软件工程得要素就是什么?软件工程就是将系统化得、规范得、可度量得方法应用于软件得开发、运行与维护过程,即将工程化应用于软件开发与管理之中,对所选方法得研究。
软件设计与体系结构课后练习部分答案(DOC)
软件设计与体系结构课后练习部分答案(DOC)第一章作业6.简要介绍了软件设计在软件工程中的地位和重要性。
答:位置:软件需求分析?需求规格?软件设计?设计文件?软件编码。
重要性:(1)它是软件需求的直接体现;(2)为软件实施提供直接依据;(3)将综合考虑软件系统的各种约束条件并给出相应方案;(4)软件设计的质量将决定最终软件系统的质量;(5)及早发现软件设计中的错误将大大降低软件修复和维护的成本。
7、软件设计应该包含哪些要素?答复:软件设计应该包含:目标描述、设计约束、产品描述、设计原理、开发规划、使用描述。
8.软件架构和软件设计之间的关系是什么?软件架构出现的必然性和意义是什么?答复:软件体系结构与软件设计的关系:软件体系结构设计作为软件设计过程中的活动之一,能在较为抽象的级别上描述整个软件系统的结构,成为大规模、复杂软件系统设计中必不可少的步骤。
软件体系结构的含义:软件体系结构将组件和组件之间的连接作为软件体系结构的基本组件。
软件体系结构使软件重用从代码重用发展到设计重用和过程重用,为不同的人提供了一种通用的语言,反映了系统的早期设计决策,作为系统设计的抽象,为框架和组件的共享和重用,以及基于体系结构的软件开发提供了强有力的支持。
第二章作业1.简要描述UML的特点和用途。
答复:uml的发起者在最初制定uml时,充分考虑了各种需求、方法和语言的特点使uml在表达能力、对新技术的包容能力和扩张性等方面具有显著的优势:(1)它为用户提供了一种统一、强大的可视化建模语言来描述应用问题的需求模型、设计模型和实现模型。
(2)提供对核心概念的扩展机制,用户可加入核心概念中没有的概念和符号,可为特定应用领域提出具体的概念、符号表示和约束。
(3)它独立于实现语言和方法,但支持所有方法,涵盖了面向对象分析和设计的相关概念和方法。
(4)独立于任何开发过程,但支持软件开发全过程。
(5)它为理解建模语言提供了形式化基础,用元素类型描述了基本语义,用OCL描述了定义良好的规则,用自然语言描述了动态语义。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一次就项目管理方面而言,软件重用项目与非重用项目有哪些不同之处。
答:使用软件重用技术可减少重复工作,提高软件生产率, 缩短开发周期。
同时,由于软构建大多经过严格的质量认证,因此有助于改善软件质量,大量使用构建,软件的灵活性和标准化程度可得到提高。
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、层次系统结构和基于消息的层次系统结构有什么区别答:层次结构将系统进行分级组织,其组织思想是:在层次结构中,每一层向上层提供服务,并作为客户向下层请求服务。
分层系统的优点:支持基于抽象程度递增的系统设计;支持功能增强;支持重用。
分层系统的缺点:并不是每个系统都可以很容易的划分为分层的模式,甚至即使是层次化的,出于性能的考虑,也不得不吧一些低及或高级的功能综合起来;很难找到一个合适的、正确的层次抽象方法。
消息总线是系统的连接件、负责消息的分派、传递和过滤以及处理结果的返回。
消息是构件之间通信的唯一方式。
由于构件通过总线进行连接,并不要求各个构件具有相同的地址空间或局限在一台机器上,因此该风格可以很好的刻画分布式开发系统,以及和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分别用在哪些场合答:只对某一个领域进行设计专家知识的提取,存储和组织,但可以同时使用多种体系结构风格;而在某个体系结构风格中进行体系结构设计专家知识的组织时,可以将提取的公共结构和设计方法扩展到多个领域。
的特定领域参考体系结构通常选用一个或多个适合所研究领域的体系结构风格,并设计一个该领域专用的体系结构分析设计工具。
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)安全性是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。
安全性又可划分为机密性、完整性、不可否认性及可控性等特性。