系统架构设计师 习题练习 系统开发高级知识.docx
《系统架构设计师 习题练习 系统开发高级知识.docx》由会员分享,可在线阅读,更多相关《系统架构设计师 习题练习 系统开发高级知识.docx(386页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、系统开发高级知识软件开发与管理【单项选择题】软件系统工具的种类繁多,通常可以按照软件过程活动将软件工具分为()A、 需求分析工具、设计工具和软件实现工具 B、 软件开发工具、软件维护工具、软件管理工具和软件支持工具 C、 需求分析工具、设计工具、编码与排错工具和测试工具 D、 设计规范工具、编码工具和验证工具 答案:B 解析:通常按软件过程活动将软件工具分为软件开发工具、软件维护工具 、软件管理和软件支持工具。 软件开发工具:需求分析工具、设计工具、编码与排错工具。 软件维护工具:版本控制工具、文档分析工具、开发信息库工具、逆向工程工具、再工程工具。 软件管理和软件支持工具:项目管理工具、配置
2、管理工具、软件评价工具、软件开发工具的评价和选择。【单项选择题】甘特图(Gantt图)不能( )。A、 作为项目进度管理的一个工具 B、 清晰地描述每个任务的开始和截止时间 C、 清晰地获得任务并行进行的信息 D、 清晰地获得各任务之间的依赖关系 答案:D 解析:甘特图是一种能清晰描述每个任务的开始和截止时间,能有效获得任务并行进行的信息的项目管理工具。【单项选择题】快速应用开发(Rapid Application development,RAD)通过使用基于(请作答此空)的开发方法获得快速开发。当( )时,最适合于采用RAD方法。A、 用例 B、 数据结构 C、 剧情 D、 构件 答案:D
3、解析:快速应用开发(Rapid Application Development,RAD)是一种比传统生存周期法快得多的开发方法,它强调极短的开发周期。RAD模型是瀑布模型的一个高速变种,通过使用基于构件的开发方法获得快速开发。如果需求理解得很好,且约束了项目范围,利用这种模型可以很快地开发出功能完善的信息系统。但是RAD也具有以下局限性:并非所有应用都适合RAD。RAD对模块化要求比较高,如果有哪一项功能不能被模块化,那么RAD所需要的构建就会有问题;如果高性能是一个指标,且该指标必须通过调整接口使其适应系统构件才能获得,则RAD也有可能不能奏效。开发者和客户必须在很短的时间完成一系列的需求分
4、析,任何一方配合不当,都会导致RAD项目失败。RAD只能用于管理信息系统的开发,不适合技术风险很高的情况。例如,当一个新系统要采用很多新技术,或当新系统与现有系统有较高的互操作性时,就不适合使用RAD。【单项选择题】项目的成本管理中,( )将总的成本估算分配到各项活动和工作包上,来建立一个成本的基线。A、 成本估算 B、 成本预算 C、 成本跟踪 D、 成本控制 答案:B 解析:成本管理过程包括:成本估算、成本预算与成本控制。其中成本预算的含义是将总的成本估算分配到各项活动和工作包上,来建立一个成本的基线。而成本估算是对完成项目活动所需资金进行近似的估算。【单项选择题】在对一个软件系统的架构进
5、行设计与确认之后,需要进行架构复审。架构复审的目的是为了标识潜在的风险,及早发现架构设计中的缺陷和错误。在架构复审过程中,主要由()决定架构是否满足需求、质量需求是否在设计中得到体现。A、 系统分析师与架构师 B、 用户代表与领域专家 C、 系统拥有者与项目经理 D、 系统开发与测试人员 答案:B 解析:【单项选择题】螺旋模型将整个软件开发过程分为多个阶段,每个阶段都由目标设定、()、开发和有效性验证以及评审4个部分组成。A、 需求分析 B、 风险分析 C、 系统设计 D、 架构设计 答案:B 解析:螺旋模型是在快速原型的基础上扩展而成的一种生存周期模型。这种模型将整个软件开发流程分成多个阶段
6、,每个阶段都由4部分组成,它们是:目标设定。为该项目进行需求分析,定义和确定这一个阶段的专门目标,指定对过程和产品的约束,并且制定详细的管理计划。风险分析。对可选方案进行风险识别和详细分析,制定解决办法,采取有效的措施避免这些风险。开发和有效性验证。风险评估后,可以为系统选择开发模型,并且进行原型开发,即开发软件产品。评审。对项目进行评审,以确定是否需要进入螺旋线的下一次回路,如果决定继续,就要制定下一阶段计划。螺旋模型的软件开发过程实际是上述4个部分的迭代过程,每迭代一次,螺旋线就增加一周,软件系统就生成一个新版本,这个新版本实际上是对目标系统的一个逼近。经过若干次的迭代后,系统应该尽快地收
7、敛到用户允许或可以接受的目标范围内,否则也可能中途夭折。【单项选择题】 关于 XML 的语法要求不正确的是( ) A、 在XML中编写注释的语法与HTML的语法很相似 B、 XML文档必须有一个元素是所有其他元素的父元素。该元素称为根元素 C、 XML的属性值与HTML语言不一样,不须加引号 D、 声明不属于XML本身的组成部分。它不是XML元素,也不需要关闭标签 答案:C 解析:【单项选择题】( )中,编程开发人员分成首席程序员和"类"程序员。A、 自适应软件开发(ASD) B、 极限编程(XP)开发方法 C、 开放统-过程开发方法(OpenUP) D、 功用驱动开发方法
8、(FDD) 答案:D 解析:(1) XP (Extreme Programming,极限编程)在所有的敏捷型方法中,XP是最引人瞩目的。它源于Smalltalk圈子,特别是Kent Beck和Ward Cunningham在20世纪80年代末的密切合作。XP在一些对费用控制严格的公司中的使用,已经被证明是非常有效的。(2) Cockburn的水晶系列方法,水晶系列方法是由Alistair Cockburn提出的。它与XP方法一样,都有以人为中心的理念,但在实践上有所不同。Alistair考虑到人们一般很难严格遵循一个纪律约束很强的过程,因此,与XP的高度纪律性不同,Alistair探索了用最少
9、纪律约束而仍能成功的方法,从而在产出效率与易于运作上达到一种平衡。也就是说,虽然水晶系列不如XP那样的产出效率,但会有更多的人能够接受并遵循它。(3) 开放式源码,这里提到的开放式源码指的是开放源码界所用的一种运作方式。开放式源码项目有一个特别之处,就是程序开发人员在地域上分布很广,这使得它和其他敏捷方法不同,因为一般的敏捷方法都强调项目组成员在同一地点工作。开放源码的一个突出特点就是查错排障(debug)的高度并行性,任何人发现了错误都可将改正源码的"补丁"文件发给维护者。然后由维护者将这些"补丁"或是新增的代码并入源码库。(4) SCRUM。SCRU
10、M己经出现很久了,像前面所论及的方法一样,该方法强调这样一个事实,即明确定义了的可重复的方法过程只限于在明确定义了的可重复的环境中,为明确定义了的可重复的人员所用,去解决明确定义了的可重复的问题。(5) Coad的功用驱动开发方法(FDD-Feature Driven Development)FDD是由Jeff De Luca和大师Peter Coad提出来的。像其他方法一样,它致力于短时的迭代阶段和可见可用的功能。在FDD中,一个迭代周期一般是两周。在FDD中,编程开发人员分成两类:首席程序员和"类"程序员(class owner)。首席程序员是最富有经验的开发人员,他们
11、是项目的协调者、设计者和指导者,而"类"程序员则主要做源码编写。(6) ASD方法,ASD (Adaptive Software Development)方法由Jim Highsmith提出,其核心是三个非线性的、重叠的开发阶段:猜测、合作与学习。【单项选择题】( )在软件开发机构中被广泛用来指导软件过程改进。A、 能力成熟度模型(Capacity Maturity Model) B、 关键过程领域(Key Process Areas) C、 需求跟踪能力链(Traceability Link) D、 工作分解结构(Work Breakdown Structure) 答案:
12、A 解析:CMM能力成熟度模型(Capacity Maturity Model)是用来指导软件过程改进的。【简答题】某公司要在现场开发一个网站应用系统,该系统的特点是:规模不大;工期短;用户需求不明确;没有大的技术风险;系统中的一些模块可以外包给其他的公司开发。在选择开发过程时,项目组内产生了分歧。王工提出采用XP(eXtreme Programming,极限编程),理由是XP方法简洁,能减轻开发人员的负担、快速适应市场、缩短投资回收期。李工认为采用XP在项目开发中存在一些问题,建议考虑原型开发方法。双方就上述的问题展开了激烈的争论。项目组最后决定采用XP,但同时针对李工提出的XP中存在的问题
13、采取了相应的措施。【问题1】小规模发布(small release)是XP的基本元素之一。请用200字以内文字分别阐明:(1)原型系统和XP小规模发布的系统的主要差别?(2)为什么该项目组没有采用原型开发方法?【问题2】请用200字以内文字,简要说明采用XP方法可能会存在哪些问题。【问题3】在项目组的后续讨论中,李工提出,如果项目规模扩大,XP将不再适用。王工对此表示赞同,但同时提出可以将XP方法和传统软件开发过程相结合。请用200字以内的文字简要地说明如何将XP方法和传统软件开发过程相结合。1、【问题1】(1)原型系统和XP小型发布的系统的主要差别是功能。采用原型系统主要是让用户确认需求,或
14、者用来测试关键的技术,但是它展示的功能并不是实际系统的功能,不能用来评价实际的系统;XP小型发布的系统考试时不包括足够的功能,但是每个功能和可发布的产品的定义是一样的。在完整性上,它配备了一系列实用的功能集;在质量上,它可以健壮地运行。(2)在该项目中,不需要开发原型系统。由于项目没有大的技术风险,所以不需要用原型系统来测试关键技术。网站系统的开发和原型系统的开发在工作量上是相当的,在时间要求短的情况下,直接开发系统可以节省时间。对于用户需求经常发生变化的情况,可以采用XP开发方法的代码重构、持续集成和小型发布等技术。【问题2】(1)开发团队、管理层,以及客户的不理解,阻碍XP方法论实施。(2
15、)导致开发团队忽视文档,以XP为借口拒绝编写甚至是必须的文档。(3)XP是针对单一团队设计的,外包方的参与将会为有效的组织带来很大的困难。(4)缺乏客户的参与,导致用户故事编写、优先级确认等工作遇到困难。(5)项目规模扩大后,XP方法论将不适应。(6)对客户、开发人员和管理者的素质要求较高。【问题3】(1)可以将XP和传统软件开发过程中的增量式开发过程相结合。(2)将大规模项目划分为若干个具有共同目标的小规模项目,用XP方法论组织小项目开发,用传统软件过程方法论监控全局。(3)在此基础上,建立面向目标的项目管理。答案:解析:【单项选择题】下列关于敏捷方法的叙述中,错误的是()。A、 与传统方法
16、相比,敏捷方法比较适合需求变化大或者开发前期对需求不是很清晰的项目 B、 敏捷方法尤其适合于开发团队比较庞大的项目 C、 敏捷方法的思想是适应性,而不是预设性 D、 敏捷方法以原型开发思想为基础,采用迭代式增量开发 答案:B 解析:本题考查敏捷方法的相关概念。敏捷方法是从20世纪90年代开始逐渐引起广泛关注的一些新型软件开发方法,以应对快速变化的需求。敏捷方法的核心思想主要有以下三点。敏捷方法是“适应性”而非“预设性”的。传统方法试图对一个软件开发项目在很长的时间跨度内做出详细的计划,然后依计划进行开发。这类方法在计划制定完成后拒绝变化。而敏捷方法则欢迎变化,其实它的目的就是成为适应变化的过程
17、,甚至能允许改变自身来适应变化。敏捷方法是以人为本,而不是以过程为本。传统方法以过程为本,强调充分发挥人的特性,不去限制它,并且软件开发在无过程控制和过于严格繁琐的过程控制中取得一种平衡,以保证软件的质量。迭代增量式的开发过程。敏捷方法以原型开发思想为基础,采用迭代增量式开发,发行版本小型化。RUP相比,敏捷方法的周期可能更短。敏捷方法在几周或者几个月的时间内完成相对较小的功能,强调的是能尽早将尽量小的可用的功能交付使用,并在整个项目周期中持续改善和增强,并且更加强调团队中的高度写作。相对而言,敏捷方法主要适合于以下场合:项目团队的人数不能太多,适合于规模较小的项目。项目经常发生变更。敏捷方法
18、适用于需求萌动并且快速改变的情况,如果系统有比较高的关键性、可靠性、安全性方面的要求,则可能不完全适合。高风险项目的实施。从组织结构的角度看,组织结构的文化、人员、沟通性决定了敏捷方法是否使用。【单项选择题】项目范围管理中,范围定义的输入包括()A、 项目章程、项目范围管理计划、产品范围说明书和变更申请 B、 项目范围描述、产品范围说明书、生产项目计划和组织过程资产 C、 项目章程、项目范围管理计划、组织过程资产和批准的变更申请 D、 生产项目计划、项目可交付物说明、信息系统要求说明和项目质量标准 答案:C 解析:在初步项目范围说明书中已文档化的主要的可交付物、假设和约束条件的基础上准备详细的
19、项目范围说明书,是项目成功的关键。范围定义的输入包括以下内容: 项目章程。如果项目章程或初始的范围说明书没有在项目执行组织中使用,同样的信息需要进一步收集和开发,以产生详细的项目范围说明书。 项目范围管理计划。 组织过程资产。 批准的变更申请。【单项选择题】以下关于软件开发方法的叙述,错误的是( )。A、 对于较为复杂的应用问题,适合采用形式化方法进行需求分析 B、 形式化方法的优势在于能够精确地表述和研究应用问题及其软件实现 C、 净室软件工程将正确性验证作为发现和排除错误的主要机制 D、 净室软件工程强调统计质量控制技术,包括对客户软件使用预期的测试 答案:A 解析:软件开发方法是指软件开
20、发过程所遵循的办法和步骤,从不同的角度可以对软件开发方法进行不同的分类。形式化方法是一种具有坚实数学基础的方法,从而允许对系统和开发过程做严格处理和论证,适用于那些系统安全级别要求极高的软件的开发。形式化方法的主要优越性在于它能够数学地表述和研究应用问题及软件实现。但是它要求开发人员具备良好的数学基础。用形式化语言书写的大型应用问题的软件规格说明往往过于细节化,并且难于为用户和软件设计人员所理解。由于这些缺陷,形式化方法在目前的软件开发实践中并未得到普遍应用。净室软件工程(Cleanroom Software Engineering,CSE)是软件开发的一种形式化方法,可以开发较高质量的软件。
21、它使用盒结构规约进行分析和建模,并且将正确性验证作为发现和排除错误的主要机制,使用统计测试来获取认证软件可靠性所需要的信息。CSE强调在规约和设计上的严格性,还强调统计质量控制技术,包括基于客户对软件的预期使用测试。【单项选择题】XP 是一种轻量级(敏捷)、高效、低风险、柔性、可预测的、科学的软件开发方式,其四大价值观包括沟通、简单、( )。A、 隐喻和反馈 B、 重构和勇气 C、 隐喻和重构 D、 反馈和勇气 答案:D 解析:本题考查软件过程基础知识。XP(极限编程)是一种轻量级(敏捷)、高效、低风险、柔性、可预测的、科学的软件开发方式。它由价值观、原则、实践和行为四个部分组成,彼此相互依赖
22、、关联,并通过行为贯穿于整个生存周期。其四大价值观包括沟通、简单、反馈和勇气。【单项选择题】 当数据对象满足一定条件时属于格式正规的文档,其中不包括( ) A、 语法合乎XML规范 B、 元素没有根节点 C、 元素构成一个层次树 D、 没有对外部实体的引用,除非提供DTD 答案:B 解析:【单项选择题】UNIX 的源代码控制工具(source Code control System,SCCS)是软件项目开发中常用的( )。A、 源代码静态分析工具 B、 工具 C、 控制工具 D、 再工程工具 答案:C 解析:版本控制软件提供完备的版本管理功能,用于存储、追踪目录(文件夹)和文件的修改历史,是软
23、件开发者的必备工具,是软件公司的基础设施。版本控制软件的最高目标,是支持软件公司的配置管理活动,追踪多个版本的开发和维护活动,及时发布软件。SCCS是元老级的版本控制软件,也叫配置管理软件。【单项选择题】 XML 语法表述正确的是() A、 所有XML元素都须有关闭标签 B、 XML标签对大小写不敏感 C、 XML文档不需要根元素 D、 在XML中,空格不会被保留 答案:A 解析:【单项选择题】下列关于风险的叙述不正确的是:风险是指( )。A、 可能发生的事件 B、 一定会发生的事件 C、 会带来损失的事件 D、 可能对其进行干预,以减少损失的事件 答案:B 解析:本题主要我们对风险概念的理解
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统架构设计师 习题练习 系统开发高级知识 系统 架构 设计师 习题 练习 开发 高级 知识
限制150内