系统分析师分类真题软件工程一Word下载.docx
《系统分析师分类真题软件工程一Word下载.docx》由会员分享,可在线阅读,更多相关《系统分析师分类真题软件工程一Word下载.docx(33页珍藏版)》请在冰点文库上搜索。
结合现有系统(当前)分析,进行新系统设计的过程如下图所示。
[*]
现有系统的研究和分析过程
(1)获得当前系统的物理模型。
当前系统可能是需要改进的某个已在计算机上运行的数据处理系统,也可能是一个人工的数据处理过程。
在这一步首先分析、理解当前系统是如何运行的,了解当前系统的组织机构、输入/输出、资源利用情况和日常数据处理过程,并用一个具体模型来反映自己对当前系统的理解。
这一模型应客观地反映现实世界的实际情况。
(2)抽象出当前系统的逻辑模型。
在理解当前系统“怎样做”的基础上,抽取其“做什么”的本质,从而从当前系统的物理模型抽象出当前系统的逻辑模型。
在物理模型中有许多物理因素,随着分析工作的深入,有些非本质的物理因素就成为不必要的负担,因而需要对物理模型进行分析,区分出本质的和非本质的因素,去掉那些非本质的因素即可获得反映系统本质的逻辑模型。
(3)建立目标系统的逻辑模型。
分析目标系统与当前系统逻辑上的差别,明确目标系统到底要“做什么”,从当前系统的逻辑模型导出目标系统的逻辑模型。
(4)建立目标系统的物理模型。
根据新系统的逻辑模型构建出相应的物理模型。
值得注意的是,原有系统可以是一个正在运行的软件系统,也可以是一个纯手工运作的流程。
(3).基于构件的开发(CBD)模型,融合了______模型的许多特征。
该模型本质是演化的,采用迭代方法开发软件。
∙A.瀑布
∙B.快速应用开发(RAD)
∙C.螺旋
∙D.形式化方法
C.
[解析]基于构件的开发模型利用模块化方法将整个系统模块化,并在一定构件模型的支持下复用构件库中的一个或多个软件构件,通过组合手段高效率、高质量地构造应用软件系统。
基于构件的开发模型融合了螺旋模型的许多特征,本质上是演化型的,开发过程是迭代的。
基于构件的开发模型由软件的需求分析和定义、架构设计、构件库建立、应用软件构建,以及测试和发布5个阶段组成。
(4).结构模板能够帮助分析员建立一个逐层细化的层次结构。
结构环境图(ArchitectureContextDiagram,ACD)则位于层次结构的顶层。
在从ACD导出的______中给出了各个专门子系统和重要(数据与控制)信息流。
∙A.系统语境图(SCD)
∙B.结构互连图(AID)
∙C.结构流程图(AFD)
∙D.结构图的规格说明(ADS)
[解析]结构模板能帮助系统分析员建立一个细节的层次结构。
结构环境图ACD则位于层次结构的顶层,建立了待实现系统与系统运行环境之间的信息边界。
ACD定义了:
(1)系统使用的所有信息的外部产生者。
(2)由系统建立的所有信息的外部使用者。
(3)通过接口进行通信或实施维护与自测试的所有实体。
专门子系统定义在从ACD导出的结构流程图AFD(ArchitectureFlowDiagram)中。
信息流穿越ACD的各个区域,可用于引导系统工程师开发AFD。
AFD给出了各个专门子系统和重要的(数据与控制)信息流。
结构模板把子系统处理划分成5个处理区域。
每个子系统可以包含一个或多个系统元素(如硬件、软件、人),它们是系统工程师分配给子系统的。
(5).需求分析的任务是借助于当前系统的物理模型导出目标系统的逻辑模型,解决目标系统“做什么”的问题。
______并不是需求分析的实现步骤之一。
∙D.确定目标实现的具体技术路线
为了直观地分析系统的动作,从特定的视点出发描述系统的行为,需要采用动态分析的方法。
其中______本来是表达异步系统的控制规则的图形表示方法,现在已经广泛地应用于硬件与软件系统的开发中,它适用于描述与分析相互独立、协同操作的处理系统,也就是并发执行的处理系统。
______是描述系统的状态如何响应外部的信号进行推移的一种图形表示。
∙A.状态迁移图
∙B.时序图
∙C.Petri网
∙D.数据流图
[解析]常用的动态需求分析方法有状态迁移图、时序图和Petri网等。
Petri网是一种使用图形方式对系统进行需求规格说明的技术,用来定义多进程、多任务系统的数学模型,易于描述系统的并发、竞争、同步等特征,并可用于评价和改进系统。
如今,Petri网已经大量应用于各种系统的模型化,Petri网不仅能描述同步模型,更适合于相互独立、协同操作的并行处理系统。
Petri网的组成成分包括:
(1)一个有限的库所(place)集合,表示系统的状态。
(2)一个有限的变迁(transition)集合,表示系统中的事件。
(3)一个有限的连接库所到变迁或者反向的有向箭头的集合,又分输入和输出。
状态迁移图是描述系统的状态如何响应外部的信号进行推移的一种图形表示。
在状态迁移图中,用圆圈表示可得到的系统状态,用箭头表示从一种状态向另一种状态的迁移。
在箭头上要写上导致迁移的信号或事件的名字。
状态迁移图表示的关系还可用表格的形式表达,这样的表格称为状态迁移表。
如果系统复杂,可以把系统状态迁移图分层表示,这种分层的状态迁移图不仅对系统的状态及其状态之间的转变进行清晰的描述,还可对某些状态进行进一步的细化。
状态迁移图的优点是状态之间的关系能够直观地捕捉到,由于状态迁移图的单纯性,很容易建立相应的分析工具。
在系统分析中,用时序图来对比在系统中处理事件的时序和相应的处理时间,采用扩充时序图可表示进程间的通信流,用于分析几个事件的交错现象。
(3).PROLOG语言属于______程序设计范型,该范型将程序设计归结为列举事实,定义逻辑关系等。
∙A.过程式
∙B.函数式
∙C.面向逻辑
∙D.面向对象
[解析]逻辑型语言是一类以形式逻辑为基础的语言,其理论基础是一阶谓词演算。
Prolog是典型的逻辑式语言,具有和传统的命令型程序设计完全不同的风格。
组成Prolog程序语句的基本形式是Horn子句,Prolog程序由围绕某一主题的事实、规则和询问3类语句组成,这3类语句分别用来陈述事实、定义规则和提出问题。
Prolog具有很强的推理功能,适用于书写自动定理证明、专家系统、自然语言理解等人工智能问题的程序。
(4).黑盒测试法是根据软件产品的功能设计规格说明书,通过运行程序进行测试,证实每个已经实现的功能是否符合设计要求。
如果某产品的文本编辑框允许输入1~255个字符,采用______测试方法,其测试数据为:
0个字符、1个字符、255个字符和256个字符。
∙A.等价类划分
∙B.边界值分析
∙C.比较测试
∙D.正交数组测试
B.
[解析]边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。
题目中测试数据为:
0个字符、1个字符、255个字符和256个字符,这恰好是1~255个字符的边界值。
(5).系统分析是信息系统开发重要的阶段。
系统分析的困难不包括______。
∙A.问题空间的理解
∙B.系统建模工具的复杂性
∙C.人与人之间的沟通
∙D.环境的不断变化
[解析]系统分析的困难主要来自三个方面:
问题空间的理解、人与人之间的沟通和环境的不断变化。
问题空间的理解,主要是指系统分析员缺乏足够的对象系统专业知识,从而无法获取准确和全面的系统需求;
人与人之间的沟通主要是指系统分析员和用户之间的沟通比较困难,用户虽然精通业务但往往不善于把业务过程明确地表达出来;
环境的不断变化指的是信息系统生存在不断变化的环境中,环境对它不断提出新的要求。
______是一种最常用的结构化分析工具,它从数据传递和加工的角度,以图形的方式刻画系统内数据的运行情况。
通常使用______作为该工具的补充说明。
4.00)
∙A.数据流图
∙B.数据字典
∙C.ER图
∙D.判定表
[解析]数据流图是一种最常用的结构化分析工具,它从数据传递和加工的角度,以图形的方式刻画系统内数据的运行情况。
数据流图是一种能全面描述信息系统逻辑模型的主要工具,它可以用少数集中符号综合地反映出信息在系统中的流动、处理和存储的情况。
通常使用数据字典对数据流图加以补充说明。
数据字典是以特定格式记录下来的、对系统的数据流图中各个基本要素的内容和特征所做的完整的定义和说明。
______可用于描述数据流图中数据存储及其之间的关系,最初用于数据库概念设计。
在某学生选课系统中使用该工具来描述,学生的学号属于______。
6.00)
∙A.实体关系图
∙C.IPO图
∙A.实体
∙B.关系
∙C.属性
∙D.方法
[解析]实体关系图可用于描述数据流图中数据存储及其之间的关系,最初用于数据库概念设计。
在实体关系图中,有实体、关系和属性三个基本成分。
在某学生的选课系统中,学生属于实体,而学生的学号则属于该实体的属性。
(3).在结构化设计中,______描述了模块的输入/输出关系、处理内容、模块的内部数据和模块的调用关系,是系统设计的重要成果,也是系统实施阶段编制程序设计任务书和进行程序设计的出发点和依据。
∙A.系统流程图
∙B.IPO图
∙C.HIPO图
∙D.模块结构图
[解析]系统流程图是表达系统执行过程的描述工具;
IPO图描述了模块的输入/输出关系、处理内容、模块的内部数据和模块的调用关系;
HIPO图描述了系统自顶向下的模块关系;
模块结构图描述了系统的模块结构及模块间的关系,同时也描述了模块之间的控制关系。
下列聚合类型中内聚程度最高的是______,下列耦合类型中耦合程度最低的是______。
∙A.偶然内聚
∙B.时间内聚
∙C.功能内聚
∙D.过程内聚
∙A.数据耦合
∙B.控制耦合
∙C.公共耦合
∙D.内容耦合
[解析]模块的独立程度有两个定性标准度量:
聚合和耦合。
聚合衡量模块内部各元素结合的紧密程度:
耦合度量不同模块间互相依赖的程度。
按照聚合程度从低到高排列,聚合包括偶然聚合、逻辑聚合、过程聚合、时间聚合、通信聚合、顺序聚合和功能聚合,其中功能聚合的聚合程度最高。
按照耦合程度从低到高排列,耦合包括数据耦合、控制耦合、公共耦合和内容耦合,其中数据耦合的耦合程度最低。
(3).在软件过程模型中,不属于演化过程模型的是______模型。
∙A.增量
∙B.螺旋
∙C.线性顺序
∙D.并发开发
[解析]增量模型、螺旋模型和并发开发模型都属于演化过程模型,线性顺序模型主要是指瀑布模型。
(4).软件工程小组可以分为四个组织范型。
历史上最早的软件小组(即主程序员小组)属于______范型。
∙A.封闭式
∙B.随机式
∙C.开放式
∙D.同步式
[解析]最早的软件小组是控制集权式结构,原来称为主程序员小组。
小组的核心是由以下人员组成的:
一个高级工程师(“主程序员”),负责计划、协调和复审小组的所有技术活动;
技术人员(一般2~5个人),执行分析和开发活动;
以及一个后备工程师,支持高级工程师的活动,并能在项目进行过程中,以最小的代价取代高级工程师的工作。
主程序员可以由一个或多个专家(如电信专家,数据库设计者)、支持人员(如技术文档写作者,行政人员)和软件资料员来担当。
资料员为多个小组服务,执行以下功能:
维护和控制所有软件配置(如文档、源程序、数据和磁介质);
帮助收集和格式化软件生产数据;
分类和索引可复用软件模块;
辅助小组进行研究、评估及文档准备。
资料员的重要性不能过分强调。
资料员充当了软件配置的控制者、协调者及潜在的评估者。
Constantine提出了软件工程小组的四种“组织范型”:
(1)封闭式范型:
按照传统的权力层次来组织小组。
这种小组在开发与过去已经做过的产品类似的软件时十分有效,但在这种封闭式范型下难以进行创新式的工作。
(2)随机式范型:
松散地组织小组,并依赖于小组成员个人的主动性。
当需要创新或技术上的突破时,按照这种随机式范型组织的小组很有优势。
但当需要“有次序的执行”才能完成工作时,这种小组组织范型就会陷入困境。
(3)开放式范型:
试图以一种既具有封闭式范型的控制性,又包含随机式范型的创新性的方式来组织小组。
工作的执行结合了大量的通信和基于小组一致意见的决策。
开放式范型小组结构特别适于解决复杂问题,但可能不像其他类型小组那么效率高。
(4)同步式范型:
依赖于问题的自然划分,组织小组成员各自解决问题的片断,他们之间没有什么主动的通信需要。
(5).某公司决定采用某开源电子邮件系统作为公司内部使用的电子邮件系统,但该系统无法完全满足公司需求,需要对该软件进行一定程度的扩充和修改。
在项目正式启动前,需要对该软件项目的规模进行估算,适合的软件规模估算方法是______。
∙A.模糊逻辑法
∙B.功能点法
∙C.标准构件法
∙D.修改法
[解析]试题已经明确,“需要对该软件进行一定程度的扩充和修改”,因此,适合的软件规模估算方法是修改法。
需求分析活动建造了软件的数据领域、功能领域和行为领域模型。
模型的核心是数据字典,围绕着这个核心有三种不同的图,其中,______描述数据对象间的关系,用于进行数据建模;
______表示了系统的各种行为模式及在状态间进行变迁的方式,是行为建模的基础。
22.00)
∙B.数据流图
∙C.状态变迁图
∙D.程序流图
[解析]实体关系图(E-R图)描述数据对象间的关系,用于进行数据建模,这种模型称为概念数据模型。
数据流图是描述数据处理过程的一种图形工具。
数据流图从数据传递和加工的角度,以图形的方式描述数据在系统流程中流动和处理的移动变换过程,反映数据的流向、自然的逻辑过程和必要的逻辑数据存储。
状态变迁图表示系统的各种行为模式以及在状态间进行变迁的方式,是行为建模的基础。
程序流图适合于描述系统中某个加工的执行细节,主要用在详细设计中。
(3).在软件调试中,______通过演绎或归纳并利用二分法来定位问题源。
∙A.蛮力法
∙B.回溯法
∙C.原因排除法
∙D.直觉
[解析]调试过程由两个步骤组成,它从表示程序中存在错误的某迹象开始,首先确定错误的准确位置,也就是找出哪条模块或哪条语句引起了错误。
然后仔细研究推断代码以确定问题的原因,并设法改正。
总的来说有三种调试的实现方法,分别是蛮力法、回溯法和原因排除法。
蛮力法的调试可能是为了找到错误原因而使用的最普通但是最低效的方法了。
当所有其他的方法都失败的情形下,我们才会使用这种方法。
根据“让计算机自己来寻找错误”的思想,进行内存映象,激活运行时的跟踪。
回溯是在小程序中经常能够奏效的相当常用的调试方法。
从发现症状的地方开始,开始(手工地)向回跟踪源代码,直到发现错误原因。
原因排除法是通过演绎和归纳,以及二分法来实现的。
对和错误发生有关的数据进行分析可寻找到潜在的原因。
先假设一个可能的错误原因,然后利用数据来证明或者否定这个假设。
也可以先列出所有可能的原因,然后进行检测来一个个地进行排除。
如果最初的测试表明某个原因看起来很像,那么就要对数据进行细化来精确定位错误。
上面的每一种方法都可以使用调试工具来辅助完成。
我们可以使用许多带调试功能的编译器、动态的调试辅助工具(跟踪器)、自动的测试用例生成器、内存映像工具,以及交叉引用生成工具。
(4).管道和过滤器模式属于______。
∙A.数据为中心的体系结构
∙B.数据流体系结构
∙C.调用和返回体系结构
∙D.层次式体系结构
[解析]体系结构风格有9大类:
(1)数据流系统:
包括顺序批处理、管道和过滤器。
(2)调用和返回系统:
包括主程序和子程序、面向对象系统、层次结构。
(3)独立部件:
包括通信进程、事件隐式调用。
(4)虚拟机:
包括解释器、规则及系统。
(5)以数据为中心的系统:
包括数据库、超文本系统、黑板系统。
(6)特殊领域风格;
例如过程控制、模拟器。
(7)特殊结构的风格:
例如分布式处理、状态转移系统。
(8)不同风格合成建立的异构结构。
(9)最初始、最基本的主程序/子程序。
管道和过滤器模式是为处理数据流系统提供的一种模式。
它是由过滤器和管道组成的。
每个处理步骤都被封装在一个过滤器组件中,数据通过相邻过滤器之间的管道进行传输。
每个过滤器可以单独修改,功能单一,并且它们之间的顺序可以进行配置。
(5).用户界面设计中,设计原则不正确的是______。
∙A.为用户提供更多的信息和功能
∙B.减少用户的记忆负担
∙C.保持界面一致性
∙D.置用户于控制之下
[解析]用户界面设计是一项复杂的任务,它必须遵循一些“良好设计”的指导原则,以下介绍一些关键的用户界面设计原则:
(1)用户控制。
人机界面设计首先要确立用户类型。
划分类型可以从不同的角度,视实际情况而定。
确定类型后要针对其特点预测他们对不同界面的反应。
这就要从多方面设计分析。
用户应当感觉系统的运行在自己的控制之下。
在图形界面或基于Web的界面中,用户指导程序的每一步执行;
即使在程序进行某些处理或用户等待输出结果时,用户同样保持对控制的敏感度。
(2)信息最小量。
人机界面设计要尽量减少用户记忆负担,采用有助于记忆的设计方案。
(3)帮助和提示。
要对用户的操作命令做出反应,帮助用户处理问题。
系统要设计有恢复出错现场的能力,在系统内部处理工作要有提示,尽量把主动权让给用户。
(4)媒体最佳组合。
多媒体界面的成功并不在于仅向用户提供丰富的媒体,而应在相关理论指导下,注意处理好各种媒体间的关系,恰当选用。
(5)界面一致性。
一致性要求用户界面遵循标准和常规的方式,让用户处在一个熟悉的和可预见的环境之中,这主要体现在命名、编码、缩写、布局以及包括菜单、按钮和键盘功能在内的控制使用等。
(6)界面容错性。
一个好的界面应该以一种宽容的态度允许用户进行实验和出错,使用户在出现错误时能够方便地从错误中恢复。
(7)界面美观性。
界面美观性是视觉上的吸引力,主要体现在具有平衡和对称性、合适的色彩、各元素具有合理的对齐方式和间隔、相关元素适当分组、使用户可以方便地找到要操作的元素等。
(8)界面可适应性。
界面可适应性是指用户界面应该根据用户的个性要求及其对界面的熟知程度而改变,即满足定制化和个性化的要求。
所谓定制化是在程序中声明用户的熟知程度,用户界面可以根据熟知程度改变外观和行为;
所谓个性化是使用户按照自己的习惯和爱好设置用户界面元素。
(6).用边界值分析法,假定10<X<30,那么X在测试中应取的边界值是______。
∙A.X=11,X=29
∙B.X=9,X=10,X=30,X=31
∙C.X=10,X=30
∙D.X=9,X=31
[解析]边界值分析法是对各种输入、输出范围的边界情况设计测试用例的方法。
使用边界值分析法设计测试用例,确定边界情况应考虑选取正好等于,刚刚大于,或刚刚小于边界的值作为测试数据,这样发现程序中错误的概率较大。
边界值分析法的使用要注意以下几点:
(1)如果输入条件规定了取值范围或数据个数,则可选择正好等于边界值、刚刚在边界范围内和刚刚超越边界外的值进行测试。
(2)针对规格说明的每个输入条件,使用上述原则。
(3)对于有序数列,选择第一个和最后一个作为测试数据。
(7).需求工程活动产生软件运行特征的规约,指明软件和其他系统元素的接口并建立______。
∙A.数据流图和数据字典
∙B.程序流程图
∙C.体系结构模型
∙D.软件必须满足的约束条件
[解析]