1、软件工程 单项选择题 1. 哪个活动可在可行性分析阶段进行? A.编码 B.测试 C.设计 D.制订市场营销计划 2. 在数据流程图中,有名字及方向的成分是( )。 A.控制流 B.信息流 C.数据流 D.信号流 3. 以下各图中不是 UML 使用的图是( )。 A.数据流程图 B.用例图 C.类图 D.顺序图 4. 下图中,类的关系是( )。 商 船 岛 屿A.依赖 B.关联 C.聚集 D.泛化 5. 甘特图是一种( )。 A.UML 模型 B.过程模型 C.系统构架的抽象模型 D.进度计划的表达方式 6. 下面不属于软件配置管理任务的是( )。 A.变更控制 B.配置审核 C.状态报告 D
2、.用例分析 7. 数据耦合、公共耦合、印记耦合、控制耦合的耦合性从低到高的顺序是( ) A.数据、公共、印记、控制 B.数据、印记、控制、公共 C.控制、数据、印记、公共 D.控制、数据、公共、印记 8. 软件需求分析的主要任务是准确地定义出要开发的软件系统是( ) A.如何做 B.怎么做 C.做什么 D.对谁做 9. 可行性分析研究的目的是( ) A.争取项目 B.项目值得开发否 C.开发项目 D.规划项目 10. 具有风险分析的软件生存周期模型是( ) A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型 11. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做 ( )
3、A.软件工程 B.软件周期 C.软件危机 D.软件产生 12. 程序的三种基本控制结构的共同特点是( ) A只能用来描述简单程序 B不能嵌套使用 C单入口,单出口 D仅用于自动控制系统 13. 数据字典是用来定义 _中的各个成份的具体含义的。( ) A流程图 B功能结构图 C系统结构图 D数据流图 14. 为了使软件具有清晰结构和良好的风格,下面关于程序设计风格的叙述不可取的有( ) A. 尽量不要进行浮点数的相等比较 B. 应当有适量的注释 C. 尽可能对代码优化 D. 使用有意义的标识符 15. 使用白盒技术设计测试用例的方法包括( ) A.边界值分析 B.循环测试 C.等价类划分 D.回
4、归测试 16. 下列模块内聚中,内聚性最强的是( )。 A.功能内聚 B.偶然内聚 C.过程内聚 D.顺序内聚 17. 若有一个计算类型的程序,它的输入量只有一个 X,其范围是 -1.0, 1.0,现从输入的角度考虑一组测试用例: -1.001, -1.0, 1.0, 1.001。设计这组测试用例的方法是 ( ) A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 18. 下列哪一种程序设计语言不是面向对象的( )。 A.C+ B.JAVA C.C# D.C 19. 下列测试方法不属于集成测试的是( )。 A.自顶向下 B.自底向上 C.三明治测试 D.自中间向两极测试 20.
5、关于用例的概念,下列说法不正确的是( )。 A.用例是一个连贯的功能性单元 B.用例是通过 Actor 确认的 C.可以借助状态转换图来描述用例 D.用例是一个类,而不是事件 21. 源程序文档化要求在每个模块之前加序言性注释。该注释内容不应有( ) A.模块的功能 B.语句的功能 C.模块的接口 D.开发历史 22. DFD 中的每个加工至少需要 ( ) A. 一个输入流 B. 一个输出流 C. 一个输入或输出流 D. 一个输入流和一个输出流 23. 为了提高模块的独立性,模块之间最好是 ( ) A. 控制耦合 B. 公共耦合 C. 内容耦合 D. 数据耦合 24. 测试的关键问题是 ( )
6、 A. 如何组织对软件的评审 B. 如何验证程序的正确性 C. 如何采用综合策略 D. 如何选择测试用例 25. 软件维护困难的主要原因是 ( ) A. 费用低 B. 人员少 C. 开发方法的缺陷 D. 得不到用户支持 26. 源程序文档化要求在每个模块之前加序言性注释。该注释内容不应有( ) A. 模块的功能 B. 语句的功能 C. 模块的接口 D. 开发历史 27. 结构化程序设计采用的三种基本控制结构是( ) A. 顺序、分支、选择 B. 选择、循环、重复 C. 顺序、选择、循环 D. 输入、变换、输出 28. 通信内聚、过程内聚、顺序 内聚和时间内聚的内聚性从高到低顺序是( ) A.通
7、信、过程、顺序、时间 B.通信、时间、顺序、过程 C.顺序、通信、时间、过程 D.顺序、通信、过程、时间 29. 使用程序设计的控制结构导出测试用例的测试方法是 ( ) A、 黑盒测试 B、 白盒测试 C、 边界测试 D、 系统测试 30. 软件工程学的目的应该是最终解决软件生产的( )问题。 A.提高软件的开发效率 B.使软件生产工程化 C.消除软件的生 产危机 D.加强软件的质量保证 31. 软件过程模型有多种,下列选项中,( )不是软件过程模型。 A.螺旋模型 B.增量模型 C.行为模型 D.瀑布模型 32. 准确地解决“软件系统必须做什么”是( )阶段的任务。 A.可行性研究 B.详细
8、设计 C.需求分析 D.编码 33 下列哪个是 RAD 模型的优点( )。 A.适用于可变需求 B.开发速度快 C.适用于高风险项目 D.可用于超大规模软件项目开发 34. 瀑布模型是一种什么模型?( ) A风险驱动模型 B线性开发模型 C增量 模型 D迭代模型 35. 下列哪个不属于软件的基础特征量?( ) A. 软件规模 B.开发成本 C.开发期限 D.软件完整性 36. 软件需求分析应确定的是用户对软件的 ( )。 A. 功能需求和非功能需求 B. 性能需求 C. 非功能需求 D. 功能需求 37. 在软件开发中,( )是指对将要开发的系统的开发成本进行估算,然后与可能取得的效益进行比较
9、和权衡。 A.成本 效益分析 B.可行性分析 C.结构化分析 D.软件需求分析 38. 瀑布模型的关键不足在于 ( )。 A. 过于简单 B. 各个阶段需要进行评审 C. 过于灵活 D. 不能适应需求的动态变更 39. 下面说法正确的是 ( )。 A. 经过测试没有发现错误说明程序正确 B. 测试的目标是为了证明程序没有错误 C. 成功的测试是发现了迄今尚未发现的错误的测试 D. 成功的测试是没有发现错误的测试 40. 软件部件的内部实现与外部可访问性的分离,是指软件的( )。 A、继承性 B、共享性 C、封装性 D、抽象性 41. 下面哪个不属于良好的人机界面设计原则?( ) A. 系统的全
10、部界面格式和风格一致 B. 为不同的用户和功能提供一致的界面服务 C. 力求用户输入量最少 D. 具有帮助功能 42. 当模块中包含复杂的条件组合,只有( )能够清晰地表达出各种动作之间的对应关系。 A 判定表和判定树 B 盒图 C 流程图 D 关系图 43. 下面哪个不是基于抽象的软件设计原则?( ) A里氏替换原则 B. 开 -闭原则 C. 远离实现原则 D. 依赖倒转原则 44. 假设目标系统如下图的层次结构,对其按 宽 度优先顺序进行集成测试,正确的顺序是( )。 alkjgifhedcbmA. abehcfidgilmk B. abcdefghijklm C. abehcdfigjk
11、lm D. lmhijkefgbcda 45. 下列哪个阶段不是软件生存期三个阶段中的内容 ( )。 A 定义阶段 B 开发阶段 C 编码阶段 D 维护阶 段 46. 模块的内聚性最高的是 ( ) A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚 47 采用甘特图表示软件项目进度安排,下列说法中正确的是 ( ) A.能够反映多个任务之间的复杂关系 B.能够直观表示任务之间相互依赖制约关系 C.能够表示哪些任务是关键任务 D.能够表示子任务之间的并行和串行关系 48. DFD 中的每个加工至少需要 ( ) A. 一个输入流 B. 一个输出流 C. 一 个输入或输出流 D. 一个输入流和一个
12、输出流 49. 下列关于功能性注释不正确的说法是 ( ) A. 功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态 B. 注释用来说明程序段,需要在每一行都要加注释 C. 可使用空行或缩进,以便很容易区分注释和程序 D. 修改程序也应修改注释 50. 需求规格说明书的作用不包括( ) A软件验收的依据 B用户与开发人员对软件要做什么的共同理解 C软件可行性研究的 依据 D软件设计的依据 51. 为了克服软件危机,人们提出了用 ( )的原理来设计软件,这就是软件工程诞生的基础。 A. 数学 B. 软件学 C. 运筹学 D. 工程学 52. 以下哪一项不是软件危机的表现形式 ( )。
13、 A. 开发的软件不满足用户需要 B. 开发的软件可维护性差 C. 开发的软件价格便宜 D. 开发的软件可靠性差 53. 结构化设计是一种面向 ( )的设计方法。 A. 数据流 B. 模块 C. 数据结构 D. 程序 54. 与确认测试阶段有关的文档是 ( )。 A. 需求规格说明书 B. 概要设计说明书 C. 详细设计说明书 D. 源程序 55 软件开发的需求活动,其主要任务是( )。 A. 给出软件解决方案 B. 给出系统模块结构 C. 定义模块算法 D. 定义需求并建立系统模型 56. 一个项目是否开发,从经济上来说是否可行,归根结底是取决于 ( )。 A. 成本估算 B. 项目计划 C
14、. 工程管理 D. 工程网络图 57. 在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有 ( )。 A. 隐藏复杂性 B. 信息隐蔽 C. 经常类的复用 D. 类的开发 58. 面向对象的主要特征除对象惟一性、封装、继承外,还有 ( )。 A. 多态性 B. 完整性 C. 可移植性 D. 兼容性 59、软件是一种( ) A、程序 B、数据 C、逻辑产品 D、物理产品 60、软件部件的内部实现与外部可访问性的分离,是指软件的( )。 A、继承性 B、共享性 C、封装性 D、抽象性 61、单元测试是发现编码错误,集成测试是发现模块的接口错误,确认测试是为了发现功能
15、错误,那么系统测试是为了发现( )的错误。 A、接口错误 B、编码错误 C、性能、质量不合要求 D、功能错误 62、在结构化分析方法中用状态转移图表达系统或对象的行为。在状态转移图中,由一个状态和一个事件所决定的下一状态可能会有 ( )个。 A. 1 B. 2 C. 多个 D. 不确定 63、软件需求分析的任务不应包括 ( )。 A. 问题分析 B. 信息域分析 C. 结构化程序设计 D. 确定逻辑模型 64、可使用多种工具进行需求分析,下面 ( )是不适用的。 A. 数据流图 B. 判定表 C. PAD 图 D. 数据词典 65、需求规格说明书的内容不应当包 括 ( )。 A. 对重要功能的
16、描述 B. 对算法的详细过程性描述 C. 软件确认准则 D. 软件的性能 66、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于 ( )系统。 A. 需求不确定性高的 B.需求确定的 C. 管理信息 D. 决策支持 67、在需求分析中,用于数据建模的图形是( )。 A E-R 图 B. 数据流程图 C. 状态转移图 D. 层次图 68、下面( )不是数据流图中的基本元素。 A数据处理 B. 数据存储 C. 数据对象 D. 数据流 69、需求分析中用于行为建模的图形是( )。 A E-R 图 B. 数据流程图 C. 状态转移图 D. 层次图 70、下列模块的耦合关系中,耦合度最高的是
17、( )。 A. 数据耦合 B. 内容耦合 C. 公共耦合 D. 控制耦合 二、填空题 1、软件是由 计算机程序 、 数据 、及 文档 三部分组成的完整集合。其中, 计算机程序 是按事先设计的功能和性能要求执行的指令序列。 数据 是使程序能够正确操纵信息的数据结构。文档 是与程序开发、维护和使用有关的图文材料。 2、描述软件生存周期的瀑布模型在开发阶段一般包括 需求分析 、 总体设计 、 详细设计 、 系统实现 和 软件测试 等几个阶段。瀑布模型的各阶段依次线形连接,是 文档 驱动的模型。 3、喷泉模型适用于 面向对象 方法。 4、快速原型模型建立原型的主要目的是 定义需求 ,实际的软件在充分考
18、虑了质量和可行性后才被开发。 5、软件工程的主要思想是在软件生产中用 工程化方法 _代替传统手工方法。 6、软件工程方法学的三个要素是 方法 、 工具 和 过程 。其中, 软件工具 为软件工程方法提供了自动或半自动软件支撑环境。 7、需求分析的快速原型化方法中,原型分为 追加型(或进化型) 和 废弃型 两类。 8、结构化方法基于 模块化 思想, 采用 抽象 和 分解 的原则进行分析和设计。 9、数据流程图( DFD)用于系统的 功能 建模,其组成成分包括 数据存储 、 数据处理 、 源点和汇点 和 数据流。 10、实体 -关系图包括 对象 , 属性 和 关系 三方面信息。 11、 由客户和用户
19、在软件开发团队的管理下执行的测试称作 _。 12、 “软件生命周期”理论将软件过 程划分到软件开发的三个时期中,分别是软件定义时期、软件开发时期和 _。 13 设银行年利率为 i,假设 n 年后能收入 F 元,则当前的价值为 _。 14 数据流程图是一个分层的概念模型,分为三个层次,分别是总体图、 _、细节图。 15 数据字典定义了 4 种元素,分别是数据元素、 _、处理和数据文件或者数据库。 16 时序图、协作图、状态图这些都属于 UML 中的 _建模图。 17 一个软件项目中,对 LOC 进行估计,保守值为 1000,最有可能值为 800,乐观值为 600,则可估计出期望值为 _。 18_
20、又称实施图,用来表示系统中的计算节点的拓扑结构和通信路径与节点上运行的软构件等。 19 当 A 模块调用 B 模块时,若两个模块之间传递的是数值型参数,则这两个模块的耦合方式是 _。 20 数据流图中的箭头表示 _。 21 软件设计活动一般分为总体设计和详细设计,前者的目的是确定目标系统的 _,后者是在此基础上进一步精化。 22RUP 模型将软件开发过程分为 4 个大的阶段,分别是先启、精化、 _和产品化。 23 由客户和用户在他们的工作现场进行的测试称作 _。 24 软件设计活动一般分为 _和详细设计两个阶段。 25 传统的结构化软件工程方法中,人们通过 _提高模块的抽象程度。 26 依据模
21、块的编码导出测试用例,这种测试称作 _。 27 程序的三种基本控制结构包括顺序结构、分支结构和 _。 28 在单元测试时,需要为被测模块设计 _。 29 需求 分析应交付的主要文档是 _。 30 设计出软件的初步结构以后,应该进一步分解或合并模块,力求降低耦合提高 _。 31 划分模块时尽量做到 _,保持模块的独立性。 32 类的实例化是 _。 33 若年利率为 i, 现存入 P 元, n 年后可得钱数为 F=_。 34 在面向对象方法中,对象实现了数据和操作的结合,使数据和操作 _于对象的统一体中。 35 类中操作的实现过程叫 _。 36 在处理过程定义中,对于复杂的条件组 合问题,用自然语
22、言不能直观清楚地表述,因此常常使用判定表、 _方法。 37 软件生存周期一般可分为问题定义、 _、 需求分析 、设计、编码、测试、运行与维护阶段。 38 一个进行学生成绩统计的模块其功能是先对学生的成绩进行累加,然后求平均值,则该模块的内聚性是 _。 39 从 结构化程序设计 到 _,是程序设计方法的又一次飞跃。 40 软件生存周期一般可分为问题定义、可行性研究、 _、设计、编码、 _、运行 与维护阶段。 41 数据流图的基本符号包括外部实体、数据处理、 _和数据流。 三简答题 1、 什么是软件生存周期?它一般由哪些阶段组成? 2、 数据流图的作用是什么?它由哪些基本成份构成? 3、简单说明概
23、要设计的基本步骤 ? 4 什么是软件工程? 5 功能内聚和顺序内聚各有什么特点?哪一个的内聚程度更高? 6 RUP 模型的优点有哪些? 7 对系统进行抽象设计有哪些优点? 8 传统的构架建模方法有哪些?传统的详细设计建模方法有哪些?面向对象的设计建模方法又有哪些?(每种要求至少说出 2 种) 9 数据字 典与数据流程图和状态变迁图相比较有什么特点?它的基本元素有哪些? 10 详细设计的任务是什么?具体包括哪些 ? 11 什么是白盒测试?白盒测试主要有哪几种测试技术? 12 软件 开发 有哪些 特性 ? 13 增量模型有哪些优点 ? 14 瀑布模型的主要缺陷是什么? 15 类之间的关系有哪些?
24、16 什么是黑盒测试法?什么是白盒测试法? 17 软件实施活动就是编码吗?为什么? 18 作为软件工程中的重要环节,软件配置管理的任务有哪些? 四设计题 1 分析如下 DFD 图,指出其中有哪些错误? 2 假设一个数据库产品规范 要求该产品能够处理从 1 到 1000 中间的任何数量的记录。请首先为其划分等价类,并利用等价类划分和边界值分析技术为其设计测试用例,并说明每个测试用例属于某等价类成员还是属于边界值或是邻接边界值。 3 工资计算系统中的一个子系统有如下功能: ( 1 )计算扣除部分 由基本工资计算出应扣除(比如水电费、缺勤)的部分; ( 2 )计算奖金部分 根据职工的出勤情况计算出奖
25、励金; ( 3 )计算工资总额部分 根据输入的扣除额及奖金计算出总额; ( 4 )计算税金部分 由工资总额中计算出应扣除各种税金; ( 5 )生成工资表 根据计算总额部分和计算税金部分传递来的有关职工工资的详细信息生成工资表。 试根据要求画出该问题的数据流程图。 4一个考试录取统计分数子系统有如下功能: (1) 计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件; (2) 计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。 试根据要求画出该系统的数据流程图。 5 阅读如下程序,说出该程序属于哪种耦合方式, 为什么? 并说明可以采用何种方式降藕。 publ
26、ic class Test public int calSum(Worker w) /Worker 为类名 int wLevel=w.getLevel(); int wSalary=w.getSalary(); /计算 工人 奖金收入等 . 6 首先说出什么是基本途径测试,然后为以下程序流程图设计基本途径测试的测试用例,并标明路径。 7 某厂对部分职工重新分配工作的政策是:年龄在 20 岁以下者,初中文化程度脱产学习,高中文化程度当电工;年龄在 20 岁至 35 岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员;年龄在 35 岁以上者,中学文化程度当材料员,大学文化程度当技
27、术员。请根据以上材料分别采用伪码和判定树两种方式描述之。 8 阅读下列说明,回答问题。 说明:某图书管理系统的主要功能如下: 1.图书管理系统的资源目录中记录着所有可供读者借阅的资源,每项资源都有一个唯一的索引号。系统需登记每项资源的名称、出版时间和资源状态(可借阅或已借出)。 2.资源分两类:图书和 唱片 。对于图书,系统还需登记作者和页数;对于 唱片 ,还需登记演唱者和介质类型( CD 或磁带)。 3.读者信息保存在该系统的读者信息数据库中,记录的信息包括:读者的识别码和姓名。系d b F F、 T T 开始 (x2) AND (y=0) (x=3) AND (z1) 结束 语句段 1 语
28、句段 2 a c e 统为每个读者创建了一个借书记录文件,用来保存读者所借资源的相关信息。 现采用面向对象方法开发该系统。系统的所用名词如下表所示: 图书管理系统 资源目录 读者 资源 索引号 系统 名称 出版时间 资源状态 图书 唱片 作者 页数 演唱者 介质类型 CD 磁带 读者信息 读者信息数据库 识别码 姓名 借书记录文件 信息 建立如下类图,回答问题。 ( 2 )( 1 )( 3 )( 4 )图 书 管 理 系 统资 源 条 目a读 者 信 息 数 据 库读 者b c借 书 记 录 文 件( 1) 请从名词表中挑选名词为 a、 b、 c 三个类替换类名。 ( 2) 资源条目和 b、 c 三个类都有各自的属性,请分别写出它们的属性名。 ( 3) 识别关系多重度,完成( 1)( 2)( 3)( 4)。 9 比较下列两段语句,从编码风格的角度分析其优、劣。 程序段 一 : / position_x is the position x of object; position_y is the position y of object; / if ab then a=b else if position_xposition_y then b=position_y else a=position_x end if end if