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

软件体系结构第四章作业题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年下云南大学云南大学第一章测试1.以下对软件架构师、软件工程师、系统分析师表述正确的是?()答案:软件工程师一般专注于模块级、功能代码级的开发工作,针对功能模块级的代码细节要求较高,但对系统级的架构设计要求较低。
对业务分析、项目管理、运营维护、法律规定则不做过多要求。
;系统分析师的主要职责是在于需求分析、开发管理、运行维护、法律法规等方面。
对代码细节开发不做过多要求,但需要掌握一定的软件架构知识。
;软件架构师的重点工作是架构与设计这两个关键环节上,因此,对设计、架构、代码撰写都有较高的要求。
但是,对需求分析、项目管理、运管管理、法律法规的要求相对较低。
2.《软件工程》主要聚焦于有关软件需求分析,软件过程模型,软件项目管理、软件运营维护、软件迭代升级等软件生命周期的相关理论和方法学。
()答案:对3.《软件设计与体系结构》则聚焦于软件的设计原则和架构模式。
以撰写高质量程序代码为目标,通过四个层次的方法学理论,指导开发者在不同的条件下,撰写较为高质量的程序代码。
()答案:对第二章测试1.GRASP设计原则主要指导开发者进行:()答案:职责设计2.信息专家原则的主要含义是?()答案:一个类能否分配一个职责的基本条件是该类是否拥有执行该职责的全部信息3.以下哪种情况中,创建者的关系强度最高?()答案:A类组合B类(B是A的成员,B实例不能离开A实例单独存在)4.以下耦合关系中,哪种耦合强度最高?()答案:A类引用B类5.以下说法相对正确的是?()答案:类和模块的内部应该尽量的提高内聚,外部应该降低耦合;类和模块的应同时考虑高内聚和低耦合原则6.控制器原则的主要含义是?()答案:应该尽量将功能控制代码分配在一个单独的控制器实现类中,UI默认调用抽象控制器类来执行功能;在各类编程语言的类库中,常见的控制器类有handler, Action, Listener等。
软件体系结构考试习题集含答案样本

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

一、选择题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)独立于任何开发过程,但支持软件开发全过程。
整理软件体系结构课后作业及答案

软件体系结构课后作业及答案整理表姓名:职业工种:申请级别:受理机构:填报日期: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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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) 该公司是一家相对较大的软件和硬件企业,产品都是在同一个领域——网络设备。
该公司原有产品相对比较成熟,可以在原有产品的基础上建立产品线,满足软件产品线建设的基本要求。