1、一、 选择1、文档是软件产品的一部分,没有文档的软件就不称其为软件。 对 2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。 错3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。 错4、建立用例模型的步骤包括确定角色、确定用例和绘制用例图。 错5、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。错6、软件配置管理是一组标识、组织和控制修改源程序的活动。 错7、UML 是一种直观化、明确化、构建和文档化软件产物的通用语言。 错8、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。 对9、边界值分析方法是取输入
2、/输出等价类的边界值作为测试用例。 对10、面向对象的分析是面向计算机系统建立软件系统的对象模型。错11、 (D)是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。 A 软件过程 B 软件测试 C 软件生存周期 D 软件工程 12、 ISO9000 是由 ISO/TC176 制定的关于(B )和质量保证的国际标准。 A 质量控制 B 质量管理 C 质量策划 D 质量改进 13、 CMM 提供了一个框架,将软件过程改进的进化步骤组织成 5 个成熟度等级。除第 1 级外,每个等级都包含了实现该成熟度等级目标的若干(B)。 A 关键实践 B 关键过
3、程域 C 软件过程能力 D 软件过程14、 在软件开发的各种资源中,(D)是最重要的资源。 A 开发工具 B 方法 C 硬件环境 D 人员 15、 软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A 固有的 B 人为的 C 可消除的 D 不可降低的 16、 在各种不同的软件需求中,(D)描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。 A 业务需求 B 功能需求 C 非功能需求 D 用户需求 17、 原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。 A 需求不确定的 B 需求确定的 C 管理信息 D 决策支持 18、
4、 (A)意味着一个操作在不同的类中可以有不同的实现方式。 A 多态性 B 多继承 C 类的可复用 D 信息隐蔽 19、 时序图反映对象之间发送消息的时间顺序,它与(D)是同构的。 A 用例图 B 类图 C 活动图 D 协作图 20、 单元测试的测试用例主要根据(D)的结果来设计。 A 需求分析 B 源程序 C 概要设计 D 详细设计二、 填空题1、 在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是关联关系。2、 类 A 的一个操作调用类 B 的一个操作,且这两个类之间不存在其他关系,那么类 A 和类 B 之间是依赖关系。3、 用例及其协作之间是实现关系。4、
5、接口及其实现类或构件之间是实现关系。5、 动物与老虎之间是泛化关系。三、 问答题1、 软件复用的范围不仅仅涉及源程序代码,请至少列出 5 种可能复用的软件元素。可复用的软件元素包括(选 5 种): 项目计划、成本估计、体系结构、需求模型和规格说明、设计、用户文档和技术文档、用户界面、数据结构、测试用例。2、 传统“瀑布模型 “的主要缺陷是什么?试说明造成缺陷的原因。传统“瀑布模型“ 的主要缺陷及其原因:在项目的早期,用户常常很难清楚地给出所有需求,瀑布模型却要求如此。由于瀑布模型的特点,早期的错误直到开发晚期才能被发现,开发的风险较大。3、某学校需要开发一个学生成绩管理系统,教务人员可以通过该
6、系统维护学生信息、课程信息和成绩信息,学生可以随时查询自己的成绩单,该系统的实体关系图如下所示:请问图中是否应该增加“教务人员“ ?试说明理由。不应该增加“教务人员“,因为教务人员只是该系统的一个使用者,系统不处理其属性信息。4、下面是一段求最大值的程序,其中 datalist 是数据表,n 是 datalist 的长度。 int GetMax(int n, int datalist ) int k=0;for ( int j=1; j datalistk ) k=j;return k; (1) 画出该程序的控制流图,并计算其 McCabe 环路复杂性。控制流图如下,McCabe 环路复杂性为
7、 3。(2) 用基本路径覆盖法给出测试路径。测试路径:Path1: Path2: Path3: (3) 为各测试路径设计测试用例。测试用例: Path1: 取 n=1,datalist0 = 1, 预期结果:k=0 Path2: 取 n=2,datalist0 = 1,datalist1 = 0, 预期结果:k=0 Path3: 取 n=2,datalist0 = 0,datalist1 = 1, 预期结果:k=15、下图显示了某个学校课程管理系统的部分类图,其中一个学生(student)可以知道所有注册课程的教师(instructor),一个教师也可以知道所有注册课程的学生。现在提出一个新的
8、需求:“一个教师也可以是某些课程的学生 “,那么下面设计 AC 中哪一个是最好的?为什么?设计 B 是最好的。学生和教员均可以从 Candidate 类继承而来;抽象出 Role 类,使 Candidate 类与 Role 类之间形成多对多的关联关系,实现了“ 一个人既是教师又是某门课的学生“ 这个需求。设计 A: 设计 B:设计 C: 6、 所谓分层体系结构是按层组织软件的一种软件体系结构,其中每层软件建立在低一层的软件层上,下图显示了一种分层体系结构。请选择正确的答案,将其对应的序号填入图中的( )。供选择的答案: 高效性 通用性 保密性 专用性 系统软件 中间 件 应用软件 支撑软件 特
9、定业务 子系统一、 选择、(A)是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。A 软件过程 B 软件工具 C 质量保证 D 软件工程、(D )是以追求更高的效益和效率为目标的持续性活动。A 质量策划 B 质量控制 C 质量保证 D 质量改进、CMM 提供了一个框架,将软件过程改进的进化步骤组织成 5 个成熟度等级。除第 1 级外,每一级都包含了实现这一级目标的若干关键过程域,每一个关键过程域又包含若干(A)。 A 关键实践 B 软件过程性能 C 软件过程能力 D 软件过程、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完
10、成的任务,可以在用例模型或方案脚本中予以说明,(C)是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。A 业务需求 B 功能要求 C 非功能需求 D 用户需求、(A)意味着一个操作在不同的类中可以有不同的实现方式。 A 多态性 B 多继承 C 类的复用 D 封装、在面向对象的系统中,系统责任的良好分配原则是(B)。 A 在类之间均匀分配 B 集中分配在少数控制类中 C 根据交互图的消息进行分配 D 根据个人喜好进行分配、软件配置项是软件配置管理的对象,即软件工程过程中产生的(C)。 A 接口 B 软件环境 C 信息项 D 版本、软件测试计划开始于需求分析阶段,完成于(B
11、)阶段。 A 需求分析 B 软件设计 C 软件实现 D 软件测试二、问答题、判断下列叙述的正确性,将结果(正确,错误)填入( )中,并改正错误的说法。(1).()在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。 改正:在软件开发的过程中,一个错误修复和改正得越晚,为此所花费的代价就会越高。 (2).()在需求分析中,分析员要从用户那里解决的最重要的问题是明确软件做什么。(3).()软件需求规格说明书在软件开发中具有重要的作用,是软件可行性分析的依据。改正:软件可行性分析应在需求分析之前,因此,软件需求规格说明书不应成为软件可行性分析的依据。(4).()模型是
12、对现实的简化,建模是为了更好地理解所开发的系统。(5).()UML 语言支持面向对象的主要概念,并与具体的开发过程相关。改正:UML 语言支持面向对象的概念,并独立于具体的开发过程。(6).()用例图定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现。(7).()好的测试用例应能证明软件是正确的。 改正:好的测试用例在于能发现至今未发现的错误。(8).()白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。(9).()当软件开发项目的进度有可能拖延时,增加开发人员并不能加快进度。(10).()软件技术复审是由用户和测试人员实施的一种质量保证活动。改正:
13、软件技术复审是由软件开发人员实施的一种质量保证活动。、你认为一个好的软件开发人员应具备哪些基本素质?答:(1)牢固掌握计算机软件的基本知识和技能; (2) 善于分析和综合问题,具有严密的逻辑思维能力; (3) 工作踏实细致,遵循标准和规范,具有严格的科学作风; (4) 工作有耐心、有毅力、有责任心; (5) 善于听取别人的意见,善于与周围人员团结协作,建立良好的人际关系;(6) 具有良好的书面和口头表达能力。、需求工程包括哪些基本活动?每一项活动的主要任务是什么?答:(1)需求获取(问题识别): 采集、识别和提取用户的需求,对问题和需求形成文档化的描述,使各种人员达成一致的理解和认可。 (2)
14、 需求分析: 分析和综合所采集的信息,建立系统的详细逻辑模型。 (3) 需求规格说明: 编写软件需求规格说明书,明确、完整和准确地描述已确定的需求。 (4) 需求验证: 评审软件需求规格说明,以保证其正确性、一致性、完备性、准确性和清晰性。 (5) 需求管理: 定义需求基线,在整个项目过程中跟踪需求状态及其变更情况。、为什么软件需要维护?简述软件维护的过程。答:在软件开发完成交付用户使用后,为了保证软件在一个相当长的时期能够正常运行,就需要对软件进行维护。 软件维护的过程:(1) 确认维护要求。 (2) 对于改正性维护申请,评价错误的严重性。对于严重的错误,立即安排人员,分析问题原因,进行“救
15、火“性的紧急维护;对于不严重的错误,根据任务情况和轻重缓急进行统一安排。 (3) 对于适应性和完善性维护申请,需要确定申请的优先级,然后安排维护工作。并不是所有的完善性维护申请都必须承担,需要考虑商业需要、现有资源、未来发展方向等进行决定。、根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。“一个程序读入 3 个整数,它们分别代表一个三角形的 3 个边长。该程序判断所输入的整数是否构成一个三角形,以及该三角形是一般的、等腰的或等边的,并将结果打印出来。“要求:设三角形的 3 条边分别为 A、B、C,并且(1) 列出等价类表,格式如下:输入条件 有效等价类 无效等价类 是否构成一
16、个三角形(1)A0 且 B0 且 C0 且ABC 且 BCA 且ACB。(2)A0 或 B0 或 C0(3)ABC 或 ACB或 BCA是否等腰三角形 (4)AB 或 AC 或 BC (5)AB 且 AC 且 BC是否等边三角形 (6)AB 且 AC 且 BC (7)AB 或 AC 或 BC(2) 设计测试用例,格式如下:用例 n:输入【A,B,C】覆盖等价类(列出等价类序号),输出结果为。用例 1:输入【3,4,5】覆盖等价类(1,2,3,4,5,6),输出结果为构成一般三角形。用例 2:三者取一输入【0,1,2】覆盖等价类(2),输出结果为不构成三角形。输入【1,0,2】覆盖等价类(2),
17、输出结果为不构成三角形。输入【1,2,0】覆盖等价类(2),输出结果为不构成三角形。用例 3:三者取一输入【1,2,3】覆盖等价类(3),输出结果为不构成三角形。输入【1,3,2】覆盖等价类(3),输出结果为不构成三角形。输入【3,1,2】覆盖等价类(3),输出结果为不构成三角形。用例 4:三者取一输入【3,3,4】覆盖等价类(1)(4),输出结果为等腰三角形。输入【3,4,4】覆盖等价类(1)(4),输出结果为等腰三角形。输入【3,4,3】覆盖等价类(1)(4),输出结果为等腰三角形。用例 5:输入【3,4,5】覆盖等价类(1)(5),输出结果为不是等腰三角形。用例 6:输入【3,3,3】覆
18、盖等价类(1)(6),输出结果为等边三角形。用例 7:三者取一输入【3,4,4】覆盖等价类(1)(4)(7),输出结果为不是等边三角形。输入【3,4,3】覆盖等价类(1)(4)(7),输出结果为不是等边三角形。输入【3,3,4】覆盖等价类(1)(4)(7),输出结果为不是等边三角形。、下图显示了配置管理中的存取和控制,请选择合适的答案,将其对应的序号填入( )中。A B C D 供选择的答案:A: 软件工程人员 配置人员 质量保证人员 B: 异步控制 同步控制 存取控制CD: 管理 登入 检出 填写变更请求、UML 关系包括关联、聚合、泛化、实现、依赖等 5 种类型,请将合适的关系填写在下列描
19、述的( )中。 用例及其协作之间是(实现)关系。 在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是(关联)关系。 类 A 的一个操作调用类 B 的一个操作,且这两个类之间不存在其他关系,那么类 A 和类 B 之间是(依赖)关系。 在 MFC 类库中,Window 类和 DialogBox 类之间是(泛化)关系。 森林和树木之间是(聚合)关系。、下图显示了某个学校课程管理系统的部分类图,其中一个学生(student)可以知道所有注册课程的教师(instructor),一个教师也可以知道所有注册课程的学生。现在提出一个新的需求:“一个教师也可以是某些课程的学生“
20、,那么下面设计 AC 中哪一个是最好的?为什么?设计 C 最好。 学生和教员均可以从 Candidate 类继承而来; 抽象出 Role 类,使 Candidate 类与 Role 类之间形成多对多的关联关系,实现了“一个人既是教师又是某门课的学生“这个需求。 设计 A:设计 B:设计 C:一、 选择、在软件生存周期的瀑布模型中一般包括计划、(C)、设计、编码、测试、维护等阶段。A 可行性分析 B 需求采集 C 需求分析 D 问题定义、ISO9000 是由 ISO/TC176 制定的关于(B)和质量保证的国际标准。A 质量控制 B 质量管理 C 质量策划 D 质量改进 3. 软件工程的基本要素
21、包括方法、工具和(A)。 A 过程 B 软件系统 C 硬件环境 D 人员 4. 软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。A 固有的 B 人为的 C 可消除的 D 不可降低的 5. 软件需求分析阶段的测试手段一般采用(C)。 A 总结 B 阶段性报告 C 需求分析评审 D 不测试 6. (C)是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。 A 多态性 B 继承 C 封装 D 消息 7. 协作图反映收发消息的对象的结构组织,它与(D)是同构的。 A 用例图 B 类图 C 活动图 D 时序图 8
22、. 软件测试是为了(B)而执行程序的过程。 A 纠正错误 B 发现错误 C 避免错误 D 证明正确 9. 面向对象分析是对系统进行(A)的一种方法。 A 需求建模 B 程序设计 C 设计评审 D 测试验收 10. 在结构化分析方法中,(C)表达系统内部数据运动的图形化技术。 A 数据字典 B 实体关系图 C 数据流图 D 状态转换图、在项目计划发生延迟的情况下,增加更多的程序员一定会加快进度。 错、软件错误可能出现在开发过程的早期,越早修改越好。对 、不完善的系统定义往往是导致软件项目失败的主要原因。对、一个成功的项目唯一提交的就是运行程序。错、只有质量差的软件产品才需要维护。错、UML 是一
23、种直观化、明确化、构建和文档化软件产物的通用语言。错、一个好的测试用例在于能发现至今未发现的错误。对、面向对象的分析是面向计算机系统建立软件系统的对象模型。错、软件工作的考虑范围主要是程序设计和实现。 错、等价类划分方法将所有可能的输入数据划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。 对二、 问答题、(共 10 分)下图显示了 McCall 质量模型,请选择正确的答案,并将其对应的序号填入图中的括号( 3596)。供选择的答案: 高效性 通用性 可测试性 专用性 可复用性 可使用性 应用软件 支撑软件 正确性 硬件环境、(共 10 分)UML 关系包括关联、聚合、泛化、
24、实现、依赖等 5 种类型,请将合适的关系填写在下列描述的( )中。1. 在学校中,一个导师可以指导多个研究生,一个研究生可以由多个导师指导,那么导师和研究生之间是(关联)关系。2. 交通工具与卡车之间是(泛化)关系。3. 公司与部门之间是(聚合)关系。4. 图形与矩形之间是(泛化)关系。5. 参数类及其实例类之间是(实现)关系。、(共 20 分)回答下列问题:1. 软件工程的基本目标是什么?软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件,其主要目标如下: (1) 合理预算开发成本,付出较低的开发费用;(2) 实现预期的软件功能,达到较好的软件性能,满足用户的需求;(3) 提高
25、所开发软件的可维护性,降低维护费用;(4) 提高软件开发生产率,及时交付使用。2. 原型化方法主要用于解决什么问题?试说明这种方法的主要优缺点。建立原型的主要原因是为了解决在产品开发的早期阶段需求不确定的问题,用户、经理和其他非技术项目风险承担者发现在确定和开发产品时,原型可以使他们的想象更具体化。原型在软件开发过程中可以起到以下主要作用:(1) 明确并完善需求 原型作为一种需求工具,它初步实现所理解的系统的一部分。用户对原型的评价可以指出需求中的许多问题,在你开发真正产品之前,可以最低的费用来解决这些问题。(2) 探索设计选择方案 原型作为一种设计工具,用它可以探索不同的用户界面技术,使系统
26、达到最佳的可用性,并且可以评价可能的技术方案。(3) 发展为最终的产品 原型作为一种构造工具,是产品最初子集的完整功能实现,通过一系列小规模的开发循环,你可以完成整个产品的开发。3. 在下列用例图中,哪些是系统角色?Bank network、Manager 、Clerk、(共 20 分)下面是一段插入排序的程序,将 Rk+1插入到 R1k的适当位置。R0 = Rk+1;j = k;while (Rj R0)Rj+1 = Rj;j-;Rj+1 = R0;用路径覆盖方法为它设计足够的测试用例(while 循环次数为 0、1、2 次)。 画出该程序的流程图: 测试用例设计输 入 数 据 预 期 结
27、果 覆 盖 路 径循环次数 j Ri-2 Ri-1 Ri Ri+1 R0 j Ri-2 Ri-1 Ri Ri+1 约束 路 径0 i - - 1 2 2 i - - 1 2 = 2 i 1 3 4 2 2 i-2 1 2 3 4 = 单项选择题1. 哪个活动可在可行性分析阶段进行?(D )A.编码 B.测试 C.设计 D.制订市场营销计划2. 在数据流程图中,有名字及方向的成分是(C) 。A.控制流 B.信息流 C.数据流 D.信号流3. 以下各图中不是 UML 使用的图是( A) 。A.数据流程图 B.用例图 C.类图 D.顺序图4. 下图中,类的关系是(A) 。商 船 岛 屿A.依赖 B.
28、关联 C.聚集 D.泛化5. 甘特图是一种(D) 。A.UML 模型 B.过程模型 C.系统构架的抽象模型 D.进度计划的表达方式6. 下面不属于软件配置管理任务的是(D ) 。A.变更控制 B.配置审核 C.状态报告 D.用例分析7. 数据耦合、公共耦合、印记耦合、控制耦合的耦合性从低到高的顺序是(B)A.数据、公共、印记、控制 B.数据、印记、控制、公共C.控制、数据、印记、公共 D.控制、数据、公共、印记8. 软件需求分析的主要任务是准确地定义出要开发的软件系统是(C)A.如何做 B.怎么做 C.做什么 D.对谁做9. 可行性分析研究的目的是(B)A.争取项目 B.项目值得开发否 C.开
29、发项目 D.规划项目10. 具有风险分析的软件生存周期模型是(C)A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型11. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)A.软件工程 B.软件周期 C.软件危机 D.软件产生12. 程序的三种基本控制结构的共同特点是(C)A只能用来描述简单程序 B不能嵌套使用 C单入口,单出口 D仅用于自动控制系统13. 数据字典是用来定义_中的各个成份的具体含义的。 (D)A流程图 B功能结构图 C系统结构图 D数据流图14. 为了使软件具有清晰结构和良好的风格,下面关于程序设计风格的叙述不可取的有(C)A. 尽量不要进行浮点数的
30、相等比较 B. 应当有适量的注释 C. 尽可能对代码优化 D. 使用有意义的标识符15. 使用白盒技术设计测试用例的方法包括(B)A.边界值分析 B.循环测试 C.等价类划分 D.回归测试16. 下列模块内聚中,内聚性最强的是(A ) 。A.功能内聚 B.偶然内聚 C.过程内聚 D.顺序内聚17. 若有一个计算类型的程序,它的输入量只有一个 X,其范围是-1.0,1.0 ,现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是 (C)A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法18. 下列哪一种程序设计语言不是面向对象的(D )
31、 。A.C+ B.JAVA C.C# D.C19. 下列测试方法不属于集成测试的是(D ) 。A.自顶向下 B.自底向上 C.三明治测试 D.自中间向两极测试20. 关于用例的概念,下列说法不正确的是(C) 。A.用例是一个连贯的功能性单元 B.用例是通过 Actor 确认的 C.可以借助状态转换图来描述用例 D.用例是一个类,而不是事件21. 源程序文档化要求在每个模块之前加序言性注释。该注释内容不应有(B)A.模块的功能 B.语句的功能 C.模块的接口 D.开发历史22. DFD 中的每个加工至少需要(D ) A. 一个输入流 B. 一个输出流 C. 一个输入或输出流 D. 一个输入流和一
32、个输出流 23. 为了提高模块的独立性,模块之间最好是( D) A. 控制耦合 B. 公共耦合 C. 内容耦合 D. 数据耦合 24. 测试的关键问题是(D ) A. 如何组织对软件的评审 B. 如何验证程序的正确性 C. 如何采用综合策略 D. 如何选择测试用例 25. 软件维护困难的主要原因是(C ) A. 费用低 B. 人员少 C. 开发方法的缺陷 D. 得不到用户支持 26. 源程序文档化要求在每个模块之前加序言性注释。该注释内容不应有(D) A. 模块的功能 B. 语句的功能 C. 模块的接口 D. 开发历史 27. 结构化程序设计采用的三种基本控制结构是(C) A. 顺序、分支、选
33、择 B. 选择、循环、重复 C. 顺序、选择、循环 D. 输入、变换、输出 28. 通信内聚、过程内聚、顺序内聚和时间内聚的内聚性从高到低顺序是(D)A.通信、过程、顺序、时间 B.通信、时间、顺序、过程 C.顺序、通信、时间、过程 D.顺序、通信、过程、时间29. 使用程序设计的控制结构导出测试用例的测试方法是(B)A、黑盒测试 B、白盒测试 C、边界测试 D、系统测试 30. 软件工程学的目的应该是最终解决软件生产的(B)问题。A.提高软件的开发效率 B.使软件生产工程化 C.消除软件的生产危机 D.加强软件的质量保证31. 软件过程模型有多种,下列选项中, (C)不是软件过程模型。A.螺
34、旋模型 B.增量模型 C.行为模型 D.瀑布模型32. 准确地解决“软件系统必须做什么”是(C)阶段的任务。A.可行性研究 B.详细设计 C.需求分析 D.编码33 下列哪个是 RAD 模型的优点(B ) 。A.适用于可变需求 B.开发速度快 C.适用于高风险项目 D.可用于超大规模软件项目开发34. 瀑布模型是一种什么模型?(B)A风险驱动模型 B线性开发模型 C增量模型 D迭代模型35. 下列哪个不属于软件的基础特征量?(D )A. 软件规模 B.开发成本 C.开发期限 D.软件完整性36. 软件需求分析应确定的是用户对软件的(A)。A. 功能需求和非功能需求 B. 性能需求 C. 非功能
35、需求 D. 功能需求37. 在软件开发中, (A)是指对将要开发的系统的开发成本进行估算,然后与可能取得的效益进行比较和权衡。A.成本效益分析 B.可行性分析 C.结构化分析 D.软件需求分析38. 瀑布模型的关键不足在于(D)。 A. 过于简单 B. 各个阶段需要进行评审 C. 过于灵活 D. 不能适应需求的动态变更39. 下面说法正确的是(C )。 A. 经过测试没有发现错误说明程序正确 B. 测试的目标是为了证明程序没有错误 C. 成功的测试是发现了迄今尚未发现的错误的测试 D. 成功的测试是没有发现错误的测试 40. 软件部件的内部实现与外部可访问性的分离,是指软件的(C) 。A、继承性 B、共享性 C、封装性 D、抽象性41. 下面哪个不属于良好的人机界面设计原则?(B)A. 系统的全部界面格式和风格一致 B. 为不同的用户和功能提供一致的界面服务 C. 力求用户输入量最少D. 具有帮助功能42. 当模块中包含复杂的条件组合,只有(A )能够清晰地表达出各种动作之间的对应关系。 A 判定表和判定树 B 盒图 C 流程图 D 关系图43. 下面哪个不是基于抽象的软件设计原则?(C)