系统架构设计师系统开发基础.pdf





《系统架构设计师系统开发基础.pdf》由会员分享,可在线阅读,更多相关《系统架构设计师系统开发基础.pdf(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 模拟 系统架构设计师系统开发基础单项选择题第 1 题:需求工程活动产生软件运行特征的规约,指明软件和其他系统元素的接口并建立_。A.数据流图和数据字典B.程序流程图C.体系结构模型D.软件必须满足的约束条件参考答案:D 需求工程活动产生软件运行特征的规约,指明软件和其他系统元素的接口并建立软件必须满足的约束条件。数据流图和数据字典只是这些约束条件的表示方法,而程序流程图和体系结构模型是设计阶段的工作。第 2 题:有两种需求定义的方法严格定义和原型定义,在关于这两种方法的描述中,不正确的是 _。A.严格定义方法假定所有的需求都可以预先定义B.严格定义方法假定软件开发人员与用户之间的沟通存在障
2、碍C.原型定义方法认为需求分析中不可避免地要出现很多反复D.原型定义方法强调用户在软件开发过程中的参与和决策参考答案:B 严格定义(预先定义)是目前采用较多的一种需求定义方法。在采用严格定义的传统的结构化开发方法中,各个工作阶段排列成一个理想的线性开发序列,在每一工作阶段中,都用上一阶段所提供的完整、严格的文档作为指导文件,因此它本质上是一种顺序型的开发方法。在传统的结构化开发中,需求的严格定义建立在以下的基本假设上:所有需求都能够被预先定义。假设意味着,在没有实际系统运行经验的情况下,全部的系统需求均可通过逻辑推断得到。这对某些规模较小、功能简单的系统是可能的,但对那些功能庞大、复杂且较大的
3、系统显然是困难的。即使事先做了深入细致的调查和分析,当用户见到新系统的实际效果时,也往往会改变原先的看法,会提出修改或更进一步增加系统功能的要求,所以再好的预先定义技术也会经常反复。这是因为人们对新事物的认识与理解将随着直观、实践的过程进一步加深,这是与人类认识世界的客观规律相一致的。所以,能够预先定义出所有需求的假设在许多场合是不能成立的。开发人员与用户之间能够准确而清晰地交流。假设认为,用户与开发人员之间,虽然每人都有自己的专业、观点、行话,但在系统开发过程中可以使用图形/文档等通信工具进行交流,进行清晰、有效的沟通,这种沟通是必不可少的。可是,2 在实际开发中,往往对一些共同的约定,每个
4、人可能都会产生自己的理解和解释。即使采用结构化语言、判定树、判定表等工具,仍然存在精确的、技术上的不严密感。这将导致人们有意无意地带有个人的不同理解而各行其是,所以在多学科、多行业人员之间进行有效的通信交流是有一定困难的。采用图形/文字可以充分体现最终系统。在使用严格定义需求的开发过程中,开发人员与用户之间交流、通信的主要工具是定义报告,包括叙述文字、图形、逻辑规则和数据字典等技术工具。它们都是静止的、被动的,不能实际表演,很难在用户头脑中形成一个具体的形象。因此,要用静止的图形/文字描述来体现一个动态的系统是比较困难的。除了所论述的情况外,上述基本假设还将导致严格定义的结构化开发方法存在以下
5、缺陷。首先是文档量大,由于在结构化方法的每个阶段都必须写出规范、严密的各种文档,这些文档虽然有助于开发人员之间、用户与开发人员问的通信交流,有助于开发过程的规范化,但由于编写文档花费大量人力和时间,导致系统开发周期增大。其次是开发过程可见性差,来自用户的反馈太迟。由于在需求定义、系统设计阶段都不能在用户终端显示新系统的实际效果,一直到系统实现阶段结束,用户才有机会通过对新系统的实际操作和体会来提出他们对新系统的看法和意见,但此时整个开发已近尾声,若想修改前几段的工作或修改需求定义,都将付出较大的代价,有时这种修改甚至会导致整个系统的失败。综上所述,需求的严格定义的基本假设在许多情况下并不成立,
6、传统的结构化方法面临着一些难以跨越的障碍。为此,需要探求一种变通的方法。原型方法以一种与严格定义法截然不同的观点看待需求定义问题。原型化的需求定义过程是一个开发人员与用户通力合作的反复过程。从一个能满足用户基本需求的原型系统开始,允许用户在开发过程中提出更好的要求,根据用户的要求不断地对系统进行完善,它实质上是一种迭代的循环型的开发方式。采用原型方法时需要注意以下几个问题:并非所有的需求都能在系统开发前被准确地说明。事实上,要想严密、准确地定义任何事情都是有一定难度的,更不用说是定义一个庞大系统的全部需求。用户虽然可以叙述他们所需最终系统的目标及大致功能,但是对某些细节问题却往往不可能十分清楚
7、。一个系统的开发过程,无论对于开发人员还是用户来说,都是一个学习和实践的过程,为了帮助他们在这个过程中提出更完善的需求,最好的方法就是提供现实世界的实例原型,对原型进行研究、实践,并进行评价。项目参加者之间通常都存在交流上的困难,原型提供了克服该困难的一个手段。用户和开发人员通过屏幕、键盘进行对话和讨论、交流,从他们自身的理解出发来测试原型,一个具体的原型系统,由于直观性、动态性而使得项目参加者之间的交流上的困难得到较好的克服。需要实际的、可供用户参与的系统模型。虽然图形和文字描述是一种较好的通信交流工具,但是,其最大缺陷是缺乏直观的、感性的特征,因而不易理解对象的全部含义。交互式的系统原型能
8、够提供生动的规格说明,用户见到的是一个“活”的、实际运行着的系统。实际使用在计算机上运行的系统,显然比理解纸面上的系统要深刻得多。有合适的系统开发环境。随着计算机硬件、软件技术和软件工具的迅速发展,软件的设计与实现工作越来越方便,对系统进行局部性修改甚至重新开发的代价大大降低。所以,对大系统的原型化已经成为可能。反复是完全需要和值得提倡的,需求一旦确定,就应遵从严格的方法。对系统改进的建议来自经验的发展,应该鼓励用户改进他们的系统,只有做必要的改变后,才能使用户和系统问获得更加良好的匹配,所以,从某种意义上说,严格定义需求的方法实际上抑制了用户在需求定义以后再改进的3 要求,这对提高最终系统的
9、质量是有害的。另一方面,原型方法的使用并不排除严格定义方法的运用,当通过原型并在演示中得到明确的需求定义后,应采用行之有效的结构化方法来完成最终系统的开发。第 3 题:软件需求分析产生软件操作特征的规格说明,指明软件和其他系统元素的接口,建立软件必须满足的约束。下面对于软件需求分析的描述,不正确的是_。A.分析员研究系统规约和软件项目计划,并在系统语境内理解软件和复审,从而生成计划软件范围的估算B.需求分析使得系统工程师能够刻画出软件的功能和性能、指明软件和其他系统元素的接口、并建立软件必须满足的约束C.经过仔细的需求分析活动,分析员能够得到详细的系统规约D.需求分析能够为软件设计者提供可被翻
10、译成数据、体系结构、界面和过程设计的模型参考答案:C 需求分析使得系统工程师能够刻画出软件的功能和性能、指明软件和其他系统元素的接口、并建立软件必须满足的约束。需求分析能够为软件设计者提供可被翻译成数据、体系结构、界面和过程设计的模型。分析员研究系统规约和软件项目计划,并在系统语境内理解软件和复审,从而生成计划软件范围的估算。第 4 题:质量功能部署(QFD)是一种将客户要求转化成软件需求的技术。OFD 的目的是最大限度地提升软件工程过程中客户的满意度。为了这个目标,OFD 确认了 3 类需求,常规需求、_和意外需求。A.期望需求B.基础需求C.显式需求D.功能需求参考答案:A OFD确认了
11、3 类需求,分别是基本需求(常规需求)、期望需求和意外需求(兴奋需求)。其中期望需求指的是那些隐含在产品或系统中,可能由于非常基础以至于用户没有显式说明的需求。第 5 题:需求分析的任务是借助于当前系统的物理模型导出目标系统的逻辑模型,解决目标系统“做什么”的问题。_并不是需求分析的实现步骤之一。A.获得当前系统的物理模型B.抽象出当前系统的逻辑模型C.建立目标系统的逻辑模型4 D.确定目标实现的具体技术路线参考答案:D 第 6 题:希赛网软件开发团队欲开发一套管理信息系统,在项目初期,用户提出了软件的一些基本功能,但是没有详细定义输入、处理和输出需求。在这种情况下,该团队在开发过程应采用_。
12、A.瀑布模型B.增量模型C.原型开发模型D.快速应用程序开发(RAD)参考答案:C 瀑布模型也称为生命周期法,是生命周期法中最常用的开发模型,它把软件开发的过程分为软件计划、需求分析、软件设计、程序编码、软件测试和运行维护6个阶段,规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。瀑布模型是最早出现的软件开发模型,在软件工程中占有重要的地位,它提供了软件开发的基本框架。瀑布模型主要用于需求明确或很少变更的项目。原型法适合于用户没有肯定其需求的明确内容的时候。它是先根据已给的和分析的需求,建立一个原始模型,这是一个可以修改的模型(在生命周期法中,需求分析成文档后一般不再进行修改)。
13、在软件开发的各个阶段都把有关信息相互反馈,直至模型的修改,使模型渐趋完善。在这个过程中,用户的参与和决策加强了,最终的结果是更适合用户的要求。这种原型法成败的关键及效率的高低,关键在于模型的建立及建模的速度。增量模型融合了瀑布模型的基本成分(重复地应用)和原型的迭代特征。采用随着日程时间的进展而交错的线性序列。每一个线性序列产生软件的一个可发布的“增量”。当使用增量模型时,第一个增量往往是核心的产品,即实现了基本的需求,但很多补充的特性还没有发布。核心产品交用户使用,使用和/或评估的结果是下一个增量的开发计划。该计划包括对核心产品的修改,使其能更好地满足用户的需要,并发布一些新增的特点和功能。
14、这个过程在每一个增量发布后不断重复,直到产生最终的完善产品。RAD是一个线性顺序的软件开发模型,强调极短的开发周期和可复用程序构件的开发。RAD 模型是瀑布模型的一个高速变种,通过使用基于构件的建造方法获得了快速开发。如果需求理解得很好,且约束了项目范围,RAD 模型使得一个开发组能够在很短时间内创建出功能完善的系统。RAD方法主要用于信息系统应用软件的开发,它包含业务建模、数据建模、处理建模、应用生成、测试及反复5 个阶段。第 7 题:基于构件的开发(CBD)模型,融合了 _模型的许多特征。该模型本质是演化的,采用迭代方法开发软件。A.瀑布5 B.快速应用开发(RAD)C.螺旋D.形式化方法
15、参考答案:C 基于构件的开发模型利用模块化方法将整个系统模块化,并在一定构件模型的支持下复用构件库中的一个或多个软件构件,通过组合手段高效率、高质量地构造应用软件系统的过程。基于构件的开发模型融合了螺旋模型的许多特征,本质上是演化形的,开发过程是迭代的。基于构件的开发模型由软件的需求分析和定义、架构设计、构件库建立、应用软件构建及测试和发布5 个阶段组成。统一软件开发过程是一种基于面向对象技术的软件开发过程,其特点是“用例驱动,以架构为核心,迭代并增量”。统一软件开发过程定义了4 种通用的开发阶段,它们按照过程顺序分别是:起始阶段、(8)、构建阶段和(9),其中在构建阶段主要产生的文档有(10
16、)。第 8 题:A.分析阶段B.细化阶段C.设计阶段D.交付阶段参考答案:B 第 9 题:A.分析阶段B.细化阶段C.设计阶段D.交付阶段参考答案:D 第 10 题:A.初始用户手册B.用例模型C.项目计划D.设计模型参考答案:D 6 统一过程适合于大、中型项目的开发,可以分为 4 个顺序的阶段,分别是初始阶段、细化阶段、构建阶段和移交阶段。初始阶段的任务是为系统建立业务模型并确定项目的边界。在初始阶段,必须识别所有与系统交互的外部实体,定义系统与外部实体交互的特性。在这个阶段中所关注的是整个项目的业务和需求方面的主要风险。对于建立在原有系统基础上的开发项目来说,初始阶段可能很短。细化阶段的任
17、务是分析问题领域,建立健全的架构基础,淘汰项目中最高风险的元素。在细化阶段,必须在理解整个系统的基础上,对架构做出决策,包括其范围、主要功能和诸如性能等非功能需求,同时为项目建立支持环境。在构建阶段,要开发所有剩余的构件和应用程序功能,把这些构件集成为产品,并进行详细测试。从某种意义上说,构建阶段是一个制造过程,其重点放在管理资源及控制操作,以优化成本、进度和质量。构建阶段的主要任务是通过优化资源和避免不必要的报废和返工,使开发成本降到最低;完成所有所需功能的分析、开发和测试,快速完成可用的版本;确定软件、场地和用户是否已经为部署软件做好准备。在构建阶段,开发团队的工作可以实现某种程度的并行。
18、即使是较小的项目,也通常包括可以相互独立开发的构件,从而使各团队之间实现并行开发。当基线已经足够完善,可以安装到最终用户实际环境中时,则进入交付阶段。交付阶段的重点是确保软件对最终用户是可用的。交付阶段的主要任务是进行测试,制作产品发布版本;对最终用户支持文档定稿;按用户的需求确认新系统;培训用户和维护人员;获得用户对当前版本的反馈,基于反馈调整产品,如进行调试、性能或可用性的增强等。根据产品的种类,交付阶段可能非常简单,也可能非常复杂。例如,发布现有桌面产品的新发布版本可能十分简单,而替换一个国家的航空交通管制系统可能就非常复杂。交付阶段结束时也要进行技术评审,评审目标是否实现,是否应该开始
19、演化过程,用户对交付的产品是否满意等。第 11 题:敏捷软件过程强调:让客户满意和软件尽早增量发布;小而高度自主的项目团队;非正式的方法;最小化软件工程工作产品,以及整体精简开发。_不是采用这种软件开发过程的原因。A.难以提前预测哪些需求是稳定的和哪些需求会变化B.对于软件项目开发来说,设计和实现可以做到基本分离C.从制订计划的角度来看,分析、设计、实现和测试并不容易预测D.可执行原型和部分实现的可运行系统是了解用户需求和反馈的有效媒介参考答案:B 敏捷软件过程主要有四大价值观:个体和交互胜过过程和工具;可以工作的软件胜过面面俱到的文档;客户合作胜过合同谈判;响应变化胜过遵循计划。这种价值观的
20、前提是软件需求是难以提前确定的,而是会不断地发生变化,可以采用可执行原型和部分实现的可运行系统来了解用户需求,通过用户的反馈来明确需求。从制订计划的角度来看,分析、设计、实现和测试并不容易预测。逆向工程过程的抽象层次是指可从源代码中抽取出来的设计信息的精制程度。抽象层次分为4 层,其中,“最低层”抽象能够导出过程的设计表示文档,“低层”抽象能够导出程序和数据结构信息,“中层”能够导出(12),“高7 层”抽象能够导出(13)。第 12 题:A.实体关系模型B.程序和文档结构信息C.全部文档信息D.数据流和控制流模型参考答案:D 第 13 题:A.实体关系模型B.模块结构图C.完全的数据流图D.
21、全部文档信息参考答案:A 逆向工程过程能够导出过程的设计模型(实现级,一种低层的抽象)、程序和数据结构信息(结构级,稍高层次的抽象)、对象模型、数据和控制流模型(功能级,相对高层的抽象)和 uML状态图和部署图(领域级,高层抽象)。随着抽象层次增高,完备性就会降低。抽象层次越高,它与代码的距离就越远,通过逆向工程恢复的难度就越大,而自动工具支持的可能性相对变小,要求人参与判断和推理的工作增多。所以本题选 D、A。关于逆向工程的详细说明,请参看“7.1.4软件开发方法”中的逆向工程。第 14 题:详细的项目范围说明书是项目成功的关键。_不应该属于范围定义的输入。A.项目章程B.项目范围管理计划C
22、.批准的变更申请D.项目文档管理方案参考答案:D 在初步项目范围说明书中已文档化的主要的可交付物、假设和约束条件的基础上准备详细的项目范围说明书,是项目成功的关键。范围定义的输入包括以下内容:项目章程。如果项目章程或初始的范围说明书没有在项目执行组织中使用,同样的信息需要进一步收集和开发,以产生详细的项目范围说明书。项目范围管理计划。组织过程资产。批准的变更申请。所以项目文档管理方案不属于范围定义的输入。8 第 15 题:项目时间管理包括使项目按时完成所必需的管理过程,活动定义是其中的一个重要过程。通常可以使用_来进行活动定义。A.鱼骨图B.工作分解结构(WBS)C.层次分解结构D.功能分解图
23、参考答案:B 项目时间管理包括使项目按时完成所必需的管理过程。项目时间管理中的过程包括:活动定义、活动排序、活动的资源估算、活动历时估算、制定进度计划及进度控制。为了得到工作分解结构(Work Breakdown Structure,WBS)中最底层的交付物,必须执行一系列的活动。对这些活动的识别及归档的过程就是活动定义。鱼骨图(又称为 Ishikawa 图)是一种发现问题“根本原因”的方法,通常用来进行因果分析。第 16 题:软件的逆向工程是一个恢复设计的过程,从现有的程序中抽取数据、体系结构和过程的设计信息。逆向工程的完备性可以用在某一个抽象层次上提供信息的详细程度来描述,在大多数情况下,
24、抽象层次越高,完备性就越低。下列可以通过逆向工程恢复的制品中,完备性最低的是_。A.过程的设计模型B.程序和数据结构C.对象模型、数据和控制流D.uML状态图和部署图参考答案:D 逆向工程过程及用于实现该过程的工具的抽象层次是指可从源代码中抽取出来的设计信息的精密程度。理想地,抽象层次应该尽可能高,即逆向工程过程应该能够导出过程的设计表示(一种低层的抽象);程序和数据结构信息(稍高一点层次的抽象);数据和控制流模型(一种相对高层的抽象);以及实体关系模型(一种高层抽象)。随着抽象层次增高,软件工程师获得更有助于理解程序的信息。在试题给出的4 个选项中,UML状态图和部署图可以用来描述实体之间的
25、关系,因此,其层次最高,完备性最低。第 17 题:_把整个软件开发流程分成多个阶段,每一个阶段都由目标设定、风险分析、开发和有效性验证及评审构成。A.原型模型B.瀑布模型C.螺旋模型D.V 模型9 参考答案:C 本题考查开发模型基础知识,解这类题,需要对常见模型的核心特点有所了解。下面对选项中出现的模型做一个简单的总结。原型模型:针对需求不明确、原型可抛弃。瀑布模型:阶段明晰、无法应对需求不明确的情况。螺旋模型:瀑布模型+演化模型、循环、里程碑、风险分析。V 模型:测试模型、测试全程介入、测试计划提前。把以上特点与题目描述进行对比,可以发现本题所描述的是螺旋模型。在 RUP 中采用“4+1”视
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统 架构 设计师 开发 基础

限制150内