软考高项 : 信息系统项目管理师模拟试题

信息系统项目管理师模拟试题

上午基础知识试题
第 1 题
● 信息系统开发时应考虑一系列策略,下列项目中的( 1 )不属于应考虑的策略范围之内。
( 1 )
A. 自底向上规划与局部设计结合 B. 高层管理人员的参与
C. 自顶向下规划与局部设计结合 D. 必要的总体规划

参考答案:(1) A
试题分析:
本题考查考生对信息系统开发策略具体内容的掌握情况。
从总体上讲,信息系统开发策略的制定必须综合考虑以下问题:
(1)建立清晰的企业信息系统总体规划;
(2)让高层管理人员积极参与;
(3)详细的数据库设计与自顶向下规划相结合;
(4)加强各部门之间的联系,尤其是数据处理部门与管理者之间的联系;
(5)精心组织研制队伍和人员;
(6)选择合理的系统开发方法;
(7)系统设备、工具和环境的选择;
(8)畅通的信息渠道;
(9)建立相应的企业机构;
(10)组织和加强人员的培训。

第 2-3 题
● 在UML中,对象行为是通过交互来实现的,是对象间为完成某一目的而进行的一系列消息交换。消息序列可用两种图来表示,强调消息时间次序的图称之为( 2 ),该图的特点是有生命线及控制焦点,重点在消息的时间顺序上,强调参加交互的对象的组织图称之为( 3 ),这两种图是同构的,所以可以互相转换。
( 2 )
A. 活动图(activity diagram)  B. 状态图(statechart diagram) 
C. 序列图(sequence diagram)  D. 协作图(collaboration diagram)
( 3 )
A.活动图(activity diagram)  B.状态图(statechart diagram) 
C.序列图(sequence diagram)  D.协作图(collaboration diagram)

参考答案:(2) C (3) D
试题分析:
序列图用来描述对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。顺序图允许直观地表示出对象的生存期,在生存其内,对象可以对输入消息做出响应,并且可以发送信息。
对象间的通信通过在对象的生命线间画消息来表示。消息的箭头指明消息的类型。顺序图中的消息可以是信号、操作调用或类似于C++中的RPC(Remote Procedure Calls)和Java中的RMI(Remote Method Invocation)。当收到消息时,接收对象立即开始执行活动,即对象被激活了。通过在对象生命线上显示一个细长矩形框来表示激活。
消息可以用消息名及参数来标识,消息也可带有顺序号。消息还可带有条件表达式,表示分支或决定是否发送消息。如果用于表示分支,则每个分支是相互排斥的,即在某一时刻仅可发送分支中的一个消息。
协作图用于描述相互合作的对象间的交互关系和链接关系。虽然顺序图和协作图都用来描述对象间的交互关系,但侧重点不一样。顺序图着重体现交互的时间顺序,协作图则着重体现交互对象间的静态链接关系。
序列图和协作图统称为交互图(Interactive Diagram),是表示各组对象如何依某种行为进行协作的模型。强调对象交互行为时间顺序时使用序列图,强调对象协作关系时使用协作图,它们之间没有什么本质不同,只是排版不尽相同而已。

第 4-5 题
● ISO 7498-2标准涉及到的5种安全服务是( 4 )。可信赖计算机系统评价准则(TCSEC)把计算机系统的安全性分为4大类7个等级,其中的C2级是指( 5 )。
( 4 )
A.身份认证,访问控制,数据加密,数据完整,安全审计     
B.身份认证,访问控制,数据加密,数据完整,防止否认
C.身份认证,安全管理,数据加密是,数据完整,防止否认
D.身份认证,访问控制,数据加密,安全标记,防止否认
( 5 )
A.安全标记保护 B.自主式安全保护 C.结构化安全策略模型 D.受控的访问保护

参考答案:(4) B (5) D
试题分析:
在ISO 7498-2 中描述了开放系统互联安全的体系结构,提出设计安全的信息系统的基础架构中应该包含五类安全服务(安全功能)、能够对这五类安全服务提供支持的八类安全机制和普遍安全机制和需要进行的三种OSI安全管理方式。其结构如下图所示。

TCSEC将安全分为4个方面,分别是安全政策、可说明性、安全保障和文档。在美国国防部虹系列(Rainbow Series)标准中有详细的描述。该标准将以上4个方面分为7个安全级别,从低到高依次为D、C1、C2、B1、B2、B3和A级。
A类:验证设计。形式化证明的安全。用于绝密级。
B类:
B3:安全域保护。提供可信设备的管理和恢复。即使计算机系统崩溃,也不会泄密。
B2:结构化安全策略模型。满足B1类要求外,提供强制性控制。
B1:安全标记保护。满足C类要求,并提供数据标记。
C类:
C2:受控的访问保护。在C1之上,增加了访问保护和审计跟踪功能。
C1:自主安全保护。无条件的访问控制,具有识别和控制的责任。
D类:最低保护。例如未加任何实际的安全措施。

第 6 题
● 有两种需求定义的方法——严格定义和原型定义,在关于这两种方法的描述中,不正确的是( 6 )。
( 6 )
A.严格定义方法假定所有的需求都可以预先定义
B.严格定义方法假定软件开发人员与用户之间的沟通存在障碍
C.原型定义方法认为需求分析中不可避免地要出现很多反复
D.原型定义方法强调用户在软件开发过程中的参与和决策

参考答案:(6) B
试题分析:
严格定义(预先定义)是目前采用较多的一种需求定义方法。在采用严格定义的传统的结构化开发方法中,各个工作阶段排列成一个理想的线性开发序列,在每一工作阶段中,都用上一阶段所提供的完整、严格的文档作为指导文件,因此它本质上是一种顺序型的开发方法。
在传统的结构化开发中,需求的严格定义建立在以下的基本假设上:
(1)所有需求都能够被预先定义
假设意味着,在没有实际系统运行经验的情况下,全部的系统需求均可通过逻辑推断得到。这对某些规模较小、功能简单的系统是可能的,但对那些功能庞大、复杂的较大的系统则显然是困难的。即使事先做了深入细致的调查和分析,当用户见到新系统的实际效果时,也往往会改变原先的看法,会提出修改或更进一步增加系统功能的要求,所以再好的预先定义技术也会经常反复。这是因为人们对新事物的认识与理解将随着直观、实践的过程进一步加深,这是与人类认识世界的客观规律相一致的。所以,能够预先定义出所有需求的假设在许多场合是不能成立的。
(2)开发人员与用户之间能够准确而清晰地交流
假设认为,用户与开发人员之间,虽然每人都有自己的专业、观点、行话,但在系统开发过程中可以使用图形/文档等通信工具进行交流,进行清晰、有效的沟通,这种沟通是必不可少的。 可是在实际开发中,往往对一些共同的约定每个人都可能会产生自己的理解和解释。即使采用结构化语言、判定树、判定表等工具,仍然存在精确的、技术上的不严密感。这将导致人们有意无意地带有个人的不同理解而各行其事,所以在多学科、多行业人员之间进行有效的通信交流是有一定困难的。
(3)采用图形/文字可以充分体现最终系统
在使用严格定义需求的开发过程中,开发人员与用户之间交流、通信的主要工具是定义报告,包括叙述文字、图形、逻辑规则和数据字典等技术工具。它们的一个共同特点,都是静止的、被动的,不能实际表演,很难在用户头脑中形成一个具体的形象。因此,要静止的图形/文字描述来体现一个动态的系统是比较困难的。
除了所论述的情况外,上述基本假设还将导致严格定义的结构化开发方法存在以下缺陷。
首先是文档量大,由于在结构化方法的每个阶段都必须写出规范、严密的各种文档,这些文档虽然有助于开发人员之间、用户与开发人员间的通信交流,有助于开发过程的规范化,但由于编写文档花费大量人力和时间,导致系统开发周期增大。其次是开发过程可见性差,来自用户的反馈太迟。由于在需求定义、系统设计阶段都不能在用户终端显示新系统的实际效果,一直到系统实现阶段结束,用户才有机会通过对新系统的实际操作和体会,来提出他们对新系统的看法和意见,但此时整个开发已近尾声,若想修改前几段的工作或修改需求定义,都将付出较大的代价,有时这种修改甚至会导致整个系统的失败。
综上所述,需求的严格定义的基本假设在许多情况下并不成立,传统的结构化方法面临着一些难以跨越的障碍。为此,需要探求一种变通的方法。
原型方法以一种与严格定义法截然不同的观点看待需求定义问题。原型化的需求定义过程是一个开发人员与用户通力合作的反复过程。从一个能满足用户基本需求的原型系统开始,允许用户在开发过程中提出更好的要求,根据用户的要求不断地对系统进行完善,它实质上是一种迭代的循环型的开发方式。
采用原型方法时需要注意的几个问题:
(1)并非所有的需求都能在系统开发前被准确地说明。事实上,要想严密、准确地定义任何事情都是有一定难度的,更不用说是定义一个庞大系统的全部需求。用户虽然可以叙述他们所需最终系统的目标以及大致功能,但是对某些细节问题却往往不可能十分清楚。一个系统的开发过程,无论对于开发人员还是用户来说,都是一个学习和实践的过程,为了帮助他们在这个过程中提出更完善的需求,最好的方法就是提供现实世界的实例——原型,对原型进行研究、实践并进行评价。
(2)项目参加者之间通常都存在交流上的困难,原型提供了克服该困难的一个手段。用户和开发人员通过屏幕、键盘进行对话和讨论、交流,从他们自身的理解出发来测试原型,一个具体的原型系统,由于直观性、动态性而使得项目参加者之间的交流上的困难得到较好的克服。
(3)需要实际的、可供用户参与的系统模型。虽然图形和文字描述是一种较好的通信交流工具,但是其最大缺陷是缺乏直观的、感性的特征,因而不易理解对象的全部含义。交互式的系统原型能够提供生动的规格说明,用户见到的是一个“活”的、实际运行着的系统。实际使用在计算机上运行的系统,显然比理解纸面上的系统要深刻得多。
(4)有合适的系统开发环境。随着计算机硬件、软件技术和软件工具的迅速发展,软件的设计与实现工作越来越方便,对系统进行局部性修改甚至重新开发的代价大大降低。所以,对大系统的原型化已经成为可能。
(5)反复是完全需要和值得提倡的,但需求一旦确定,就应遵从严格的方法。对系统改进的建议来自经验的发展,应该鼓励用户改进他们的系统,只有做必要的改变后,才能使用户和系统间获得更加良好的匹配,所以,从某种意义上说,严格定义需求的方法实际上抑制了用户在需求定义以后再改进的要求,这对提高最终系统的质量是有害的。另一方面,原型方法的使用,并不排除严格定义方法的运用,当通过原型并在演示中得到明确的需求定义后,即应采用行之有效的结构化方法来完成最终系统的开发。

第 7 题
● 关于网络安全,以下说法中正确的是( 7 )。
( 7 )
A.使用无线传输可以防御网络监听 B.木马是一种蠕虫病毒
C.使用防火墙可以有效地防御病毒 D.冲击波病毒利用Windows的RPC漏洞进行传播

参考答案:(7) D
试题分析:
冲击波病毒是一种蠕虫病毒,病毒运行时会不停地利用IP扫描技术寻找网络上系统为Windows 2000或XP的计算机,找到后就利用RPC缓冲区漏洞攻击该系统,一旦攻击成功,病毒体将会被传送到对方计算机中进行感染,使系统操作异常、不停重启、甚至导致系统崩溃。
木马是一种基于远程控制的黑客工具,分为控制端和服务端(被控制端),具有隐蔽性和非授权性的特点。所谓隐蔽性是指木马的设计者为了防止木马被发现,会采用多种手段隐藏木马,这样服务端即使发现感染了木马,由于不能确定其具体位置,往往只能望“马”兴叹。所谓非授权性是指一旦控制端与服务端连接后,控制端将享有服务端的大部分操作权限,包括修改文件,修改注册表,控制鼠标,键盘等等,而这些权力并不是服务端赋予的,而是通过木马程序窃取的。
使用无线传输,如果要防御网络监听,需要使用专业设备。
使用防火墙可以有效地防御网络攻击,但不能有效地防御病毒。

第 8 题
● SSL(TLS)协议( 8 )。
( 8 )
A.工作于TCP/IP协议栈的网络层    B.不能够提供身份认证功能
C.仅能够实现加解密功能    D.可以被用于实现安全电子邮件

参考答案:(8) D
试题分析:
SSL(security socket layer)协议是Netscape Communication 开发的传输层安全协议,用于在Internet上传送机密文件。SSL协议由SSL记录协议、SSL握手协议和SSL警报协议组成。
SSL握手协议被用来在客户与服务器真正传输应用层数据之前建立安全机制,当客户与服务器第一次通信时,双方通过握手协议在版本号、密钥交换算法、数据加密算法和Hash算法上达成一致,然后互相验证对方身份,最后使用协商好的密钥交换算法产生一个只有双方知道的秘密信息,客户和服务器各自根据该秘密信息产生数据加密算法和Hash算法参数。
SSL记录协议根据SSL握手协议协商的参数,对应用层送来的数据进行加密、压缩、计算消息鉴别码,然后经网络传输层发送给对方。
SSL警报协议用来在客户和服务器之间传递SSL出错信息。
SSL协议主要提供三方面的服务:
(1)用户和服务器的合法性认证。认证用户和服务器的合法性,使得它们能够确信数据将被发送到正确的客户机和服务器上。客户机和服务器都是有各自的识别号,这些识别号由公开密钥进行编号,为了验证用户是否合法,SSL协议要求在握手交换数据时进行数字认证,以此来确保用户的合法性。
(2)加密数据以隐藏被传送的数据。SSL协议所采用的加密技术既有对称密钥技术,也有公开密钥技术。在客户机与服务器进行数据交换之前,交换SSL初始握手信息,在SSL握手情息中采用了各种加密技术对其加密,以保证其机密性和数据的完整性,并且用数字证书进行鉴别,这样就可以防止非法用户进行破译。
(3)保护数据的完整性。SSL协议采用Hash函数和机密共享的方法来提供信息的完整性服务,建立客户机与服务器之间的安全通道,使所有经过SSL协议处理的业务在传输过程中能全部完整准确无误地到达目的地。
SSL协议是一个保证计算机通信安全的协议,对通信对话过程进行安全保护,其实现过程主要经过如下几个阶段:
(1)接通阶段:客户机通过网络向服务器打招呼,服务器回应;
(2)密码交换阶段:客户机与服务器之间交换双方认可的密码,一般选用RSA密码算法,也有的选用Diffie-Hellmanf和Fortezza-KEA密码算法;
(3)会谈密码阶段:客户机器与服务器间产生彼此交谈的会谈密码;
(4)检验阶段:客户机检验服务器取得的密码;
(5)客户认证阶段:服务器验证客户机的可信度;
(6)结束阶段:客户机与服务器之间相互交换结束的信息。
当上述动作完成之后,两者间的资料传送就会加密,另外一方收到资料后,再将编码资料还原。即使盗窃者在网络上取得编码后的资料,如果没有原先编制的密码算法,也不能获得可读的有用资料。
发送时信息用对称密钥加密,对称密钥用不对称算法加密,再把两个包绑在一起传送过去。接收的过程与发送正好相反,先打开有对称密钥的加密包,再用对称密钥解密。因此,SSL协议也可用于安全电子邮件。
在电子商务交易过程中,由于有银行参与,按照SSL协议,客户的购买信息首先发往商家,商家再将信息转发银行,银行验证客户信息的合法性后,通知商家付款成功,商家再通知客户购买成功,并将商品寄送客户。

第 9 题
● 逆向工程可用于维护已有的软件,逆向工程能够( 9 )。
( 9 )
A.分析源程序,决定需要修改的部分及其影响的程度
B.能够使用数学方法证明各软件功能的正确性
C.分析源程序,从源程序导出程序结构
D.将源程序改写成易于理解的、结构清晰的程序

参考答案:(9) C
试题分析:
我们首先看两个概念。
逆向工程(Reverse Engineering,反向工程)的概念来自硬件。硬件厂商总想弄到竞争对手产品的设计和制造的“奥秘”,但是又得不到现成的档案,只好拆卸对手的产品并进行分析,导出该产品的一个或多个设计与制造的规格说明。软件的逆向工程是完全类似的,由于受到法律的约束,进行逆向工程的程序常常不是竞争对手的,而是自己开发的程序,有些是多年以前开发出来的。这些程序没有规格说明,对它们的了解很模糊。因此,软件的逆向工程是分析程序,力图在比源代码更高的抽象层次上建立程序表示的过程。逆向工程是一个设计恢复的过程,其工具可以从已有的程序中抽取数据结构、体系结构和程序设计信息。
再工程(Re-engineering):不仅能从已有的程序中重新获得设计信息,而且还能使用这些信息改建或重构现有的系统,以改进它的综合质量。一般,软件人员利用再工程重新实现已存在的程序,同时加进新的功能或改善它的性能。
每一个软件开发机构都会有上百万行的老代码,它们都是逆向工程和再工程的可能对象,但是由于某些程序并不频繁使用而且不需要改变,况且逆向工程和再工程的工具还处于摇篮时代,仅能对有限种类的应用程序执行逆向工程和再工程,代价又十分昂贵,因此对其库中的每一个程序都进行逆向工程和再工程是不现实的。
软件再工程旨在对现存的大量软件系统进行挖掘、整理以得到有用的软件构件,或对已有软件构件进行维护以延长其生存期。它是一个工程过程,能够将逆向工程、重构和正向工程组合起来,将现存系统重新构造为新的形式。
再工程的基础是系统理解,包括对运行系统、源代码、设计、分析和文档等的全面理解,但在很多情况下,由于各类文档的丢失,只能对源代码进行理解,即程序理解。
为了执行预防性维护,软件开发组织必须选择在最近的将来可能变更的程序,作好变更它们的准备,逆向工程和再工程可用于执行这种维护任务。逆向工程可以从源程序抽取出设计信息,但是,抽象的层次、文档的完整性、工具和分析员一起工作的程度、以及过程的方向性却是高度可变的。
逆向工程过程及用于实现该过程的工具的抽象层次是指可从源代码中抽取出来的设计信息的精密程度。理想地,抽象层次应该尽可能高,即,逆向工程过程应该能够导出过程的设计表示(一种低层的抽象);程序和数据结构信息(稍高一点层次的抽象);数据和控制流模型(一种相对高层的抽象);以及实体—关系模型(一种高层抽象)。随着抽象层次增高,软件工程师获得更有助于理解程序的信息。
逆向工程过程的完整性是指在某抽象层次提供的细节程度。在大多数情况下,随着抽象层次增高,完整性就降低。例如,给定源代码列表,得到一个完整的过程设计表示是相对容易的,简单的数据流表示也可被导出,但是,要得到数据流图或状态—变迁图的完整集合却困难得多。

第 10-11 题
● 对软件开发的看法可有多种观点,敏捷软件开发方法是一种( 10 ),代表者是极限编程XP,它的核心思想为( 11 )。
( 10 ) A.数学观   B.建模观  
C.工程观   D.协作游戏
( 11 )
A.强调文档和以敏捷性应对变化   B.强调建模和以敏捷性应对变化
C.强调设计和以敏捷性应对变化 D.强调人和人之间的合作的因素和以敏捷性应对变化

参考答案:(10) D (11) D
试题分析:
在我们面临 “软件危机”所带来的挑战之时,曾经通过采用严格的规范、详尽的文档来约束开发过程,以保证开发的质量与效果,获得了突出的成就。但是随着时代的进一步发展,商业周期越来越短、变化越来越快,甚至在软件开发的过程中,商业逻辑和需求已经悄然变化,这给本来还不成熟的软件产业带来了新的挑战。正在这种情况下,敏捷方法论应运而生。
2001年这些方法论的创始人走到一起,成立了敏捷联盟,发表了颇具影响力的敏捷宣言:个体和交互胜过过程和工具、可工作的软件胜过面面俱到的文档、客户合作胜过合同谈判、响应变化胜过遵循计划。比较有影响力的敏捷方法论包括XP(极限编程)、FDD(特征驱动开发)、Crystal Method(水晶方法)、DSDM(动态系统开发方法)、ASD(自适应开发)、Scrum等。
XP的核心是其总结的沟通、简单、反馈、勇气四大价值观。它包括12种最佳实践:计划游戏、小型发布、隐喻、简单设计、测试先行、重构、结对编程、集体代码所有制、持续集成、每周工作40小时、现场客户以及编码标准。
此处的“协作游戏”不是指上班时不用工作,专门去玩游戏的意思。而是指与传统的工程化的开发思想(采用严格的规范、详尽的文档来约束开发过程)相比较而言,敏捷软件开发强调人和人之间的合作的因素和以敏捷性应对变化,也就是强调沟通与协作的意思。

第 12 题
● 对数据仓库描述错误的是( 12 )。
( 12 )
A.数据仓库是面向主题的   B.数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值