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

合集下载

《软件工程》各章课后习题答案

《软件工程》各章课后习题答案

《软件工程》各章课后习题答案软件工程是计算机科学与技术的一门重要学科,旨在研究和应用工程原则和方法来开发高质量的软件系统。

课程中的习题对于加深学生对软件工程理论和实践的理解至关重要。

下面是对《软件工程》各章课后习题的答案,希望能够帮助你更好地掌握软件工程的知识。

第一章:软件工程导论1. 软件工程的定义:答:软件工程是通过应用系统化、规范化和可量化的方法进行软件开发、运行和维护的学科。

2. 软件工程的目标:答:软件工程的目标是提高软件开发的质量、效率和可靠性,使得软件能够满足用户的需求和期望。

3. 软件生命周期模型:答:常见的软件生命周期模型包括瀑布模型、迭代模型、敏捷模型等。

每个模型都有其独特的特点和适用场景。

4. 软件过程模型:答:软件过程模型描述了软件开发过程中的一系列活动和阶段,常见的软件过程模型包括瀑布模型、迭代模型、敏捷模型等。

5. 软件工程的基本原则:答:常见的软件工程基本原则包括分阶段、逐步求精、持续集成、迭代开发、需求优先等。

第二章:软件项目管理1. 软件项目管理的定义:答:软件项目管理是指对软件开发过程中的资源、进度、质量等进行有效管理,以确保软件项目能够按时、按质地完成。

2. 软件项目管理的内容:答:软件项目管理包括项目计划、需求管理、项目进度管理、资源管理、风险管理等方面。

3. 软件项目管理的方法:答:常见的软件项目管理方法包括敏捷项目管理、水平项目管理、里程碑项目管理等。

4. 软件项目管理的工具:答:常用的软件项目管理工具包括甘特图、PERT/CPM网络图、项目管理软件等。

第三章:软件需求分析与规格说明1. 软件需求的定义:答:软件需求是指用户对软件系统的要求和期望,包括功能需求、性能需求、接口需求等方面。

2. 软件需求分析的方法:答:常用的软件需求分析方法包括面向对象分析法、数据流图法、用例分析法等。

3. 软件需求规格说明的格式:答:常见的软件需求规格说明的格式包括自然语言描述、结构化描述、图形描述等。

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

软件设计与体系结构课后习题答案(秦航)
5.在软件设计过程中,人们需要重点考虑软件系统结构的哪些方面? 人们需要重点考虑①体系结构风格和模式;②领域特定的软件体系结构;③软件产品 线技术;
第二章 1.什么是软件模型?
软件模型是指软件的一种抽象,目前,一般通过非数学模型来描述,本书中将统一基 本单元的抽象称为软件模型。 2.软件模型对软件体系结构的作用是什么?
5.软件体系结构设计方法中的水平型设计和垂直型设计各有什么特点? 1)水平型设计是指运用通用的建模设计工具和表达语言所进行的软件体系结构的设计。 所使用的建模设计工具和表达语言不是专门针对软件体系结构的,因此水平型设计具 有较大的自由度及其带来的不一致性。 2)垂直型设计是指运用面向体系结构的专用建模设计工具及其表达模型所进行的软件 体系结构的设计,一般来说这种专用工具针对软件体系结构的描述首先定义一种表达 模型,然后围绕该模型,通过提供相应的设计工具来支持软件体系结构的设计。 6.什么是 ADL? ADL 是一种用于描述的语言,它可以在指定的抽象层次上描述软件体系结构,它同样 拥有形式化的语法、语义以及严格定义的表达符号,或者是简单易懂的直观抽象表达。 7.典型的 ADL 有哪几种? ①WRIGHT ②C2 ③Darwin ④ACME ⑤xADL ⑥ -ADL ⑦KDL 第三章 1.在整个开发过程中,UML 主要起到什么作用? UML 是一种通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建 模,它融入了软件工程领域的新思想、新方法和新技术,它的作用域不仅支持面向对 象的分析和设计,而且支持从需求分析开始的软件开发的全过程。 2.如何利用模式解决在面向对象系统分析与设计中遇到的问题? 在面向对象的软件设计中,我们经常会遇到一类集合对象,这类集合对象的内部结构 可能有着各种各样的实现,但是归结起来,无非有两点是需要我们去关心的:一是集 合内部的数据存储结构,二是遍历集合内部的数据。面向对象设计原则中有一条是类 的单一职责原则,所以我们要尽可能的去分解这些职责,用不同的类去承担不同的职 责。Iterator 模式就是分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样 既可以做到不暴露集合的内部结构,又可让外部代码透明的访问集合内部的数据。 3.UML 中都包含哪些图?简述这些图的作用。 ①类图:用来刻画软件中类等元素的静态结构和关系。

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

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

软件体系结构第四章作业题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的特定领域参考体系结构通常选用一个或多个适合所研究领域的体系结构风格,并设计一个该领域专用的体系结构分析设计工具。

软件设计与体系结构智慧树知到课后章节答案2023年下云南大学

软件设计与体系结构智慧树知到课后章节答案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、实际参与/组织一个软件重用项目的开发,然后总结你是如何组织该项目的开发的答:参加了一个网页管理系统的开发,该项目重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

一、选择题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、测试驱动开发的概念及其积极作用。

编写所有产品代码的目的都是为了使失败的单元测试能够通过。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

在此引入了风险管理,采取早期预防措施,增加项目成功几率,提高软件质量;优点:强调了其他模型均忽略了的风险分析。

逐步调整原型使其满足客户的要求,而同时也使开发者对将要做的事情有更好的理解。

使得开发人员和用户对每个演化层出现的风险有所了解,继而做出应有的反应,因此特别适用于庞大、复杂并具有高风险的系统。

缺点:由于需求的不完全性,从而为软件的总体设计带来了困难和削弱了产品设计的完整性,并要求对风险技能管理水平的高要求。

题2.请把基于体系结构的软件设计方法与其他软件设计方法进行比较。

答:基于体系结构的软件设计方法为产生软件系统的概念体系结构提供构造,概念体系结构是由Hofimeister、Nord和Soni提出的四种不同的体系结构中的一种,它描述了系统的主要设计元素及其关系。

概念体系结构代表了在开发过程中作出的第一个选择,相应地,它是达到系统质量和商业目标的关键,为达到预定功能提供了一个基础。

体系结构驱动,是指构成体系结构的商业、质量和功能需求的组合。

使用基于体系结构的软件设计方法,设计活动可以在体系结构驱动一决定就开始,需求抽取和分析活动与设计活动并行。

特别是在不可能预先决定所有需求时,例如产品线系统或长期运行的系统,快速开始设计是至关重要的。

基于体系结构的开发方法从系统的总体结构入手,将一个系统的体系结构显示化,以在高抽象层次处理诸如全局组织和控制结构、功能到计算元素的分配、计算元素间的高层交互等设计问题。

基于体系结构的开发方法相比其他软件设计方法,出现了基于构件、基于框架、基于模板的开发技术,项目利用基于体系结构开发的思想,从需求到高层框架设计、架构设计、平台实现,充分体现了基于体系结构开发中从高层设计入手,复用体系结构框架、设计和实现可复用的构件的原则。

此外,与其他软件设计方法的区别还有:1、在基于软件体系结构的开发方法中,单个用户界面和业务逻辑的改动不会影响到系统整体,可根据新的需求选择或设计新的构件进行组装。

2、在基于软件体系结构的开发方法中,开发人员的组织用户界面和业务逻辑的定制可由领域人员来完成,不必专业计算机软件人员参与;专业计算机人员则集中精力做构件库的部分,完成业务逻辑的抽象,制作不同粒度的构件,完成模型的开发。

3、在基于软件体系结构的开发方法中,不同业务对象有相似的业务逻辑,可直接复用其构件。

不同的业务逻辑可以有相似业务流程、业务规则、和原子数据操作,这些都直接可复用构件库,这种构件级的重用将大大节省了开发成本4、在基于软件体系结构的开发方法中,在针对新的需求的开发,可以复用原有系统的设计和实现,在系统维护过程更新某一模块,不会影响系统的其它部分。

题3.如何才能提高软件系统的可演化性。

答:在生物学里面演化又称进化,是指生物在不同世代之间具有差异的现象,以及解释这些现象的各种理论。

但是在计算机软件领域里,“演化”这个术语一般是指在性质和特性方面的递增式的改变。

在某种意义上来说,这个在某个方面或某些方面属性的改变的过程,导致了新特性的出现或进行改进。

一般来说,这种改变都是诸如改变类的成员以适应环境的改变。

改变会使得它们更有用或更有意义,而且在某种程度上会增加它们的价值。

与此同时,演化也会去掉一些不合适的特性。

也可以认为,软件系统的演化指的是在软件系统的生命周期内软件维护和软件更新的行为和过程。

在软件系统的生命周期中,演化是一项贯穿始终的活动。

在如何提高软件系统的可演化性上,Lehman提出了软件演化的八条规律:(1)必须频繁地变化以适应要求。

(2)软件的复杂度不断地增长。

(3)通过自我调节以符合产品需求和过程特性。

(4)在软件的生命周期中保持一定的组织稳定性。

(5)不同的版本之间保持一定的连贯性。

(6)功能持续地增加。

(7)在没有严格的维护和适应性修改的情况下会出现质量衰退。

(8)是一个反馈系统。

第五章作业题1.为什么要评估软件体系结构?答:对一个系统的体系结构进行评估,是为了在系统被构建之前预测它的质量,并不需要精确的评估结果,通过分析SA体系结构对于系统质量的主要影响,进而提出改进。

此外,软件体系结构的设计是整个软件开发过程中关键的一步。

而对于当今世界上庞大而复杂的系统来说,若没有一个合适的体系结构,却想要要有一个成功的软件设计几乎是不可想象的。

不同类型的系统需要不同的软件体系结构,甚至一个系统的不同子系统也需要不同的体系结构。

因此,体系结构的选择往往会成为一个系统设计成败的关键。

题2.从哪些方面评估软件体系结构?答:可以从以下9个方面来评估软件体系结构1、性能性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段事件内系统所能处理的事件的个数。

经常用单位时间内所处理事务的数量或系统完成某个事务处理所需的时间来对性能进行定量的表示。

2、可靠性可靠性是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力。

可靠性可以分为两个方面:(1)容错。

在错误发生时确保系统正确的行为,并进行内部“修复”。

例如在一个分布式软件系统中失去了一个与远程构件的连接,接下来恢复了连接。

在修复这样的错误之后,软件系统可以重新或重复执行进程间的操作直到错误再次发生。

(2)健壮性。

这里说的是保护应用程序不受错误使用和错误输入的影响,在遇到意外错误事件时确保应用系统处于已经定义好的状态。

值得注意的是,和容错相比,健壮性并不是说在错误发生时软件可以继续运行,它只能保证软件按照某种已经定义好的方式终止执行。

3、可用性可用性是系统能够正常运行的时间比例。

经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。

4、安全性安全性是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。

安全性是根据系统可能受到的安全威胁的类型来分类的。

安全性又可划分为机密性、完整性、不可否认性及可控性等特性。

其中,机密性保证信息不泄露给未授权的用户、实体或过程;完整性保证信息的完整和准确,防止信息被非法修改;可控性保证对信息的传播及内容具有控制的能力,防止为非法者所用。

5、可修改性可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力。

通常以某些具体的变更为基准,通过考察这些变更的代价衡量可修改性。

可修改性包含四个方面:(1)可维护性。

这主要体现在问题的修复上:在错误发生后“修复”软件系统。

(2)可扩展性。

这一点关注的是使用新特性来扩展软件系统,以及使用改进版本来替换构件并删除不需要或不必要的特性和构件。

(3)结构重组。

这一点处理的是重新组织软件系统的构件及构件间的关系,(4)可移植性。

可移植性使软件系统适用于多种硬件平台、用户界面、操作系统、编程语言或编译器。

6、功能性功能性是系统所能完成所期望的工作的能力。

一项任务的完成需要系统中许多或大多数构件的相互协作。

7、可变性可变性是指体系结构经扩充或变更而成为新体系结构的能力。

这种新体系结构应该符合预先定义的规则,在某些具体方面不同于原有的体系结构。

当要将某个体系结构作为一系列相关产品(例如,软件产品线)的基础时,可变性是很重要的。

8、可集成性可集成性是指系统能与其他系统协作的程度。

9、互操作性作为系统组成部分的软件不是独立存在的,经常与其他系统或自身环境相互作用。

为了支持互操作性,软件体系结构必须为外部可视的功能特性和数据结构提供精心设计的软件入口。

程序和用其他编程语言编写的软件系统的交互作用就是互操作性的问题,这种互操作性也影响应用的软件体系结构。

10、概念完整性能够统一所有层面系统设计概念的能力11、可分解性支持生产系统某个子集的能力题3.A公司是一家相对较大的软件和硬件企业,专业从事网络设备的开发。

从单一的产品开始,现在,已经延伸到包括摄相服务器、扫描服务器、光盘服务器以及其他的存储服务器在内的产品。

公司原来的产品都是一个一个地开发,每个软件组织一个项目组。

为了适应快速变化的市场,降低开发成本,公司想引入产品线方法。

然而,软件产品线开发涉及了一个软件开发组织的多个产品,选择了软件产品线意味着要承担由此带来的许多风险。

所以,公司的CTO王总决定在弄清三个问题之后再做决定,首先就是本公司的业务范围是否适合使用产品线方法,其次是如何在原有产品的基础上建立产品线,最后是成功实施产品线的主要因素是什么?[问题1]请用100字以内文字说明A公司是否适合采用产品线方法?为什么?[问题2]请用200字以内文字说明如何在原有产品的基础上建立产品线?[问题3]请用150字以内文字说明成功实施产品线的主要因素是什么?答:[问题1]适合。

原因:(1) 该公司是一家相对较大的软件和硬件企业,产品都是在同一个领域——网络设备。

该公司原有产品相对比较成熟,可以在原有产品的基础上建立产品线,满足软件产品线建设的基本要求。

相关文档
最新文档