




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信息系统项目管理师考试冲刺(习题与解答)第1章信息系统开发基础 从历年的考试试题来看,本章的考点在综合知识考试中的平均分数为9.22分,约为总分的12.30%.主要分数集中在信息系统建设、软件工程和面向对象方法这3个大的知识点上。 1.1 考点提炼第1章 信息系统开发基础从历年的考试试题来看,本章的考点在综合知识考试中的平均分数为9.22分,约为总分的12.30%.主要分数集中在信息系统建设、软件工程和面向对象方法这3个大的知识点上。1.1 考点提炼因为信息系统项目管理师的定位并非软件开发专家,因此考试大纲在信息系统开发方面的要求并不是很高。考生如果具备软件开发与测试的经验固然是好事,但实践经验不足的考生也不需要过于担心。只要通过认真学习,掌握好一些如何建设信息系统的基础知识、软件工程的基本概念以及面向对象的基础知识就可以从容面对。根据考试大纲,结合历年考试真题,希赛教育的软考专家认为,考生必须要掌握以下几个方面的内容:1、信息系统建设在信息系统建设方面,涉及的考点有信息系统的概念、信息系统的功能、信息系统的类型、信息系统的生命周期(重点)、信息系统建设的原则、信息系统规划方法、信息系统开发方法(重点)。2、软件工程在软件工程方面,涉及的考点比较多,具体列举如下:(1)软件开发过程:软件开发模型(重点)、软件需求分析与定义(重点)、软件设计、软件测试、软件维护、软件复用、软件质量保证及质量评价(重点)、软件开发环境、软件过程管理。(2)软件构件技术知识:构件及其重要性、常用构件标准(重点)。(3)软件体系结构:软件体系结构的定义、典型的体系结构、软件体系结构设计方法、软件体系结构分析与评估。(4)软件工具:建模工具、软件开发工具、软件测试工具、项目管理工具。3、面向对象方法在面向对象方法方面,涉及的考点有面向对象的基本概念(重点)、统一建模语言UML(重点)、面向对象的分析与设计。1.2 强化练习试题1软件需求分析所要做的工作是(1),因此,进行需求分析时应注意一切信息与需求都是站在应用的角度上考虑。(1)A.确定软件开发阶段的适用工具B.清晰描述软件的功能和性能C.为原始问题及目标软件建立物理模型D.解决目标系统怎么做的问题试题2下列描述中,(2)不是软件体系结构研究的内容。(2)A.软件体系结构描述语言及工具B.软件体系结构分析、设计及验证C.软件开发过程中应遵守的政策和法规D.特定领域的体系结构试题3在信息系统集成项目开发的开始阶段,如果项目存在很多不确定性因素且项目的参与人员还不能完全理解项目开发的范围和需求,那么采用(3)作为此项目的开发模型更符合项目的实际情况。(3)A.增量迭代模型或螺旋模型 B.面向过程的瀑布模型C.面向对象的模型或快速模型 D.部分并行的瀑布模型试题4关于软件过程改进原则,描述不正确的是(4)。(4)A.问题的解决是过程改进的核心B.改进是受知识驱动的C.改进是项目开发人员的主要工作D.改进应该是一个不断持续的过程试题5用一系列软件的修改来评价软件体系结构的易修改性,属于基于(5)的软件体系结构评估方式。(5)A.度量 B.场景C.实际运行 D.调查问卷或检查表试题6因为在软件开发的每一环节都有可能产生意想不到的问题,所以(6)。(6)A.应尽量由程序员或开发小组测试自己的程序B.在设计测试用例时,只需考虑合理的输入条件即可C.在设计测试用例时,只需考虑合理的输出条件即可D.应当把软件验证与确认贯穿到整个软件开发的全过程中试题7在Linux、Unix和苹果的Mac OS操作系统中,系统集成工程师可使用(7)来构建用C、C+和Java等语言编写的软件。(7)A.Visual Studio.NET B.ProjectC.Visio D.GCC试题8系统集成项目完成了需求分析阶段的工作并开发了原型系统,承建方应组织本方项目经理、建设方代表和相关干系人完成(8)工作?.(8)A.阶段评审 B.桌前检查C.代码走查 D.代码审查试题9软件体系结构中的构件不包括(9)。(9)A.处理构件 B.应用构件C.数据构件 D.连接构件试题10螺旋模型的开发过程具有周期性重复的螺旋线状,每个开发周期由4个象限组成,分别标志着开发周期的4个阶段。螺旋模型之所以特别适用于庞大而复杂的、高风险的系统开发,是因为它强调其中的(10)阶段。(10)A.制定计划 B.实施工程C.客户评诂 D.风险分析试题11某异地开发的信息系统集成项目以程序流程图、数据流程图等为主要分析设计工具。由于用户身处异地,现场参与系统开发成本较高,因此项目组采用了先开发一个简化系统,待用户认可后再开发最终系统的策略。该信息系统集成项目的开发方法属于(11)。(11)A.原型法与面向对象方法的组合应用B.结构化方法与面向对象方法的组合应用C.结构化方法与原型法的组合应用D.原型法与形式化方法的组合应用试题12在软件开发项目中强调个体和交互胜过过程和工具,可以工作的软件胜过全面的文档,客户合作胜过合同谈判,响应变化胜过遵循计划,是(12)的基本思想。(12)A.敏捷方法 B.结构化方法C.原型方法 D.增量迭代方法试题13下面关于软件维护的叙述中,不正确的是(13)。(13)A.软件维护活动可能包括编制软件交付后运行的计划和维护计划,以及交付后的软件修改、培训和提供帮助资料等B.软件维护是软件生命周期中的一个完整部分C.软件维护包括更正性维护、适应性维护、完善性维护和预防性维护等几种类型D.软件维护是在软件交付之后为保障软件运行而要完成的活动试题14程序员在编程时将程序划分为若干个关联的模块。第一个模块在单元测试中没有发现缺陷,程序员接着开发第二个模块。第二个模块在单元测试中有若干个缺陷被确认。对第二个模块实施了缺陷修复后,(14)符合软件测试的基本原则。(14)A.再测试模块一和模块二,用更多的测试用例测试模块一B.再测试模块一和模块二,用更多的测试用例测试模块二C.用更多的测试用例测试模块一;模块二暂时不需再测,等到开发了更多模块后再测D.用更多的测试用例测试模块二;模块一暂时不需再测,等到开发了更多模块后再测试题15某商业银行启动核心信息系统建设,目前已完成信息系统的规划和分析,即将开展系统的设计与实施,此信息系统建设目前(15)。(15)A.处于信息系统立项阶段B.处于信息系统的开发阶段C.处于信息系统运行阶段D.处于信息系统消亡阶段试题16软件公司经常通过发布更新补丁的方式,对已有软件产品进行维护,并在潜在错误成为实际错误前,监测并更正他们,这种软件维护方式属于(16)。(16)A.预防性维护 B.更正性维护C.适应性维护 D.完善性维护试题17-18下列要素中,不属于DFD四大要素的是(17)。当使用DFD对一个生产系统进行建模时,(18)可以被认定为外部实体。(17)A.加工 B.数据流C.数据存储 D.状态(18)A.生产系统源代码程序B.生产报表C.生产数据D.接收生产报表的管理部门试题19极限编程技术XP适用于(19)的情况。(19)A.需求多变,开发队伍规模较小,要求开发方快速反馈,及时调整B.需求稳定,开发队伍规模庞大,组织项目的方法为周密计划,逐步推进C.需求稳定,开发队伍规模较小,组织项目的方法为周密计划,迭代推进D.需求多变,开发队伍规模庞大,组织项目的方法为分步计划,逐步推进试题20一个设计良好的软件系统应具有(20)的特征。(20)A.高内聚、低耦合 B.低内聚、高耦合C.高内聚、高耦合 D.低内聚、低耦合试题21结构化分析方法(SA)的主要思想是(21)。(21)A.自顶向下、逐步求精B.自顶向下、逐步抽象C.自底向上、逐步抽象D.自底向上、逐步求精试题22-23继承关系是(22)关系的反关系,聚合关系与组合关系都是一种特殊形式的(23)关系。在UML中,使用一个带空心箭头的虚线表示实现关系,使用带实心箭头的虚线表示依赖关系。(22)A.泛化 B.依赖 C.实现 D.关联(23)A.泛化 B.依赖 C.实现 D.关联试题24在关于逆向工程的描述中,正确的是(24)。(24)A.按照输出处理输入的顺序设计软件B.用硬件来实现软件的功能C.从己经安装的软件中提取设计规范,用以进行软件开发D.根据软件处理的对象来选择开发语言和开发工具试题25现有两个用例UC1和UC2,其中UC1是一个完整的用例,可被实例化,而UC2需要UC1中的事件流才可被实例化,且UC2指定了使用UC1的精确位置,则UC2和UC1间的关系是(25)。(25)A.调用 B.概括 C.扩展 D.包含试题26Browser/Server模式实现了开发环境与应用环境的分离,便于管理和系统维护,该模式的最大优点之一是(26)。(26)A.传输速率快B.运算效率高C.客户端的零维护D.服务器端不用安装专用软件试题27在UML2.0提供的图中,(27)用于描述系统与外部系统及用户之间的交互。(27)A.类图 B.部署图 C.顺序图 D.用例图试题28某信息系统项目采用原型法开发,以下做法中不恰当的是(28)。(28)A.前期花足够的时间与客户充分沟通,完全明确需求后立即实施快速实现B.系统分析、设计和实现工作之间不做严格的界限划分C.动态响应用户的需求,逐步纳入用户的具体要求,逐步修改系统开发计划D.本着开发人员对需求的初步理解,快速开发一个原型系统,再反复修改试题29在软件产品即将面世前,为发现产品中的错误并及时修正,软件企业通常要组织内部人员模拟各类用户进行应用,即对该产品进行(29)。(29)A.Alpha测试 B.Beta测试C.冒烟测试 D.静态测试试题30边界值分析是一种常用的黑盒测试法。某程序循环体最少执行0次,最多执行100次,采用边界值分析法,宜选择(30)作为测试用例。(30)A.循环0次、循环1次、循环99次、循环100次B.循环0次、循环100次、循环49次、循环50次C.循环1次、循环99次、循环49次、循环50次D.循环0次、循环100次 1.3 习题解答试题1分析软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。换句话说,就是要深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节,定义软件的其他有效性需求,导出目标系统逻辑模型,解决目标系统做什么的问题。而具体在进行需求分析工作时,不能靠想象力行事,更不能完全站在开发方的角度上考虑,而应注意一切信息与需求都是站在实际应用的角度上考虑。试题1答案(1)B试题2分析软件体系结构是具有一定形式的结构化元素,即构件的集合。可以作个简单的比喻,结构化程序设计时代是以砖、瓦、灰、沙、石、预制梁、柱、屋面板盖平房和小楼,而面向对象时代以整面墙、整间房、一层楼梯的预制件盖高楼大厦。构件怎样搭配才合理?体系结构怎样构造容易?重要构件有了更改后,如何保证整栋高楼不倒?每种应用领域需要什么构件(医院、工厂、旅馆)?有哪些实用、美观、强度、造价合理的构件骨架使建造出来的建筑(即体系结构)更能满足用户的需求?如同土木工程进入到现代建筑学一样,软件也从传统的软件工程进入到现代面向对象的软件工程,研究整个软件系统的体系结构,寻求建构最快、成本最低、质量最好的构造过程。软件体系结构虽脱胎于软件工程,但其形成同时借鉴了计算机体系结构和网络体系结构中很多宝贵的思想和方法,最近几年软件体系结构研究已完全独立于软件工程的研究,成为计算机科学的一个最新的研究方向和独立学科分支。软件体系结构研究的主要内容涉及软件体系结构描述、软件体系结构风格、软件体系结构评价和软件体系结构的形式化方法等。解决好软件的重用、质量和维护问题,是研究软件体系结构的根本目的。综上所述,只有选项C不是软件体系结构研究的内容。试题2答案(2)C试题3分析项目存在很多不确定性因素且项目的参与人员还不能完全理解项目开发的范围和需求的情况就意味着项目的需求不明确、项目的风险较大,因此采用增量迭代模型或螺旋模型是比较适合的。至于其他几种模型,均不太适合或完全不适合题干中所描述的情景。试题3答案(3)A试题4分析软件过程改进SPI(Software Process improvement)帮助软件企业对其软件(制作)过程的改变(进)进行计划、(措施)制定以及实施。其实施对象就是软件企业的软件过程,也就是软件产品的生产过程,当然也包括软件维护之类的维护过程,而对于其他的过程并不关注。SPI的五条核心原则分别是:注重问题、强调知识创新、鼓励参与、领导层的统一、计划不断地改进。问题的解决是过程改进的核心,实践不仅是SPI组的目标也是它的起点。这条原则为过程改进人员指明了目标,明确了方法。SPI就是要在实践中发现软件过程中的问题,并在实践中寻找和找到解决问题的办法,可以说过程改进就是在不断发现问题和解决问题的过程中不断向前发展。改进是一种知识的创新,SPI是受知识的驱动的.这条原则强调了知识创新在SPI中的作用,提醒了SPI人员在注重知识创新的同时更要注重知识的传播和扩散。通常从事SPI工作的做法是,过程改进仅仅是过程改进人员的事情,其他人员只是被动地接受。而合作促使改进产生这条原则给予了我们很好的启发和提示。它告诉我们,过程改进不仅仅是一个人或几个人的事情,而是整个组织的事情。只有鼓励大家都积极参与,让这些人基于自身的经验和职业的判断力来实实在在地设计和开发新的过程,才能使设计出来的过程真正为他们所理解,为他们所用,从而实现过程的成功。这也是我们在过程改进工作中容易疏忽的地方。改进必须是综合了各个层次的人的力量。SPI人员一定要保证SPI的目标与组织的整体目标是一致的,因为只有这样才能保证SPI工作得到各个领导层的赞同、支持和投入,才能综合利用各个层次的力量来推动SPI工作的前进。这是预防过程改进项目风险的重要手段。改进应该是一个不断持续的过程。这一原则进一步提示和告诫SPI人员一定要认识到改进的不断持续的特性。到达顶点并不重要,关键的是,你现在处在一个上升过程中,达到一个目标就创造了另一个更高的目标,这个目标对我们的过程和环境都具有重要的意义。这五条原则是从实践中发展而来、相互关联的SPI哲学,对开展SPI工作具有非常重要的指导作用。显然,软件过程改进是项目开发人员需要参与的工作,但不是其主要工作。试题4答案(4)C试题5分析软件体系结构评估方式主要有以下三种:(1)基于调查问卷或检查表的评估方式调查问卷列出一系列可以应用到各种体系结构评估的相关问题,其中有些问题可能涉及到体系结构的设计决策,有些问题涉及到体系结构的文档,有的问题针对体系结构描述本身的细节问题。检查表中也包含一系列比调查问卷更细节和具体的问题,它们更趋向于考察某些关心的质量属性。这一评估方式比较自由灵活,可评估多种质量属性,也可以在软件体系结构设计的多个阶段进行。但是由于评估的结果很大程度上来自评估人员的主观推断,因此不同的评估人员可能会产生不同甚至截然相反的结果,而且评估人员对领域的熟悉程度、是否具有丰富的相关经验也成为评估结果是否正确的重要因素。尽管基于调查问卷与检查表的评估方式相对比较主观,但由于系统相关的人员的经验和知识是评估软件体系结构的重要信息来源,因而它仍然是进行软件体系结构评估的重要途径之一。(2)基于场景的评估方式这种软件体系结构评估方式分析软件体系结构对场景(也就是对系统的使用或修改活动)的支持程度,从而判断该体系结构对这一场景所代表的质量需求的满足程度。例如,用一系列对软件的修改来反映易修改性方面的需求,用一系列攻击性操作来代表安全性方面的需求等。(3)基于度量的评估方式度量是指为软件产品的某一属性所赋予的数值,如代码行数、方法调用层数、构件个数等。传统的度量研究主要针对代码,但近年来也出现了一些针对高层设计的度量,软件体系结构度量即是其中之一。代码度量和代码质量之间存在着重要的联系,类似地,软件体系结构度量应该也能够作为评判质量的重要的依据。赫尔辛基大学提出的基于模式挖掘的面向对象软件体系结构度量技术、Karlskrona和Ronneby提出的基于面向对象度量的软件体系结构可维护性评估、西弗吉尼亚大学提出的软件体系结构度量方法等都在这方面进行了探索,提出了一些可操作的具体方案。我们把这类评估方式称作基于度量的评估方式。综上所述,题干描述的是基于场景的软件体系结构评估方式。试题5答案(5)B试题6分析此题主要是考察软件测试工作的原则:(1)尽早、不断的进行测试(2)程序员避免测试自己设计的程序(3)既要选择有效、合理的数据,也要选择无效、不合理的数据(4)修改后应进行回归测试(5)尚未发现的错误数量与该程序已发现错误数成正比依据以上原则可知:应尽量避免由程序员或开发小组测试自己的程序;在设计测试用例时,既要考虑合理的输入与输出条件,也要考虑不合理的输入与输出条件。而软件验证与确认的对象包括软件开发各个阶段性的交付成果在内,所以自然是要贯穿到整个软件开发的全过程中的。试题6答案(6)D试题7分析GCC(GNU Compiler Collection,GNU编译器套装),是一套由GNU开发的编程语言编译器。GCC是Linux平台下最常用的编译程序,亦是自由的类Unix及苹果电脑Mac OS X 操作系统的标准编译器。GCC除了支持C语言外,还支持多种其他语言,例如C+、Ada、Java、FORTRAN、Pascal等。Visual Studio.NET是流行的Windows 平台应用程序开发环境,但它无法支持Java语言。Project是项目管理软件。Visio是一个制图软件。试题7答案(7)D试题8分析阶段管理评审依据定义好的每个开发阶段的开始和结束边界,检查该阶段的过程与工作成果是否符合质量标准,并且决定是否可以启动下一个阶段的工作。而其他三项都是属于软件测试中的静态测试的范畴(桌前检查是程序员自已检查自已写的代码,代码走查与代码审查都是由一些同行专业人士来进行检查),明显与题意不符(题干中的相关干系人不一定是专业人士,而且题干中描述的并非开展测试工作)。试题8答案(8)A试题9分析软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。试题9答案(9)B试题10分析螺旋模型是一个演化软件过程模型,将原型实现的迭代特征与线性顺序(瀑布)模型中的控制的和系统化的方面结合起来。使得软件的增量版本的快速开发成为可能。螺旋线中的每个开发周期的四个象限分别是制定计划、风险分析、实施工程和客户评估,螺旋模型强调了分险分析,因此特别适用于庞大而复杂的、高风险的系统开发。试题10答案(10)D试题11分析结构化方法是强调开发方法的结构合理性以及所开发软件的结构合理性的软件开发方法。结构是指系统内各个组成要素之间的相互联系、相互作用的框架。程序流程图、数据流程图都是典型的结构化开发方法所需要使用的工具。原型法是在投入大量的人力,物力之前,用最经济的方法开发出一个可实际运行的系统模型,用户在运行使用整个原型的基础上,通过对其评价,提出改进意见,开发人员根据这些意见对原型进行修改,该评价过程反复进行,使原型逐步完善,直到完全满足用户的需求为止。题干中的项目组采用了先开发一个简化系统,待用户认可后再开发最终系统的策略说明该项目采用了原型开发方法。面向对象方法是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO方法,是建立在对象概念基础上的方法学。对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。而继承性是对具有层次关系的类的属性和操作进行共享的一种方式。所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。从题干中看不出采用了面向对象开发方法。用于开发计算机系统的形式化方法是描述系统性质的基于数学的技术,这样的形式化方法提供了一个框架,可以在框架中以系统的而不是特别的方式刻划、开发和验证系统。如果一个方法有良好的数学基础,那么它就是形式化的,典型地以形式化规约语言给出。从题干中看不出采用了形式化方法。试题11答案(11)C试题12分析2001年2月11日到13日,17位软件开发领域的领军人物聚集在美国犹他州的滑雪胜地雪鸟(Snowbird)雪场。经过两天的讨论,敏捷(Agile)这个词为全体聚会者所接受,用以概括一套全新的软件开发价值观。这套价值观,通过一份简明扼要的敏捷宣言,传递给世界,宣告了敏捷开发运动的开始。敏捷宣言的主要内容为:个体和交互胜过过程和工具;可以工作的软件胜过全面的文档;客户合作胜过合同谈判;响应变化胜过遵循计划。在每对比对中,后者并非全无价值,但我们更看重前者。综上所述,正确答案应选A。试题12答案(12)A试题13分析软件维护是生命周期的一个完整部分。可以将软件维护定义为需要提供软件支持的全部活动。这些活动包括在交付前完成的活动,以及交付后完成的活动。交付前完成的活动包括编制交付后运行的计划和维护计划等。交付后的活动包括软件修改、培训和帮助资料等。软件维护包括如下类型:(1)更正性维护;(2)适应性维护;(3)完善性维护;(4)预防性维护。综上可知,软件维护不仅仅是在软件交付之后为保障软件运行而要完成的活动,还包括软件交付前应该完成的活动。因此应选D.试题13答案(13)D试题14分析在软件测试工作中,应尽早地和不断地进行软件测试,因为软件错误发现得越早,纠正错误所需付出的代价就越低;在软件修改后要及时进行回归测试(指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。);另外要充分注意软件测试中的群集现象,也可以认为是80-20原则.不要以为发现几个错误并且解决这些问题之后,就不需要测试了。反而这里是错误群集的地方,对这段程序要重点测试,以提高测试投资的效益。综上所述,选项C和D不符合尽早测试的基本原则,由于模块一和模块二是相互关联的模块,修改其中任意一个模块后都要对两个模块进行再测试;选项A不符合第80-20原则,模块二中发现的错误比模块一多,因此模块二应该是回归测试的重点。选项B最符合题意,因此应选B。试题14答案(14)B试题15分析信息系统的生命周期可以分为4个阶段:立项、开发、运维、消亡。(1)立项阶段即其概念阶段或需求阶段,这一阶段分为两个过程:一是概念的形成过程,根据用户单位业务发展和经营管理的需要,提出建设信息系统的初步构想;二是需求分析过程,即对企业信息系统的需求进行深入的调研和分析,形成需求规范说明书,经评审,批准后立项。(2)开发阶段该阶段又可分为总体规划阶段、系统分析阶段、系统设计阶段、系统实施阶段、系统验收阶段。(3)运维阶段信息系统通过验收,正式移交给用户以后,就进入运维阶段。(4)消亡阶段信息系统经常不可避免地会遇到系统更新改造、功能扩展甚至报废重建等情况。综上所述,根据信息系统生命周期中各个阶段的定义,当完成信息系统的规划和分析,即将开展系统的设计与实施时,该信息系统建设目前处于开发阶段,因此应选B.试题15答案(15)B试题16分析软件维护指在软件运行维护阶段对软件产品所进行的修改。要求进行软件维护的原因主要可归纳为3种类型:(1)改正在特定的使用条件下暴露出来的一些潜在程序错误或设计缺陷。(2)因在软件使用过程中数据环境发生变化或处理环境发生变化,对软件进行的修改。(3)用户和数据处理人员在使用时常提出改进现有功能、增加新的功能,以及改善总体性能的要求,为了满足这些要求需要进行软件修改。与上述原因相对应,可将维护活动归纳为:改正性维护、适应性维护和完善性维护。除了上述3类维护外,还有一类维护活动叫预防性维护。(4)预防性维护是为了提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础的维护活动。预防性维护可定义为:用今天的技术修改昨天的软件以满足明天的需要.本题题干中描述的维护方式属于顶防性维护。试题16答案(16)A试题17、18分析DFD即数据流图或称数据流程图(Data Flow Diagram)是一种便于用户理解、分析系统数据流程的图形工具。它摆脱了系统的物理内容,精确地在逻辑上描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分。DFD应由数据流、加工、数据存储和外部实体4个要素构成。外部实体是指存在于软件系统之外的人员或组织,它指出系统所需数据的发源地和系统所产生数据的归宿地。另外需注意:分层数据流图中的父图与子图需保持平衡(子图的输入输出数据流同父图相应加工的输入输出数据流必须一致(不是数目必须相等),此即父图与子图的平衡。)试题17、18答案(17)D(18)D试题19分析极限编程技术XP (Extreme Programming)是一种开发软件的轻量级的方法,也是敏捷开发方法的代表之一。XP适用于中小型软件开发团队、并且客户的需求模糊或需求多变的情况。XP是一种近似于螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的小周期。通过积极的交流和反馈,可以根据实际情况及时地调整开发过程。试题19答案(19)A试题20分析软件系统可以划分为若干个小的简单的功能模块,每个模块可以独立开发、测试。模块独立是软件设计开发的基本原则之一。耦合是指多个模块之间联系的紧密程度,耦合越高则模块的独立性越差;内聚是指同一模块内部各元素之间联系的紧密程度,内聚度越低,模块的独立性越差。耦合性和内聚性是模块独立性的两个定性标准,将软件系统划分模块时,应尽量做到高内聚、低耦合,提高模块的独立性。试题20答案(20)A试题21分析结构化方法是一种传统的软件开发方法,它是由结构化分析、结构化设计和结构化程序设计三部分有机组合而成的。它的基本思想:把一个复杂问题的求解过程分阶段进行,而且这种分解是自顶向下,逐层分解(求精),使得每个阶段处理的问题都控制在人们容易理解和处理的范围内。结构化方法的基本要点是:自顶向下、逐步求精、模块化设计、结构化编码。结构化分析方法是以自顶向下,逐步求精为基点,以一系列经过实践的考验被认为是正确的原理和技术为支撑,以数据流图,数据字典,结构化语言,判定表,判定树等图形表达为主要手段,强调开发方法的结构合理性和系统的结构合理性的软件分析方法。结构化设计方法是以自顶向下,逐步求精,模块化为基点,以模块化,抽象,逐层分解求精,信息隐蔽化局部化和保持模块独立为准则的设计软件的数据架构和模块架构的方法学。结构化方法是一种面向数据流的开发方法。是软件工程中最早出现的开发方法,特别适合于数据处理领域。试题21答案(21)A试题22-23分析在建立抽象模型时,我们会发现很少有类会单独存在,大多数都将会以某种方式彼此协作,因此我们还需要描述这些类之间的关系。关系是事物间的连接,在面向对象建模中,有4个很重要的关系值得关注。1、依赖关系有两个元素X、Y,如果修改元素X的定义可能会引起对另一个元素Y的定义的修改,则称元素Y依赖于元素X.在UML(Unified Modeling Language)中,使用带实心箭头的虚线表示依赖关系。在类中,依赖由各种原因引起,如:一个类向另一个类发消息;一个类是另一个类的数据成员;一个类是另一个类的某个操作参数。如果一个类的界面改变,它发出的任何消息可能不再合法。2、泛化关系泛化关系描述了一般事物与该事物中的特殊种类之间的关系,也就是父类与子类之间的关系。继承关系是泛化关系的反关系,也就是说子类是从父类中继承的,而父类则是子类的泛化。在UML中,使用带空心箭头的实线表示,箭头指向父类。在UML中,对泛化关系有3个要求:(1)子类应与父类完全一致,父类所具有的关联、属性和操作,子元素都应具有;(2)子类中除了与父类一致的信息外,还包括额外的信息;(3)可以使用子父类实例的地方,也可以使用子类实例。3、关联关系关联表示两个类之间存在某种语义上的联系。例如,一个人为一家公司工作,一家公司有许多办公室。我们就认为人和公司、公司和办公室之间存在某种语义上的联系。关联关系提供了通信的路径,在UML中,使用一条实线来表示关联关系。有两种特殊的关联关系值得重视:(1)聚合关系:聚合表示类之间的关系是整体与部分的关系。例如一辆轿车包含四个车轮、一个方向盘、一个发动机和一个底盘,就是聚合的一个例子。在UML中,使用一个带空心菱形的实线表示,空心菱形指向的是代表整体的类。聚合关系中的整体与部分的生命周期可以不同,即当整体的生命终止时,部分的生命可以继续存在。(2)组合关系:如果聚合关系中的表示部分的类的存在,与表示整体的类有着紧密的关系,例如公司与部门之间的关系,那么就应该使用组合关系来表示。在UML中,使用带有实心菱形的实线表示。聚合关系中的整体与部分的生命周期必定不同,即当整体的生命终止时,部分的生命也不再存在。4、实现关系实现关系是用来规定接口和实现接口的类或组件之间的关系。接口是操作的集合,这些操作用于规定类或组件的服务。在UML中,使用一个带空心箭头的虚线表示。试题22-23答案(22)A (23)D试题24分析逆向工程(Reverse Engineering)又叫反向工程,其概念来自于硬件。硬件厂商总想弄到竞争对手产品的设计和制造的奥秘,但是又得不到现成的档案,只好拆卸对手的产品并进行分析,导出该产品的一个或多个设计与制造的规格说明。软件的逆向工程是完全类似的,由于受到法律的约束,进行逆向工程的程序常常不是竞争对手的,而是自己开发的程序,有些是多年以前开发出来的。这些程序没有规格说明,开发人员可能早已流失,导致对软件的了解很模糊。因此,软件的逆向工程是分析程序,力图在比源代码更高的抽象层次上建立程序表示的过程。逆向工程是一个设计恢复的过程,其工具可以从已有的程序中抽取数据结构、体系结构和程序设计信息。因此,逆向工程可以从源程序抽取出设计信息,但是,抽象的层次、文档的完整性、工具和分析员一起工作的程度、以及过程的方向性却是高度可变的。逆向工程过程及用于实现该过程的工具的抽象层次,是指可从源代码中抽取出来的设计信息的精密程度。理想地,抽象层次应该尽可能高,即逆向工程过程应该能够导出过程的设计表示(一种低层的抽象);程序和数据结构信息(稍高一点层次的抽象);数据和控制流模型(一种相对高层的抽象);以及实体-关系模型(一种高层抽象)。随着抽象层次增高,软件工程师获得更有助于理解程序的信息。试题24答案(24)C试题25分析用例可以被通俗地理解为信息系统的功能,用例之间的关系主要包括包含关系、扩展关系和泛化关系。1 包含关系(Include)要点:(1)一个用例可以简单地包含其它用例具有的行为,并把它所包含的用例行为作为自身行为的一部分,这称作包含关系。(2)如果两个以上的用例有大量一致的功能,则可以将这个功能分解到另一个用例中(作为包含关系的提供者用例)。(3)一个用例的功能太多时,可以用包含关系建模两个或多个用例。表示方法:在 UML中,包含关系表示为带include字样虚线箭头,箭头指向被包含的用例。2 扩展关系(Extend)要点:(1)一个用例(扩展用例)可以被定义为基础用例的增量扩展,这称为扩展关系。(2)一般基础用例的执行不会涉及到扩展用例,只有特定的条件下扩展用例才被执行。(3)扩展关系为处理异常或构建灵活的系统框架提供了一种十分有效的办法。表示方法:在 UML中,扩展关系表示为带extend字样虚线箭头,箭头指向被扩展的用例(即基础用例)。3 泛化关系(Generalization)要点:(1)一个用例被特别列举为一个或多个用例,这被称作用例泛化。(2)子用例表示父用例的特殊形式。子用例从父用例处继承属性和行为,还可以添加、覆盖或改变继承的行为。(3)父用例被使用时,任何子用例也可以被使用。(4)如果系统中一个或多个用例是某个一般用例的特殊化时,就需要使用用例的泛化关系。表示方法:在 UML中,用例泛化表示为一个三角的实线箭头,从子用例指向父用例。综上所述,题目中描述的用例间的关系为包含关系。即用例UC2包含了用例UC1.试题25答案(25)D试题26分析在B/S(即Browser/Server)模式下,把所有应用功能(业务逻辑)和数据库都放在了服务器端,客户端只需一个浏览器就可以使用系统功能,无须安装专用软件,因此在客户端也就无需进行专门的维护(即零维护)。但B/S模式下的传输速率和运算能力没有C/S模式下效果好。而C/S模式的主要缺点是客户端的维护工作量大、无法把软件系统拓展到因特网上等。试题26答案(26)C试题27分析在UML2.0中,每个视图都由一个或者多个图组成,一个图是系统体系结构在某个侧面的表示,所有的图在一起组成系统的完整视图。UML2.0共提供了14种不同的图,分为静态图(又叫结构图)和动态图(又叫行为图)两大类。静态图包括类图、对象图、包图、组合结构图、构件图、部署图和制品图,动态图包括用例图、顺序图、通信图、定时图、状态图、活动图和交互概览图。(1)类图(Class diagram)类图用来表示系统中的类以及类与类之间的关系,描述系统的静态结构,用于逻辑视图中。类是对象的抽象描述。所谓对象就是可以控制和操作的实体,类是具有共同的结构、行为、关系、语义的一组对象的抽象。类的行为和结构特征分别通过操作和属性表示。(2)对象图(Object diagram)对象图是类图的示例,类图表示类以及类与类之间的关系,对象图则表示在某一时刻这些类的具体实例以及这些实例之间的具体连接关系,可以帮助人们理解比较复杂的类图。对象图也可以用于显示类图中的对象在某一点的连接关系。对象图常用于用例视图和逻辑视图中。(3)包图(Package diagram)展现了由模型本身分解而成的组织单元以及它们的依赖关系。(将相关的类组合在一起,并描述这些类之间的关系。)包与类的关系就象目录与文件夹的关系,包里面可以有类,包里面也可以有包。(4)组合结构图(Composite structure diagram)用来描述系统中某一部分(即组合结构,可以就是一个类)的内部结构,包括该部分与系统其它部分的交互点;它能够展示该部分内容内部参与者的配置情况。(5)构件图(Component diagram)又叫组件图,其描述代码构件的物理结构以及各种构件之间的依赖关系。用来建模软件的构件及其相互之间的关系,这些图由构件标记符和构件之间的关系构成。在构件图中,构件是软件中的单个组成部分,它可以是一个文件,产品、可执行文件和脚本等。构件图常用于实现视图中。(6)部署图(Deployment diagram)又叫配置图,其用来建模系统的物理部署,即显示系统中软件和硬件的物理架构。图中通常显示实际的计算机和设备及它们之间的关系(通过什么协议联系)、各DLL如何分布等。部署图常用于部署视图中。(7)制品图(Artifact diagram)展现了计算机中一个系统的物理结构。制品包括文件、数据库和类似的物理比特集合。制品常与部署图一起使用(通常部署图中的一个节点包括了一个或多个制品)。(8)用例图(Use case diagram)用例图描述系统的功能,由系统、用例和三种元素组成。图中显示若干角色以及这些角色和系统提供的用例之间的连接关系。用例是系统对外提供的功能的描述,是角色和系统在一次交互过程中执行的相关事务的序列。角色是与系统、子系统或类交互的外部人员、进程或事物。用例图常用于用例视图中。(用例图中通常用椭圆表示用例,用人形图案表示参与者。)(9)顺序图(Sequence diagram)又叫序列图,面向对象系统中对象之间的交互表现为消息的发送和接收。序列图反映若干个对象之间的动态协作关系,即随着时间的流逝,消息是如何在对象之间发送和接收的。序列图表现为二维的形式,其中的纵坐标轴显示时间,横坐标轴显示对象(每个对象的下方沿时间轴有一根生命线)。序列图中重点反映对象之间发送消息的先后次序,常用在逻辑视图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年工业互联网平台数字水印技术在交通运输数据安全中的应用报告
- 教师招聘之《幼儿教师招聘》考前自测高频考点模拟试题及参考答案详解(精练)
- 2025内蒙古鄂尔多斯东胜区第五小学分校塔拉壕小学招聘1人笔试备考附答案详解(完整版)
- 2025年教师招聘之《幼儿教师招聘》考试题库及完整答案详解一套
- 2025内蒙古呼伦贝尔旅业旅游集团股份公司招聘5人笔试备考及完整答案详解一套
- 教师招聘之《幼儿教师招聘》练习题(一)带答案详解(基础题)
- 教师招聘之《幼儿教师招聘》考前冲刺模拟题库提供答案解析及答案详解(名校卷)
- 2025年教师招聘之《小学教师招聘》综合提升测试卷附答案详解(黄金题型)
- 演出经纪人之《演出经纪实务》题库检测模拟题含完整答案详解【名师系列】
- 押题宝典教师招聘之《幼儿教师招聘》模考模拟试题及参考答案详解
- 劳动课种植教学方案
- 2024年全国职业院校技能大赛高职组(环境检测与监测赛项)考试题库(含答案)
- 实验-大肠杆菌感受态细胞的制备及转化
- 2025年中考语文阅读复习:理解词语含义(含练习题及答案)
- GB/T 44421-2024矫形器配置服务规范
- 磷酸哌嗪宝塔糖的毒理学研究
- 【课件】2025届高三生物一轮复习备考策略研讨
- 灵芝培训课件
- 环形开挖预留核心土法
- 妇科医生进修汇报课件
- 《科室管理方案》课件
评论
0/150
提交评论