在进行概要设计时,就应该考虑软件架构的变化性问题。

题目

在进行概要设计时,就应该考虑软件架构的变化性问题。

参考答案和解析
正确答案:正确
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

在下列软件设计阶段的说法中,不正确的是()。

A、软件设计一般分为概要设计和详细设计,它们之间的关系是全局与局部的关系

B、结构化设计方法在软件开发中,用于概要设计

C、描述软件的总的体系结构,称为“软件概要设计”

D、通常采用自底而上的结构化分析方法,进行软件概要设计


参考答案:D

第2题:

请指出下面关于软件可维护性有关叙述是否正确

(1)在进行需求分析时需同时考虑如何实现软件可维护性问题。

(2)完成测试作业后,为了缩短源程序的长度应删去程序中的注解。

(3)尽可能在软件生产过程中保证各阶段文档的正确性。

(4)编程时应尽可能使用全局变量。

(5)在程序易修改的前提下,选择时间效率和空间效率尽可能高的算法。

(6)尽可能考虑硬件的备件的供应。

(7)重视程序结构的设计,使程序具有较好的层次结构。

(8)使用维护工具或支撑环境。

(9)在进行概要设计时应加强模块间的联系。

(10)提高程序的可读性,尽可能使用高级语言编写程序。


正确答案:正确的叙述有:(3)、(5)、(7)、(8)、(10)
正确的叙述有:(3)、(5)、(7)、(8)、(10) 解析:正确的叙述为(3)、(5)、(7)、(8)和(10)。(3)尽可能在软件生产过程中保证各阶段文档的正确性,对于保证软件的可靠性、功能性等有相当大的作用,这样可减少用户捉出维护请求的可能,即使要更新,工作的难度和工作量也会降低。(5)选择时间效率和空间效率尽可能高的算法,可以让编程者把注意力集中在提供程序的正确性和可理解性、可修改性、可测试性和可使用性等方面,从而提高可维护性,不必为追求效率而把程序编写得让人看不懂。(7)如果程序结构设计得较好,层次结构合理,在维护时理解程序和修改程序容易,不易出错。(8)使用维护工具或支撑环境可以大大降低维护的工作量,(10)用高级语言编写程序,易读易懂,可以提高可维护性。
不正确的叙述为(1)、(2)、(4)、(6)、(9)和(11)。(1)在需求分析时主要考虑软件要“做什么?”这一阶段对可维护性可以提出要求,要达到什么指标,而如何实现可维护性,是在设计和实现阶段考虑的问题。(2)在程序中加入注释,这是捉高程序可读性,从而提高可维护性的重要手段,不能因为测试通过就删去它们。(4)在编程时尽可能用参数表,而不应当用全局变量来传送信息。(6)尽可能利用硬件的特点,这样的程序可移植性很差,自然维护起来就相当困难了。(9)在软件概要设计时,对产生的程序模块结构的评价方法就是看模块之间的耦合(联系)是否松散。如果联系密切,这样的结构各部分牵连太多,是不好的。(11)增加维护人员会降低维护的生产率,有可能对维护进度带来不利的影响。

第3题:

大多数软件系统是不容易变化的,除非它们在设计时考虑了变化。()

此题为判断题(对,错)。


参考答案:√

第4题:

在进行需求分析时,就应该同时考虑软件可维护性问题。


正确答案:正确

第5题:

论非功能性需求对企业应用架构设计的影响 企业应用架构(Enterpise Application Architecture)描述了企业IT系统的功能和技术实现内容,它在企业信息化建设中起到了统一规划、承上启下的作用,向上承接了企业战略发展方向和业务模式,向下规划和指导企业各IT系统的定位和功能。企业应用架构包括了企业的应用架构蓝图、架构标准、系统的边界和定义、系统间的关联关系等。其中非功能性需求是进行企业应用架构设计时需要重点考虑的因素,不同类型的非功能性需求从不同侧面影响应用系统的架构设计。 请围绕“非功能性需求对企业应用架构设计的影响”论题,依次从以下三个方面进行论述。 1.概要叙述你参与分析和开发的企业应用系统项目以及你所担任的主要工作。 2.分析在企业应用架构设计中应该考虑哪些非功能性需求,详细阐述这些非功能性需求是如何影响架构设计的。 3.详细说明你所参与的企业应用系统项目中,在进行系统架构设计时,考虑了哪些非功能性需求,如何通过架构设计满足了系统的这些非功能性需求。


答案:
解析:
无解析

第6题:

软件构架是脱胎于软件工程的,但它的形成同时借鉴了计算机构架和网络构架中的很多宝贵的思想和方法,最近几年软件构架研究已经完全独立于软件工程的研究,成为计算机科学的一个最新的研究方向和独立学科分支。其研究涉及软件架构的描述,软件架构风格,软件架构评价和软件架构的形式化方法等。请根据你实际参与开发的经验,论述下列三个问题:

简述你参加过软件应用开发项目的概要和你所担任的工作,包括你选用软件架构的经验。


正确答案:

第7题:

论软件系统架构评估 对于软件系统,尤其是大规模的复杂软件系统来说,软件的系统架构对于确保最终系统的质量具有十分重要的意义,不恰当的系统架构将给项目开发带来高昂的代价和难以避免的灾难。对一个系统架构进行评估,是为了:分析现有架构存在的潜在风险,检验设计中提出的质量需求,在系统被构建之前分析现有系统架构对于系统质量的影响,提出系统架构的改进方案。架构评估是软件开发过程中的重要环节。

请围绕“论软件系统架构评估”论题,依次从以下三个方面进行论述。 1.概要叙述你所参与架构评估的软件系统,以及在评估过程中所担任的主要工作。 2.分析软件系统架构评估中所普遍关注的质量属性有哪些?详细阐述每种质量属性的具体含义。 3.详细说明你所参与的软件系统架构评估中,采用了哪种评估方法,具体实施过程和效果如何。


正确答案:本题内容按模拟题中的“论基于场景的软件体系结构评估方法”组织内容即可,因为目前常用的架构评估方法,均为基于场景的评估方法。
一、首先用400-600字的篇幅简要叙述作者参与开发的软件系统的概要和所担任的工作。
二、架构所关注的质量属性主要包括:性能、可用性、可修改性、安全性。
1、性能
性能(performance)是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理的事件的个数。
2、可用性
可用性(availability)是系统能够正常运行的时间比例。经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。
3、安全性
安全性(security)是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。安全性又可划分为机密性、完整性、不可否认性及可控性等特性。
4、可修改性
可修改性(modifiability)是指能够快速地以较高的性能价格比对系统进行变更的能力。通常以某些具体的变更为基准,通过考察这些变更的代价衡量可修改性。
三、架构评估方法主要从SAAM与ATAM中选择。
1、SAAM评估方法
SAAM的分析和评估目的、评估参与者、评估活动或过程以及评估结果说明如下。
(1)评估目的
SAAM (Scenario-based Architecture Analysis Method)目的是验证基本的体系结构假设和原则,评估体系结构固有的风险。SAAM 指导对体系结构的检查,使其主要关注潜在的问题点,如需求冲突。SAAM不仅能够评估体系结构对于特定系统需求的使用能力,也能被用来比较不同的体系结构。
(2)评估参与者
风险承担者、记录人员、软件体系结构设计师
(3)评估活动或过程
SAAM分析评估体系结构的过程包括六个步骤,即形成场景、描述体系结构、场景的分类和优先级确定、间接场景的单个评估、场景相互作用的评估、总体评估。
(4)评估结果
SAAM评估的主要有形输出包括:
1)把代表了未来可能做的更改的场景与构架对应起来,显现出构架中未来可能会表现出较高复杂性的地方,并对每个这样的更改的预期工作量做出评估。
2)理解系统的功能,对多个构架所支持的功能和数量进行比较。
如果所评估的是一个框架,SAAM评估将指明框架中未能满足其修改性需求的地方,有时还会指出一种效果更好的设计。SAAM评估也能对两个或者三个备选构架进行比较,明确其中那一个能够较好地满足质量属性需求,而且做的更改较少、不会在未来导致太多的复杂的问题。
2、ATAM评估方法
ATAM的分析和评估目的、评估参与者、评估活动或过程以及评估结果说明如下。
(1)评估目的
ATAM(Architecture Tradeoff Analysis Method ),即构架权衡分析方法的评估目的是依据系统质量属性和商业需求评估设计决策的结果。ATAM希望揭示出构架满足特定质量目标的情况,使我们更清楚地认识到质量目标之间的联系,即如何权衡多个质量目标。
(2)评估参与者
1)评估小组。该小组是所评估构架项目外部的小组,通常由3~5人组成。该小组的每个成员都要扮演大量的特定角色。他们可能是开发组织内部的,也可能是外部的。
2)项目决策者,对开发项目具有发言权,并有权要求进行某些改变,他们包括项目管理人员,重要的客户代表,构架设计师等。
3)构架涉众(stakeholders)。包括关键模块开发人员、测试人员、用户等。
(3)评估活动或过程
整个ATAM评估过程包括九个步骤,按其编号顺序分别是描述ATAM方法、描述商业动机、描述体系结构、确定体系结构方法、生成质量属性效用树、分析体系结构方法、讨论和分级场景、描述评估结果。

第8题:

论软件架构建模技术与应用

软件架构用来处理软件高层次结构的设计和实施,它以精心选择的形式将若干结构元素进行装配,从而满足系统的主要功能和性能需求。软件架构设计的首要问题是如何表示软件架构,即如何对软件架构建模。根据建模的侧重点不同,可以将软件架构模型分为结构模型、框架模型、动态模型、过程模型和功能模型。Kruchten在1995年提出了“4+1”视图模型,将5种模型有机地统一在了一起。

请围绕“软件架构建模技术与应用”论题,依次从以下三个方面进行论述。

1.概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。

2.简要叙述“4+1”视图模型的主要内容。结合你参与项目的实际情况,详细说明该项目需求及所涉及的软件架构(包括使用到的视图模型、创建的架构模型及使用的建模工具等)。

3.说明该项目软件架构的实施效果,分析其是否满足了项目的需求并说明原因。


正确答案:

写作要点

一、简要叙述所参与管理和开发的软件项目,并明确指出在其中承担的主要任务和开展的主要工作。

二、简要叙述“4+1”视图模型的主要内容。

1、“4+1”视图模型从5个不同的视角来描述软件架构,每个视图只关心系统的1个侧面,5个视图结合在一起才能反映系统的软件结构的全部内容。这5个不同的视角包括逻辑视图、开发视图、进程视图、物理视图和场景。

逻辑视图。逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问题领域。在OO技术中,通过抽象、封装和继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图。

开发视图。开发视图也称为模块视图,在UML中被称为实现视图,它主要侧重于软件模块的组织和管理。开发视图要考虑软件内部的需求。

进程视图。进程视图侧重于系统的运行特性,主要关注一些非功能性需求。进程视图强调并发性、分布性、系统集成性和容错能力,以及逻辑视图中的功能抽象如何适应进程结构等,它也定义了逻辑视图中的各个类的操作具体是在哪一个线程中被执行。进程视图可以描述成多层抽象,每个级别分别关注不同的方面。

物理视图。物理视图在UML中被称为部署视图,主要考虑如何把软件映射到硬件上,它通常要考虑到解决系统拓扑结构、系统安装和通信等问题。

场景。场景可以看作是那些重要系统活动的抽象,它使4个视图有机联系起来。场景对应UML中的用例视图。

2、结合实际项目,详细说明项目软件架构的内容。这部分内容应包括:在设计软件架构时,分别使用了4+1”视图中的哪些视图,每个视图中包含的模型有哪些等。

三、说明该项目软件架构的实施效果,分析其是否满足了项目的需求并说明原因。

1)加解密API:数据库管理系统提供可在SQL语句中调用的加解密API,应用可以利用这些API构建自己的基础架构,对数据进行加密保护。


2)透明加密:安全管理员为数据库敏感字段选择加密方式及密钥强度,应用访问受保护数据时只需使用口令打开或关闭密钥表,对数据的加密和解密由数据库管理系统自动完成。

加解密API方式的灵活性强,但构建和管理复杂;而透明加密方式管理简单,应用程序负担轻,但灵活性较差。用户要求尽可能减少安全管理与应用程序的负担,因此应选择透明加密方式。


第9题:

在进行系统设计时,概要设计和详细设计的工作内容有什么不同?


正确答案: 系统概要设计主要涉及系统的总体构架,对软硬件进行划分,选定处理器、操作系统及开发平台,大概是确定设计的总体流程,包括功能模块图设计等。
详细设计主要涉及到硬件和软件的详细设计,包括逻辑电路图设计、PCB设计以及模块详细算法等
概要设计是在需求分析的基础上通过抽象和分解将系统分解成模块,确定系统功能的实现。基本任务是:建立系统结构(划分模块、定义模块功能、模块间的调用关系、定义模块的接口、评价模块的质量)、数据结构和数据库的设计(数据结构设计、概念设计、逻辑设计、物理设计)、编写概要设计文档(概要设计说明书、用户手册、数据库设计说明书、修订测试计划)。
(详细设计)的基本任务是设计模块的数据结构、设计数据库的物理结构、设计模块的详细算法、其它(代码设计、输入/输出格式设计、人机对话设计)、编写详细设计说明书、评申。

第10题:

怎么理解“软件概要设计是系统总体结构设计或系统架构设计”?


正确答案:软件概要设计用以描述系统最顶层的结构和组织形式,表示出软件系统各个组成部分的功能及其互相之间的接口关系,所以概要设计是系统总体结构设计或系统架构设计。