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

合集下载

软件设计及体系结构课后题答案

软件设计及体系结构课后题答案

【题型】1.选择20道2.填空10道3.简答5或6道4.编程题2道【重点】1.软件危机的表现软件开发进度难以预测软件开发成本难以控制用户对产品功能难以满足软件产品质量无法保证软件产品难以维护2.引发软件危机的原因用户需求不明确缺乏正确的理论指导软件开发规模越来越大软件开发复杂度越来越高3.体系结构概念构件、构件之间的关系、集成构件的模式及约束条件4.构件的概念构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通讯接口和实现代码的复合体。

5.引入体系结构使得开发过程发生什么变化?好处是什么?软件再工程、逆工程的概念?软件设计质量的量度【变化】在引入了体系结构的软件开发之后,应用系统的构造过程变为“问题定义—>软件需求—>软件体系结构—>软件设计—>软件实现”,可以认为软件体系结构架起了软件需求及软件设计之间的一座桥梁。

【好处】克服软件危机【再工程】是指对既存对象系统进行调查,并将其重构为新形式代码的开发过程。

最大限度的复用既存系统的各种资源是再工程的最重点特征之一。

如何开发可复用软件和如何构造采用可复用软件的系统体系结构是两个关键问题。

【逆工程】是指分析软件系统,确定其构成成分及各成分间的关系,提取并生成系统抽象和设计信息的工程。

【量度】面向对象软件质量的度量重点在于对类的分析上。

应从类的以下方面考虑:耦合内聚度继承性复杂度6.5个设计原则概念【单一职责原则】就一个类而言,应该仅有一个引起它变化的原因。

【开闭原则】软件实体(类、模块、函数等等)应该可以扩展,但是不可修改。

(也就是老婆常说的对扩展开放,对修改关闭)【依赖倒转】抽象不应该依赖于细节,细节应该依赖于抽象。

要针对接口编程,不要对实现编程。

【里氏代换】在软件里面,把父类都替换成它的子类,程序行为没有变化。

简单地说,子类型必须能够替换掉它们的父类型。

【迪米特】如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。

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

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

软件体系结构第四章作业题1.请把基于体系结构的软件开发模型与其他软件开发模型进行比较。

答:一、基于体系结构为基础的基于构件组装的软件开发模型,如基于构件的开发模型和基于体系结构的开发模型等。

基于体系结构的开发模型是以软件体系结构为核心,以基于构件的开发方法为基础。

然后采用迭代增量方式进行分析和设计,将功能设计空间映射到结构设计空间,再由结构设计空间映射到系统设计空间的过程。

该开发模型把软件生命周期分为软件定义、需求分析和定义、体系结构设计、软件系统设计和软件实现5个阶段.特点:是利用需求分析结果设计出软件的总体结构,通过基于构件的组装方法来构造软件系统。

优点:基于构件的开发方法使得软件开发不再一切从头开发,开发的过程就是构件组装的过程,维护的过程就是构件升级、替换和扩充的过程。

构件组装模型导致了软件的复用,提高了软件开发的效率。

软件体系结构的出现使得软件的结构框架更清晰,有利于系统的设计、开发和维护。

并且软件复用从代码级的复用提升到构件和体系结构级的复用。

缺点:由于采用自定义的组装结构标准,缺乏通用的组装结构标准,因而引入了较大的风险。

可重用性和软件高效性不易协调,需要精干的有经验的分析和开发人员,一般开发人员插不上手。

客户的满意度低,并且由于过分依赖于构件,所以构件库的质量影响着产品质量。

二、以软件需求完全确定为前提软件开发模型,如瀑布模型等。

特点:软件需求在开发阶段已经被完全确定,将生命周期的各项活动依顺序固定,强调开发的阶段性;优点:开发流程简单。

缺点:是开发后期要改正早期存在的问题需要付出很高的代价,用户需要等待较长时间才能够看到软件产品,增加了风险系数。

并且如果在开发过程存在阻塞问题,则影响开发效率。

三、在开始阶段只能提供基本需求的渐进式开发模型,如螺旋模型和原型实现软件开发模型等。

特点:软件开发开始阶段只有基本的需求,软件开发过程的各个活动是迭代的。

通过迭代过程实现软件的逐步演化,最终得到软件产品。

软件体系结构习题答案

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

软件体系结构考试习题集含答案样本

软件体系结构考试习题集含答案样本

1.面向对象办法优势体当前(ABD )A.简化软件开发过程B.支持软件复用C.提高软件运营效率D.改进软件构造2.顾客界面设计中三条“黄金规则”是(ABC )A.使系统处在顾客控制之中B.减少顾客记忆承担C.保持界面一致性D.保证顾客易学性E.顾客界面分析和设计过程是迭代, 其中涉及活动是(ABCD )F.顾客、任务以及环境分析和建模G.界面设计H.界面实现I.界面确认3.界面确认需要注意三个方面(ABC )A.界面对的完毕了顾客任务, 适应顾客任务变化B.易学性和易用限度C.顾客接受限度D.顾客习惯4.顾客界面分析时普通采用信息获取方式涉及(ABCD )A.顾客会谈B.销售人员信息采集C.市场分析D.顾客支持人员信息收集5.(C )把完毕一种特定功能动作序列抽象为一种过程名和参数表A.数据抽象B.动作抽象C.过程抽象D.类型抽象6.(A)把一种数据对象定义抽象为一种数据类型名A.数据抽象B.动作抽象C.过程抽象D.类型抽象7.软件体系构造设计需要考虑如下(ABCD )A.合用性B.构造稳定性C.可扩展性D.可复用性8.模块设计时应当考虑(AB )A.模块功能独立B.模块信息隐藏C.模块接口简朴D.模块实现简朴9.一种完整软件设计重要活动涉及有(ABCD )A.体系构造设计B.界面设计C.模块/子系统设计、D.数据模型、过程/算法设计等E.模块化是指把一种复杂问题分割成若干个可管理小问题后, 更易于理解, 模块化正是以此为根据, 在划分模块过程中应当考虑到(ABC )F.模块可分解性、可组装型G.模块可理解性、持续性、H.模块保护1.尽量低分割模块, 使得问题难度降到最2.什么是软件工程?构成软件工程要素是什么?3.软件工程是将系统化、规范、可度量办法应用于软件开发、运营和维护过程, 即将工程化应用于软件开发和管理之中, 对所选办法研究。

软件工程要素由办法、工具和过程构成。

办法支撑过程和工具, 而过程和工具增进办法学研究。

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

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

1、就项目管理方面而言,软件重用项目与非重用项目有哪些不同之处。

答:使用软件重用技术可减少重复工作,提高软件生产率, 缩短开发周期。

同时,由于软构建大多经过严格的质量认证,因此有助于改善软件质量,大量使用构建,软件的灵活性和标准化程度可得到提高。

2、实际参与/组织一个软件重用项目的开发,然后总结你是如何组织该项目的开发的答:参加了一个网页管理系统的开发,该项目重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。

在过程中使用了代码的复用、设计结果的复用、分析结果的复用、测试信息的复用等。

3、为什么要研究软件体系结构?答:1.软件体系结构是系统开发中不同参与者进行交流和信息传播的媒介。

2.软件体系结构代表了早期的设计决策成果。

3.软件体系结构可以作为一种可变换的模型。

4、根据软件体系结构的定义,你认为软件体系结构的模型应该由哪些部分组成?答:构件(component)可以是一组代码,如程序的模块;也可以是一个独立的程序(如数据库的SQL服务器);连接件(connector)是关系的抽象,用以表示构件之间的相互作用。

如过程调用、管道、远程过程调用等;限制(constrain):用于对构件和连接件的语义说明。

5、在软件体系结构的研究和应用中,你认为还有哪些不足之处?答:(1)缺乏同意的软件体系结构的概念,导致体系结构的研究范畴模糊。

(2)ADL繁多,缺乏同意的ADL的支持。

(3)软件体系结构研究缺乏统一的理论模型支持。

(4)在体系结构描述方便,尽管出现了多种标准规范或建议标准,但仍很难操作。

(5)有关软件体系结构性质的研究尚不充分,不能明确给出一个良体系结构的属性或判定标准,没有给出良体系结构的设计指导原则,因而对于软件开发实践缺乏有力的促进作用。

(6)缺乏有效的支持环境软件体系结构理论研究与环境支持不同步,缺乏有效的体系结构分析、设计、方针和验证工具支持,导致体系结构应用上的困难。

《软件体系结构》课后复习习题22页文档

《软件体系结构》课后复习习题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公司是一家相对较大的软件和硬件企业,专业从 事网络设备的开发。从单一的产品开始,现在,已 经延伸到包括摄相服务器、扫描服务器、光盘服务 器以及其他的存储服务器在内的产品。公司原来的 产品都是一个一个地开发,每个软件组织一个项目 组。为了适应快速变化的市场,降低开发成本,公 司想引入产品线方法。然而,软件产品线开发涉及 了一个软件开发组织的多个产品,选择了软件产品 线意味着要承担由此带来的许多风险。

软件设计与体系结构练习题参考答案

软件设计与体系结构练习题参考答案

一、选择题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. 软件体系结构的设计原则1.模块化原则:将复杂系统分解为小而简单的组建,有利于系统的管理和维护。

2.建立完整模型原则:对系统进行整体分析,考虑到系统各个方面,做到系统的稳健性、可维护性等,从全局的角度看待系统问题。

3.选择合适的模式:将一些简单而经过实践检验的模式进行合理组合,对质量属性进行优化和提高。

4.考虑系统演化:考虑到系统的可扩展性,可以轻松的支持新的需求变化,便于现有代码或组建复用。

4. 常见的软件体系结构模式1.分层结构:将系统按照功能划分成若干层,每一层只与相邻层进行交互。

分层是一种非常常见的软件设计模式,它可以增加系统的可维护性,方便解耦。

2.MVC模式:MVC是模型-视图-控制器的缩写,是一种常见的软件体系结构模式,通过将系统分为三层来实现松耦合的功能。

模型层负责数据表示层,控制器层负责处理业务逻辑,视图层负责呈现给用户信息。

3.微服务架构:微服务架构是一种将单体应用切分成若干小粒度的服务,并将其组合成一个应用的架构风格。

这种架构风格有助于实现弹性的、可扩张的分布式系统。

5. 软件体系结构模式的应用1.分层结构在Web开发中的应用:Web开发中大量使用了分层结构模式,启用的负责UI、视图层,数据层负责对数据进行操作,各个层彼此独立、松耦合,方便开发和维护。

2.MVC模式在Web框架中的应用:Web框架如Spring、Django等也都使用了MVC模式,提供了非常多的支持来简化MVC应用开发。

软件设计与体系结构课后练习部分答案

软件设计与体系结构课后练习部分答案

软件设计与体系结构课后练习部分答案第一篇:软件设计与体系结构课后练习部分答案第一章作业6、简要叙述软件设计在软件工程中所处的位置和重要性。

答:所处的位置:软件需求分析◊需求规格说明◊软件设计◊设计文档◊软件编码。

重要性:(1)是对软件需求的直接体现;(2)为软件实现提供直接依据;(3)将综合考虑软件系统的各种约束条件并给出相应方案;(4)软件设计的质量将决定最终软件系统的质量;(5)及早发现软件设计中存在的错误将极大减少软件修复和维护所需的成本。

7、软件设计应该包含哪些要素?答:软件设计应该包含:目标描述、设计约束、产品描述、设计原理、开发规划、使用描述。

8、软件体系结构与软件设计有何关系?软件体系结构的出现有何必然性和重要意义?答:软件体系结构与软件设计的关系:软件体系结构设计作为软件设计过程中的活动之一,能在较为抽象的级别上描述整个软件系统的结构,成为大规模、复杂软件系统设计中必不可少的步骤。

软件体系结构的意义:软件体系结构将构件以及构件之间的连接作为软件体系结构的基本组成部分。

软件体系结构使软件复用从代码复用发展到设计复用和过程复用,为不同的人提供了共同的语言,体现了系统早期的设计决策,并作为系统设计的抽象,为实现框架和构件的共享与复用,基于体系结构的软件开发提供了有力的支持。

第二章作业1、简述UML的特点和用途。

答:UML的发起者在最初制定UML时,充分考虑了各种需求、方法和语言的特点使UML在表达能力、对新技术的包容能力和扩张性等方面具有显著的优势:(1)为使用者提供了统一的、表达能力强大的可视化建模语言,以描述应用问题的需求模型、设计模型和实现模型。

(2)提供对核心概念的扩展机制,用户可加入核心概念中没有的概念和符号,可为特定应用领域提出具体的概念、符号表示和约束。

(3)独立于实现语言和方法学,但支持所有的方法学,覆盖了面向对象分析和设计的相关概念和方法学。

(4)独立于任何开发过程,但支持软件开发全过程。

整理软件体系结构课后作业及答案

整理软件体系结构课后作业及答案

软件体系结构课后作业及答案整理表姓名:职业工种:申请级别:受理机构:填报日期: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)、数字逻辑三、本实验课程在专业人才培养中的地位作用计算机组成原理课程是我院的学科专业基础必修课之一,也是本学院培养本科生形成专业思想的重要专业课程之一,是本学院得主干必修课之一。

课后练习及答案7

课后练习及答案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) 这是一个典型的胖与系统的交互,服务器是一个大型主机,运行火车票的数据库。

软件设计与体系结构课后题答案

软件设计与体系结构课后题答案
状态模式通过把各种状态转移逻辑分布到State的子类之间,来减少相互间的依赖。
缺点:
子类太多
何时采用:
1.个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为时。
2.某项业务有多个状态,通常都是一些枚举常量,状态的变化都是依靠大量的多分支判断语句来实现,此时应该考虑将每一种状态定义为State的子类。这样这些对象就可以不依赖于其他对象而独立变化,也可以很好的面对需求的改变。
3.在维护一个遗留的大型系统时,可能这个系统已经非常难以维护和扩展了,但新的需求开发必须依赖它。为新系统开发一个外观类,来提供设计粗糙或高度复杂的遗留代码的比较清晰的简单接口,让新系统和Facade对象交互,Facade与遗留代码交互所有复杂的工作。
【建造者】将一个复杂对象的构建与它的表示分离,使得同样的构造过程可以创建不同的表示。
【原型模式】指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式其实就是从一个对象再创建另外一个可定制的对象,而且不需要知道任何创建的细节。
结构图:
优点:
1.性能优良:原型模型是在内存二进制流的拷贝,要比直接new一个对象性能好很多,特别是要在一个循环体内产生大量的对象时,原型模型可以更好地体现其优点。
【依赖倒转】抽象不应该依赖于细节,细节应该依赖于抽象。要针对接口编程,不要对实现编程。
【里氏代换】在软件里面,把父类都替换成它的子类,程序行为没有变化。简单地说,子类型必须能够替换掉它们的父类型。
【迪米特】如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。
3.一个对象多个修改者的场景:一个对象需要提供给其他对象访问,而且各个调用者可能都需要修改其值时,可以考虑使用

软件体系结构简答参考答案

软件体系结构简答参考答案

简答及计算题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) 缺乏有效的支持环境软件体系结构理论研究与环境支持不同步,缺乏有效的休系结构分析•设计•方针和验证工具支持•导致体系结构应用上的困难。

软件体系结构课后习题第三章作业

软件体系结构课后习题第三章作业

软件体系结构课后习题第三章作业题1.层次系统结构和基于消息的层次系统结构有什么区别?答:层次系统组织成一个层次结构,每一层为上层服务,并作为下层客户。

在一些层次系统中,除了一些精心挑选的输出函数外,内部的层只对相邻的层可见。

这样的系统中构件在一些层实现了虚拟机(在另一些层次系统中层是部分不透明的)。

连接件通过决定层间如何交互的协议来定义,拓扑约束包括对相邻层间交互的约束。

这种风格支持基于可增加抽象层的设计。

允许将一个复杂问题分解成一个增量步骤序列的实现。

由于每一层最多只影响两层,同时只要给相邻层提供相同的接口,允许每层用不同的方法实现,同样为软件重用提供了强大的支持。

而在基于消息的层次系统结构中构件不直接调用一个过程,而是触发或广播一个或多个事件。

系统中的其它构件中的过程在一个或多个事件中注册,当一个事件被触发,系统自动调用在这个事件中注册的所有过程,这样,一个事件的触发就导致了另一模块中的过程的调用。

这种风格的构件是一些模块,模块既可以是一些过程,又可以是一些事件的集合。

过程可以用通用的方式调用,也可以在系统事件中注册一些过程,当发生这些事件时,过程被调用。

这种风格的主要特点是事件的触发者并不知道哪些构件会被这些事件影响。

这样不能假定构件的处理顺序,甚至不知道哪些过程会被调用,因此,许多隐式调用的系统也包含显式调用作为构件交互的补充形式。

题2.分析比较B/S、二层C/S和三层C/S,指出各自的优点和缺点。

二层C/S结构的优点:◆C/S 体系结构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。

◆系统的客户应用程序和服务器构件分别运行在不同的计算机上,系统中每台服务器都可以适合各构件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小。

◆在C/S体系结构中,系统中的功能构件充分隔离,客户应用程序的开发集中于数据的显示和分析,而数据库服务器的开发则集中于数据的管理,不必在每一个新的应用程序中都要对一个DBMS进行编码。

软件体系结构简答参考答案

软件体系结构简答参考答案

简答及计算题1、请简述软件体系结构的定义答:软件体系结构包括一个或一组软件构件、软件构件的外部的可见特性及其相互关系。

其中,“软件外部的可见特性”是指软件构件提供的服务、性能、特性、错误处理、共享资源使用等。

软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。

软件体系结构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。

2. 下列图能作为一个水下声音模拟系统的体系结构吗,为什么?答:不能。

原因如下:1)图中的解释在哪里?2)构件的定义是什么?什么是连接器?3)方块和箭头代表什么?4)图中分布是否合理?5)水平和垂直线代表什么?6)每个元素的功能和职责是什么?它们是如何划分的?7)每个元素运行在不同的处理器上吗?运行在不同时间?它们能代表开发分组?还是运行时的分组?8)每个元素代表不同对象?不同任务?不同功能?不同进程?它们是分布式的吗?9)元素间联系的强度如何?联系是代表元素间通讯?还是互相控制?相互传递数据?相互调用?相互同步?信息共享?或上述模式的部分组合?通讯的机制如何?信息是如何流动的?10)结构是如何分层的?为什么CP单独一层?是说CP能调用其他三个元素,而不能反过来?还是说CP包含了下面三个元素的实现?3. 软件体系结构通常使用哪三类结构视图?答:模块视图:•分解:将实现代码分解成系统、子系统、子子系统等。

它通常作为开发项目组织的基础,包括文档结构、集成和测试计划等。

结构中的每个单元通常有与特定组织相关的名字。

•使用:它是一种特定形式的依赖关系。

该使用关系将系统分成子集,从而支持增量式开发。

•泛化风格:在类的层次框架下,它表明了不同的代码单元如何关联在一起。

具有相似行为或能力的模块可以使用子类的方法集成。

类的结构也可支持重用和增量式丰富功能。

大学_软件体系结构试题及参考答案

大学_软件体系结构试题及参考答案

软件体系结构试题及参考答案软件体系结构试题及参考答案(一)1. 什么是软件工程?构成软件工程的要素是什么?软件工程是将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,对所选方法的研究。

软件工程的要素由方法、工具和过程组成。

方法支撑过程和工具,而过程和工具促进方法学的研究。

2. 什么是软件生存周期?软件开发过程模型与软件生存周期之间是何关系?软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程叫软件生存周期。

软件开发过程模型表示软件开发中各个活动的安排方式,出来软件开发各个活动之间关系,是软件开发过程的概括,是软件工程的重要内容,其为软件管理提供里程碑和进度表,为软件开发过程提供原则和方法,其包括有以软件需求完全确定为前提的瀑布模型,以渐进式开发模型的原型和螺旋模型,以形式化开发方法为基础的变换模型。

3. 叙述软件设计在软件工程中所处的位置和重要性位置:软件需求分析--------需求规格说明------软件设计------设计文档------------软件编码总要性:(1)、是对软件需求的直接体现。

(2)、为软件实现提供直接依据(3)、将综合考虑软件系统的各种约束条件并给出相应方案(4)、软件设计的质量将决定最终软件系统的质量。

(5)、及早发现软件设计中存在的错误将极大减少软件修复和维护所需的成本。

4. 软件设计应该包含哪些要素?软件设计应该包含:目标描述、设计约束、产品描述、设计原理、开发规划、使用描述。

5. 简述UML的特点和用途。

、答:为使用者提供了统一的、表达能力强大的可视化建模语言,以描述应用问题的.需求模型、设计模型和设计模型。

提供对核心概念的扩展机制,用户可加入核心概念中没有的概念和符号,可为特定应用领域提出具体的概念、符号表示和约束。

提供于实现语言和支持所有的方法学,覆盖了面向对象分析和设计的相关概念和方法学。

独立于任何开发过程,但支持软件开发全过程。

软件设计及体系结构课后习题答案(秦航)

软件设计及体系结构课后习题答案(秦航)

软件设计与体系结构答案目录:第一章 (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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、就项目管理方面而言,软件重用项目与非重用项目有哪些不同之处。

答:使用软件重用技术可减少重复工作,提高软件生产率, 缩短开发周期。

同时,由于软构建大多经过严格得质量认证,因此有助于改善软件质量, 大量使用构建, 软件得灵活性与标准化程度可得到提高。

2、实际参与/组织一个软件重用项目得开发,然后总结您就是如何组织该项目得开发得答:参加了一个网页管理系统得开发,该项目重复使用已有得软件产品用于开发新得软件系统,以达到提高软件系统得开发质量与效率,降低开发成本得目得。

在过程中使用了代码得复用、设计结果得复用、分析结果得复用、测试信息得复用等。

3、为什么要研究软件体系结构?答:1、软件体系结构就是系统开发中不同参与者进行交流与信息传播得媒介。

2.软件体系结构代表了早期得设计决策成果。

3.软件体系结构可以作为一种可变换得模型。

4、根据软件体系结构得定义,您认为软件体系结构得模型应该由哪些部分组成?答:构件(ponent)可以就是一组代码,如程序得模块;也可以就是一个独立得程序(如数据库得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、D与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)安全性就是指系统在向合法用户提供服务得同时能够阻止非授权用户使用得企图或拒绝服务得能力。

相关文档
最新文档