软件工程导论-期末题库(完整版)
软件工程导论期末考试试题和答案
1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。
2.按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。
3.可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。
4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标。
5.常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的___结构化设计方法_________,以数据结构为基础构造模块的__jackson方法__________,以对象、类、继承和通信为基础的__面向对象设计方法__________。
6.__数据流图________和__数据字典___共同构成系统的逻辑模型。
7.软件测试的方法有__分析方法________和___非分析方法_______(即黑盒法)。
8.单元测试一般以___白盒_____________测试为主,___黑盒______测试为辅。
9.成本估计方法主要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。
1.下列哪个阶段不属于软件生存周期的三大阶段( C )。
A、计划阶段B、开发阶段C、编码阶段D、维护阶段2.需求分析是(A )。
3.A、软件开发工作的基础B、软件生存周期的开始4.C、由系统分析员单独完成的D、由用户自己单独完成的5.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要(B )。
6.A、明确的需求定义B、完整的生命周期7.C、较长的开发时间D、熟练的开发人员8.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为( A )。
9.A、改正性维护B、适应性维护10.C、完善性维护D、预防性维护11.一般说来,投入运行的软件系统中有错误(A )。
A、不是不可以理解的B、是不能容忍的C、是要求退货的理由D、是必然的1.在进行总体设计时应加强模块间的联系。
2023软件工程导论期末考试题库及参考答案
2.判断题1.向滞后的项目中增加人手会使得项目更加滞后。
(T)2.过程描述语言可以用于描述软件的系统结构。
(F)3.按照瀑布模型开发软件的一条指导思想是清楚地区分逻辑设计与物理设计,以便尽早开始程序的物理实现。
(F)5.只有质量差的软件产品才需要维护。
(F)6.层次图用来描述软件的层次结构。
层次图中的一个矩形框代表一个模块,方框间的连线表示模块的组成关系。
在层次图中除最顶层的方框之外,给每个方框都加编号,即成为带有编号的层次图。
(F)7.建立动态模型的第一步,是编写典型交互行为的脚本。
(T)8.软件错误可能出现在开发过程的早期,越早修改越好。
(T)9.软件模块的耦合是越低越好。
(T)10.一个好的测试用例在于能发现至今未发现的错误。
(T)11.面向对象设计的结果只能采用面向对象语言来实现(F)12.一个成功的项目唯一提交的就是运行程序。
(F)13.用例之间的关系有3种。
(T)14.面向对象设计准则也要遵循弱耦合的原则,但是继承耦合则应该提高,紧密地继承耦合与高度的一般-特殊内聚是一致的。
(T)15.软件工作的考虑范围主要是程序设计和实现。
(F)16.环形复杂度定量度量程序的逻辑复杂度,可以用这个公式来计算环形复杂度:流图G的环形复杂度V(G)=N-E+2o(改成E-N+2)(F)17.等价类划分方法将所有可能的输入数据划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。
(T)18.在进行总体(改成概要)设计时应加强模块间的联系。
(F)19.系统结构图是精确表达程序结构的图形表示法。
因此,有时也可以将系统结构图当作系统流程图使用。
(T)20.建立动态模型的第一步,是编写典型交互行为的脚本。
(T)21.在程序调试时,找出错误的位置和性质比改正该错误更难。
(F)22.如果通过软件测试没有发现错误,则说明软件是正确的。
(F)23.快速原型模型可以有效地适应用户需求的动态变化。
(T)24.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产2023软件工程导论期末考试题库及参考答案1 .填空题1.一般来说,可以从一致性、完整性、现实性和有效性四个方面验证软件需求的正确性。
软件工程导论期末考试试题
软件工程导论期末考试试题1.选择题1.瀑布模型将软件生命周期划分为八个阶段,包括问题定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。
这八个阶段可以归纳为三个大的阶段,即计划阶段、开发阶段和运行阶段。
选项中正确的是C,即运行阶段。
2.在结构化的瀑布模型中,如果哪个环节出错,对软件的影响最大,选项中正确的是C,即测试和运行阶段。
3.在结构化的瀑布模型中,系统测试阶段的目标是由哪个阶段定义的标准决定的,选项中正确的是A,即需求分析阶段。
4.软件工程的出现主要是由于软件危机的出现,选项中正确的是C。
5.软件工程方法学的目的是使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是软件开发工具和软件开发的环境,选项中正确的是C。
6.软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为相互补充,选项中正确的是B。
7.UML主要应用于基于对象的面向对象的方法,选项中正确的是C。
8.在下面的软件开发方法中,要求软件设计和开发人员的开发要求最高的是原型化方法,选项中正确的是B。
9.结构化分析方法强调分析对象的数据流,选项中正确的是B。
10.软件开发的结构化生命周期方法将软件生命周期划分成计划阶段、开发阶段和运行阶段,选项中正确的是A。
11.软件开发中常采用的结构化生命周期方法一般称其为瀑布模型,选项中正确的是A。
12.软件开发的瀑布模型中,可能占用人员最多的阶段是编码阶段,选项中正确的是C。
2.改写1.瀑布模型将软件生命周期划分为八个阶段,包括问题定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。
这八个阶段可以归纳为三个大的阶段,即计划阶段、开发阶段和运行阶段。
其中,运行阶段是指软件开发完成后,软件被交付给用户并开始使用的阶段。
2.在结构化的瀑布模型中,如果哪个环节出错,对软件的影响最大。
在这八个阶段中,测试和运行阶段是最后一个阶段,也是软件交付给用户前的最后一个阶段,如果在这个阶段出现问题,将会对软件的使用造成很大的影响。
软工导论期末试题及答案
软工导论期末试题及答案一、选择题(每题2分,共40分)1. 软件工程的定义是()A. 解决计算机软件危机的一门技术科学B. 设计软件系统的过程C. 软件产品开发的过程D. 通过分析、设计、实现以及对软件开发过程和工具的管理来提高软件的质量和生产效率2. 软件工程的基本活动包括()A. 需求分析、设计、编码、测试、维护B. 需求分析、设计、实现、测试C. 需求分析、设计、编码、测试D. 需求分析、设计、实现、维护3. 软件过程模型是()A. 实现软件开发的步骤和活动的抽象描述B. 一种特定的软件开发方法或技术C. 一种具体的软件开发流程图D. 一种软件管理工具4. 下面不属于敏捷开发方法的是()A. ScrumB. XP (Extreme Programming)C. RUP (Rational Unified Process)D. Lean5. 软件测试的目的是()A. 证明软件是正确的B. 证明软件是错误的C. 提高软件质量D. 排除软件缺陷6. 静态测试是指()A. 在运行时进行的测试B. 对程序进行动态分析C. 对程序进行代码检查和审查D. 对软件进行压力测试7. 需求变更的原因包括()A. 用户需求不明确B. 代码出现错误C. 项目进度延迟D. 客户意见变化8. 软件质量模型ISO/IEC 9126共包括___个特性()A. 4B. 5C. 6D. 79. 下面哪个不是软件工程中的“四悖”之一?()A. 时间悖论B. 范围悖论C. 成本悖论D. 计划悖论10. 软件项目管理中,衡量项目进展的主要指标是()A. 代码行数B. 开发人员数量C. 已完成的任务数量D. 完成的工作量二、简答题(每题10分,共30分)1. 请简要说明软件工程的三个基本活动是什么,并说明各个活动的主要任务。
答:软件工程的三个基本活动包括需求分析、设计和编码,以及测试和维护。
- 需求分析活动的主要任务是通过与用户和相关方沟通,理解和明确软件系统的需求,确定软件的功能、性能要求和约束条件。
2023软件工程导论期末考试题库及参考答案
2023软件工程导论期末考试题库及参考答案一、选择题(每题2分,共20分)1. 以下哪个不是软件工程的三个基本目标?A. 可维护性B. 可用性C. 可靠性D. 高效性参考答案:D2. 软件生命周期中,以下哪个阶段是软件开发过程的核心阶段?A. 需求分析B. 设计C. 编码D. 测试参考答案:C3. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程参考答案:A4. 在软件工程中,以下哪个方法用于估算软件项目的成本和进度?A. COCOMOB. WBSC. SDLCD. CASE参考答案:A5. 以下哪个是软件工程中的一个重要原则?A. 分而治之B. 一次性编写C. 重用D. 模块化参考答案:D6. 以下哪个不是软件工程的基本活动?A. 软件规格B. 软件开发C. 软件验证D. 软件测试参考答案:C7. 以下哪个是软件工程中用于提高软件质量的技术?A. 设计模式B. 重构C. 代码审查D. 单元测试参考答案:C8. 以下哪个不是软件工程的五大基本过程?A. 软件规格B. 软件开发C. 软件维护D. 软件项目管理参考答案:D9. 以下哪个是软件工程中的一个重要概念,用于描述软件系统中的各个组件之间的关系?A. 耦合B. 内聚C. 模块化D. 重用参考答案:A10. 以下哪个是软件工程中的一个重要原则,用于指导软件开发过程?A. 迭代B. 增量C.螺旋D. 模型驱动参考答案:A二、填空题(每题2分,共20分)11. 软件工程的三要素是:方法、工具和______。
参考答案:过程12. 软件生命周期包括:需求分析、设计、编码、______和软件维护。
参考答案:测试13. 软件工程中的面向对象方法包括:封装、继承和______。
参考答案:多态14. 软件工程中的 CASE 工具主要用于支持______。
参考答案:软件设计和开发15. 软件工程中的敏捷开发方法强调______、可维护性和可扩展性。
《软件工程导论》期末考试试题和答案(整理)
得分评卷人一、填空题1.软件生计周期一般可分为 __问题定义 __、可行性研究、 _需求剖析 _____、设计编码、 __ 测试 ________、运转与保护阶段。
2.按软件的功能进行区分,软件能够区分为系统软件、支撑软件和应用软件。
3.可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和决断。
4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标。
5.常有的软件纲要设计方法有 3 大类:以数据流图为基础结构模块结构的___结构化设计方法 _________,以数据结构为基础结构模块的__jackson 方法 __________ ,以对象、类、继承和通讯为基础的 __面向对象设计方法 __________。
6.__数据流图 ________和 __数据词典 ___共同组成系统的逻辑模型。
7.软件测试的方法有 __剖析方法 ________和 ___非剖析方法 _______(即黑盒法)。
8.单元测试一般以 ___白盒 _____________测试为主, ___黑盒 ______测试为辅。
9.成本预计方法主要有 __自底向上预计 ________、_自顶向下预计 _________和算法模型预计三种种类。
得分评卷人二、单项选择题1.以下哪个阶段不属于软件生计周期的三大阶段(C)。
A 、计划阶段B 、开发阶段C、编码阶段 D 、保护阶段2.需求剖析是( A)。
A、软件开发工作的基础B、软件生计周期的开始C、由系统剖析员独自达成的D、由用户自己独自达成的3.原型化方法是软件开发中一类常用的方法,它与结构化方法对比较,更需要( B)。
A、明确的需求定义B、完好的生命周期C、较长的开发时间D、娴熟的开发人员4.软件保护时,对测试阶段未发现的错误进行测试、诊疗、定位、纠错,直至改正的回归测试过程称为(A)。
A 、更正性保护B、适应性保护C、完美性保护D、预防性保护5. 一般说来,投入运转的软件系统中有错误(A)。
软件工程导论期末复习题_答案.
一、单向选择题(四选一、每小题3分,共18分)1、软件的发展经历了(D)个发展阶段。
0102A.一B.二C.三D.四2、需求分析的任务不包括(B)。
0401A.问题分析B.系统设计C.需求描述D.需求评审。
3、一个软件的宽度是指其控制的(C)。
0801A.模块数B.层数C.跨度D.厚度4、当模块中包含复杂的条件组合,只有(A)能够清晰地表达出各种动作之间的对应关系。
0802A.判定表和判定树B.盒图C.流程图D.关系图5、以下不属于逻辑覆盖的是(D)。
1402A.语句覆盖B.判定覆盖C.条件覆盖D.基本路径6、为适应软件运行环境的变化而修改软件的活动称为(B)。
1501A.纠错性维护B.适应性维护C.改善性维护D.预防性维护二、填空题(每空2分,共18分)1.软件可靠性是指在给定的时间间隔内,程序成功运行的(概率)。
01012.高级语言:独立于机器,面向过程或面向(对象)01013.软件项目管理的范围主要集中于3个P上,即:People人员、Problem问题和(过程)。
02014.人机界面的风格第一代界面是命令和(询问)方式。
12025.由于维护或在维护过程中其他一些不期望的行为引入的错误称为维护的(副作用)。
15046.在公式V(G)= E –N + 2中:E为程序图G中边的总数;N 为程序图中结点的总数。
V(G)又称为图G的环形(复杂度)0204。
7.任何一个基于计算机系统都可以用输入-处理-输出(IPO)图来描述,它将该系统转换成一个信息变换模型。
03038.为提高可交互性一般对所有可能造成损害的用户操作动作,应坚持要求用户(确认),例如,提问“你确实要删除…?”。
12049.文档是一种数据媒体和其上所记录的(数据)。
0101三、判断题(每小题2分,共24分,错误打X、正确打√)1.用户对软件需求的描述不精确,往往是产生软件危机的原因之一。
(√)01022.目前,软件项目的进度安排的两种比较常用的方法是程序评估与审查技术(PERT)和关键路径法(CPM)。
软件工程导论-期末题库(完整版)
软件工程导论-期末题库(完整版)1.填空题1.一般来说,可以从__一致性__、_完整性___、_现实性____和_有效性___四个方面验证软件需求的正确性。
2.IPO图是_输入、处理和输出图_的简称,它是美国IBM公司发展完善起来的一种图形工具。
3.系统流程图是描述__物理模型__的传统工具,用图形符号表达了系统中各种元素之间的_____信息流动_____情况。
4.数据流图中的箭头表示数据流,椭圆或圆形表示数据处理,矩形表示数据的源点/终点。
5.软件测试的步骤按顺序分别是:___单元测试_____、子系统测试、系统测试(子系统和系统测试通常称为集成测试)、__确认测试__和_____系统测试(集成测试)____6.软件生命周期一般可分为_问题定义_、可行性研究、_需求分析_、设计编码、_测试_、运行与维护阶段。
7.可行性研究主要集中在以下四个方面_经济可行性_、__技术可行性____、__法律可行性___和抉择。
8.在结构化设计中,HIPO图应用在总体设计阶段,由IPO图和_层次图_两部分组成。
9.复杂问题的对象模型通常由下述五个层次组成:主题层、___类与对象_层、__结构___层、_属性_层和__服务_层。
10.实施精化设计的目标是基于模块的“高内聚低耦合”的原则,提高模块的_独立性。
11.软件生命周期一般可分为___问题定义_、可行性研究、__需求分析__、概要设计__、详细设计、编码、__软件测试_、运行与维护阶段。
12.面向对象的数据存储管理模式分为__文件__、_关系数据库__和__面向对象数据库___三种。
13.单元测试一般以_白盒_测试为主,__黑盒__测试为辅。
14.软件工程三要素包括_方法_、__工具___和__过程___,其中,_过程_支持软件开发的各个环节的控制和管理。
15.类构件的重用方式有_实力重用__、__继承重用______和_多态重用__三种。
16.能力成熟度模型分为5个等级:初始级、____可重复____级、__已定义___级、____已管理__级和__优化____级。
《软件工程导论》期末考试试题和答案
1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。
2.按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。
3.可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。
4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标.5.常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的___结构化设计方法_________,以数据结构为基础构造模块的__jackson方法__________,以对象、类、继承和通信为基础的__面向对象设计方法__________。
6.__数据流图________和__数据字典___共同构成系统的逻辑模型.7.软件测试的方法有__分析方法________和___非分析方法_______(即黑盒法)。
8.单元测试一般以___白盒_____________测试为主,___黑盒______测试为辅。
9.成本估计方法主要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。
1.下列哪个阶段不属于软件生存周期的三大阶段( C )。
A、计划阶段B、开发阶段C、编码阶段D、维护阶段2.需求分析是(A )。
A、软件开发工作的基础B、软件生存周期的开始C、由系统分析员单独完成的D、由用户自己单独完成的3.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要( B )。
A、明确的需求定义B、完整的生命周期C、较长的开发时间D、熟练的开发人员4.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为( A )。
A、改正性维护 B、适应性维护C、完善性维护D、预防性维护5.一般说来,投入运行的软件系统中有错误(A )。
A、不是不可以理解的B、是不能容忍的C、是要求退货的理由D、是必然的1.在进行总体设计时应加强模块间的联系。
软件工程导论期末复习题_答案.
一、单向选择题(四选一、每小题3分,共18分)1、软件的发展经历了(D)个发展阶段。
0102A.一B.二C.三D.四2、需求分析的任务不包括(B)。
0401A.问题分析B.系统设计C.需求描述D.需求评审。
3、一个软件的宽度是指其控制的(C)。
0801A.模块数B.层数C.跨度D.厚度4、当模块中包含复杂的条件组合,只有(A)能够清晰地表达出各种动作之间的对应关系。
0802A.判定表和判定树B.盒图C.流程图D.关系图5、以下不属于逻辑覆盖的是(D)。
1402A.语句覆盖B.判定覆盖C.条件覆盖D.基本路径6、为适应软件运行环境的变化而修改软件的活动称为(B)。
1501A.纠错性维护B.适应性维护C.改善性维护D.预防性维护二、填空题(每空2分,共18分)1.软件可靠性是指在给定的时间间隔内,程序成功运行的(概率)。
01012.高级语言:独立于机器,面向过程或面向(对象)01013.软件项目管理的范围主要集中于3个P上,即:People人员、Problem问题和(过程)。
02014.人机界面的风格第一代界面是命令和(询问)方式。
12025.由于维护或在维护过程中其他一些不期望的行为引入的错误称为维护的(副作用)。
15046.在公式V(G)= E –N + 2中:E为程序图G中边的总数;N 为程序图中结点的总数。
V(G)又称为图G的环形(复杂度)0204。
7.任何一个基于计算机系统都可以用输入-处理-输出(IPO)图来描述,它将该系统转换成一个信息变换模型。
03038.为提高可交互性一般对所有可能造成损害的用户操作动作,应坚持要求用户(确认),例如,提问“你确实要删除…?”。
12049.文档是一种数据媒体和其上所记录的(数据)。
0101三、判断题(每小题2分,共24分,错误打X、正确打√)1.用户对软件需求的描述不精确,往往是产生软件危机的原因之一。
(√)01022.目前,软件项目的进度安排的两种比较常用的方法是程序评估与审查技术(PERT)和关键路径法(CPM)。
《软件工程导论》期末考试试题附答案
软件工程导论期末复习和答案1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。
2.按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。
3.可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。
4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标。
5.常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的___结构化设计方法_________,以数据结构为基础构造模块的__jackson方法__________,以对象、类、继承和通信为基础的__面向对象设计方法__________。
6.__数据流图________和__数据字典___共同构成系统的逻辑模型。
7.软件测试的方法有__分析方法________和___非分析方法_______(即黑盒法)。
8.单元测试一般以___白盒_____________测试为主,___黑盒______测试为辅。
9.成本估计方法主要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。
1.下列哪个阶段不属于软件生存周期的三大阶段( C )。
A、计划阶段B、开发阶段C、编码阶段D、维护阶段2.需求分析是(A )。
A、软件开发工作的基础B、软件生存周期的开始C、由系统分析员单独完成的D、由用户自己单独完成的3.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要(B )。
A、明确的需求定义B、完整的生命周期C、较长的开发时间D、熟练的开发人员4.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为( A )。
A、改正性维护B、适应性维护C、完善性维护D、预防性维护5.一般说来,投入运行的软件系统中有错误(A )。
A、不是不可以理解的B、是不能容忍的C、是要求退货的理由D、是必然的1.在进行总体设计时应加强模块间的联系。
软件工程导论期末试题
软件工程导论期末试题第一篇:软件工程导论期末试题软件工程导论期末考试试题一.选择(20分)1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。
八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和(C)。
A、详细计划 B、可行性分析C、运行阶段D、测试与排错2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大(C)。
A、详细设计阶段 B、概要设计阶段C、需求分析阶段D、测试和运行阶段3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标(A)。
A、需求分析阶段B、详细设计阶段C、概要设计阶段D、可行性研究阶段4、软件工程的出现主要是由于(C)。
A.程序设计方法学的影响B.其它工程科学的影响C.软件危机的出现D.计算机的发展5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C)A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为(B)A、相互排斥 B、相互补充C、独立使用D、交替使用7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C)A、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法C、基于对象的面向对象的方法D、基于数据的数据流开发方法8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B)A、结构化方法 B、原型化方法 C、面向对象的方法 D、控制流方法9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(B)A、控制流 B、数据流 C、程序流 D、指令流10、软件开发的结构化生命周期方法将软件生命周期划分成(A)A、计划阶段、开发阶段、运行阶段 B、计划阶段、编程阶段、测试阶段 C、总体设计、详细设计、编程调试 D、需求分析、功能定义、系统设计二.填空(20分)21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的(信息流动)情况。
软件工程导论期末考试题
一、单项选择题1.适合于面向对象方法学的软件生存周期模型是( B )A.瀑布模型B.喷泉模型C.螺旋模型D.增量模型2.从实用角度看,数据规范化程度在大多数场合选用第( C )范式。
A. 1B.2C.3D.53. 可行性分析研究的目的是( A )。
A. 项目值得开发否B.争取项目C.开发项目D.规划项目4. 模块的内聚性最高的是( D )A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚5.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( B )A.软件工程B. 软件危机C. 软件周期D.软件产生6. 需求分析阶段的任务是确定( D )A.软件开发方法B.软件开发工具C.软件开发费D.软件系统的功能7. 完整的软件结构通常用( B )图来表示。
A. IPO图B. HIPO图C.PAD图D.DFD图8. 在白盒法技术测试用例的设计中( A )是最弱的覆盖标准。
A.语句B.路径C.条件组合D.判定9.对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。
A.结合B.隐藏C.封装D.抽象10.在数据流图中,圆代表(C)。
A.源点B.终点C.加工D.模块11.模块内聚度越高,说明模块内各成分彼此结合的程度越( B )。
A.松散B.紧密C.无法判断D.相等12.软件测试方法中,黑盒、白盒测试法是常用的方法,其中黑盒测试主要用于测试( B )。
A.结构合理性B.软件外部功能C.程序正确性D.程序内部逻辑13.面向对象开发方法中,( C )是占主导地位的标准建模语言。
A.Booch方法B.Coad方法C.UML语言D.OMT方法14.软件需求分析的主要任务是准确地定义出要开发的软件系统是(C )A.如何做B.怎么做C.做什么D.对谁做15.结构化程序设计的一种基本方法是( C )A.筛选法B.迭代法C.逐步求精法D.递归法二、填空题1.目前使用最广泛的软件工程学方法分别是传统方法学和(面向对象方法学)。
《软件工程导论》期末考试试题和答案
1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。
2.按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。
3.可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。
4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标。
5.常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的___结构化设计方法_________,以数据结构为基础构造模块的__jackson方法__________,以对象、类、继承和通信为基础的__面向对象设计方法__________。
6.__数据流图________和__数据字典___共同构成系统的逻辑模型。
7.软件测试的方法有__分析方法________和___非分析方法_______(即黑盒法)。
8.单元测试一般以___白盒_____________测试为主,___黑盒______测试为辅。
9.成本估计方法主要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。
1.下列哪个阶段不属于软件生存周期的三大阶段(C)。
A、计划阶段B、开发阶段C、编码阶段D、维护阶段2.需求分析是(A)。
A、软件开发工作的基础 B、软件生存周期的开始3. C、由系统分析员单独完成的 D、由用户自己单独完成的4.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要(B)。
A、明确的需求定义 B、完整的生命周期5. C、较长的开发时间 D、熟练的开发人员6.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为(A)。
A、改正性维护 B、适应性维护7. C、完善性维护 D、预防性维护8.一般说来,投入运行的软件系统中有错误(A)。
A、不是不可以理解的B、是不能容忍的C、是要求退货的理由D、是必然的1.在进行总体设计时应加强模块间的联系。
《软件工程导论》期末考试-试题与答案
《软件工程导论》期末考试-试题与答案一、填空题1.软件工程中的结构化分析 SA 是一种面向________的分析方法。
2.软件模块独立性的两个定性度量标准是_________________。
3.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个________的过程。
4. ________和数据字典共同构成了系统的逻辑模型5. ___________是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数据类,据此导出测试用例。
二、单选题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. Jackson 方法是在软件开发过程中常用的方法,使用 Jackson 方法时可以实现______。
A.从数据结构导出程序结构B.从数据流图导出初始结构图C.从模块结构导出数据结构D.从模块结构导出程序结构7.软件测试时为了________而执行程序的过程。
A.纠正错误B.发现错误C.避免错误D.证明错误8.在软件系统中,一个模块应具有什么样的功能,这是由_____决定的。
A.总体设计B.需求分析C.详细设计D.程序设计9.面向对象分析是对系统进行_________的一种方法。
《软件工程导论》期末考试试题和答案3
U 得分评卷人一、填空题(每空1分,共20分)1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。
2.按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。
3.可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。
4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标。
5.常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的___结构化设计方法_________,以数据结构为基础构造模块的__jackson方法__________,以对象、类、继承和通信为基础的__面向对象设计方法__________。
6.__数据流图________和__数据字典___共同构成系统的逻辑模型。
7.软件测试的方法有__分析方法________和___非分析方法_______(即黑盒法)。
8.单元测试一般以___白盒_____________测试为主,___黑盒______测试为辅。
9.成本估计方法主要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。
得分评卷人二、单项选择题(每小题2分,共10分)1.下列哪个阶段不属于软件生存周期的三大阶段( C )。
A、计划阶段B、开发阶段C、编码阶段D、维护阶段2.需求分析是(A )。
A、软件开发工作的基础B、软件生存周期的开始C、由系统分析员单独完成的D、由用户自己单独完成的3.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要( B )。
A、明确的需求定义B、完整的生命周期C、较长的开发时间D、熟练的开发人员4.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为( A )。
A、改正性维护B、适应性维护C、完善性维护D、预防性维护5.一般说来,投入运行的软件系统中有错误( A )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.填空题1.一般来说,可以从__一致性__、_完整性___、_现实性____和_有效性___四个方面验证软件需求的正确性。
2.IPO图是_输入、处理和输出图_的简称,它是美国IBM公司发展完善起来的一种图形工具。
3.系统流程图是描述__物理模型__的传统工具,用图形符号表达了系统中各种元素之间的_____信息流动_____情况。
4.数据流图中的箭头表示数据流,椭圆或圆形表示数据处理,矩形表示数据的源点/终点。
5.软件测试的步骤按顺序分别是:___单元测试_____、子系统测试、系统测试(子系统和系统测试通常称为集成测试)、__确认测试__和_____系统测试(集成测试)____6.软件生命周期一般可分为_问题定义_、可行性研究、_需求分析_、设计编码、_测试_、运行与维护阶段。
7.可行性研究主要集中在以下四个方面_经济可行性_、__技术可行性____、__法律可行性___和抉择。
8.在结构化设计中,HIPO图应用在总体设计阶段,由IPO图和_层次图_两部分组成。
9.复杂问题的对象模型通常由下述五个层次组成:主题层、___类与对象_层、__结构___层、_属性_层和__服务_层。
10.实施精化设计的目标是基于模块的“高内聚低耦合”的原则,提高模块的_独立性。
11.软件生命周期一般可分为___问题定义_、可行性研究、__需求分析__、概要设计__、详细设计、编码、__软件测试_、运行与维护阶段。
12.面向对象的数据存储管理模式分为__文件__、_关系数据库__和__面向对象数据库___三种。
13.单元测试一般以_白盒_测试为主,__黑盒__测试为辅。
14.软件工程三要素包括_方法_、__工具___和__过程___,其中, _过程_支持软件开发的各个环节的控制和管理。
15.类构件的重用方式有_实力重用__、__继承重用______和_ 多态重用__三种。
16.能力成熟度模型分为5个等级:初始级、____可重复____级、__已定义___级、____已管理__级和__优化____级。
2.判断题1. 向滞后的项目中增加人手会使得项目更加滞后。
(T)2. 过程描述语言可以用于描述软件的系统结构。
(F)3.按照瀑布模型开发软件的一条指导思想是清楚地区分逻辑设计与物理设计,以便尽早开始程序的物理实现。
(F )5. 只有质量差的软件产品才需要维护。
(F)6.层次图用来描述软件的层次结构。
层次图中的一个矩形框代表一个模块,方框间的连线表示模块的组成关系。
在层次图中除最顶层的方框之外,给每个方框都加编号,即成为带有编号的层次图。
(F)7.建立动态模型的第一步,是编写典型交互行为的脚本。
(T)8.软件错误可能出现在开发过程的早期,越早修改越好。
(T)9.软件模块的耦合是越低越好。
(T)10.一个好的测试用例在于能发现至今未发现的错误。
(T)11.面向对象设计的结果只能采用面向对象语言来实现(F)12. 一个成功的项目唯一提交的就是运行程序。
(F)13.用例之间的关系有3种。
(T)14.面向对象设计准则也要遵循弱耦合的原则,但是继承耦合则应该提高,紧密地继承耦合与高度的一般-特殊内聚是一致的。
(T)15.软件工作的考虑范围主要是程序设计和实现。
(F )16.环形复杂度定量度量程序的逻辑复杂度,可以用这个公式来计算环形复杂度:流图G的环形复杂度V(G) = N– E + 2。
(改成E-N+2)(F)17.等价类划分方法将所有可能的输入数据划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。
(T)18.在进行总体(改成概要)设计时应加强模块间的联系。
( F)19.系统结构图是精确表达程序结构的图形表示法。
因此,有时也可以将系统结构图当作系统流程图使用。
(T)20.建立动态模型的第一步,是编写典型交互行为的脚本。
( T )21.在程序调试时,找出错误的位置和性质比改正该错误更难。
( F )22.如果通过软件测试没有发现错误,则说明软件是正确的。
( F )23.快速原型模型可以有效地适应用户需求的动态变化。
( T)24.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。
(T )25.集成测试主要由用户来完成。
( F )26.面向对象 = 对象 + 类 + 继承 + 消息传递。
( T)27.面向对象的分析是面向计算机系统建立软件系统的对象模型。
(F)3.选择题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.功能内聚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.Booch方法B.Coad方法C.UML语言D.OMT方法18.()意味着一个操作在不同的类中可以有不同的实现方式。
A.多态性B.多继承C.类的可复用D.信息隐藏19.单元测试的测试用例主要根据()的结果来设计。
A.需求分析B.源程序C.概要设计D.详细设计20. 软件测试是为了()而执行程序的过程。
A. 纠正错误B. 发现错误C. 避免错误D. 证明正确21.类构件的重用方式有多态重用、继承重用和()A.实例重用 B.重载重用C. 代码重用D. 方法重用22. 支持面向对象技术的软件生存周期模型是()。
A. 喷泉模型B. 螺旋模型C. 增量模型D. 瀑布模型23. 在白盒测试技术测试用例的设计中,()是最弱的覆盖标准。
A.语句覆盖B.路径覆盖C.条件组合覆盖D.判定覆盖1.下面哪些测试方法属于白盒测试()。
//BCD是黑盒测试A、基本路径测试B、等价类划分C、边界值分析D、错误推测E、逻辑覆盖测试2.下列哪些选项是属于内容耦合()。
A、一个模块直接访问另一个模块的内部数据B、一个模块有多个入口C、一个模块不通过正常入口转到另一模块内部D、一个模块只有一个入口3.下列属于度量效益方法的是()。
A、货币的时间价值B、投资回收期C、收入D、投资回报率4.数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘制方法中,哪些是常采用的()。
A、自顶向下B、自底向上C、分层绘制D、逐步求精5.软件设计中一般将用到图形工具,下列哪种些可用作设计的图形工具()。
A、结构图B、实体联系图C、IPO图D、层次图4.简答题:1.简述增量模型的优点和缺点。
答:优点:采用增量模型的优点是人员分配灵活,刚开始不用投入大量人力资源。
如果核心产品很受欢迎,则可增加人力实现下一个增量。
当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径。
这样即可先发布部分功能给客户,对客户起到镇静剂的作用。
此外,增量能够有计划地管理技术风险。
缺点:1)由于各个构件是逐渐并入已有的软件体系结构中的,所以加入构件必须不破坏已构造好的系统部分,这需要软件具备开放式的体系结构。
2)在开发过程中,需求的变化是不可避免的。
增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。
3)如果增量包之间存在相交的情况且未很好处理,则必须做全盘系统分析,这种模型将功能细化后分别开发的方法较适应于需求经常改变的软件开发过程。
2.简述软件设计的过程。
答:软件设计是把许多事物和问题抽象起来,并且抽象它们不同层次和角度,是将需求转变为软件陈述的过程,是迭代的过程。
软件设计,要根据需求规格说明书,对整个设计过程进行计划,然后实施具体的设计过程,即“先整体,再局部”,也是不断迭代和精化的过程。
然后需要对生成的设计规格说明书进行评审,启动质量评价的标准,若未通过评审,需重新修改设计,直至评审通过,确定最后定型的过程本身。
进入后续阶段,完成软件设计过程。
3.原型化方法主要用于解决什么问题?试说明这种方法的主要优缺点。
答:建立原型的主要原因是为了解决在产品开发的早期阶段需求不确定的问题,用户、经理和其他非技术项目风险承担者发现在确定和开发产品时,原型可以使他们的想象更具体化。
原型在软件开发过程中可以起到以下主要作用:(1)明确并完善需求原型作为一种需求工具,它初步实现所理解的系统的一部分。
用户对原型的评价可以指出需求中的许多问题,在你开发真正产品之前,可以最低的费用来解决这些问题。
(2)探索设计选择方案原型作为一种设计工具,用它可以探索不同的用户界面技术,使系统达到最佳的可用性,并且可以评价可能的技术方案。
(3)发展为最终的产品原型作为一种构造工具,是产品最初子集的完整功能实现,通过一系列小规模的开发循环,你可以完成整个产品的开发。