软件工程导论期末考试简答题

合集下载

软件工程导论期末考试试题

软件工程导论期末考试试题

软件工程导论期末考试试题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. 请简要说明软件工程的三个基本活动是什么,并说明各个活动的主要任务。

答:软件工程的三个基本活动包括需求分析、设计和编码,以及测试和维护。

- 需求分析活动的主要任务是通过与用户和相关方沟通,理解和明确软件系统的需求,确定软件的功能、性能要求和约束条件。

软件工程导论简答题整理版

软件工程导论简答题整理版

第一章4.什么是软件工程?它与软件工程方法学有何关系?软件过程是为了开发高质量的软件产品所需完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

软件过程定义了运用技术方法的顺序,应该交付的文档资料,为保证软件质量和协调软件变化必须采取的管理措施,以及标志完成了相应开发活动的里程碑。

软件过程是软件工程方法学的3个重要组成部分之一。

7.假设要求你开发一个软件,该软件的功能是把读入的浮点数开平方,所得到的结果应该精确到小数点后4位。

一旦实现并测试完之后,该产品将被抛弃。

你打算选用哪种软件生命周期模型?请说明你作出选择的理由。

答:对这个软件的需求很明确,实现开平方功能的算法也很成熟,因此,既无须通过原型来分析需求也无须用原型来验证设计方案。

此外,一旦实现并测试完之后,该产品将被抛弃,因此也无须使用有助于提高软件可维护性的增量模型或螺旋模型来开发该软件。

第三章一列火车最多有两个火车头。

只有一个火车头时则位于列车最前面,若还有第二个火车头时,则第二个火车头位于列车最后面。

火车头既可能是内燃机车也可能是电器机车。

车厢分为硬座车厢、硬卧车厢和软卧车厢等3种。

硬座车厢在所有车厢的前面部分,软卧车厢在所有车厢的后面部分。

此外,在硬卧车厢和软卧车厢之间还有一节餐车。

答:jackson图善于描绘复杂事物的组成。

用jackson图描绘一列火车的构成的方法至少有两种,一种方法是把火车分为一个车头和两个车头两类,另一种方法是把后车头作为可选的。

图3.29给出了描绘一列火车的构成的jackson图。

用Jackson 图描绘一列火车的构成第四章3.假设有一个由5000行FORTRAN语句构成的程序(经编译后大约有25000条机器指令),你估计在对它进行测试期间将发生多少个错误?为什么?答:经验表明,在类似的程序中,单位长度里的错误数Er/Ir近似为常数。

美国的一些统计数字告诉我们,通常0.5ⅹ10-2 <= Er/Ir <= 2ⅹ10-2也就是说,在测试之前每1000条指令中大约有5-20个错误.假设在该程序的每1000条指令中大约有10个错误,则估计在对它进行测试期间将发现的错误数为25000ⅹ10/1000=250第五章3、某软件公司拟采取下述措施提高他们开发出的软件产品的可维护性。

软件工程导论《软件工程》期末考试题及答案

软件工程导论《软件工程》期末考试题及答案

软件工程导论《软件工程》期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪项不是软件工程的基本目标?A. 提高软件的生产率B. 提高软件的可维护性C. 提高软件的性能D. 降低软件的开发成本答案:C2. 下列哪种方法不属于软件需求分析的方法?A. 数据流图(DFD)B. 实体-关系图(ER图)C. 状态转换图D. Petri网答案:D3. 软件设计中,模块的内聚性越高,表明模块的:A. 功能越单一B. 独立性越强C. 复用性越低D. 可维护性越低答案:A4. 在软件测试阶段,下列哪种测试方法不属于黑盒测试?A. 等价类划分B. 边界值分析C. 代码覆盖率分析D. 逻辑覆盖分析答案:D5. 软件项目管理中,项目经理的主要职责不包括以下哪项?A. 制定项目计划B. 管理项目进度C. 组织项目团队D. 编写代码答案:D二、填空题(每题2分,共20分)6. 软件生命周期可以分为______、需求分析、设计、编码、测试、维护等阶段。

答案:需求调研7. 软件工程的三要素是______、过程、方法。

答案:工具8. 在软件设计中,模块的独立性包括______和耦合性两个方面。

答案:内聚性9. 软件测试的目的不包括______。

答案:发现并修复所有错误10. 软件项目管理的主要目标是实现项目的______、质量和成本控制。

答案:进度三、简答题(每题10分,共30分)11. 简述软件工程的基本原则。

答案:软件工程的基本原则包括:(1)抽象:将复杂问题分解为更简单的子问题;(2)分解:将问题分解为多个部分,分别解决;(3)模块化:将软件划分为独立的模块,提高可维护性和复用性;(4)信息隐藏:隐藏模块内部的信息,只暴露必要的接口;(5)一致性:保持软件各部分的一致性,提高可读性;(6)可维护性:使软件易于修改和维护。

12. 简述软件需求分析的目的和任务。

答案:软件需求分析的目的在于明确用户对软件系统的功能、性能等方面的需求。

2023软件工程导论期末考试题库及参考答案

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.填空题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.在进行总体设计时应加强模块间的联系。

软件工程期末考试简答题汇总

软件工程期末考试简答题汇总

1什么是软件工程?基本原理有哪些?软件工程是指导计算机软件开发和维护的工程学科。

用分阶段的生命周期计划管理、坚持阶段评审、实行严格产品控制、采用现代设计技术、结果审查、开发小组人员少而精、并不断改进方法。

2成本_效益分析可用哪些指标进行度量?(写出公式)可用投资回收期、纯收入、投资回收率指标,通过P=F/(1+i)n计算求得。

3什么是数据流图?其中的基本符号各表示什么含义?画出定货系统基本数据流图。

用符号描绘信息在系统中流动的情况,源点、终点、处理、数据存储、数据流。

4非渐增式测试与渐增式测试有什么区别?两种都用于集成测试。

渐增式是把下一个要测试的摸块同已经测试好的模块结合起来进行测试,每次增加一个模块。

非渐增式先分别测每个模块,再把所有模块按设计要求放在一起结合成所要的程序。

5试从基本符号和设计方法分析HC图与JACKSON图异同点答:HC图是面向DFD,而JACKSON图是面向数据结构的。

符号省略。

6软件测试的目的是什么?测试的目的是为了发现错误.7结构化程序设计的思想是什么?答:自上而下,逐步求精8请解释极限编程和自适应软件开发,并说明其异同?答:极限编程和自适应软件开发都属于敏捷过程模型。

极限编程是应用最广泛的敏捷过程(2分)。

按照计划、设计、编码和测试四个框架活动组织。

极限编程建议一系列新颖和有力的技术,保证敏捷团队创建能力体现客户指定优先级特征和功能的频繁软件开发(2分)。

自适应软件开发强调人的合作和团队的组织,按思考、协作和学习的三个框架活动组织,其使用迭代过程。

该过程由自适应循环计划、相对严格的需求收集方法和一个迭代开发循环构成(2分)。

9需求工程的起始阶段,需求工程师的主要工作是?答:需求工程的起始阶段,工程师的主要工作为:1)建立基本的问题需求(2分)2)定义最重要的项目约束以及陈述主要的特征和功能(2分)3)与共利益的各方建立基本的谅解(2分)10请画出“在餐厅使用信用卡付费”这一活动的完整用例图?11分析说明结构化分析和面向对象分析的区别?答:分析建模的目标是创建各种表现形式,以描述软件信息、功能和行为的需求(2分)。

软件工程导论简答题

软件工程导论简答题

软件⼯程导论简答题三、简答题1.什么是需求分析?需求分析阶段的基本任务是什么?答:需求分析是当前软件⼯程中的关键问题,需求分析阶段的任务是:在可⾏性分析的基础上,进⼀步了解、确定⽤户需求。

准确地回答“系统必须做什么?”的问题。

获得需求规格说明书。

还涉及到软件系统的⽬标、软件系统提供的服务、软件系统的约束和软件系统运⾏的环境。

它还涉及到这些因素和系统的精确规格说明,以及系统进化之间的关系。

需求分析的基本任务包括:(1)抽取需求分析现⾏系统存在需要解决的问题。

获取⾜够多的问题领域的知识,需求抽取的⽅法⼀般有问卷法、⾯谈法、数据采集法、⽤例法、情景实例法以及基于⽬标的⽅法等;还有知识⼯程⽅法,例如,场记分析法、卡⽚分类法、分类表格技术和基于模型的知识获取等。

(2)模拟和分析需求需求分析和模拟⼜包含三个层次的⼯作。

⾸先是需求建模。

需求模型的表现形式有⾃然语⾔、半形式化(如图、表、结构化英语等)和形式化表⽰等三种。

需求概念模型的要求包括实现的独⽴性:不模拟数据的表⽰和内部组织等;需求模拟技术⼜分为企业模拟、功能需求模拟和⾮功能需求模拟等。

(3)传递需求传递需求的主要任务是书写软件需求规格说明。

(4)认可需求就是对需求规格说明达成⼀致,其主要任务是冲突求解,包括定义冲突和冲突求解两⽅⾯。

常⽤的冲突求解⽅法有:协商、竞争、仲裁、强制、教育等,其中有些只能⽤⼈的因素去控制。

(5)进化需求客户的需要总是不断(连续)地增长,但是⼀般的软件开发⼜总是落后于客户需求的增长,如何管理需求的进化(变化)就成为软件进化的⾸要问题。

对于传统的变化管理过程来说,其基本成分包括软件配置、软件基线和变化审查⼩组。

当前的发展是软件家族法,即产品线⽅法。

多视点⽅法也是管理需求变化的⼀种新⽅法,它可以⽤于管理不⼀致性,并进⾏关于变化的推理。

2.等价分类法的基本思想是什么?答:根据程序的输⼊特性,将程序的定义域划分为有限个等价区段——“等价类”,从等价类中选择出的⽤例具有“代表性”,即测试某个等价类的代表值就等价于对这⼀类其他值的测试。

软件工程期末试卷简答题(答案)

软件工程期末试卷简答题(答案)

软件⼯程期末试卷简答题(答案)软件⼯程简答1、软件和软件⽣存周期。

(什么是软件⽣存期。

)软件是能够完成预定功能和性能的可执⾏的计算机程序,包括使程序正常执⾏所需要的数据,以及有关描述程序操作和使⽤的⽂档。

(软件=程序+⽂档)软件⽣存周期:由软件定义、软件开发、运⾏维护3个时期组成,每个时期⼜进⼀步划分成若⼲阶段。

软件⽣存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程。

2、什么是软件危机?他有哪些典型的表现?产⽣的原因?软件危机是指计算机软件开发和维护过程中所遇到的⼀系列严重问题。

典型表现有:(1)对软件开发成本和进度的估计常常很不准确(2)软件产品的质量往往靠不住(3)⽤户对已完成的软件系统不满意的现象经常发⽣(4)软件常常是不可维护的(5)软件中没有适当的⽂档资料(6)软件成本在计算机系统总成本所占的⽐例逐年上升(成本上升)(7)软件开发⽣产率提⾼的速度,往往跟不上计算机应⽤迅速普及深⼊的趋势原因:(1)软件本⾝独有的特点,给开发和维护带来了困难(2)与软件开发和维护的⽅法不正确有关(3)程序只是完整软件的⼀个组成部分(4)轻视是⼀个最⼤的错误3、软件项⽬的质量管理制定软件质量保证计划,按照质量评价体系控制软件质量要素,对阶段性的软件产品进⾏评审,对最终软件产品进⾏确认,确保软件质量。

5、螺旋模型的适应场合有哪些?0104适应场合:⽀持需求不明确、特别是⼤型软件系统的开发,并⽀持⾯向规格说明、⾯向过程、⾯向对象等多种软件开发⽅法,是⼀种具有⼴阔前景的模型。

6.什么是软件过程?它与软件⼯程⽅法学有何关系?(1)软件过程是为了获得⾼质量软件所需要完成的⼀系列任务的框架,它规定了完成各项任务的⼯作步骤。

(2) 软件过程是软件⼯程⽅法学的3个重要组成部分之⼀。

(3) 软件⼯程⽅法学包含三个要素:⽅法、⼯具和过程。

7.简述软件设计的过程。

答:软件设计是把许多事物和问题抽象起来,并且抽象它们不同层次和⾓度,是将需求转变为软件陈述的过程,是迭代的过程。

软件工程导论期末试题

软件工程导论期末试题

软件工程导论期末试题第一篇:软件工程导论期末试题软件工程导论期末考试试题一.选择(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分,共20分)1. “软件危机”是指( )A. 计算机病毒的出现B. 利用计算机进行经济犯罪活动C. 软件开发和维护中出现的一系列问题D. 人们过分迷恋计算机系统2. DFD中的每个加工至少需要( )A. 一个输入流B. 一个输出流C. 一个输入或输出流D. 一个输入流和一个输出流3. 为了提高模块的独立性,模块之间最好是( )A. 控制耦合B. 公共耦合C. 内容耦合D. 数据耦合4. 下面关于PDL语言不正确的说法是( )A. PDL是描述处理过程怎么做B. PDL是只描述加工做什么C. PDL也称为伪码D. PDL的外层语法应符合一般程序设计语言常用的语法规则5. 详细设计与概要设计衔接的图形工具是( )A. DFD图B. 程序图C. PAD图D. SC图6. 不适合作为数据处理与数据库应用的语言是( )A. SQLB. CobolC. 4GLD. Lisp7. 下列关于功能性注释不正确的说法是( )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. 快速原型是利用原型辅助软件开发的一种新思想,它是在研究( )的方法和技术中产生的。

软件工程导论期末考试题

软件工程导论期末考试题

一、单项选择题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. 什么是软件工程?软件工程是指通过系统性的、可量化的方法,对软件的开发、运行和维护进行管理,以提高软件质量和效率的学科。

2. 为什么需要软件工程?软件工程的出现是为了解决传统的软件开发方式中存在的问题,例如项目延期、质量低下和开发成本高等。

通过软件工程的方法和原则,可以规范开发过程,提高开发效率和质量。

3. 软件生命周期是什么?软件生命周期是指从软件开发开始到废弃的整个过程。

它包括需求分析、设计、编码、测试、部署和维护等阶段。

4. 什么是软件需求?软件需求是对软件系统功能、性能和其他特性的描述和规定。

它包括用户需求、系统需求和软件需求规格说明等。

5. 如何进行软件需求分析?软件需求分析是指对软件需求进行细化和明确,以便于后续的设计和开发工作。

可以通过访谈用户、观察业务流程和收集用户反馈等方式进行需求分析。

6. 什么是软件设计?软件设计是指根据软件需求,定义软件系统的结构、组件和接口等,以满足需求的功能和质量要求。

7. 软件设计有哪些原则?软件设计应遵循高内聚、低耦合、模块化、可重用、可维护等原则。

同时,还需要考虑软件的可靠性、可扩展性和性能等因素。

8. 软件测试的目的是什么?软件测试的目的是评估软件系统的质量和功能是否符合需求规格。

通过测试可以发现软件中的错误和缺陷,并促使其修复,以提高系统的稳定性和可靠性。

9. 软件测试方法有哪些?常见的软件测试方法包括黑盒测试、白盒测试和灰盒测试。

黑盒测试关注输入和输出,不关心内部实现;白盒测试关注程序内部结构和代码逻辑;灰盒测试结合了黑盒测试和白盒测试的思想。

10. 什么是软件配置管理?软件配置管理是指对软件配置项进行控制和管理,保证软件系统的可控性和可维护性。

它包括配置项的标识、变更控制、版本管理和发布管理等。

11. 什么是软件项目管理?软件项目管理是指对软件项目进行计划、组织、指导和控制,以达到项目的目标和要求。

它包括进度管理、质量管理、风险管理和团队管理等方面。

软件工程导论简答题

软件工程导论简答题

1.软件工程旳七条基本原理是什么?答:软件工程旳七条基本原理是:用分阶段旳是旳生存周期计划严格管理;坚持进行阶段评审;严格实行旳产品控制;采用现代程序技术;成果应能清晰地审查;开发小组旳组员应当少而精;承认不停改善软件工程旳必要性。

2.良好旳编码风格应具有哪些条件?答:应具有如下条件:(1)使用原则旳控制构造;(2)有限制地使用GOTO语句;(3)源程序旳文档化(应具有如下内容)①故意义旳变量名称——“匈牙利命名规则”。

②合适旳注释——“注释规范”。

③原则旳书写格式:——用分层缩进旳写法显示嵌套构造旳层次(锯齿形风格);——在注释段旳周围加上边框;——在注释段与程序段、以及不一样程序段之间插入空行;——每行只写一条语句;——书写体现式时,合适使用空格或圆括号等作隔离符。

(4)满足运行工程学旳输入输出风格。

3.简述文档在软件工程中旳作用。

答:(1) 提高软件开发过程旳能见度(2) 提高开发效率(3) 作为开发人员阶段工作成果和结束标志(4) 记录开发过程旳有关信息便于使用与维护;(5) 提供软件运行、维护和培训有关资料;(6) 便于顾客理解软件功能、性能。

4.可行性研究包括哪几方面旳内容?答:(1)经济可行性:与否有经济效益,多长时间可以收回成本;(2)技术可行性:既有技术能否实现本系统,既有技术人员能否胜任,开发系统旳资源能否满足;(3)运行可行性:系统操作在顾客内部行得通吗?(4)法律可行性:新系统开发与否会侵犯他人、集体或国家利益,与否违反国家法律。

5.构造化旳需求分析描述工具有哪些?答:有数据流图(DFD)、数据字典(DD)、鉴定表、鉴定树、构造化语言(PDL)、层次方框图、Warnier图、IPO图、控制流图(CFD)、控制阐明(CSPEC)、状态转换图(STD)和实体—关系图(E—R)等。

6.一般面向对象分析建模旳工具(图形)有哪些?答:用例图、类/对象图、对象关系图、实体—关系图(E—R)、事件轨迹图(时序图)和状态转换图(STD)等7.UML统一建模语言有哪几种图形?用例图、类图、对象图、构件(组件)图、布署(配置)图、状态图、活动图、次序(时序)图、合作(协作)图等九种图。

《软件工程导论》期末考试-试题与答案

《软件工程导论》期末考试-试题与答案

《软件工程导论》期末考试-试题与答案一、填空题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.面向对象分析是对系统进行_________的一种方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

简答题1、什么是软件工程?它目标和内容是什么?软件工程就是用科学的知识和技术原理来定义,开发,维护软件的一门学科。

软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。

软件工程内容:包括开发技术和开发管理两个方面。

2、软件开发中有哪几种过程模型?哪些适用于面向对象的软件开发?软件开发中常见的软件过程模型有瀑布模型、原型模型、螺旋模型、喷泉模型、统一软件过程等。

其中喷泉模型、统一软件过程适用于面向对象的软件开发。

3、什么是结构分析方法?该方法使用什么描述工具?结构化分析:简称SA,面向数据流进行数据分析的方法。

采用自顶向下逐层分解的分析策略。

顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。

中间层则是从抽象到具体的过渡。

使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。

4、什么是软件概要设计?该阶段的基本任务是什么?把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。

称为概要设计或结构设计。

基本任务:⑴设计软件系统结构⑵进行数据结构及数据库的设计⑶编写概要设计的文档⑷评审5、软件维护有哪些内容?(1)校正性维护。

在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴露出来。

为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。

(2)适应性维护。

为了使应用软件适应计算机硬件、软件环境及数据环境的不断发生的变化而修改软件的过程称为适应性维护。

(3)完善性维护。

为增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。

(4)预防性维护。

为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。

6、软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系?软件测试要经过的步骤是:单元测试→集成测试→确认测试→系统测试。

单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。

该阶段涉及编码和详细设计文档。

集成测试是为了检查与设计相关的软件体系结构的有关问题,也就是检查概要设计是否合理有效。

确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。

系统测试是把已确认的软件与其他系统元素(如硬件、其他支持软件、数据、人工等)结合在一起进行测试。

以确定软件是否可以支付使用。

7、什么是软件生存周期?它有哪几个活动?软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。

包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。

8、衡量模块独立性的两个标准是什么?各表示什么含义?内聚和耦合。

内聚:又称为块内联系,指模块内部各成分之间相互关联的程度,以高内聚为设计目标。

耦合:也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目标。

9、什么是结构分析方法?结构化分析方法通过哪些步骤来实现?结构化分析:简称SA,面向数据流进行数据分析的方法。

采用自顶向下逐层分解的分析策略。

顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。

中间层则是从抽象到具体的过渡。

实现的步骤:⑴了解当前系统的工作流程,获得当前系统的物理模型。

⑵抽象出当前系统的逻辑模型。

⑶建立目标系统的逻辑模型。

⑷作进一步补充和优化。

10、什么是需求分析?需求分析阶段的基本任务是什么?需求分析:开发人员准确地理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的需求规格说明的过程。

基本任务:⑴问题识别⑵分析与综合,导出软件的逻辑模型⑶编写文档11、什么样是"事物流"?什么是"变换流"?数据流图(DFD)一般可分为"变换流","事物流"两种。

"变换流":由输入﹑输出﹑变换(或称处理)三部分组成,是一顺序结构。

"事物流":它的某个加工,分离成许多发散的数据流,形成许多加工路径,并且根据输入值选择其中一个路径来执行。

(这人加工称为事务处理中心)12、单元测试有哪些内容?单元测试主要针对模块的以下五个基本特征进行测试:1)模块接口2)局部数据结构 3)重要的执行路径(4)错误处理(5)边界条件13、什么是软件生存周期模型?有哪些主要模型?生存周期模型:描述软件开发过程中各种活动如何执行的模型。

对软件开发提供强有力的支持,为开发过程中的活动提供统一的政策保证,为参与开发的人员提供帮助和指导,是软件生存周期模型化技术的基础,也是建立软件开发环境的核心。

主要有:瀑布模型,增量模型,螺旋模型,喷泉模型,基于知识的模型,变换模型。

14、软件设计的基本原理包括哪些内容?⑴模块化:模块是软件的组成部分,是具有独立功能且可命名的一段程序,所有模块组成整体,可以满足问题的要求。

⑵抽象:认识复杂现象过程所使用权的工具,只考虑事物本质的共同特性,忽略细节和其它因素。

通过抽象确定组成软件的过程实体。

⑶信息隐蔽:将模块实现自身功能的细节与数据"隐蔽"起来。

模块间仅交换为完成系统功能所必须的信息。

⑷模块独立性:每个模块只完成系统要求的独立的子功能。

15、结构化程序设计的基本要点是什么?主要有三个:1、采用自顶向下、逐步求精的程序设计方法 2、使用三种基本控制结构构造程序。

任何程序都可以由顺序、选择、重复(循环)三种基本控制结构构造,这三种基本结构的共同点是单入口、单出口。

3、主程序员组的组织形式。

16、详细设计有哪几种描述方法?详细设计的描述方法有图形、表格和语言,其中图形常用结构化程序流程图、盒图和PAD(问题分析图)为描述工具,语言常用过程设计语言(PDL)来作为工具。

17、单元测试中采用什么方法?测试的方法是为被测试模块编写驱动模块和桩模块来实现被测试单元的可运行。

通过驱动模块来模拟被测试模块的上级调用模块,以上级模块调用被测模块的格式驱动被测模块,接收被测模块的测试结构并输出。

桩模块则用来代替被测试模块所调用的模块。

它的作用是返回被测模块所需的信息。

18、什么是软件配置管理?什么是基线?软件配置管理,简称SCM(Software Configuration Management),是指一组管理整个软件生存期各阶段中变更的活动。

软件配置管理技术可以使软件变更所产生的错误达到最小并最有效地提高生产率。

基线:是软件生存期中各开发阶段的一个特定点,它的作用是把开发各阶段工作的划分更加明确化,使本来连续的工作在这些点上断开,以便于检查与肯定阶段成果。

19、简述文档在软件工程中的作用?文档在软件工程中的作用如下:(1)提高软件开发过程的能见度(2)提高开发效率(3)作为开发人员阶段工作成果和结束标志(4)记录开发过程的有关信息便于使用与维护;(5)提供软件运行、维护和培训有关资料;(6)便于用户了解软件功能、性能。

20、软件工程三要素之间的关系?软件质量是软件工程的生命线,软件工程以质量保证为基础。

质量管理促进了过程的改进,创造了许多行之有效的软件开发方法和工具。

软件工程釆用层次化的方法,每个层次都包括过程、方法、工具三要素。

方法支撑过程和工具,过程和工具又促进方法学的研究。

21、说明面向对象的特征?面向对象的特征是:1)对象唯一性。

每个对象都有自身唯一的标识,在对象生存期中其标识不变,不同的对象不能有不同的标识。

2)分类性。

是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。

3)继承性。

是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。

4)多态性。

是指相同的操作或函数过程可以作用于多种类型的对象上并获得不同的结果。

22、简述"变换分析"设计步骤。

⑴确定变换中心,逻辑输入和输出。

⑵设计软件结构的顶层和第一层--变换结构。

⑶设计中﹑下层模块,对第一层的模块自顶向下分解。

⑷设计的优化:输入部分求精,每个物理输入设置专门模块,以体现系统的外部接口。

其它输入模块与转换数据模块都很简单时,可将它们合并。

23、请简述可行性研究有哪些步骤?复查系统规模和目标;研究当前的系统;导出新系统的高层逻辑模型;重新定义问题;导出和评价可供选择的解决方案;推荐可行的行动方案;草拟开发计划;书写文档并提交审查。

24、请简述黑盒测试和白盒测试有何区别,黑盒测试有哪些常用方法?黑盒测试和白盒测试的区别:前者基于功能,后者基于结构;黑盒测试常用方法有:边界值、等价类、因果图、错误推测法等。

25、什么是软件可维护性?常见的软件维护活动有哪几类?软件可维护性的定义:软件能够被理解、校正、适应及增强功能的容易程度;常见的软件维护活动有:改正型、适应型、完善型、预防型。

26、CMM全称是什么?分为哪几个级别?CMM全称是软件能力成熟度模型;从无序到有序的进化分成5个级别,分别为:1 初始级;2 可重复级;3 已定义级;4 已管理级;5 优化级。

27、什么是数据字典?简述数据字典与数据流图的关系。

数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具;数据字典与数据流图的关系:数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。

数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明。

28、软件生命周期划分为哪几个阶段?软件生命周期分为三个时期八个阶段:软件定义:问题定义、可行性研究;软件开发:需求分析、概要设计、详细设计、编码、测试;软件运行:软件维护29、简述三种面向对象模型的主要功能?①对象模型:表示了静态的结构化的系统数据性质,描绘了系统的静态结构,从客观世界实体的对象关系角度来描绘对象。

②动态模型:该模型描述了系统的控制结构,它表示了瞬间的、行为化的系统控制性质,它关心的是系统的控制及操作的执行顺序,它从对象的事件和状态的角度出发,表现了对象的交互行为。

③功能模型:表示变化的系统“功能”性质,它指明系统应该“做什么”,因此功能模型更直接的反映了用户对目标系统的要求。

30、详细设计的基本任务是什么?详细设计的基本任务包括:为每个模块进行详细的算法设计;为模块内的数据结构进行设计;对数据库进行物理设计;其他设计;编写详细设计说明书;评审。

31、黑盒测试和白盒测试有什么区别?(1)黑盒测试法: 把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程。

它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息的完整性。

相关文档
最新文档