软工课后选择题
- 格式:docx
- 大小:22.60 KB
- 文档页数:6
软件工程导论(第六版)部分课后习题-答案软件工程导论(第六版)部分课后习题-答案一、选择题1. 答案:B解析:选择题解析2. 答案:A解析:选择题解析二、判断题1. 答案:对解析:判断题解析2. 答案:错解析:判断题解析三、填空题1. 答案:软件工程解析:填空题解析2. 答案:开发、维护解析:填空题解析四、简答题1. 答案:软件需求分析是软件工程的第一步,它主要是通过对用户需求的调查和分析,确定软件系统需要具备的功能和性能以及相关约束条件。
解析:简答题解析2. 答案:软件开发过程中的质量保证主要包括软件测试和代码评审两个方面。
软件测试是通过运行和验证软件系统的过程,以确定其是否满足预期的需求和标准。
代码评审则是对软件代码进行审查和评估,在开发过程中发现和修复潜在的问题和错误。
解析:简答题解析五、计算题1. 答案:20解析:计算题解析2. 答案:1000解析:计算题解析六、案例分析题1. 答案:软件项目管理是指对软件项目进行规划、组织、分配和控制的过程。
它包括项目范围管理、时间管理、成本管理、质量管理、风险管理等方面。
在一个项目中,软件项目经理负责整体的项目管理工作,包括资源的分配、进度的控制、风险的管理等。
解析:案例分析题解析2. 答案:敏捷开发是一种迭代、逐步增量的软件开发方法。
它强调快速、灵活地响应用户需求的变化,通过频繁的迭代和持续的反馈来逐步完善软件系统。
敏捷开发方法注重团队合作、交流和高效的沟通,通过直接面对面的沟通取代冗长的文档和繁琐的流程,提高软件开发的效率和质量。
解析:案例分析题解析总结:本文主要针对《软件工程导论(第六版)》部分课后习题提供了答案和解析。
其中包括选择题、判断题、填空题、简答题、计算题和案例分析题等多个题型。
通过解答这些习题,读者可以进一步加深对软件工程的理解和掌握。
希望本文对读者有所帮助,谢谢阅读。
软件工程选择题A. 1988B. 1968C. 1948D. 19282. 瀑布模型的关键不足在于( )A. 过于简单B. 各个阶段需要进行评审C. 过于灵活D. 不能适应需求的动态变更3. 以下哪一项不是软件危机的表现形式( )A. 开发的软件不满足用户需要B. 开发的软件可维护性差C. 开发的软件价格便宜D. 开发的软件可靠性差4. 软件可行性研究实质上是要进行一次( )需求分析、设计过程A. 简化、压缩的B. 详细的C. 彻底的D. 深入的5. 结构化设计是一种面向( )的设计方法A. 数据流B. 模块C. 数据结构D. 程序6. 与确认测试阶段有关的文档是( )A. 需求规格说明书B. 概要设计说明书C. 详细设计说明书D. 源程序7. 软件开发的需求活动,其主要任务是()A. 给出软件解决方案B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型8. 以下说法错误的是( )A. 文档仅仅描述和规定了软件的使用范围及相关的操作命令B. 文档也是软件产品的一部分,没有文档的软件就不成软件C. 软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量D. 高质量文档对于发挥软件产品的效益有着重要的意义9. 一个项目是否开发,从经济上来说是否可行,归根结底是取决于( )A. 成本估算B. 项目计划C. 工程管理D. 工程网络图10. 在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有( )A. 隐藏复杂性B. 信息隐蔽C. 经常类的复用D. 类的开发11. 面向对象的主要特征除对象惟一性、封装、继承外,还有( )A. 多态性B. 完整性C. 可移植性D. 兼容性12. 在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。
动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是( )A. 数据流图B. 状态图C. 系统结构图D. 用例图13. 面说法正确的是( )A. 经过测试没有发现错误说明程序正确B. 测试的目标是为了证明程序没有错误C. 成功的测试是发现了迄今尚未发现的错误的测试D. 成功的测试是没有发现错误的测试14. ( )能够有效地检测输入条件的各种组合可能会引起的错误A. 等价类划分B. 边界值分析C. 错误推测D. 因果图15 火车是一种陆上交通工具。
软件工程选择题大全(修改) 软件工程选择题大全Chapter 1: 软件工程基础知识1.1 软件开发生命周期1.2 软件需求分析1.3 软件设计原则1.4 软件测试方法1.5 软件维护与演化1.6 软件风险管理Chapter 2: 软件工程项目管理2.1 软件项目组织与角色分工2.2 项目计划与进度管理2.3 项目资源管理2.4 项目风险管理2.5 项目质量管理2.6 项目沟通与协作Chapter 3: 软件开发方法和模型3.1 瀑布模型3.2 增量开发模型3.3 敏捷开发方法3.4 原型模型3.5 适应性软件开发方法Chapter 4: 软件需求工程4.1 需求获取与分析方法4.2 需求建模技术4.3 需求验证与确认4.4 需求变更管理4.5 需求跟踪与追踪Chapter 5: 软件设计与架构5.1 软件设计原则与概念5.2 结构化设计方法5.3 面向对象设计方法5.4 架构设计与模式5.5 设计评审与质量保证Chapter 6: 软件测试与验证6.1 软件测试基本概念6.2 测试策略与方法6.3 静态测试与动态测试6.4 单元测试与集成测试6.5 系统测试与验收测试6.6 软件质量度量与评估Chapter 7: 软件维护与演化7.1 软件维护的类型与活动7.2 软件配置管理7.3 软件重构与改进7.4 软件版本管理与发布7.5 软件退役与替换附件:附件1: 软件工程案例分析附件2: 软件项目计划模板附件3: 软件需求规格说明书模板附件4: 软件系统架构图样例附件5: 软件测试用例模板法律名词及注释:1. 版权:指在法律上规定的保护著作权人对其所创作的作品享有的权利。
2. 商标:指用于区别企业的商品或服务的标识,享有独占性使用权的权利。
3. 专利:指对发明的新颖、创造性和实用性进行保护的一种专有权利。
4. 保密协议:指双方就信息保密的义务与责任等事项达成的协议。
第五章习题一、选择题1.对于软件产品来说,有4个方面影响着产品的质量,即( A )、( B )、( C )及成本、时间和进度等条件。
重视软件过程的质量是近年来质量管理理论和实践的新发展。
重视软件过程质量的控制,其部分原因可能是:相对于产品质量的控制来说,过程质量的控制是( D )、( E )、( F ),而产品质量的控制是( G )、( H )、( I )。
供选择的答案:A ~ C. ①开发时间②开发技术③过程质量④风险控制⑤质量控制⑥人员素质⑦项目管理⑧配置管理D ~ I. ①主动的②被动的③整体的④系统的⑤先期的⑥事后的⑦个别的⑧部分的2. 在软件维护的实施过程中,为了正确、有效地修改,需要经历以下3个步骤:( A )、( B )、( C )。
( A )是决定维护成败和质量好坏的关键。
( C )包括( D )确认、计算机确认和维护后的( E )。
供选择的答案:A ~ C. ①修改程序②建立目标程序③分析和理解程序④重新验证程序⑤验收程序D. ①动态②静态③人工④自动E. ①验证②验收③检验④存档2. A. ③, B. ①, C. ④, D. ②, E. ②在软件维护的实施过程中,为了正确、有效地修改,需要经历以下3个步骤:分析和理解程序、修改程序和重新验证程序。
经过分析,全面、准确、迅速地理解程序是决定维护成败和质量好坏的关键。
有如下几种方法:分析程序结构图、数据跟踪、控制跟踪及其它方法。
在将修改后的程序提交用户之前,需要通过静态确认、计算机确认和维护后的验收,保证修改后的程序的正确性。
3. 从供选择的答案中选出同下列各叙述关系最密切的字句。
A. 软件从一个计算机系统或环境转移到另一个计算系统或环境的容易程度。
B. 软件在需要它投入使用时能实现其指定的功能的概率。
C. 软件使不同的系统约束条件和用户需求得到满足的容易程度。
D. 在规定的条件下和规定的一段期间内,实现所指定的功能的概率。
E. 尽管有不合法的输入,软件仍能继续正常工作的能力。
单选一、单选1、以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是(分数:2 分)A. 喷泉模型B. 增量模型C. 瀑布模型D. 螺旋模型标准答案是:C。
2、为每个模块完成的功能进行具体描述,把功能描述转变为精确的、结构化的过程描述的阶段是(分数:2 分)A. 概要设计B. 详细设计C. 编码D. 测试标准答案是:B。
3、从结构化的瀑布模型看,在软件生存周期的几个阶段中,对软件的影响最大是(分数:2 分)A. 需求分析阶段B. 概要设计阶段C. 详细设计阶段D. 测试和运行阶段标准答案是:A。
4、数据字典是软件需求分析阶段所采用的最重要工具之一,其最基本的功能是(分数:2 分)A. 数据定义B. 数据通讯C. 数据库设计D. 数据维护标准答案是:A。
5、模块内聚性最好的是(分数:2 分)A. 逻辑内聚B. 时间内聚C. 功能内聚D. 通信内聚标准答案是:A。
6、设计软件结构一般不确定(分数:2 分)A. 模块之间的接口B. 模块间的调用关系C. 模块的功能D. 模块内的局部数据标准答案是:D。
7、软件结构化设计中,好的软件结构应该力求做到(分数:2 分)A. 顶层扇出较少,中间扇出较高,底层模块低扇入B. 顶层扇出较高,中间扇出较少,底层模块高扇入C. 顶层扇入较少,中间扇出较高,底层模块高扇入D. 顶层扇入较少,中间扇入较高,底层模块低扇入标准答案是:C。
8、两个模块都使用同一张数据表,模块间的这种耦合称为(分数:2 分)A. 公共耦合B. 内容耦合C. 数据耦合D. 控制耦合标准答案是:A。
9、划分模块时,下列说法正确的是(分数:2 分)A. 作用范围应在其控制范围之内B. 控制范围应在其作用范围之内C. 作用范围与控制范围互不包含D. 作用范围与控制范围不受限制标准答案是:A。
10、重用率高的模块在软件结构图中的特征是(分数:2 分)A. 扇出数大B. 扇入数大C. 扇出数小D. 内聚性高标准答案是:B。
第一章一、判断题1.S WE B O KV3分两大类,共有15个知识域。
(Y)2.软件工程的提出起源于软件危机,其目的是最终解决软件的生产工程化。
(Y)3.软件工程学一般包括软件开发技术和软件工程管理两方面的内容,软件开发方法学和软件工程环境属于软件开发技术的内容,软件工程经济学属于软件工程管理。
(N)4.软件开发中的最大问题不是管理问题,而是技术问题。
(N)5.X P(e X t r e me P r o g r a mm i n g,极限编程)是由K e n t B e c k提出的一套针对业务需求和软件开发实践的规则,包括13个核心实践。
(Y)二、选择题1.下列所述不是敏捷生存期模型的是(C)。
A.S c r u mB.X PC.V模型D.O P E NU P2.软件工程的出现主要是由于(C)。
A.程序设计方法学的影响C.软件危机的出现B.其他工程学科的影响D.计算机的发展3.以下(C)不是软件危机的表现形式。
A.开发的软件不满足用户的需要B.开发的软件可维护性差C.开发的软件价格便宜D.开发的软件可靠性差4.以下不是S WE B O KV3的软件工程实践中的知识域的是(B)。
A.软件需求B.工程基础C.软件构造D.软件设计5.下列所述不是软件组成的是(D)。
A.程序B.数据C.界面D.文档6.下列对“计算机软件”描述正确的是(A)。
A.是计算机系统的组成部分B.不能作为商品参加交易C.是在计算机硬件设备生产过程中生产出来的D.之存在语计算机系统工作时7.软件工程方法的提出源于软件危机,其目的应该是最终解决软件的(D)问题。
A.软件危机B.质量保证C.开发效率D.生产工程化8.软件工程设计软件开发技术和项目管理等方面内容,下述内容中(D)不属于开发技术的范畴。
A.软件开发方法B.软件开发工具C.软件工程环境D.软件工程经济第二章一、判断题1.面向对象开发过程是多次重复和迭代的演化过程,(需要补充:面向对象开发方法是)在概念和表示方法是的一致性保证了各项开发活动之间的平滑过渡。
软件⼯程课后习题答案习题答案习题⼀答案⼀、选择题1. 软件的主要特性是(A B C)。
A) ⽆形 B) ⾼成本C) 包括程序和⽂档D) 可独⽴构成计算机系统2. 软件⼯程三要素是(C D)。
A) 技术、⽅法和⼯具B) ⽅法、⼯具和过程C) ⽅法、对象和类D) 过程、模型、⽅法3. 包含风险分析的软件⼯程模型是(A)。
A) 螺旋模型 B) 瀑布模型C) 增量模型 D) 喷泉模型4. 软件⼯程的主要⽬标是(C)。
A) 软件需求B) 软件设计C) 风险分析D) 软件实现5. 下列属于⾯向对象开发⽅法的是(A B C D)。
A) Booch B) UML C) Coad D) OMT6. 软件危机的主要表现是(B D)。
A) 软件成本太⾼B) 软件产品的质量低劣C) 软件开发⼈员明显不⾜D) 软件⽣产率低下7. 软件开发⽅法的主要⼯作模型有(A B C)A) 螺旋模型B) 循环模型C) 瀑布模型D) 专家模型8. 软件⼯程的⽬标有(A B C)。
A) 易于维护B) 低的开发成本C) ⾼性能D) 短的开发期9. 软件⼯程学的⽬的和意义是( )。
A) 应⽤科学的⽅法和⼯程化的规范管理来指导软件开发B) 克服软件危机C) 作好软件开发的培训⼯作D) 以较低的成本开发出⾼质量的软件⼆、判断题1. 软件就是程序,编写软件就是编写程序。
(×)2. 瀑布模型的最⼤优点是将软件开发的各个阶段划分得⼗分清晰。
(×)3. 结构化⽅法的⼯作模型是使⽤螺旋模型进⾏开发。
(×)4. 结构化⽅法和JSP⽅法都不适合于⼤型软件的开发。
(√)5. 原型化开发⽅法包括⽣成原型和实现原型两个步骤。
(×)6. ⾯向对象的开发⽅法包括⾯向对象的分析、⾯向对象的设计和⾯向对象的程序设计。
( √)7. 软件危机的主要表现是软件的需求量迅速增加,软件价格上升。
(×)8. 软件⼯具的作⽤是为了延长软件产品的寿命。
选择题:1.软件是一种( B )A.有形B.逻辑C.物质D.消耗2.软件工程学科出现的主要原因是( C )A.计算机的发展B.其它工程学科的影响C.软件危机的出现D.程序设计方法学的影响3.(A)是计算机程序及其说明的各种文档A.软件B.文档C.数据D.程序4.有关计算机程序功能、设计、编制、使用的文字图形资料称为( B )A.软件B.文档C.数据D.程序5.软件工程是一种(A)分阶段实现的软件程序开发方法。
A.自顶向下B.自底向上C.逐步求精D.面向数据流6.从结构化的瀑布模型看,在软件生命周期中的八个阶段中,下面的几个选项中( C )出错,对软件的影响最大。
A.详细设计阶段B.概要设计阶段C.需求分析阶段D.测试和运行阶段7.在结构性的瀑布模型中,( C )阶段定义的标准将成为软件测试中的系统测试中的系统测试的目标。
A.详细设计阶段B.概要设计阶段C.需求分析阶段D.可行性研究阶段8.UML是软件开发中的一个重要工具,它主要应用下列哪种软件开发方法( C )。
A.基于瀑布模型的结构化方法B.基于需求动态定义的原型化方法C.基于对象的面向对象的方法D.基于数据的数据流开发方法9.在软件生存周期中,用户主要是在(A)参与软件开发。
A.软件定义期B.软件开发期C.软件维护期D.整个软件生存周期过程中10.软件生存周期模型有多种,下列选项中,( C )不是软件生存周期模型。
A.螺旋模型B.增量模型C.功能模型D.瀑布模型11.对软件的过分分解,必然导致( B )A.模块的独立性差B.接口的复杂程度增加C.软件开发的总工作量增加D.以上都正确12.结构化分析方法是一种面向( C )需求分析方法A.对象B.数据字典C.数据流D.结构图13.结构化设计方法中把软件结构划分为( B )和( E )两大类,并提出了对应于以上两类结构的分析方法。
A.控制型B.变换型C.模拟型D.处理型E.事务型F.分析型G.通信型H.功能型14.瀑布模型中软件生存周期划分为八个阶段,这八个阶段又可分为三个时期,这三个时期分别为计划时期、开发时期和(A)A.运行时期B.可行性分析C.详细设计D.测试和纠错15.进行需求分析可使用多种工具,但( C )是不适用的。
第2章软件过程(习题与参考答案)[选择题]1. ()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。
()A. 软件过程B. 软件工具C. 软件产品D. 软件工程2. 软件过程的基本活动是()。
()A. 分析、设计、实现、测试、演化B. 沟通、计划、建模、构造、部署C. 计划、分析、设计、实现、调试D. 沟通、风险管理、度量、产品化、评审3. ()软件需求规格说明书在软件开发过程中具有重要的作用,它是软件可行性分析的依据。
()A. 真B. 假4. 软件开发的瀑布模型是()。
()A. 适用于需求被清晰定义的情况B. 一种需要快速构造可运行程序的好方法C. 最适合于大规模团队开发的项目D. 已不能用于现代环境的过时模型5. 软件开发的增量模型是()。
()A. 适用于需求被清晰定义的情况B. 一种需要快速构造核心产品的好方法C. 最适合于大规模团队开发的项目D. 一种不适用于商业产品的创新模型6. 快速原型开发模型是()。
()A. 适用于客户需求被明确定义的情况B. 适用于客户需求难以清楚定义的情况C. 最适合于大规模团队开发的项目D. 很难产生有意义产品的一种冒险模型7. 演进式软件过程模型()。
()A. 本质上是迭代的B. 可以很容易适应需求的变化C. 通常不会抛弃所产生的系统D. 以上所有选项8. 螺旋模型()。
()A. 在软件产品发布时结束B. 比增量模型更加混乱C. 在每一次迭代过程中包含项目风险评价D. 以上所有选项9. 基于组件的开发模型()。
()A. 只适用于计算机硬件设计B. 不能支持可重用组件的开发C. 在面向对象技术获得支持的情况下应用得更好D. 增加了开发风险和成本10. 形式化方法模型是将数学方法用于()。
()A. 定义计算机系统的规格说明B. 开发无错误的计算机系统C. 验证计算机系统的正确性D. 以上所有选项11. 下面的()不是RUP模型的阶段。
1.需求规格说明书的作用不应该包括(D )。
[答案]A、软件设计的依据B、用户与开发人员对软件要做什么的共同理解C、软件验收的依据D、软件可行性研究的依据2.结构化设计方法在软件开发中用于(A )。
[答案]A、概要设计B、详细设计C、程序设计D、测试用例设计3.软件结构使用的图形工具,一般采用(C )图。
[答案]A、DFDB、PADC、SCD、ER4.JSP方法是一种面向(D )的设计方法。
[答案]A、对象B、数据流C、控制结构D、数据结构5.程序设计语言的技术特性不应包括(D )。
[答案]A、数据结构的描述性B、抽象类型的描述性C、数据库的易操作性D、软件的可移植性6.软件测试中,白盒法是通过分析程序的(B )来设计测试用例的。
[答案]A、应用范围B、内部逻辑C、功能D、输入数据7.软件维护费用高的主要原因是(C )。
[答案]A、人员少B、人员多C、生产率低D、生产率高8.瀑布模型本质上是一种( A)模型。
[答案]A、线性顺序B、顺序迭代C、线性迭代D、及早见产品9.软件质量必须在(D )加以保证。
[答案]A、开发之前B、开发之后C、可行性研究过程中D、设计与实现过程中10.确认测试主要涉及的文档是( A)。
[答案]A、需求规格说明书B、概要设计说明书C、详细设计说明书D、源程序1.需求分析中,开发人员要从用户那里解决的最重要的问题是( A )。
〔答案〕A、要让软件做什么B、要给该软件提供哪些信息C、要求软件工作效率怎样D、要让该软件具有何种结构2.DFD中的每个加工至少有( B )。
〔答案〕A、一个输入流或一个输出流B、一个输入流和一个输出流C、一个输入流D、一个输出流3.详细设计与概要设计衔接的图形工具是(B )。
〔答案〕A、DFD图B、SC图C、PAD图D、程序流程图4.下列几种类型中,耦合性最弱的是( D)。
〔答案〕A、内容型B、控制型C、公共型D、数据型5.确认测试中,作为测试依据的文档是( A )。
国开大学软件工程复习选择题第一大题单选题1. 在分析模型内表示协调、顺序、事务处理以及控制其他对象的类是__________。
【A.】控制类【B.】组件类【C.】主函数【D.】事务类参考答案:A2. 面向过程的方法最关心的是__________,而过程实施的__________是作为过程参数传递的。
【A.】过程/对象【B.】数据结构/主体【C.】动作/数据结构【D.】对象/属参考答案:A3. 面向对象分析和设计的界限是__________,从分析到设计是一个逐渐扩充模型的过程。
【A.】清晰的【B.】模糊的【C.】非线性的【D.】确定的参考答案:B4. 一般性的软件其测试工作量大约占整个开发工作量的__________。
【A.】小于10%【B.】40%【C.】90%【D.】大于100参考答案:B5. 程序设计语言的技术特性不应包括__________。
【A.】数据结构的描述性【B.】抽象类型的描述性【C.】数据库的易操作性【D.】软件的可移植性参考答案:D6. 在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了__________ 【A.】软件危机【B.】软件工程【C.】程序设计革命【D.】结构化程序设计参考答案:A7. __________是职业软件工程师的必要条件。
【A.】自律、善于沟通、具有一定的软件技能【B.】编程速度快【C.】熟悉众多的软件环境【D.】语言天赋参考答案:A8. 用户需求描述的是__________。
【A.】用户使用该软件要完成的任务【B.】业务需求【C.】功能需求【D.】软件目标、规模和范围参考答案:A9. __________定义了用户使用该软件要完成的任务。
【A.】用户需求【B.】业务需求【C.】性能需求【D.】功能需求参考答案:A10. 哪种模型分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。
__________【A.】演化模型【B.】喷泉模型【C.】原型模型【D.】螺旋模型参考答案:A11. 数据流程图上的数据流必须封闭在__________之间。
第一章:一.判断题:1.软件就程序,编软件就是编写程序。
()2.软件危机的主要表现是软件需求增加,软件价格上升。
()3.软件工程科学出现的主要原因是软件危机的出现。
()4.与计算机科学的理论研究不同,软件工程是一门原理性学科()二.选择题1.在下列选项中,()不是软件的特征A系统性与复杂性 B 可靠性与一致性C 抽象性与智能性D 有形性与可控性2.软件危机的主要原因是:A软件工具落后 B 软件生产能力不足C 对软件的认识不够D 软件本身的特点及开发方法3.下列说法正确是的是A 20世纪50年代提出了软件工程的概念B 20世纪60年代提出了软件工程的概念C 20世纪70年代提出了客户机/服务器技术D 20世纪80年代软件工程学达到成熟4.( )是将系统化的规范的可定量的方法应用于软件的开发,运行和维护的过程。
它包括方法、工具和过程三个要素A 软件生命周期B 软件测试C 软件工程D 软件过程5.在下列选项中,()不属于软件工程学科索要研究的基本内容。
A 软件工程材料B 软件工程目标C 软件工程原理D 软件工程过程6.软件工程的三要素是()A技术,方法和工具 B 方法,对象和类 C 方法,工具和过程 D 过程,模型和方法7.用来辅助软件开发,运行,维护,管理,支持等过程中的活动的软件成为软件开发工具,通常也称为()工具A CADB CAIC CAMD CASE三简答题1.与计算机硬件相比,计算机软件有哪些特点?2.软件就是程序吗?如何定义软件?3.什么是软件危机?是什么原因导致了软件危机?4.为什么说软件工程的开发能在一定程度上解决软件危机的各种弊端?5.请简述软件工程的研究内容。
6.请简述软件工程的三要素。
7.请简述软件工程的目标,过程和原则。
8.请简述软件工程的基本原则。
9.请简述现代软件工程与传统软件工程显著的区别与改进。
第二章:一判断题1.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。
选择题:1、软件需求分析的任务不包括( C)。
A.问题分析.问题分析B.信息域分析.信息域分析C.结构化设计.结构化设计D.确定逻辑结构.确定逻辑结构2、在进行需求分析中用到多种描述工具,不包括(C)。
A.数据流图.数据流图B.判定表.判定表C.P AD图D.数据词典.数据词典3、软件测试的目的(、软件测试的目的( B)。
A.评价软件的质量.评价软件的质量B.发现软件的错误.发现软件的错误C.找出软件中的所有错误.找出软件中的所有错误D.证明软件是正确的.证明软件是正确的4、白盒测试法又称为逻辑覆盖法,主要用于( D )。
A.功能测试.功能测试B.系统测试.系统测试C.a测试测试D.单元测试.单元测试5、结构化分析方法(SA法)使用的主要描述工具有( D)。
A.数据库.数据库B.模块结构图.模块结构图C.P AD图D.分层的DFD图6、在需求分析过程中,需求分析员要从用户那里解决的重要问题是( A)。
A.要求软件做什么的问题.要求软件做什么的问题B.要给软件提供哪些信息.要给软件提供哪些信息C.要求软件工作效率如何.要求软件工作效率如何D.要求软件具有什么样的结构.要求软件具有什么样的结构7、UML中,包是一种( C)。
A.集合.集合B.数据结构.数据结构C.分组机制.分组机制D.对系统的动态描述.对系统的动态描述8、瀑布模型存在的问题是( B)。
A.用户容易参与开发.用户容易参与开发B.缺乏灵活性.缺乏灵活性C.用于与开发者易沟通.用于与开发者易沟通D.适用可变需求.适用可变需求9、在数据流图中,O(椭圆)代表(C )。
A.源点.源点B.终点.终点C.加工.加工D.模块.模块10、确定测试计划是在()阶段制定的。
、确定测试计划是在( A)阶段制定的。
A.总体设计.总体设计 B.详细设计.详细设计C.编码阶段.测试阶段.编码阶段 D.测试阶段2、结构化程序设计采用的三种基本控制结构是(C )。
A.顺序、分支、选择.顺序、分支、选择B.选择、循环、重复.选择、循环、重复C.顺序、选择、循环.顺序、选择、循环D.输入、变换、输出.输入、变换、输出3、在结构化设计中,数据流图的父图与子图的平衡是指子图的输入输出数据流同父图应加工的输入输出数据流( B)。
习题一一、填空题1.软件是计算机系统中与硬件相互依存的另一部分,是包括___程序____、___数据____及其相关文档的完整集合。
2.软件工程包括3个要素:__方法_____ 、__工具_____和___过程____ 。
3.软件开发的基本方法包括__结构化方法_____和___面向对象方法____ 。
二、选择题1.结构化程序设计主要强调程序的( C )。
A.效率B.速度C.可读性D.大小2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作( B )。
A.软件投机B.软件危机C.软件工程D.软件产生3.以下说法中错误的是( C )。
A.软件的质量保证工作不能等到编码阶段结束之后再进行B.在软件开发过程中需求是经常变化的C.软件产品的开发过程比一般产品的开发过程更容易评价和管理D.软件开发小组的组成人员的素质应该好,而人数则不宜过多三、简述题1.简述软件的特点。
2.简述软件危机的产生及表现。
3.试比较结构化方法和面向对象方法。
习题二一、填空题1.软件生存周期的各个过程可以分成三类,即________、________和________ ,开发机构可以根据具体的软件项目进行剪裁。
2.软件生存周期包括计划____需求分析____ 、__软件设计______ 、程序编码、__软件测试______ 、和运行维护6个阶段。
3. ___帮助软件企业对其软件过程的改变进行计划、制订以及实施。
二、选择题1.瀑布模型本质上是一种(A)。
A.线性顺序模型B.顺序迭代模型C.线性迭代模型D.及早见产品模型2.需求分析是由分析员了解用户的要求,认真细致地调研。
分析,最终应建立目标系统的逻辑模型并写出(B)。
A.模块说明书B.软件规格说明书C.项目开发计划D.合同文档三、判断题1.采用瀑布模型进行软件开发时,软件与用户见面的时间间隔较长,开发风险较大。
()2.软件设计阶段的任务是程序员选取一种适当的高级程序设计语言,编写每一个功能模块。
1. 软件是一种逻辑产品,软件产品具有无形性,体现它的功能和作用是通过()A复制B计算机的执行C开发和研制D软件费用2.软件产品的生产主要是脑力劳动,软件产品的成本主要体现在软件的()A复制B开发方式C开发和研制D磨损、消耗3.程序系统时代的生产方式是()A个体手工劳动B工程化C作坊式的小集团合作C自动化4.软件工程是计算机科学中的一个分支,其主要思想是在软件生产中用()的方法代替传统手工方法。
A工程化B现代化C科学D智能化5.软件工程中用来进行费用估算、制定进度、制定计划和方案的是()科学A管理B工程C数学D计算机6.软件工程中用来进行软件生产的管理是()科学A管理B工程C数学D计算机7.软件工程中用于建立软件开发中的各种模型和各种算法的是()科学A管理B工程C数学D计算机8.在软件开发中,通常要花费()的代价进行测试和排错。
A20% B40% C70% D5%9.软件工程过程的支持过程是对项目的()工程给予支持。
A操作B生存周期C开发D供应10.软件生存周期是借用()中产品生存周期的概念而的来的。
A工程B需求C计算机学科D数学11.需求分析阶段的任务是()A具体地解决问题B确定软件系统必须做什么C设计软件的结构D详细设计12.详细设计阶段的任务是()A把功能描述转变为精确的、结构化的过程描述B设计软件的结构,明确该结构由那些模块组成C把每个模块的控制结构转换成计算机可接受的程序代码D设计数据库结构13.将软件生存周期各个活动规定为依线性顺序连接的若干个阶段的模型是()A瀑布模型B增量模型C螺旋模型D喷泉模型14.软件是“逐渐”开发出来的,可让用户及早看到部分软件的模型是()A瀑布模型B增量模型C螺旋模型D喷泉模型15.把瀑布模型和专家系统结合在一起,在开发的各个阶段上都利用相应的专家系统来帮助软件人员完成开发工作的模型是()A增量模型B螺旋模型C喷泉模型D智能模型16.一种以用户为动力,以对象作为驱动的模型,适用于面向对象的开发方法的模型是()A增量模型B螺旋模型C喷泉模型D智能模型17.适合于形式化开发方法的模型是()A螺旋模型B喷泉模型C智能模型D变换模型18.面向数据流的开发方法是()方法。
《软件工程》选择题1.( D )因素促使计算机系统越来越复杂。
A. 计算机内存和存储容量上的巨大增长B. 外部输入/输出选项的更加多样性C. 计算机体系结构方面的深刻变化D. 以上所有选项2.软件会逐渐退化而不会磨损,其原因在于( C )。
A. 软件通常暴露在恶劣的环境下B. 软件错误通常发生在使用之后C. 不断的变更使组件接口之间引起错误D. 软件备件很难订购3.大多数软件仍然是定制开发的,其原因在于( D )。
A. 软件组件重用是十分普遍的B. 可重用的组件太昂贵而无法使用C. 软件在不使用其他组件的情况下很容易构造出来D. 商业组件在很多应用领域中可以得到4.“软件工程”术语是在( B )被首次提出。
A. Fred Brooks的《没有银弹:软件工程中的根本和次要问题》B. 1968年NATO会议C. IEEE的软件工程知识体系指南(SWEBOK)D. 美国卡内基·梅隆大学的软件工程研究所5.软件工程的基本目标是( B )。
A. 消除软件固有的复杂性B. 开发高质量的软件C. 努力发挥开发人员的创造性潜能D. 更好地维护正在使用的软件产品6.( D )是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
A. 软件产品B. 软件过程C. 软件测试D. 软件工程7.软件工程的基本要素包括方法、工具和( C )。
A. 软件系统B. 硬件环境C. 过程D. 人员8.软件工程师在从事软件工作时应使用下面的( E )准则。
A. 从来不为个人获利而窃取数据B. 从来不散布或出售项目中自己工作的信息C. 从来不故意毁坏或修改别人的程序、文件或数据D. 从来不侵犯个人、小组或组织的隐私E. 以上所有选项9.软件开发过程的基本活动是(A )。
A. 分析、设计、实现、测试、维护B. 沟通、计划、建模、构造、部署C. 计划、分析、设计、实现、调试D. 沟通、风险管理、度量、产品化、评审10.软件开发的瀑布模型是( A )。
软件工程选择题第一章初认软件工程1、下面得()说法就是正确得.A、由于软件就是产品,因此可以应用其她工程制品所用得技术进行生产B、购买大多数计算机系统所需得硬件比软件更昂贵C、大多数软件系统就是不容易修改得,除非它们在设计时考虑了变D、一般来说,软件只有在其行为与开发者得目标一致得情况下才能成功2、造成大型软件开发困难得根本原因在于()。
A、开发人员缺乏足够得开发经验B、对软件开发得资金投入不足C、项目开发进度不合理D、软件系统得复杂性3、软件会逐渐退化而不会磨损,其原因在于()。
A、软件通常暴露在恶劣得环境下B、软件错误在经常使用之后会逐渐增加C、不断得变更使组件接口之间引起错误D、软件备件很难订购4、“软件工程”术语就是在()被首次提出。
A、Fred Brooks得《没有银弹:软件工程中得根本与次要问题》B、1968年NATO会议C、IEEE得软件工程知识体系指南(SWEBOK)D、美国卡内基·梅隆大学得软件工程研究所5、Ariane 5火箭发射失败得事例告诉我们()。
A、系统环境得变化可能影响软件采集数据得精度、范围与对系统得控制B、软件后备系统可以通过复制生成C、软件重用必须重新进行系统论证与系统测试D、选项A与CE、选项A、B与C6、软件工程得基本目标就是( )。
A、开发足够好得软件B、消除软件固有得复杂性C、努力发挥开发人员得创造性潜能D、更好地维护正在使用得软件产品7、软件工程方法就是()。
A、为了获得高质量软件而实施得一系列活动B、为开发软件提供技术上得解决方法C、为支持软件开发、维护、管理而研制得计算机程序系统D、为了理解问题与确定需求而采取得一些技术与方法8、下面得()就是正确得。
A、运行正确得软件就就是高质量得软件。
B、软件质量就是在开发过程中逐渐构建起来得。
C、软件产品质量越高越好,最理想得情况就是达到“零缺陷”。
D、软件质量就是由产品得功能、性能、易用性等外在特性决定得.9、在Garvin多维度模型中,可靠性就是指().A、软件产品提供了让用户产生惊喜得特性B、软件实现了用户需要得功能与性能C、软件在规定时间与条件下无故障持续运行D、软件符合国家或行业得相关标准10、( )就是软件从一个硬件或软件环境转换到另一环境得容易程度.A、易用性B、可维护性C、可移植性D、性能第二章软件开发过程1、下面得( )决策就是在需求分析时做出得。
一、选择题1.结构化程序设计主要强调程序的( C )。
A.效率B.速度C.可读性D.大小2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作( B)。
A.软件投机B.软件危机C.软件工程D.软件产生3.以下说法中错误的是( C )。
A.软件的质量保证工作不能等到编码阶段结束之后再进行B.在软件开发过程中需求是经常变化的C.软件产品的开发过程比一般产品的开发过程更容易评价和管理D.软件开发小组的组成人员的素质应该好,而人数则不宜过多二、选择题1.瀑布模型本质上是一种()。
A.线性顺序模型B.顺序迭代模型C.线性迭代模型D.及早见产品模型2.需求分析是由分析员了解用户的要求,认真细致地调研。
分析,最终应建立目标系统的逻辑模型并写出()。
A.模块说明书B.软件规格说明书C.项目开发计划D.合同文档三、选择题1.研究硬软件资源的有效性是进行()研究的一方面。
A.技术可行性B.经济可行性C.社会可行性D.操作可行性2.可行性研究要进行的需求分析和设计应是()。
A.详细的B.全面的C.简化、压缩的D.彻底的3.分层DFD是一种比较严格又易于理解的描述方式,它的顶层图描述了系统的()。
A.细节B.输入与输出C.软件的作者D.绘制的时间4.需求规格说明书的内容还应包括对()的描述。
A.主要功能B.算法的详细过程C.用户界面及运行环境D.软件的性能5.需求规格说明书的作用不应包括()。
A.软件设计的依据B.用户与开发人员对软件要做什么的共同理解C.软件验收的依据D.软件可行性研究的依据6.SA方法用DFD描述()A.系统的控制流程B.系统的数据结构C.系统的基本加工D.系统的功能7.一个局部数据存储只有当它作为()时,就把它画出来。
A.某些加工的数据接口B.某个加工的特定输入C.某个加工的特定输出D.某些加工的数据接口或某个加工的特定输入/输出8.对于分层的DFD,父图与子图的平衡指子图的输入、输出数据流同父图相应加工的输入、输出数据流()。
A.必须一致B.数目必须相等C.名字必须相同D.数目必须不等9.需求分析阶段不适用于描述加工逻辑的工具是()。
A.结构化语言B.判定表C.判定树D.流程图10.SA方法的分析步骤是首先调查了解当前系统的工作流程,然后()。
A.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型B.获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型C.获得当前系统的物理模型,建立当前系统的物理模型,抽象出目标系统的逻辑模型D.获得当前系统的物理模型,建立当前系统的物理模型,建立目标系统的物理模型11.SA方法的基本思想是()A.自底向上逐步抽象B.自底向上逐步分解C.自顶向下逐步分解D.自顶向下逐步抽象12.初步用户手册在()阶段编写。
A.可行性研究B.需求分析C.软件概要设计D.软件详细设计四、选择题1.模块本身的内聚是模块独立性的重要度量因素之一,在七类内聚中,具有最强内聚的一类是()。
A.顺序性内聚B.过程性内聚C.逻辑性内聚D.功能性内聚2.某模块的功能是打印录取通知书或不录取通知书,调用模块可通过向此模块传递布尔标志信息决定本次调用哪种通知书的打印,这种模块之间的耦合称为()。
A.数据耦合B.混合耦合C.公共耦合D.控制耦合3.模块间的()称为模块的耦合,它是衡量模块间结构性能的重要指标。
A.调用关系B.信息联系方式C.层次关系D.界面4.在结构化方法中,N-S图应属于软件开发中的哪一阶段?()A.详细设计B.需求分析C.总体设计D.编程调试5.PAD(Problem Analysis Diagram)图是一种()工具。
A.系统描述B.详细设计C.测试D.编程辅助五、选择题1.测试的关键问题是()。
A.如何组织软件评审B.如何选择测试用例C.如何验证程序的正确性D.如何采用综合策略2.软件测试用例主要由输入数据和()两部分组成。
A.测试计划B.测试规则C.预期输出结果D.以往测试记录分析3.成功的测试是指运行测试用例后()。
A.未发现程序错误B.发现了程序错误C.证明程序正确D.改正了程序错误4.下列几种逻辑覆盖标准中,查错能力最强的是()。
A.语句覆盖B.判定覆盖C.条件覆盖D.条件组合覆盖5.在黑盒测试中,着重检查输入条件组合的方法是()。
A.等价类划分法B.边界值分析法C.错误推测法D.因果图法6.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是()。
A.系统功能B.局部数据结构C.重要的执行路径D.错误处理7.软件测试过程中的集成测试主要是为了发现()阶段的错误。
A.需求分析B.概要分析C.详细设计D.编码8.不属于白盒测试的技术是()。
A.路径覆盖B.判定覆盖C.循环覆盖D.边界值分析9.集成测试时,能较早发现高层模块接口错误的测试方法为()。
A.自顶向下渐增式测试B.自底向上渐增式测试C.非渐增式测试D.系统测试10.确认测试以()文档作为测试的基础。
A.需求规格说明书B.设计说明书C.源程序D.开发计划11.项目的应用领域是选择编程语言关键的因素之一,不适合作为项目应用领域的类型是()。
A.系统软件B.数据处理与数据库应用C.实时处理D.UNIX操作系统12.为了提高易读性,源程序内部应加功能性注释,用于说明()。
A.模块总的功能B.程序段或语句的功能C.模块参数的用途D.数据的用途13.程序设计语言的心理特性在语言中表现不应包括()。
A.歧义性B.简洁性C.保密性D.传统性14.程序设计语言的工程特性其中之一表现在()。
A.软件的可重用性B.数据结构的描述性C.抽象类型的描述性D.数据库的易操作性15.程序设计语言的技术特性不应包括()。
A.数据结构的描述性B.抽象类型的描述性C.数据库的易操作性D.软件的可移植性六、选择题1.计算机由中央处理器、内存、软盘、显示器、键盘、鼠标等组成。
那么计算机类和这些类之间的关系是()。
A.泛化关系B.实现关系C.包含关系D.聚集关系2.下列UML图形中,()不属于UML的静态视图。
A.类图B.部署图C.构件图D.包图3.下列关于面向对象的说法中,错误的有()。
A.面向对象方法的一个重要思想,就是尽可能模拟人类习惯的思维方式来进行软件开发,使描述问题的问题域与实现解法的解空间在结构上尽可能一致B.“分而治之”的思想是面向对象的最基本的特征C.封装是一种信息隐蔽技术,封装可用于把数据(属性)和方法(函数)包围起来,以实现事物独立性D.面向对象方法与传统的软件工程方法相比,具有比较明显的优势,在各个层面对软件的开发都有着非常积极的影响七、选择题1.在使用用例图对系统进行分析建模时,需要对参与者进行建模。
参与者之间的关系主要有()。
A.关联关系B.依赖关系C.泛化关系D.以上都不是2.在使用用例图对系统进行分析建模时,需要对用例之间关系进行建模。
用例之间的关系主要有:()。
A.包含关系B.扩展关系C.泛化关系D.ABC都是3.从软件功能需求来看,分析类根据其功能和作用可以划分为()。
A.实体类B.边界类C.控制类D.ABC都是八、选择题1.作为系统的高层模块,子系统在设计时也应该遵循软件设计的基本策略,在划分子系统时,应该考虑的原则包括()。
A.模块的划分应便于总的系统设计阶段实现B.子系统应有良好的接口C.每个模块的功能简单明确,内容简明易懂,任务清楚明确,以便易于修改D.以上都是2.下列关于面向对象设计的说法中,正确的有()。
A.系统要完成的业务处理功能和用户界面要是紧密相关的,不能相互独立B.面向对象系统的数据存储只能选择面向对象的数据库管理系统,而无法使用关系型数据库C.系统分解与问题域的主题划分不同,这里的子系统既不是一个对象也不是一个功能,而是类、关联、操作、事件和约束的内聚集合D.在进行体系结构设计时选择B/S体系结构是最好的3.保证良好设计的类与方法的设计关系到软件的可扩充性、可靠性、可维护性和灵活性,下列关于设计类和方法中我们需要遵循的准则中错误的有()。
A.对类、方法、属性给出有意义的名字,以便见名知义B.始终在构造函数内初始化数据,可以定义不同重载版本的构造函数C.一致的排列构成每个类的元素。
例如首先定义常量,然后是构造函数,再然后是静态方法,接着是其他方法、实例变量,最后是静态变量D.所有的属性都需要单独的存取程序、更换程序方法4.在设计算法的过程中,算法的设计者必须做到()。
A.选择实现操作花费最小的算法B.给算法选择最合适的数据结构C.必要时定义新的内部类和操作D.以上都是九、选择题1.良好的面向对象程序设计风格是非常重要的,在进行面向对象实现时需要遵循的准则中错误的有()。
A.尽量提高代码的可重用性,可重用性主要体现在使用自己已经编制好的类B.尽量提高系统的可扩充性,便于系统升级和维护C.提高系统的稳健性,使系统具备处理用户操作错误的能力D.为了在效率与稳健性之间做出合理的折中,应该先测试,合理地确定为提高性能应该着重优化的关键部分2.下列关于软件测试的说法中错误的有()。
A.测试是通过手工或自动方法,使用或评价一个系统的过程,以论证是否满足所规定的需求,或明确期望的结果和实际结果的差异B.测试可以证明软件是正确的C.软件测试的概念和实施范围必须扩充,应该包括在整个开发各阶段的复查、评估和检测D.因为面向对象的封装、继承、多态等特征,面向对象系统的软件测试工作将更加复杂和困难3.在进行面向对象测试用例设计时,需要注意的问题有()。
A.对于父类设计了测试用例,子类就不需要进行测试了B.以父类设计的测试用例来测试子类就可以了C.父类的测试并没有为子类减少任何测试工作,还需要对子类中基本上所有的成员进行测试D.子类的测试用例不能参照父类的测试用例十、选择题1.对软件复杂性度量时,采用代码行度量法,下列说法不正确的是()。
A.每行代码的出错率与源程序之间不存在简单的线性关系B.对于少于100行语句的小程序,源代码行数与出错率是线性关系C.代码行度量法只是一种简单的、估计的很粗糙的方法D.随着程序的增大,出错率以线性方式增长2.软件项目计划范围内容是对软件项目的综合描述,定义其所要做的工作以及性能限制。
下列属于软件项目计划范围内容的有()。
A.硬件资源B.成本估算C.系统接口D.进度安排3.按照软件配置管理的原始指导思想,受控制的对象应是()。
A.软件元素B.软件配置项C.软件项目D.软件过程4.软件配置项是软件配置管理的对象,指的是软件工程过程中所产生的()。
A.接口B.软件环境C.信息项D.版本5.版本用来定义软件配置项的()。
A.演化阶段B.环境C.要求D.软件工程过程6.下列说法错误的是()。