第一章 概述一、名词解释1、计算机软件:与计算机系统操作有关的程序、规程、规则及任何与之有关的文档和数据2、软件危机:指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和困难3、软件工程:用工程、科学和数学的原则与方法开发、维护计算机软件的有关技术和管理方法4、软件生存周期:软件从形成概念开始,经过开发、使用和维护,直到最终退役的全过程称为软件生存周期二、单项选择题1、下面不属于软件工程的3个要素的是( D ) A、工具 B、过程 C、方法 D、环境2、软件开发的结构化生命周期方法将软件生命周期划分成( A ) A、计划阶段、开发阶段、运行阶段 B、计划阶段、编程阶段、测试阶段C、总体设计、详细设计、编程调试 D、需求分析、功能定义、系统设计3、瀑布模型的关键不足在于(B)A、过于简单 B、不能适应需求的动态变更C、过于灵活 D、各个阶段需要进行评审4、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于( A )系统A、需求不确定的 B、需求确定的 C、管理信息 D、决策支持5、软件是一种( C ) A、程序 B、数据 C、逻辑产品 D、物理产品6、瀑布模型的关键不足在于(B)A、过于简单 B、不能适应需求的动态变更C、过于灵活 D、各个阶段需要进行评审 7、具有风险分析的软件生存周期模型是( C )。
A、瀑布模型 B、喷泉模型 C、螺旋模型 D、增量模型8、以下哪一项不是软件危机的表现形式 ( C )A、成本高 B、生产率低B、技术发展快 D、质量得不到保证 9、软件是一种( B )性工业产品A、理论 B、知识 C、消耗 D、体力10、软件定义期间的问题定义阶段涉及的人员有( D )A、用户、使用部门负责人B、软件开发人员、用户、使用部门负责人C、系统分析员、软件开发人员D、系统分析员、软件开发人员、用户与使用部门负责人11、(A )是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成 A 软件过程 B、软件工具 C、质量保证 D、软件工程 12. 分析员是( B) A、用户中系统的直接使用者 B、用户和软件人员的中间人C、软件的编程人员 D、用户和软件人员的领导13 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作( B) A、软件投机 B、软件危机 C、软件工程 D、软件产生14、软件生命周期中所花费用最多的阶段是( D ) A.详细设计 B.软件编码 C.软件测试 D.软件维护15、软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是(B) 。
A、引入新技术提高空间利用率 B、用较少的投资获得高质量的软件C、缩短研制周期扩大软件功能 D、硬软件结合使系统面向应用16.为了解决软件危机,人们提出了用( B )的原理来设计软件,这就是软件工程诞生的基础A、运筹学 B、工程学 C、软件学 D、数字17、软件工程学的目的是以(B) 的成本,研制 (A) 质量的软件A、较高 B、较低 C、可靠 D、优秀18、瀑布模型把软件生存周期划分为软件定义、软件开发和( C ) 三个阶段,而每一阶段又可细分为若干更小的阶段 A、详细设计 B、可行性分析 C、运行及维护 D、测试与排错19、软件生存周期是指( D) 阶段A、软件开始使用到用户要求修改为止B、软件开始使用到被淘汰为止 C、从开始编写程序到不能再使用为止D、从立项制定计划,进行需求分析到不能再使用为止20、软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段 A)A、需求分析 B、需求调查 C、 可行性分析 D、 问题定义21、瀑布模型的存在问题是( B ) A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求22、 ( D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。
A.增量模型 B.喷泉模型 C.原型模型 D.螺旋模型三、多选题1.软件工程的目标有( ABC )A、易于维护 B、低的开发成本 C、高性能 D、短的开发期E、可管理性2、软件危机具有下列表现( A、B、C、D ) A、对软件开发成本估计不准确 B、软件产品的质量往往靠不住 C.软件常常不可维护 D 软件成本逐年上升3、产生软件危机的原因可能有(A、B、C、D 、E ) A、用户的需求描述不精确 B、对大型软件项目的开发往往缺乏有力的组织和管理 C、缺乏有力的方法学和工具的支持D、软件产品的特殊性和人类智力的局限性E、对需求的理解有偏差,导致软件与需求不一致4、软件定义期间的问题定义阶段涉及的人员有(A、B、C、 D )A、用户B、系统分析员C、软件开发人员D、使用部门负责人四、填空题1、软件工程的3个要素的是工具、过程和方法方法:是完成软件工程项目的技术手段,它们支持软件工程的各个阶段软件工具:是人类开发软件的活动中智力和体力的扩展和延伸,能够自动或半自动地支持软件的开发和管理,支持各种软件文档的生成。
过程:贯穿于整个工程的各个环节2、软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和困难3、在软件开发过程中必须遵循的软件工程原则有抽象、信息隐藏、模块化、局部化和一致性等4、软件开发的结构化生命周期方法将软件生命周期划分成定义阶段、开发阶段和运行阶段5、螺旋模型综合了瀑布模型和原型模型的优点,即将两者结合,并加入了风险分析机制五、判断题1、文档是软件产品的一部分,没有文档的软件就不称其为软件(√) 2、在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低 ×)3、螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动√)4、快速原型模型可以有效地适应用户需求的动态变化√) 5、软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码( ×)六、问答题1、什么是软件危机?软件危机有哪些主要特征? 答:(1)软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和困难2)软件危机的主要特征时间:软件开发周期大大超过规定日期;成本:软件开发成本严重超标;软件成本在计算机系统总成本中所占比例逐年上升。
质量:软件质量难于保证生产率;开发生产率提高的速度远跟不上软件需求2、产生软件危机的主要原因有哪些?缓解软件危机的途径是什么答:(1)主要原因:1)需求描述不精确,对需求的理解有偏差,导致软件与需求不一致2)缺乏处理大型软件项目的开发和管理经验3)开发大型软件易产生疏漏和错误4)缺乏有力的方法学的指导和有效的开发工具的支持5)解决供求矛盾将是一个永恒的主题2)缓解软件危机的途径:用软件工程的思想指层软件的开发3、简述软件工程的三要素答:软件工程由方法、工具和过程三部分组成,称软件工程的三要素1) 方法:是完成软件工程项目的技术手段,它们支持软件工程的各个阶段2) 软件工具:是人类开发软件的活动中智力和体力的扩展和延伸,能够自动或半自动地支持软件的开发和管理,支持各种软件文档的生成目前的软件工具支持软件开发的全过程3) 过程:贯穿于整个工程的各个环节,在这一过程中,管理人员应对软件开发的质量、进度、成本等进行评估、管理和控制,包括计划跟踪与控制、成本估算、人员的组织、质量保证、配置管理等4、软件工程学的基本原则有哪些?试说明之答:在软件开发过程中必须遵循下列软件工程原则·抽象 : 采用分层次抽象,自顶向下、逐层细化的办法进行功能分解和过程分解,可以由抽象到具体、由复杂到简单,逐步得到问题的解。
·信息隐蔽 : 遵循信息封装,使用与实现分离的原则,将模块设计成“黑箱”,可以将实现的细节隐藏在模块内部,使用者只能通过模块接口访问模块中封装的数据·模块化 : 按模块划分系统的体系结构,使得各模块间有良好的接口这样有助于信息隐蔽和抽象,有助于表示复杂的系统·局部化 : 按抽象数据类型思想及问题域中的概念来建立模块,确保模块之间低耦合,模块内部高内聚这有助于控制解的复杂性·确定性 : 软件开发过程中所有概念的表达应是确定的、无歧义性的、规范的这有助于人们之间的沟通,保证整个开发工作协调一致·一致性 : 强调软件开发过程的标准化、统一化包括文档格式的一致,工作流程的一致,内、外部接口的一致,系统规格说明与系统行为的一致等·完备性 : 软件系统不丢失任何重要成分,可以完全实现系统所要求功能·可验证性 : 开发大型的软件系统需要对系统自顶向下、逐层分解系统分解应遵循系统易于检查、测试、评审的原则,以确保系统的正确性第二章 项目管理一、单选题1、软件复杂性度量的参数,不包括( D )A、规模 B、难度 C、智能度 D、成本2、软件复杂性度量的参数包括( B ) A.效率 B.规模 C.完整性 D.容错性3、( D )是以追求更高的效益和效率为目标的持续性活动。
A、质量策划 B、质量控制 C、质量保证 D、质量改进 4、下列模型属于成本估算方法的有( A )A、COCOMO模型 B、McCall模型 C、McCabe度量法 D、CMM模型5、软件项目计划一般不包括以下哪项内容(D)A、培训计划 B、人员安排C、进度安排 D、软件开发标准的选择和制定6、软件按照设计的要求,在规定的时间和条件下达到不出故障、持续运行的要求的质量特性称为( A )A、可靠性 B、可用性 C、正确性 D、完整性7、软件复杂性主要体现在( C )A、数据的复杂性 B、程序的复杂性 C、控制的复杂性 D、问题的复杂性8、在McCALL软件质量度量模型中,( A )属于面向软件产品操作的质量因素A、可用性 B、可维护性 C、适用性 D、互操作性9、软件的可移植性是衡量软件质量的重要标准之一它指的是 ( D )A、一个软件版本升级的容易程度B、一个软件与其他软件交换信息的容易程度C、一个软件对软硬件环境要求得到满足的容易程度D、一个软件从一个计算机系统或环境转移到另一个计算机系统或环境的容易程度。
10、( C )是指在规定的条件下和规定期间内,实现所指定功能的概率A、可测试性 B、可理解性 C、可靠性 D、可移植性11、在软件工程中,当前用于保证软件质量的主要技术手段还是 ( B)A、正确性证明 B、测试 C、自动程序设计 D、符号证明12、在软件工程中,高质量的文档标准是完整性、一致性和 ( C )A、统一性 B、安全性 C、无二义性 D、组合性13、在McCall软件质量度量模型中,( C )属于面向软件产品修改 A.可靠性 B.可重用性 C.适应性 D.可移植性14、Putnam成本估算模型是一个( D )模型 A.静态单变量 B.动态单变量 C.静态多变量 D.动态多变量二、填空题1、软件项目管理的对象:主要包括产品、过程和资源产品:指软件开发过程得到的文档和程序;过程:指与软件项目有关的活动;资源:指进行软件项目所需要的各种支持如人力、经费、软/硬件环境2、成本管理是估算软件项目的成本,作为立项和签合同的依据之一,并在软件开发过程中按计划管理经费的使用;质量管理是制定软件质量保证计划,按照质量评价体系控制软件质量要素,对阶段性的软件产品进行评审,对最终软件产品进行确认,确保软件质量;配置管理是制定配置管理计划,对程序、数据、文档的各种版本进行管理,确保软件的完整性和一致性。
3、CoCoMo模型按其详细程度分基本CoCoMo模型、中间CoCoMo模型和详细CoCoMo模型三个层次 4、McCall等人提出的三层次度量模型由软件质量要素、评价准则、定量度量三个层次组成的5、风险按影响的范围可分为项目风险、技术风险和商业风险三类6、McCall提出的软件质量模型包括 11 个软件质量特性三、名词解释1、软件质量:软件产品满足规定的和隐含的与需求能力有关的全部特征和特性2、软件可靠性:在某个给定时间间隔内,程序按照规格说明成功运行的概率四、应用题1、已知有一个国外典型的软件项目的记录,开发人员M=6人,其代码行数=20.2KLOC,工作量E=43PM,成本S=314000美元,错误数N=64,文档页数Pd=1050页试计算开发该软件项目的生产率P、平均成本C、代码出错率EQR和文档率D解:根据给出的已知数据,可得: P = L / E =20.2 KLOC /43 PM = 0.47 KLOC / PM = 470 LOC / PM C = S / L = 314000美元 / 20.2 KLOC = 15.54 美元 / LOC EQR = N / L = 64个 / 20.2KLOC = 3.17 个 / KLOC D = Pd / L = 1050 页 / 20.2 KLOC = 51.98 页 / KLOC2、已知某软件项目的特征为:用户输入数为30,用户输出数为60,用户查询数为24,共有8个文件,有2个外部界面。
如果每个信息量的加权因子都取“一般”值,所有的技术复杂性调节因子都取“普通”值,(1)用功能点度量方法计算该软件项目的功能点2)其代码行数=20.2KLOC,工作量E=43PM,成本S=314000美元,错误数N=64,文档页数Pd=1050页试计算开发该软件项目的生产率P、平均成本C、代码出错率EQR和文档率D解:(1)基本功能点CT为: CT =用户输入数× 4+用户输出数×5+ +用户查询数×4+文件数×10+外部接口数×7 =30×4+60×5+24×4+8×10+2×7 =610 FP = CT×TCF = CT [0.65 + 0.01∑F i ] = 610 × [0.65 + 0.01 ×3 ×14] = 652.7功能点答:该软件项目共有652.7功能点2)解:1)生产率P(平均每人月开发的功能点数,以功能点/ PM为单位): P = FP / E=652.7/43 2)平均成本C(以美元/功能点或元/功能点为单位): C = S / FP =314000/652.7 3)代码出错率EQR(即每功能点的平均错误数,以个/功能点为单位)为: EQR = N / FP=64/652.7 4)软件的文档率D(即平均每功能点的文档页数,以页/功能点为单位)为: D = Pd / FP=105/652.7 五、判断题1、当软件开发项目的进度有可能拖延时,增加开发人员并不一定能加快进度。
(√ )第三章障 可行性分析一、单选题1、软件可行性研究一般不考虑 (D )A、是否有足够的人员和相关的技术来支持系统开发B、是否有足够的工具和相关的技术来支持系统开发C、待开发软件是否有市场、经济上是否合算D、待开发的软件是否会有质量问题2、可行性研究要进行一次( C )需求分析A、详细的 B、全面的 C、简化的、压缩的 D.彻底的设计3、经济可行性研究的范围包括( C )A、资源有效性 B、管理制度 C、效益分析 D、开发风险4、在可行性研究阶段,对系统所要求的功能、性能以及限制条件进行分析,确定是否能够构成一个满足要求的系统,这称为( B) 可行性A、经济 B、技术 C、法律 D、操作]5、可行性研究的目的是用最小的代价,在最短的时间内确定问题是否可能解决和值得去解决,主要从( C ) 三个方面进行A、技术可行性、费用可行性、效益可行性B、经济可行性、技术可行性、机器可行性C、技术可行性、操作可行性、经济可行性D、费用可行性、机器可行性、操作可行性6、为保证软件质量,在软件生存周期的每个阶段结束之前,都需要进行(C) 工作A、制定计划 B、测试 C、审查 D、交接7、研究开发所需要的成本和资源是属于可行性研究中的( B )研究的一方面。
A. 技术可行性 B. 经济可行性 C. 社会可行性 D. 法律可行性二、填空题1、可行性研究的的主要内容有经济可行性研究、技术可行性研究和法律可行性研究等2、整个生存周期系统的累计收入的折现值PT 与总成本折现值ST之差称为纯收入,把资金投入到项目中与把资金存入银行比较,其中投入到项目中可获得的年利率就称为项目的投资回收率三、判断题1、软件可行性研究一般不考虑待开发软件是否有市场、经济上是否合算( ×)2、如果技术风险很大,或者资源不足,或者当前的技术、方法与工具不能实现系统预期的功能和性能,管理人员就应及时做出撤消项目的决定 √ )四、问答题1、可行性分析的主要任务是什么? 答:可行性研究的主要任务是:了解客户的要求及现实环境,从技术、经济和社会因素等三方面研究并论证本软件项目的可行性,编写可行性研究报告,制定初步项目开发计划1)经济可行性研究:度量系统解决方案的性能价格比估算开发成本和利润,进行成本效益分析2)技术可行性研究:度量一个特定技术信息系统解决方案的实用性及技术资源的可用性3)运行、操作可行性研究:用户使用可能性;时间进度可行性;组织和文化上的可行性 4)法律可行性研究:开发项目是否会在社会上、法律上或政治上引起侵权、破坏或其它责任问题。
5)开发方案的选择第四章 需求分析一、单选题1、 在各种不同的软件需求中,(D )描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明 A、业务需求 B、功能需求 C、非功能需求 D、用户需求2、需求分析最终结果是产生( B )A、项目开发计划 B、需求规格说明书C、设计说明书 D、可行性分析报告 3、需求分析阶段的主要任务是( A )A、确定软件系统的功能 B、确定软件开发方法 C、确定软件开发费 D、确定软件开发工具4、( A )意味着一个操作在不同的类中可以有不同的实现方式 A、多态性 B、多继承 C、类的可复用 D、信息隐蔽5、 时序图反映对象之间发送消息的时间顺序,它与( D )是同构的A、用例图 B、类图 C、活动图 D、协作图6、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,( C )是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求 A、业务需求 B、功能要求 C、非功能需求 D、用户需求 7、数据流图是一种描述数据及其变换的图形表示,在数据流图上不允许出现 ( B )。
A、数据流 B、控制流 C、文件 D、加工8、( D )工具在软件详细设计过程中不采用A、判定表 B、IPO图 C、PDL D、DFD图9、在面向对象软件开发方法中,类与类之间主要有以下结构关系 (B)A、继承和聚集 B、继承和一般C、聚集和消息传递 D、继承和方法调用10、结构化程序设计主要强调的是( D )A、程序的规模 B、程序的效率 C、程序设计语言的先进性 D、程序易读性11、以下哪一项不是面向对象的特征 (D)A、多态性 B、继承性 C、封装性 D、过程调用 12、面向对象模型主要由以下哪些模型组成 (A)A、对象模型、动态模型、功能模型 B、对象模型、数据模型、功能模型C、数据模型、动态模型、功能模型 D、对象模型、动态模型、数据模型 13、以下哪种属于精确的用户需求描述( A )A、系统的响应时间不能超过3秒 B、系统必须用菜单驱动C、在数据录入界面,应该有10个按钮 D、电梯应平稳运行14、在数据流图中,椭圆代表( C )A、源点 B、终点 C、加工 D、模块15、下列( B )不是软件需求说明书性能描述包含的内容。
A、预期的软件响应 B、测试种类 C、设计的限制 D、性能参数16、软件定义期间的问题定义阶段涉及的人员有( D )A、用户、使用部门负责人B、软件开发人员、用户、使用部门负责人C、系统分析员、软件开发人员D、系统分析员、软件开发人员、用户与使用部门负责人17、不适于作为数据流图处理(加工)框名称的是( B )A、人工校核工资数据 B、工资支票数据C、打印工资支票 D、计算职工工资18、SA方法在描述方式上的特点,是尽量采用( C )A、自然语言 B、形式语言 C、图形表示 D、表格19、OOA模型规定了一组对象如何协同才能完成软件系统所指定的工作这种协同在模型中是以表明对象通信方式的一组( A )连接来表示的A、消息 B、记录 C、数据 D、属性20、进行需求分析可使用多种工具,但( B )是不适用的 A、数据流图 B、判定表 C、PAD图 D、数据词典21、对象类之间的聚集关系就是( B )关系A、一般特殊 B、整体-部分 C、相互依赖 D、层次构造22、用于描述对象模型的工具是( D )。
A、数据流图 B、结构图 C、状态图 D、对象图23、结构化程序设计主要强调的是( D )A、程序的规模 B、程序的效率 C、程序设计语言的先进性 D、程序易读性24、对象类之间的聚集关系就是( B )关系A、一般特殊 B、整体-部分 C、相互依赖 D、层次构造26、数据流图中,当数据流向或流自文件时,( B ) A、数据流要命名,文件不必命名B、数据流不必命名,有文件名就足够了C、数据流和文件均要命名,因为流出和流进数据流是不同的D、数据流和文件均不要命名,通过加工可自然反映出27、需求分析是由分析员经了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型并写出 ( B )A、模块说明书 B、需求分析说明书 C、项目开发计划 D、合同文档28 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的 ( A )A、总貌 B、细节 C、抽象 D、软件的作者29、对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中 A.结合 B.隐藏 C.封装 D.抽象30、结构化系统分析主要是通过( D ) 进行分析的。
A、算法分解 B、控制结构分解C、数据结构分解 D、处理功能分解31、结构化分析SA是软件开发需求分析阶段所使用的方法,( B ) 不是SA所使用的工具A、DFD图 B、PAD图 C、结构化英语 D、判定表32. 结构化分析方法以数据流图、( D ) 和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型A、DFD图 B、PAD图 C、IPO图 D、数据字典33、分层的数据流图中,父图与子图的平衡是指(D) 的平衡A、处理 B、数据存储 C、外部项 D、数据流34、数据流图中,当数据流向或流自数据存储时,(B) A、数据流要命名,数据存储不必命名B、数据流不必命名,数据存储要命名C、数据流和数据存储均应命名,因流进和流出的数据流可能不同D、数据流和数据存储都不必命名,因为从处理上可自然反映出来35、在E-R模型中,包含以下基本成分( C ) A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性36. 数据字典是软件需求分析阶段的重要工具之一,它的基本功能是( A ) 。
A、数据定义 B、数据维护 C、数据通讯 D、数据库设计37、系统需求分析阶段的任务是分析系统的(D) A、数据要求 B、功能要求 C、性能要求 D、A,B,C三方面38、结构化分析SA是软件开发需求分析阶段所使用的方法 不是SA所使用的工具 B )A、DFD图 B、PAD图 C、结构化英语 D、判定表39、结构化分析方法以数据流图、 和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型 D )A、DFD图 B、PAD图 C、IPO图 D、数据字典40、结构化系统分析所得到的系统需求说明书中包含一组小说明小说明是指对( C )作进一步说明A、数据流 B、数据存储(文件)C、处理(加工) D、外部项(源点终点)41. 分层的数据流图中,父图与子图的平衡是指( D ) 的平衡A、处理 B、数据存储 C、外部项 D、数据流42. 数据字典是软件需求分析阶段的重要工具之一,它的基本功能是 (A)A、数据定义 B、数据维护 C、数据通讯 D、数据库设计43、数据流图所描述的是实际系统的(A) A、逻辑模型 B、物理模型 C、程序流程 D、数据结构44、面向对象分析时,所标识的对象为( D ) 是错误的。
A、与目标系统有关的物理实体 B、与目标系统发生作用的人或组织的角色C、目标系统运行中需记忆的事件 D、目标系统中环境场所的状态45、某模块的输入数据为某工厂中一个车间的生产产量表,通过该模块可以计算出车间中生产工人的平均产量、统计产量前10名的人员名单,从内聚度来看,该模块属于 (C) A、逻辑内聚 B、通信内聚 C、顺序内聚 D、功能内聚46. 软件需求分析的内容是 ( A )A、确定开发的软件应有哪些功能,应达到什么性能B、确定软件的开发成本 C、制定软件开发的进度表D、确定软件的总体结构47 数据流图的小说明中描述的最基本部分是( B) A、激发条件 B、加工逻辑 C、优先级 D、执行频率48. 面向对象的分析方法主要是建立三类模型,即( D ) A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型49.系统需求分析阶段的任务是分析系统的( D) A、数据要求 B、功能要求 C、性能要求 D、以上三方面50.系统开发的需求分析阶段的重要工作之一是 ( A)。
A、数据定义 B、数据库设计 C、数据维护 D、数据结构实现51.需求分析说明书不能作为 ( A)A、可行性研究的依据 B、用户和开发人员之间的合同C、系统概要设计的依据 D、软件验收测试的依据52.结构化系统分析中,处理逻辑可用( B) 描述A、数据字典 B、数据流图 C、结构图 D、结构化语言53.经调查,系统分析员给出有关问题的初略陈述,其中部分描述如下:某商场的采购部门要求每天开出定购清单,交采购员;仓库管理员将此要求输入系统,经库存业务(进贷或出贷)处理后输出从这段描述可知该部分数据流图中的外部项为( A) A、采购员、仓库管理员 B、定购清单、库存业务C、库存业务 D、定购清单、采购员54.下列叙述中,( B ) 不属于数据字典的作用A、作为编码阶段的描述工具 B、为用户与开发人员之间统一认识C、作为概要设计的依据 D、为需求分析阶段定义各类条目55.在面向对象软件方法中,“类”是( D ) A、具有同类数据的对象的集合 B、具有相同操作的对象的集合C、具有同类数据的对象的定义 D、具有同类数据和相同操作的对象的定义56. 数据字典是对数据流图中出现的组成元素定义的集合,它不包括( A ) 条目。
A、文件 B、数据流 C、加工 D、I/O参数57、在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是( D ) A、概要设计 B、详细设计 C、可行性分析 D、需求分析58、软件需求分析阶段的工作,可以分为四个方面:需求获取,需求分析,编写需求规格说明书,以及( B) A、阶段性报告 B、需求评审 C、总结 D、都不正确59、数据流是数据流图的基本成分,下列关于数据流的叙述中,( B) 是正确的A、某加工的输入是一个数据流,该加工的输出也必定是一个数据流B、多个不同的数据流可以流向一个加工,也可从一个加工中流出C、数据流只能从加工流向文件,但不能从文件流向加工D、一个数据流可以从一个文件流向另一个文件二、多选题1、需求分析的主要目的是( B C )A、决定系统开发的具体方案 B、进一步确定用户的需求C、解决系统“做什么的问题” D、解决系统“如何做的问题”E、解决系统“如何测试的问题”2、SD方法的设计总则是( CD )A、程序简洁 B、结构清晰、合理 C、模块内聚性强 D、 模块之间耦合度低 E、操作方便3、面向对象程序设计的基本机制是(ABC )。
A、继承 B、消息 C、方法 D、结构 E、抽象4、需求分析的主要方法有(CD)A、形式化分析方法 B、PAD图描述 C、结构化分析(SA)方法D、OOA法 E、OOD法5、需求分析阶段结束后,应交出的文档主要包括(A、B)A、数据流图 B、数据字典 C、简明的算法描述 D、项目的经费预算 E、设计文档6、画分层DFD图的基本原则有( ACD ) A、数据守恒原则 B、分解的可靠性原则C、子、父图平衡的原则 D、数据流封闭的原则E、软件结构分析原则三、填空题1、软件需求是指用户对目标软件系统在功能、性能、行为、设计约束等方面的期望2、需求分析阶段的任务是确定待开发的软件系统“做什么”该阶段的主要成果有主要成果有软件需求规格说明书(或SRS)3、初步需求获取技术的方法:访谈与会议、观察用户工作流程、分析人员和用户组成联合小组4、小汽车与红旗轿车这两个类之间的关系是继承 小汽车与驾驶员这两个类之间的关系是关联,班级与学生这两个类之间的关系是聚集 5、DFD图中,用方框表示外部实体、用椭圆表示转换、用箭头表示数据流、用双线表示数据源6、数据流图是目标系统中各个子功能及它们之间的数据流动的图形表示。
7、在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、判定树8、包之间存在两种关系:依赖和构成;9、用例图从用户角度描述系统功能静态图表示系统的静态结构行为图描述系统的动态模型和组成对象间的交互关系实现图用于描述系统的物理实现10、对象是现实世界中个体或事物的抽象表示,11、对象之间通过消息进行通信12、用例与用例之间存在两种关系:使用和扩展关系13、类之间的关系:继承、聚集、关联和依赖14、面向对象的特征主要有多态性、继承性 和封装性15、在需求分析中,可从有关问题的简述中提取组成数据流图的基本成分通常问题简述中的动词短语将成为数据流图中的加工(或处理) 成分四、判断题1、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息( ×)2、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据( ×)3、以结构化分析方法建立的系统模型就是数据流图 ×)4、在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低 ×)5、在需求分析中,分析员要从用户那里解决的最重要的问题是明确软件做什么√)6、一个数据流可以从一个文件流向另一个文件( ×)7、用例图定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现(√ )8、数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。
×)9、快速原型模型可以有效地适应用户需求的动态变化√ )10、在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板 ×)12、过程描述语言可以用于描述软件的系统结构 ×) 13、在进行需求分析时同时考虑维护问题√ )14、尽可能在软件开发过程中保证各阶段文档的正确性√ )15、判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件 ×)16、在面向对象的需求分析方法中,建立动态模型是最主要的任务 ×)17、信息隐蔽原则有利于提高模块的内聚性√ )18、面向对象分析,就是抽取和整理用户需求并建立问题域精确模型的过程√ )19、某加工的输入是一个数据流,该加工的输出也必定是一个数据流( ×)20、数据流只能从加工流向文件,但不能从文件流向加工( ×)五、问答题1、什么是需求分析,其任务是什么?答:需求分析:通过对应用问题及其环境的分析与理解,采用一系列的分析方法和技术,将用户的需求逐步精确化、完全化、一致化,最终形成需求规格说明文档的过程2)需求分析的任务就是准确地定义未来系统的目标,确定为了满足用户的需求系统必须做什么用 <需求规格说明书> 规范的形式准确地表达用户的需求。
2、简述活动图和状态图的区别答:活动图是由状态图变化而来的,它们各自用于不同的目的1)状态图着重描述对象的状态变化以及触发状态变化的事件但是,从系统任务的观点看系统它是由一系列有序活动组成的2)活动图是从活动的角度描述系统任务的,它描述了系统中各种活动的执行顺序,刻画一个方法中所要进行的各项活动的执行流程,显示动作及其结果,着重描述操作实现中完成的工作以及用例或对象内部的活动(3)状态图中状态的变迁通常需要事件的触发,而活动图中一个活动结束后将立即进入下一个活动3、包图的作用是什么?包之间的关系有中哪几种?简述每一种关系答:(1)包图的作用是:描述系统的分解结构,它表示包以及包之间的关系(2)包之间的关系:依赖和构成依赖:如果对类A的修改将导致类B的改变,则称B依赖于A如果两个包中存在具有依赖关系的两个类,则认为这两个类分属的包之间存在依赖关系构成:包是可以嵌套的,即包中可以包含类,也可包含包4、简述SA方法的优缺点?答:(1)优点:SA方法是软件需求分析中公认的、有成效的、技术成熟、使用广泛的一种方法,该方法利用图形等半形式化工具表达需求,简明、易读,也易于使用,为后一阶段的设计、测试、评价提供了有利的条件。
2)SA方法的缺点:A:它没有反映处理的顺序,即控制流程因此,不适合描述实时控制系统B:SA方法使用DFD在分析与描述“数据要求”方面是有限的C:DFD不是和描述人机界面系统的需求,对这一部分需用自然语言作补充5、创建数据流模型应遵循哪些规则?答:应遵循的原则:(1)首先建立顶级数据流图,其中只含有一个代表目标软件系统整体处理功能的转换2)对用户需求的文字描述进行语法分析,其中的名词和名词短语构成潜在的外部实体、数据源或数据流,动词构成潜在的处理功能3)采用通常的功能分解方法,按照“强内聚、松耦合”的原则逐个对处理功能进行精化;与此同时逐步完成对数据流的精化,并针对被精化的处理功能生成下一级数据流图4)精化过程中必须维持各级数据流图之间的数据流平衡 (5)精化过程应适可而止,避免涉及软件设计细节6、用例图、状态图、协作图、活动图、顺序图在面向对象方法各起什么作用?答:(1)用例图:从外部用户角度描述系统功能,并指出各功能的操作者2)状态图:描述类的对象的动态行为3)协作图:描述相互合作的对象间的交互关系,它描述的交互关系是对象间的消息连接关系(4)活动图:描述系统为完成某项功能执行的操作序列。
着重描述操作实现中完成的工作以及用例实例或对象中的活动5)顺序图:主要描述对象之间的动态合作以及合作过程中的行为次序,常用来描述一个用例的行为六、名词解释1、软件需求:是指用户对目标软件系统在功能、性能、行为、设计约束等方面的期望2、数据流图:是用来刻画数据流和转换的信息系统建模技术它用简单的图形记号分别表示数据流、转换、数据源以及外部实体3、抽象:是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同的特征而暂不考虑它的细节,不考虑其它因素4、类:是一组具有相同属性和相同操作的对象的集合5、聚合:是关联的一种特殊形式,常被认为“包含”、“由…组成”关系,即部分类与由它们组成的类之间是一种整体-部分(part-whole)关联6、用例:从外部用户的角度看,是执行者与目标软件系统之间的一次典型的交互作用七、应用题1、为开发一个铁路自动售票系统(该系统预计从2004年使用到2014年),请从供选择的答案中选出A、B、C、D和E的内容来完成下面的数据流图(每空1分,共5分)(1)A~E的供选择答案如下:①车次表;②接受;③售票记录;④购票请求;⑤拒绝A、 B、 C、 D、 E、 A、购票请求 B、接受 C、拒绝 D、车次表 E、售票记录2、某银行的计算机储蓄系统功能是:将储户填写的存款单或取款单输入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并打印出存款单给储户,如果是取款,系统计算清单给储户。
画出其中一层DFD答:付款信息存款凭证存/取款信息登录存折处理付款处理储户计时器账号存款单无余拒付取款单储户核查时间结算单3、某高校可用的号码有以下几类:校内号码由4位数字组成,第1位数字不是0;校外又分为本市和外地两类,拨校外需先拨0,如果是本市再接着拨8位号码(第1位不是0),如果是外地则先拨区码(3~5位数字),再拨当地号码(7或8位数字,第1位不是0)请定义上述的号码(描述其数据字内典)答:号码=「校内号码 | 校外号码]校内号码=非零数字+3{数字}3 校外号码=[本市号码 | 外地号码])本市号码=0+非零数字+7{数字}7 外地号码=0+区码+当地号码非零数字=[1|2|3|4|5|6|7|8|9] 区码=3{数字}5 当地号码=非零数字十6{数字}7 数字=[0|1|2|3|4|5|6|7|8|9] 4、有一个考务处理系统的功能为:对考生送来的报名表进行检查; ② 对合格的报名表编好准考证号码后将准考证送给考生,并将汇总后的考生名单送给阅卷站;③ 对阅卷站送来的成绩表进行检查,并根据考试中心指定的合格标准审定合格者;④ 填写考生通知单(内容包含考试成绩及合格∕不合格标志),送给考生;⑤ 按地区、年龄、文化程度、职业、考试级别等进行成绩分类统计及试题难度分析,产生统计分析表。
其分层数据流图如下图所示请回答以下的问题: (1) 图(c)中,加工1.1的输入数据流是( A ),输出数据流是( B ),图(b)中,加工2的输出数据流是( C ),它是由( D )和( E )组成供选择的答案:A ~ E. ① 统计分析表 ② 报名表 ③ 准考证 ④ 考生通知单 ⑤ 合格报名表 ⑥ 难度分析表 ⑦ 错误成绩表 ⑧ 分类统计表考试中心统计分析表不合格报名表考生报名表合格标准考务处理系统准考证考生通知单考生名单错误成绩表成绩表(a) 顶层数据流图阅卷站报名表 2统计成绩考生通知单统计分析表准考证合格标准 1 登记报名表考生名单考生名册错误成绩表(b) 第1层数据流图不合格报名表成绩表 合格报名表 1.2编准考证号码合格标准报名表成绩表不合格报名表错误准考证 2.2 审定合格者 2.1 检查成绩表成绩表成绩表经审定的 正确成绩表 1.1 检查报名表试题得分表 2.4分类统计成绩分析表 难度考生名单1.3登记考生考生名册通知单 考生 2.5分析试题难度 2.3 填写通知单(c) 加工1的子图(d) 加工2的子图考生名册统计表 分类 (2) 图(d)中的文件“试题得分表”是否在图(b)中漏掉了? 回答是( F )。
供选择的答案:F. ① “试题得分表”没有在图(b)中画出,是错误的 ② “试题得分表”是图(b)中加工的内部文件,不必在图(b)中画出 ③ “试题得分表”是多余的答案:A. ② B. ⑤ C. ① D. ⑥ E. ⑧ F. ② 一、选择题1. 结构设计是一种应用最广泛的系统设计方法,是以( B) 为基础、自顶向下、逐步求精和模块化的过程A、数据流 B、数据流图 C、数据库 D、数据结构2. 概要设计的结果是提供一份 A )A、模块说明书 B、框图 C、程序 D、数据结构3. 在开发软件时,( A)可用来提高程序员的工作效率A、程序开发环境 B、操作系统的作业管理功能C、编译程序的优化功能 D、并行运算的大型计算机4、结构化程序设计思想的核心是要求程序只由顺序、循环和(A) 三种结构组成A、分支 B、单入口 C、单出口 D、有规则GOTO5.块间联系和块内联系是评价程序模块结构质量的重要标准联系的方式、共用信息的作用、共用信息的数量和接口的( C )等因素决定了块间联系的大小A 、友好性 B 、健壮性 C、简单性 D、安全性6、在块内联系中,( B )的块内联系最强。
A、 巧合内聚 B、 功能内聚 C、 通信内聚 D、 信息内聚7、从下列有关系统结构图的叙述中( D )是正确的叙述A、 系统结构图中反映的是程序中数据流的情况B、系统结构图是精确表达程序结构的图形表示法因此,有时也可将系统结构当作程序流程图使用C、一个模块的多个下属模块在系统结构图中所处的左右位置是无关紧要的D、 在系统结构图中,上级模块与其下属模块之间的调用关系用有向线段表示这时,使用斜的线段和水平、垂直的线段具有相同的含义8、详细设计的任务是决定每个模块的(C)A、外部特性 B、内部特性C、算法和使用数据 D、功能和输入输出数据9、软件的(A) 设计又称为总体结构设计,其主要任务是建立软件系统的总体结构 A、概要 B、抽象 C、逻辑 D、规划10. 模块本身的内聚是模块独立性的重要度量因素之一,在七类内聚中,具有最强内聚的一类是( D ) A、顺序性内聚 B、过程性内聚 C、逻辑性内聚 D、功能性内聚11、 在软件研究过程中,CASE是( D) A、指计算机辅助系统工程 B、CAD和CAM技术的发展动力C、正在实验室用的工具 D、指计算机辅助软件工程12、 软件(结构)设计阶段文档是 ( D)。
A、系统模型说明书 B、程序流程图C、系统功能说明书 D、模块结构图和模块说明书13、 结构化系统设计阶段的目的是 (A)A、获得良好的软件结构 B、获得可读性好的程序C、获得满足用户需求的数据流图 D、获得高效的算法14、要减少两模块之间的联系,则( B) A、两模块之间的调用次数要尽量少B、两模块之间直接传递的信息要尽量少C、两模块应使用尽可能相同的全局变量D、两模块应尽量共享相同的数据结构15、事务型结构数据流图的特点是,将某一个加工的输入分解成并行的数据流,通过( B) 执行后面的加工A、变换 B、选择 C、合并 。