《软件工程》期末复习题及答案

合集下载

《软件工程》期末试卷(3套含答案)

《软件工程》期末试卷(3套含答案)

《软件工程》期末试卷(一)(满分100分)考试时间:120分钟(可根据具体情况适当调整)1.单项选择题(每题2分,共20分)(1)以下哪一项不属于软件工程三要素()。

A.过程B. 方法C. 工具D. 计划(2)以下哪一项不属于软件管理过程()。

A. ISO9000B. CMMC. IEEED. 软件企业文化(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. 包含关系、扩展关系2.填空题(每题2分,共20分)(1)需求分析员参与客户需求调研,撰写________________。

(2)_______________是软件策划的核心、重点与难点。

(3)软件由程序、数据和______________组成。

(4)______________是软件设计的基础,______________是软件开发的核心。

(5)需求分析分为两个阶段,_______________阶段和需求规约阶段。

(6)对象图的组成元素包括对象和______________。

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

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

软件工程期末试题(含答案)预览说明:预览图片所展示的格式为文档的源格式展示,下载源文件没有水印,内容可编辑和复制一、填空题(每空1分,共25分)1.软件生存周期一般可以划分为,问题定义、可行性研究、需求分析、设计、编码、测试和运行和维护。

2.基于软件的功能划分,软件可以划分成___系统软件_、支撑软件、应用软件__三种。

3.可行性研究,应从经济可行性、技术可行性、运行可行性、法律可行性和开放方案可行性等方面研究。

4.系统流程图是描绘物理系统的传统工具。

它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、加工、数据流和数据存储文件。

6.结构化分析方法是面向_数据流_进行需求分析的方法。

结构化分析方法使用_数据流图DFD_与_数据字典_来描述。

7.继承性是自动地共享类、子类和对象中的方法和数据的机制。

8.软件详细设计工具可分为3类,即_图示工具_、_设计语言_和_表格工具_。

9.为了在软件开发过程中保证软件的质量,主要采取下述措施:_审查__、复查和管理复审、___测试_。

10.大型软件测试包括单元测试、集成测试、确认测试和系统测试四个步骤。

二、单项选择题(每小题2分,共20分)1.软件设计中划分模块的一个准则是( C )。

A、低内聚低耦合 B.低内聚高耦合 C.高内聚低耦合 D.高内聚高耦合2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向( C )的软件设计方法。

A、对象 B.数据流 C.数据结构 D.控制结构3.试判断下列叙述中,哪个(些)是正确的( C )。

a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.( A )是用户和设计交换最频繁的方法。

A、原型化方法B、瀑布模型方法 C. 螺旋模型方法D、构件组装模型5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C )。

软件工程期末考试参考题及答案

软件工程期末考试参考题及答案

一、填空题(每空1分, 共20分)1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。

2.按软件旳功能进行划分, 软件可以划分为系统软件、支撑软件和应用软件。

3.可行性研究重要集中在如下四个方面经济可行性、技术可行性、法律可行性和抉择。

4.顾客界面旳可使用性是顾客界面设计最重要旳也是最基本旳目旳。

5.常见旳软件概要设计措施有3大类: 以数据流图为基础构造模块构造旳___构造化设计措施_________, 以数据构造为基础构造模块旳__jackson措施__________, 以对象、类、继承和通信为基础旳__面向对象设计措施__________。

6.__数据流图________和__数据字典___共同构成系统旳逻辑模型。

7.软件测试旳措施有__分析措施________和___非分析措施_______(即黑盒法)。

8.单元测试一般以___白盒_____________测试为主, ___黑盒______测试为辅。

9.成本估计措施重要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。

二、单项选择题(每题2分, 共10分)1.下列哪个阶段不属于软件生存周期旳三大阶段( C )。

A.计划阶段B.开发阶段2. C.编码阶段 D.维护阶段3.需求分析是(A )。

A. 软件开发工作旳基础B. 软件生存周期旳开始C. 由系统分析员单独完毕旳D. 由顾客自己单独完毕旳原型化措施是软件开发中一类常用旳措施, 它与构造化措施相比较, 更需要( B )。

A. 明确旳需求定义B.完整旳生命周期C、较长旳开发时间D、纯熟旳开发人员软件维护时, 对测试阶段未发现旳错误进行测试、诊断、定位、纠错, 直至修改旳回归测试过程称为( A )。

A、改正性维护B、适应性维护C、完善性维护D、防止性维护一般说来, 投入运行旳软件系统中有错误(A )。

软件工程期末试题及答案

软件工程期末试题及答案

软件工程期末试题及答案一、选择题(每题2分,共20分)1. 以下哪项不是软件工程的基本目标?A. 提高软件的生产效率B. 提高软件的质量C. 减少软件的开发成本D. 增加软件的复杂性答案:D2. 下面哪个不属于软件工程的三个主要过程?A. 软件规格B. 软件开发C. 软件测试D. 软件维护答案:A3. 下列哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A4. 以下哪个不属于软件项目的管理活动?A. 项目计划B. 风险管理C. 质量保证D. 软件开发答案:D5. 以下哪个不是软件需求分析的工具?A. 数据流图(DFD)B. 实体关系图(ERD)C. 状态转换图(STD)D. 类图答案:B6. 以下哪个不属于软件设计的原则?A. 模块化B. 抽象C. 封装D. 继承7. 以下哪种测试方法主要用于检测软件的功能是否满足需求?A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:C8. 以下哪个不属于软件维护的类型?A. 适应性维护B. 完善性维护C. 纠错性维护D. 预防性维护答案:D9. 以下哪个不属于软件项目管理工具?A. Microsoft ProjectB. JiraC. TrelloD. Visual Studio10. 以下哪个不属于敏捷软件开发的特点?A. 短周期迭代B. 客户参与C. 重构D. 线性开发流程答案:D二、填空题(每题2分,共20分)1. 软件工程的基本目标包括提高软件的生产效率、提高软件的质量和______。

答案:减少软件的开发成本2. 软件工程的三个主要过程分别是软件规格、软件开发和______。

答案:软件维护3. 软件需求分析的主要工具包括数据流图(DFD)、实体关系图(ERD)和______。

答案:状态转换图(STD)4. 软件设计的原则包括模块化、抽象、封装和______。

答案:继承5. 软件测试的四个层次分别是单元测试、集成测试、系统测试和______。

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

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

软件工程期末试题(含答案)软件工程期末试题(含答案)1. 选择题(1) 在软件开发过程中,以下哪个活动是与需求分析相关的?A. 代码编写B. 测试C. 需求验证D. 项目规划答案:C(2) 在敏捷开发方法中,以下哪个原则强调“面对面交流”?A. 个体和交互高于工具和过程B. 客户合作高于合同谈判C. 可以交付的软件高于详尽的文档D. 响应变化高于遵循计划答案:A2. 简答题(1) 简述软件开发生命周期的阶段及每个阶段的主要任务。

答案:软件开发生命周期主要包括需求分析、设计、编码、测试和维护阶段。

需求分析阶段的主要任务是收集用户需求、进行需求分析和规格说明;设计阶段的主要任务是根据需求进行软件的整体架构设计、模块设计等;编码阶段的主要任务是根据设计文档进行程序代码的编写;测试阶段的主要任务是对软件进行功能、性能、兼容性等各方面的测试;维护阶段的主要任务是修复软件中的缺陷、升级功能等。

(2) 什么是软件需求?简述软件需求分析的过程。

答案:软件需求是对软件系统的功能、性能、接口、约束和设计约束条件的描述。

软件需求分析是指对软件需求进行识别、获取、明确和规格说明的过程。

其过程包括以下几个步骤:a. 需求获取:通过与用户交流、收集现有文档等方式,获取软件需求相关的信息;b. 需求分析:对获取的软件需求进行整理和分类,识别出需求之间的关联和依赖关系;c. 需求明确:明确每个需求的具体含义,确保需求描述准确清晰;d. 需求规格说明:将明确的需求进行形式化的规格说明,以便后续的设计和开发工作。

3. 论述题软件开发中的版本控制是一项重要的技术,它可以有效地管理和追踪软件代码的变化,并协同开发者之间的合作。

请简要讨论软件版本控制的几种常见方式及其优缺点。

答案:常见的软件版本控制方式包括本地版本控制、集中式版本控制和分布式版本控制。

每种方式都有其优缺点:a. 本地版本控制:通过在本地维护一份完整的代码仓库,实现对代码的版本控制。

软件工程期末试题(部分答案)

软件工程期末试题(部分答案)

EB登记已收款车票D受理收款 A 乘客C 车费计算一个班学生的平均成绩存储成绩 关闭文件并打 记录(3) 印平均成绩(4)计算某个科目的平均成绩创建新的成 绩记录(2) 读取科目和 初始化变量 sum 并打开文件(1) 成绩P 1图3 程序模块互连图3r5ts6uq42图 4 程序流程图a=0,b=1a++Fa<=100a++a>=20TFTa<=100Fa++图 5 程序流程图输入 A/B/C/DA>0 and B>0X=A-B X=A+BC>A and D<BY=C-D Y=C+D终止T学生成绩成绩报告核对后的成绩报告E3 E1成绩 审查 结果成绩管理系统课程 完成 通知E4D2学生成绩D1核对后的 成绩报告验证学生信息无效成绩 有效成绩2记录有效成绩课程完 成通知D5E3D45生成最终成绩单成绩单3记录无效成绩无效成 绩通知4生成成绩列表成绩审查结果成 绩 报 告列表 请求生成 成绩 成绩列表D3E4E1E21生成成 绩列表 请求无效成绩 通知 成绩 列表E2成 绩 单。

软件工程复习题(带答案)

软件工程复习题(带答案)

软件工程复习题(带答案)软件工程复习题一、单选题1、软件开发的结构化设计(SD)方法,全面指导模块划分的最重要原则应该是( c )A模块高内聚 B模块低耦合 C模块独立性 D程序模块化2、软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的什么问题?( D )A产生危机 B质量保证 C开发效率 D生产工程化3、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究的结论主要相关于( A )A软件系统目标 B软件的性能C软件的功能 D软件的质量4、软件需求分析一般应确定的是用户对软件的( D )A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求5、软件测试是满足软件的功能和性能要求,保证软件正确性的措施,一般软件测试计划的制订应始于软件开发的哪个阶段? ( D )A.需求分析B.软件设计C.程序编码D.软件计划6、软件工程方法是在实践中不断发展的方法,而早期的软件工程方法主要是指( B )A.原型化方法B.结构化方法C.面向对象方法.D.功能分解法7、数据流图描述数据在软件中流动和被处理变换的过程,它是以图示的方法来表示,即.( A )A.软件模型B.软件功能C.软件结构D.软件加工8、软件工程学涉及到软件开发技术和工程管理两方面的内容,下述内容中哪一个不属于开发技术的范畴?(D)A.软件开发方法B.软件开发工具C.软件工程环境D.软件工程经济9、软件文档是软件工程实施中的重要成份,它不仅是软件开发的各阶段的重要依据,而且也影响软件的()A.可理解性B.可维护性C.可扩展性D.可靠性10、从( )语言开始,软件摆脱了对硬件的依赖。

A.第一代B.第二代C.第三代D.第四代11、在下面列出的基本成分中,哪个不是实体关系图的基本成分? ( )A.实体B.数据存储C.关系 D属性13、结构化程序设计主要强调程序的(C)A.效率B.速度C.可读性D.大小14、在软件工程中根据程序的功能说明,而不关心程序内部逻辑的测试方法为( A )A.黑盒法B.白盒法C.灰盒法D.综合法15、软件开发的结构化分析方法,常用的描述软件功能需求的工具有( C )A业务流程图,数据字典 B.软件流程图,模块说明C.数据流图,数据字典D.系统流程图,程序编码16、结构化程序设计思想的核心是要求程序只由顺序、循环和( A )三种结构组成。

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

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

一、填空题(每空1分,共25分)1.软件生存周期一般可以划分为,问题定义、可行性研究、需求分析、设计、编码、测试和运行和维护。

2.基于软件的功能划分,软件可以划分成___系统软件_、支撑软件、应用软件__三种。

3.可行性研究,应从经济可行性、技术可行性、运行可行性、法律可行性和开放方案可行性等方面研究。

4.系统流程图是描绘物理系统的传统工具。

它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、加工、数据流和数据存储文件。

6.结构化分析方法是面向_数据流_进行需求分析的方法。

结构化分析方法使用_数据流图DFD_与_数据字典_来描述。

7.继承性是自动地共享类、子类和对象中的方法和数据的机制。

8.软件详细设计工具可分为3类,即_图示工具_、_设计语言_和_表格工具_。

9.为了在软件开发过程中保证软件的质量,主要采取下述措施:_审查__、复查和管理复审、___测试_。

10.大型软件测试包括单元测试、集成测试、确认测试和系统测试四个步骤。

二、单项选择题(每小题2分,共20分)1.软件设计中划分模块的一个准则是(C )。

A、低内聚低耦合 B.低内聚高耦合C.高内聚低耦合 D.高内聚高耦合2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向( C )的软件设计方法。

A、对象 B.数据流 C.数据结构 D.控制结构3.试判断下列叙述中,哪个(些)是正确的( C )。

a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.( A )是用户和设计交换最频繁的方法。

A、原型化方法B、瀑布模型方法 C. 螺旋模型方法D、构件组装模型5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C )。

软件工程期末试卷十套含答案

软件工程期末试卷十套含答案

软件工程期末试题一单项选择题1.瀑布模型的存在问题是BA.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做 CA.软件工程B.软件周期C.软件危机D.软件产生3.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是 BA.数据、公共、标记、控制B.数据、标记、控制、公共C.控制、数据、标记、公共D.控制、数据、公共、标记4.在SD方法中全面指导模块划分的最重要的原则是DA.程序模块化B.模块高内聚C.模块低耦合D.模块独立性5.软件测试的目的是 B ;A.评价软件的质量 B. 发现软件的错误C.找出软件的所有错误 D. 证明软件是正确的6.在设计测试用例时, A 是用得最多的一种黑盒测试方法;A.等价类划分 B. 边界值分析 C. 因果图 D. 判定表7. 需求分析最终结果是产生B ;A. 项目开发计划B. 需求规格说明书C. 设计说明书D. 可行性分析报告8. Jackson图中,模块框之间若有直线连接,表示它们之间存在B ;A. 调用关系B. 组成关系C. 链接关系D. 顺序执行关系9. 软件详细设计的主要任务是确定每个模块的C ;A. 功能B. 外部接口C. 算法和使用的数据结构D. 编程10.为了提高软件的可维护性,在编码阶段应注意 DA.保存测试用例和数据B.提高模块的独立性C.文档的副作用D.养成好的程序设计风格11.设年利率为i,现存入p元,若计复利,n年后可得钱数为BA.p﹡1+i﹡n B.p﹡i+1nC.p﹡1+i﹡n D.p﹡i+n12.在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示;动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是A ;A .状态图 B. 数据流图 C. 系统结构图 D. 时序图13. 对象实现了数据和操作的结合,使数据和操作C 于对象的统一体中;A. 结合B. 隐藏C. 封装D. 抽象14. 软件详细设计的主要任务是确定每个模块的 A ;A. 算法和使用的数据结构B. 外部接口C. 功能D. 编程15. 软件结构图中,模块框之间若有直线连接,表示它们之间存在 A ;A. 调用关系B. 组成关系C. 链接关系D. 顺序执行关系16. 需求分析最终结果是产生B ;A. 项目开发计划B. 需求规格说明书C. 设计说明书D. 可行性分析报告17. 在详细设计阶段,经常采用的工具有A ;A. PADB. SAC. SCD. DFD18.因计算机硬件和软件环境的变化而作出的修改软件的过程称为 CA.教正性维护B.适应性维护C.完善性维护D.预防性维护20.为了提高软件的可维护性,在编码阶段应注意 DA.保存测试用例和数据B.提高模块的独立性C.文档的副作用D.养成好的程序设计风格1.面向对象开发方法包括OOA、OOD和OOP三部分;2.效益分有形效益和无形效益两种;有形效益可用纯收入、货币时间的价值、投资回收期等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较;3.从应用特点的角度来看,我们可以把高级语言分为基础语言、结构语言和专用语言三类; 设计题已知有如下的伪代码程序:STARTI:=1;WHILE i:<=n-1 DOmin:=Ai;j:=i+1;WHILEj<=n DOIF min>AjTHENBLOCKtemp:=min;min:=Aj;Aj:=temp;ENDBLOCKENDIF;j:=j+1;ENDDOi:=i+1;ENDDOSTOP软件工程期末试题二一, 判断题正确的在括号内打上"√",错误的打上"×".每题1.5分,共15分Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格.×PAD图在设置了五种基本控制结构后,还允许递归调用. × 你为了加快软件维护作业的进度,应尽可能增加维护人员的数目.×当验收测试通过,软件开发就完成了.×完成测试作业后,为了缩短源程序的长度应删除程序中的注解.×系统结构图是精确表达程序结构的图形表示法.因此,有时也可以将系统结构图当作系统流程图使用.×在程序调试时,找出错误的位置和性质比改正该错误更难.√以对象,类,继承和通信为基础的面向对象设计方法OOD也是常见的软件概要设计方法之一.√二,单项选择题每小题2分,共10分试判断下列叙述中,哪个些是正确的Da,软件系统中所有的信息流都可以认为是事务流b,软件系统中所有的信息流都可以认为是变换流c,事务分析和变换分析的设计步骤是基本相似的A,a B,b C,c D,b和c进行需求分析可使用多种工具,但B是不适用的.A,数据流图 B,PAD图 C,判定表 D,数据词典在详细设计阶段,经常采用的工具有A.A,PAD B,SA C,SC D,DFD详细设计的结果基本决定了最终程序的CA,代码的规模 B,运行速度 C,质量 D,可维护性使用白盒测试方法时,确定测试数据应根据A和指定的覆盖标准.A,程序的内部逻辑 B,程序的复杂程度C,该软件的编辑人员 D,程序的功能三,多项选择题每题2分,共10分.注:正确得2分,漏选得1分,多选,错选不得分. ABCD可以作为模块.A,子程序 B,函数 C,过程 D,编译文件下面哪些测试属于黑盒测试BCD.A,路径测试 B,等价类划分 C,边界值分析 D,错误推测 E,循环测试下列属于度量效益方法的是ABCD.A,货币的时间价值 B,投资回收期 C,收入 D,投资回报率软件维护的策略包括BCD.A,定期检测维护 B,改正性维护 C,适应性维护 D,完善性维护下列属于软件测试过程的是ABE.A,单元测试 B,组装测试 C,内核测试 D,法律验证 E,确认测试四,简答题每题6分,共24分1、耦合性和内聚性有几种类型其耦合度,内聚强度的顺序如何答案:低:非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内容耦合:高强:功能内聚,信息内聚,通信内聚,过程内聚,时间内聚,逻辑内聚,偶然内聚:弱2、请举例说明什么是多态,什么是重载答案:多态性是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象.也就是说,在类等级的不同层次中可以共享公用一个行为方法的名字,然而不同层次中的每个类却各自按自己的需要来实现这个行为.当对象接收到发送给它的消息时,根据该对象所属于的类动态选用在该类中定义的实现算法.3、重载是指一个类中有多个同名的方法,但在操作数个数或类型上有区别.例: public class A{int age;String name;public void setValueint i {age=i; }public void setValueString s {name=s; }4、什么是数据字典简述数据字典与数据流图的关系.答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具.2分数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用. 数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明.3分5、简述编码风格的重要性.答案:阅读程序是软件开发和维护过程中的一个重要组成部分,程序实际上也是一种供人阅读的文章.应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间.良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量.面向对象的测试和传统开发方法的测试有什么不同答案:1二者都可以分成四个阶段进行.但传统测试最小单元是模块,而在面向对象环境下,最小的可测试的单元是封装了的类或对象,而不是程序模块.2因为面向对象软件没有一个层次的控制结构,所以传统的自顶向下和自底向上的组装策略意义不大. 每次将一个操作组装到类中像传统的增殖式组装那样常常行不通,因为在构成类的各个部件之间存在各种直接的和非直接的交互.对于面向对象系统的组装测试,存在两种不同的测试策略.软件工程期末试卷三2004年下半年期末考试开放教育本科计算机科学与技术专业软件工程试题B2005年1月一、填空题每空1分,共20分1.软件生存周期一般可分为__________、可行性研究、__________、设计编码、__________、运行与维护阶段;2.IPO图由__________、__________和__________三个框组成;3.软件=__________+__________;4.软件测试的方法有__________和__________即黑盒法;5.Jackson图除了可以表达程序结构外,还可以表达__________;6.详细设计的工具有图形工具、__________和__________;7.__________和__________共同构成系统的逻辑模型;8.成本估计方法主要有__________、__________和算法模型估计三种类型;9.在需求分析阶段常用的图形工具有__________、__________、__________三种;答案:填空题每空1分,共20分1、问题定义需求分析测试2、输入处理输出3、程序文档4、分析方法非分析方法5、数据结构6、表格工具语言工具7、数据流图数据字典8、自顶向下估计自底向上估计9、层次方框图Warnier图IPO图二、单项选择题每小题2分,共10分1.系统流程图是描绘的传统工具;A、逻辑系统B、数据结构C、状态变迁D、物理系统2.下列模块独立性最强的是A、非直接耦合B、数据耦合C、公共耦合D、内容耦合3.下列哪个阶段不属于软件生存周期的三大阶段;A、计划阶段B、开发阶段C、编码阶段D、维护阶段4.常见的软件概要设计方法有3大类,其中以数据流图为基础构造模块结构的是;A、J ackson方法和LCPWanier逻辑构造方法B、结构化设计方法SDC、面向对象设计方法OODD、快速原型法5.使用白盒测试方法时,确定测试数据应根据和指定的覆盖标准;A、程序的内部逻辑B、程序的复杂程度C、该软件的编辑人员D、程序的功能答:1、D 2、A 3、C 4、A 5、A三、多项选择题每题2分,共10分1.可以作为模块;A、子程序B、函数C、过程D、编译文件2.关于内容耦合的描述正确的是;A、内容耦合是最高程度的耦合B、高级语言一般设计成允许内容耦合的形成C、应该尽量使用内容耦合D、如果一个模块可以直接调用另一模块,则可以称为内容耦合3.下列属于度量效益方法的是;A、货币的时间价值B、投资回收期B、收入D、投资回报率4.软件维护的策略包括;A、定期检测维护B、改正性维护C、适应性维护D、完善性维护5.下列不属于软件测试过程的是;A、单元测试B、组装测试C、内核测试D、法律验证答:1、ABCD 2、AD 3、ABC 4、BCD 5、CD四、判断题正确的在括号内打上“√”,错误的打上“×”;每题2分,共20分1.Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格;2.PAD图在设置了五种基本控制结构后,还允许递归调用;3.为了加快软件维护作业的进度,应尽可能增加维护人员的数目;4.当验收测试通过,软件开发就完成了;5.完成测试作业后,为了缩短源程序的长度应删除程序中的注解;6.在进行总体设计时应加强模块间的联系;7.系统结构图是精确表达程序结构的图形表示法;因此,有时也可以将系统结构图当作系统流程图使用;8.用黑盒法测试时,测试用例是根据程序内部逻辑设计的;9.在程序调试时,找出错误的位置和性质比改正该错误更难;10.以对象、类、继承和通信为基础的面向对象设计方法OOD也是常见的软件概要设计方法之一;答:1—5:√√×××6—10:×××√√五、简答题每题5分,共20分1.什么是软件危机为什么会产生软件危机答:软件危机是指软件在开发和维护过程遇到的一系统严重问题,主要包含二方面的问题,一是如何开发利用软件,三是如何维护数量不断膨胀的已有软件.产生软件危机的原因,一方面与软件本身的特点有关,另一方面和软件开发与维护的方法不正确有关;2.什么是软件的生存周期包括哪几个部分答:个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期;软件生存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程;它包括制定计划、需求分析、软件设计、程序编写、软件测试、运行维护等;3.什么是黑盒测试法答:黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据,产生正确地输出信息;4.耦合性和内聚性有几种类型其耦合度、内聚强度的顺序如何答:低:非直接耦合→数据耦合→标记耦合→控制耦合→外部耦合→公共耦合→内容耦合:高强:功能内聚→信息内聚→通信内聚→过程内聚→时间内聚→逻辑内聚→巧合内聚:弱六、分析设计题共20分1.8分假设开发某个计算机应用系统的投资额为3000元,该计算机应用系统投入使用后,每年可以节约1000元,5年内可能节约5000元;3000元是现在投资的钱,5000元是5年内节省的钱,假定年利率为12%,请计算该系统的纯收入,投资回收期,投资回收率;投资回收期:3+3000-2407.15/3044.09-2407.15=3.93投资回收率为r3000=1000/1+r+1000/1+r2+1000/1+r3+1000/1+r4+1000/1+r5解得r=20%2.求一组数组中的最大数, 数组表示为An ,n=1,2……n的自然数;12分1)请画出程序流程图4分2)请画出该算法的N-S图4分3)请用PAD图来表示该算法4分答:121.4分3软件工程期末试卷四一、简答题25%, 每小题5分:1.请简要说明需求分析的三个层次包括那些主要内容;软件需求包括三个不同的层次—业务需求、用户需求和功能需求—也包括非功能需求;业务需求反映了组织机构或客户对系统、产品高层次的目标要求;用户需求文档描述了用户使用产品必须要完成的任务;功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求;2.为什么要设计独立性强的模块以及如何判断模块的独立性第一3分,耦合1分,内聚1分模块独立性强,则:1系统容易开发2系统可靠性高3系统容易维护判断模块独立性的基本原则:“耦合小,内聚大”3.若现有类已经进行了彻底的测试,为什么必须对从现有类中实例化的子类进行重新测试使用的场景:3分. 2分因为父类和子类的运行环境是不同的;另外,如果是多重继承会显著地增加派生类的复杂程度,导致一些难以发现的隐含错误;4.要开发质量“非常好”的软件,请从软件工程的角度分析其利与弊;利:3分;弊:2分利:容易维护,用户比较满意弊:成本高,周期长5、采用面向对象方法设计软件系统时,子系统的划分常采用水平划分或垂直划分的方式,请说明这两种划分所得子系统的特点;c/s:3分,p2p:2分水平划分系统的p2p:每个字系统可以调用任意其他子系统,比c/s复杂,可能死锁;垂直划分c/s:客户端调用服务器端,服务器提供服务,并返回结果;客户端需要知道服务器的接口,而服务器不必知道客户端接口;二、应用题45%,1-3每小题10分,4小题15分1.公司计划采用新技术开发一款新的软件产品,希望尽快占领市场,假设你是项目经理,你会选择哪种软件过程模型为什么选模型:5分;原因:5分选用模型:可采用增量模型/增量+ 原形/螺旋模型等等;但如果采用快速开发则不太适宜;分析原因:技术相对比较新,而且需要快速占领市场,所以应短期内出现产品的原形或者是可用的子系统;2.请根据下面的任务安排表,画出任务网络图、甘特图、标识关键路径和阶段里程碑位置;任务网络图:甘特图任务网络图3分 甘特图3分 标识关键路径2分 阶段里程碑位置2分;3.设有一个程序,读入三个整数,代表三角形的三条边;输出表明三角形是不规则的、等腰的或等边的;请采用黑盒的等价类划分方法,设计一组测试用例; 不规则:3 4 5等腰:3 3 4 等边:3 3 3 其他:1 9 2不规则的3分时间3.13.63.113.163.213.263.30活动需求分析 测试计划 概要设计 测试方案设计详细设计编码 产品测试 文档整理等腰3分 等边3分 其他1分4.设计一个简化的网上个人银行查询系统,用户可以通过Internet 查询自己帐户的收支明细、余额和修改密码; 一采用结构化方法:7分1请画出E-R 图2分DFD 图的第0层和第1层;3分 2)编写两个关键词条的数据字典;2分E-R 图DFD 图第0层输入命令: 查询帐户明细 查询帐户余额 修改密码数据字典:名称:帐号别名:无何处使用/如何使用:登陆帐户时需要输入描述:帐户的唯一标识,每个帐户对应一个帐号帐号= 12个数字名称:帐户密码别名:无何处使用/如何使用:登陆帐户时输入;修改密码时输入,修改成功后保存到帐户数据库描述:密码=6个字母二采用面向对象方法:8分1请画出系统的用例图;2分2)识别出系统的主要类2分User、Account、DetailItem主要要包括用户、帐户、收支明细等类;并画其中的二个类图包含主要属性和操作;2分3画一个UML时序图,描述一次通过网上银行查询余额的具体交互;2分软件工程期末试卷五一、填空题1.软件开发模型有瀑布模型、螺旋模型、第四代技术模型、原型模型、构件组装模型、混合模型;2.可行性研究一般可以从经济可行性、技术可行性、运行可行性、法律可行性和开发可行性等方面来研究;3.现在向银行存款,年利率为i,若希望在n年后从银行得到F元,现在应该存入的钱数为F/1+i n;4.数据流图的基本符号包括数据输入的源点和数据输出的汇点加工数据流数据存储文件5.Jackson图除了可以表达程序结构外,还可以表达数据结构,它首先要分析数据结构,并用适当的工具来描述;6.详细设计的工具有图形工具、表格工具和语言工具;7.IPO图由输入、处理和输出三个框组成;这个图的特点是能够直观的显示三者之间的关系;8.面向对象技术是一整套关于如何看待软件系统和现实世界的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学;面向对象方法是一种运用对象、类、继承、封装、聚集、消息传送、多态性等概念来构造系统的软件开发方法;二、单项选择题1.下列 A 属于系统软件;A.WINDOWS 2000B.WordC.FlashD.3D MAX2.下列哪个图是N-S图的构件 C ;A. B.C.D.3.对于螺旋模型,下列 D ;A. 制定计划B. 实施工程C. 风险分析D. 程序编码三、多项选择题1.软件危机可以表现为ABCD ;A.产品不符合用户的需要B.软件产品的质量差C.软件的可维护性差D.软件的价格昂贵2.Jackson图中一般可能包括ABCD ;A.表头B.表体C.表名D.字段名3.关于内容耦合的描述正确的是AD ;A、内容耦合是最高程度的耦合B、应该尽量使用内容耦合C、高级语言一般设计成允许内容耦合的形式D、如果一个模块有多个入口,可能发生内容耦合4.下列属于不标准的书写格式BCD ;A、书写时适当使用空格分隔B、一行写入多条语句C、嵌套结构不使用分层缩进的写法D、程序中不加注释四、判断题正确的在括号内打上“√”,错误的打上“”1.软件生存周期是从软件开始开发到开发结束的整个时期;×2.系统流程图是一个典型的描述逻辑系统的传统工具; ×3.数据流图和数据字典共同构成系统的逻辑模型; √4.扇出是一个模块直接调用的模块数目,一般推荐的扇出为3或4; √5.耦合用于衡量一个模块内部的各个元素彼此结合的紧密程度; ×6.程序运行过程中出现错误叫做容错; ×7.软件测试的目的是证明程序没有错误; ×8.白盒测试法是将程序看成一个透明的盒子,不需要了解程序的内部结构和处理过程;×五、问答题1.什么是软件生存周期;答:一个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期;软件生存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程;2.在需求分析阶段,建立目标系统的逻辑模型的具体做法是什么;答:系统流程图是描述物理系统的传统工具;它的基本思想是用图形符号以黑盒子形式描绘系统里的每个部件程序、文件、数据库、表格、人工过程等;系统流程图表达的是部件的信息流程,而不表示对信息进行加工处理的控制过程;3.为什么数据流图要分层答:这了表达数据处理过程的数据加工情况,用一个数据流图是不够的;为表达稍为复杂的实际问题,需要按照问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系;4.软件的质量反应为哪些方面的问题答:软件需求是度量软件质量的基础,不符合需求的软件就不具备质量;在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软件;如果不遵守这些开发准则,软件质量就得不到保证;往往会有一些隐含的需求没有明确地提出来;如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量也不能保证;软件质量是各种特性的复杂组合;它随着应用的不同而不同,随着用户提出的质量要求不同而不同;软件工程期末试卷六软件工程导论试题一.选择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、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是CA、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为 BA、相互排斥B、相互补充C、独立使用D、交替使用7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法CA、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法C、基于对象的面向对象的方法D、基于数据的数据流开发方法8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高BA、结构化方法B、原型化方法C、面向对象的方法D、控制流方法9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的BA、控制流B、数据流C、程序流D、指令流10、软件开发的结构化生命周期方法将软件生命周期划分成AA、计划阶段、开发阶段、运行阶段B、计划阶段、编程阶段、测试阶段C、总体设计、详细设计、编程调试D、需求分析、功能定义、系统设计11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为AA、瀑布模型B、对象模型C、螺旋模型D、层次模型12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是 CA、分析阶段B、设计阶段C、编码阶段D、测试阶段二.填空21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的信息流动情况;解析系统流程图是描述物理系统的传统工具,用图形符号表示系统中的各个元素,如人工处理、数据处理、数据库、文件、设备等,表达了元素之间的信息流动的情况;22.成本效益分析的目的是从经济角度评价开发一个项目是否可行;解析成本效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡,其目的是从经济角度评价开发一个新的软件项目是否可行; 23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和宽度优先策略;解析渐增式测试法有自顶向下结合和自底向上结合两种组装模块的方法,其中自顶向下集成是构造程序结构的一种增量式方式,不需要编写驱动模块,只需要编写桩模块;它从。

软件工程期末试卷(十套含答案)

软件工程期末试卷(十套含答案)

软件工程期末试卷(十套含答案)-CAL-FENGHAI.-(YICAI)-Company One1软件工程期末试题(一)单项选择题1.瀑布模型的存在问题是( B )A.用户容易参与开发 B.缺乏灵活性C.用户与开发者易沟通 D.适用可变需求2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )A.软件工程B.软件周期C.软件危机D.软件产生3.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是( B )A.数据、公共、标记、控制B.数据、标记、控制、公共C.控制、数据、标记、公共D.控制、数据、公共、标记4.在SD方法中全面指导模块划分的最重要的原则是( D )A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性5.软件测试的目的是( B )。

A.评价软件的质量 B. 发现软件的错误C.找出软件的所有错误 D. 证明软件是正确的6.在设计测试用例时,( A )是用得最多的一种黑盒测试方法。

A.等价类划分 B. 边界值分析 C. 因果图 D. 判定表7. 需求分析最终结果是产生( B )。

A. 项目开发计划B. 需求规格说明书C. 设计说明书D. 可行性分析报告8. Jackson图中,模块框之间若有直线连接,表示它们之间存在(B )。

A. 调用关系B. 组成关系C. 链接关系D. 顺序执行关系9. 软件详细设计的主要任务是确定每个模块的( C )。

A. 功能B. 外部接口C. 算法和使用的数据结构D. 编程10.为了提高软件的可维护性,在编码阶段应注意( D )A.保存测试用例和数据B.提高模块的独立性C.文档的副作用D.养成好的程序设计风格11.设年利率为i,现存入p元,若计复利,n年后可得钱数为(B)A.p﹡(1+i﹡n) B.p﹡(i+1)nC.p﹡(1+i)﹡n D.p﹡(i+n)12.在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示。

动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是( A )。

软件工程期末试卷(十套含答案)

软件工程期末试卷(十套含答案)

软件工程期末试卷(十套含答案)一、选择题(每题1分,共5分)A. 方法论B. 工具C. 过程D. 人员2. 下列哪一项不是软件生命周期的阶段?A. 需求分析B. 设计C. 编码D. 销售与市场A. 瀑布模型B. 喷泉模型C. 增量模型D. 敏捷模型4. 下列哪种方法不是软件需求获取的方法?A. 问卷调查B. 访谈C. 观察D. 编码A. 单一职责原则B. 开放封闭原则C. 里氏替换原则D. 依赖倒置原则二、判断题(每题1分,共5分)1. 软件工程的目标是生产出高质量的软件产品。

(√/×)2. 在软件开发过程中,需求分析阶段是最重要的阶段。

(√/×)3. 软件开发模型只有瀑布模型和喷泉模型两种。

(√/×)4. 在面向对象方法中,类是现实世界中实体的抽象。

(√/×)5. 软件测试的目的是证明软件的正确性。

(√/×)三、填空题(每题1分,共5分)1. 软件工程的三要素包括方法论、工具和______。

2. 软件生命周期包括需求分析、设计、编码、测试和______。

3. 在面向对象方法中,对象是现实世界中实体的______。

4. 软件开发模型包括瀑布模型、喷泉模型、增量模型和______。

5. 软件测试的目的是发现软件中的______。

四、简答题(每题2分,共10分)1. 简述软件工程的目标。

2. 简述软件生命周期的阶段。

3. 简述面向对象方法的基本概念。

4. 简述软件开发模型的作用。

5. 简述软件测试的目的。

五、应用题(每题2分,共10分)1. 假设你是一个软件开发人员,你需要为一个图书馆开发一个图书管理系统。

请列出该系统的需求。

2. 请解释瀑布模型和喷泉模型的区别。

3. 请解释面向对象方法中的继承和多态的概念。

4. 请解释软件测试中的黑盒测试和白盒测试的区别。

5. 请解释软件维护的类型。

六、分析题(每题5分,共10分)1. 假设你是一个软件开发人员,你需要为一个在线购物网站开发一个支付系统。

软件工程期末复习题(含答案)

软件工程期末复习题(含答案)

软件工程必备期末复习题选择题1.软件设计中划分模块的一个准则是( C )。

A 低内聚低耦合B低内聚高耦合C高内聚低耦合D.高内聚高耦合2.( A )是用户和设计交换最频繁的方法。

A、原型化方法B、瀑布模型法C、螺旋模型方法D、构件组装模型3. 试判断下列叙述中,哪个些是正确的( C )。

a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C )A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质5.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言( D )A、PASCALB、VISUAL BASICC、C++D、汇编语言6. 软件测试的目的是?( D )A.软件的正确性B.找出软件系统中存在的所有错误C.证明软件系统中存在错误D.尽可能多的发现软件系统中的错误7.使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。

A、程序的内部逻辑B、程序的复杂程度C、该软件的编辑人员D、程序的功能8.软件维护工作的最主要部分是( C )。

A、纠正性维护B、适应性维护C、完善性维护D、预防性维护9.PDL是( B )语言。

A.高级程序设计语言B、伪码式C、中级程序设计语言D、低级程序设计语言10.软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立( C )。

A、软件结构B、软件过程C、软件模型D、软件模块11.在数据流图中,○(椭圆)代表( B )A、数据流B、转换C、数据源D、外部实体12.总体设计目的是确定整个系统的( D )。

A、规模B、测试方案C、费用D、功能及模块结构13. 检查软件产品是否符合需求定义的过程称为( A )。

软件工程-期末考试题(含答案)

软件工程-期末考试题(含答案)

软件工程-期末考试题(含答案)软件工程-期末考试题(含答案)1. 题目一:软件需求工程软件需求工程是软件开发的重要环节之一,主要包括需求获取、需求分析、需求规格、需求验证等阶段。

在软件开发的整个过程中,需求工程的目标是确保开发出的软件能够满足用户的需求,同时保证软件的质量和可靠性。

1.1 需求获取需求获取是软件需求工程的第一步,它涉及到对用户的需求进行调研和收集。

需求获取的方法可以包括面谈、问卷调查、观察等。

通过与用户的沟通和了解,开发团队可以获取到用户对软件的期望和需求,为后面的分析和规格阶段提供依据。

1.2 需求分析需求分析是对收集到的需求进行认真分析和理解的过程。

在这个阶段,开发团队将准确定义软件所需具备的功能、性能和约束。

通过对需求的分析,可以帮助开发团队更好地理解用户的需求,并将其转化为可执行的任务。

1.3 需求规格需求规格是将需求分析的结果进行详细描述和规范化的过程。

在这个阶段,开发团队需要将需求规格书写成可读、可理解的形式,以便于开发人员进行后续的开发工作。

需求规格书通常包括用例图、类图、时序图等各种工具和技术。

1.4 需求验证需求验证是对需求的正确性和完整性进行验证的过程。

在这个阶段,开发团队需要与用户进行确认,确保所开发的软件能够满足用户的期望和需求。

需求验证也可通过模拟测试、原型验证等方式进行。

2. 题目二:软件设计原则软件设计原则是开发人员编写高质量软件的指导原则,旨在提高软件的可维护性、可扩展性和可重用性。

下面介绍几个常用的软件设计原则。

2.1 单一职责原则单一职责原则(SRP)要求每个类或模块只负责一种功能或职责。

这样可以保持代码的简洁性和可读性,并使得类或模块更加易于维护和扩展。

2.2 开放封闭原则开放封闭原则(OCP)要求软件实体(类、模块、函数等)应该对扩展开放,对修改封闭。

这样可以使得软件设计能够适应需求的变化,而不需要修改原有的代码。

2.3 里氏替换原则里氏替换原则(LSP)要求子类必须能够替换父类,并且不影响程序的正确性。

软件工程期末考试试卷附答案

软件工程期末考试试卷附答案

软件工程期末考试试卷附答案一. 选择题(每题4分,共30题,总分120分)1. 软件工程的目标是什么?A. 提高软件开发效率和质量B. 实现软件系统的功能需求C. 加快软件产品的上市时间D. 增加软件系统的用户体验答案:A2. 软件生命周期模型有哪些?A. 瀑布模型B. 原型模型C. 敏捷开发模型D. 螺旋模型答案:A、B、C、D3. 在软件工程中,需求工程的任务是什么?A. 收集用户需求B. 分析用户需求C. 规划需求开发过程D. 验证和确认需求答案:A、B、C、D4. 软件配置管理是指什么?A. 管理软件的需求变更B. 管理软件的源代码C. 管理软件的版本迭代D. 管理软件的错误修复答案:B、C、D5. 软件测试的目的是什么?A. 发现软件中的错误和缺陷B. 验证软件是否满足用户需求C. 提高软件的可靠性和质量D. 减少软件开发时间和成本答案:A、B、C6. 软件维护是指什么?A. 修复发现的软件错误B. 优化软件的性能和效率C. 更新软件的功能和特性D. 软件系统的日常管理和支持答案:A、B、C、D7. 软件风险管理包括哪些活动?A. 风险识别和评估B. 风险规避和转移C. 风险监控和控制D. 风险应对和应急处理答案:A、B、C、D8. 软件工程的核心原则是什么?A. 解释性和可行性原则B. 详细性和可测性原则C. 可维护性和可扩展性原则D. 可重复性和可验证性原则答案:B、C、D9. UML(统一建模语言)是用来做什么的?A. 描绘软件系统的静态结构B. 描述软件系统的行为和交互C. 绘制软件系统的数据流程D. 显示软件系统的部署结构答案:A、B、C、D10. 软件工程中的项目管理包括哪些主要过程?A. 项目计划和进度管理B. 项目风险和质量管理C. 项目需求和配置管理D. 项目团队和沟通管理答案:A、B、C、D11. 软件度量是用来做什么的?A. 评估软件产品的质量B. 监控软件开发的进展C. 改进和优化软件工艺D. 比较不同软件的性能答案:A、B、C、D12. 软件工程的伦理问题包括什么?A. 知识产权和版权问题B. 用户隐私和数据保护C. 软件安全和漏洞利用D. 职业道德和责任意识答案:A、B、C、D13. 什么是软件工程的标准?A. 是评估软件工程管理的指标B. 是规定软件开发流程的指南C. 是实现软件质量保证的方法D. 是确保软件安全性的基准答案:B、C14. 软件工程中的团队协作有哪些挑战?A. 沟通和协调不畅B. 人员技能和素质不匹配C. 资源和时间的约束D. 对项目目标和需求理解不一致答案:A、B、C、D15. 关于软件工程的学科范畴,下列说法正确的是:A. 软件工程包括软件开发过程的实施和管理B. 软件工程仅关注软件开发阶段C. 软件工程只涉及编程和代码实现D. 软件工程不包括对用户需求的研究答案:A二. 简答题(每题10分,共5题,总分50分)1. 什么是软件工程?软件工程的基本原理和方法有哪些?答案:软件工程是将工程学原理和方法应用于软件开发的学科,旨在提高软件开发的效率和质量。

国开电大本科《软件工程》期末考试试题及答案

国开电大本科《软件工程》期末考试试题及答案

国开电大本科《软件工程》期末考试试题及答案一、选择题(每题2分,共20分)1. 软件工程的三要素是:_______A. 软件开发、软件维护、软件管理B. 软件设计、软件编码、软件测试C. 软件需求分析、软件设计、软件开发D. 软件开发、软件项目管理、软件维护答案:B2. 下面哪个不是软件工程的七个基本活动之一?_______A. 软件规格说明B. 软件设计和实现C. 软件验证D. 软件部署答案:D3. 面向对象方法中,下面哪个不是三大基本特征之一?_______A. 封装B. 继承C. 多态D. 模块化答案:D4. 软件需求分析的主要目的是:_______A. 确定软件的功能和性能要求B. 设计软件的结构C. 编写软件的测试用例D. 确定软件的开发计划答案:A5. 下面哪个不属于软件测试的级别?_______A. 单元测试B. 集成测试C. 系统测试D. 需求测试答案:D二、填空题(每题2分,共20分)6. 软件生命周期是指软件从_______到_______的全过程。

答案:需求分析、软件退役7. 结构化分析方法主要包括数据流图(DFD)、_______和_______。

答案:实体关系图(ER图)、状态转换图(STD)8. 在软件设计中,设计模式是一种_______的解决方案,它可以解决软件设计中的常见问题。

答案:通用9. 软件编码阶段的主要任务是编写_______和_______。

答案:源代码、文档10. 软件测试的目的是_______,而不是证明软件是正确的。

答案:发现错误三、简答题(每题5分,共25分)11. 简述软件工程的定义及其目标。

答案:软件工程是一门应用计算机科学、数学及管理科学的方法、技术和工具,来定义、开发和维护软件的学科。

软件工程的目标是提高软件的生产率、提高软件的质量、降低软件的成本。

12. 简述面向对象方法的特点。

答案:面向对象方法具有以下特点:(1)封装:将数据和操作数据的方法封装在一起,形成一个对象。

《软件工程》期末考试复习题及参考答案

《软件工程》期末考试复习题及参考答案

软件工程复习题(课程代码252258)一、填空题(本大题共60小题)1.数据项是指__不可再分解的___数据单元。

2.软件概要设计的主要任务就是___软件结构的设计___。

3.软件维护的内容包括校正性维持,适应性维护、____完善性维护_____和预防性维护。

4.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和___数据存储对象___。

5.规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有容错功能的软件。

6.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。

7.为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。

8.软件结构是以模块为基础而组成的一种控制层次结构。

9.在结构化分析中,用于描述加工逻辑的主要工具有结构化语言、判定表和判定表三种。

10.软件工程是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。

11.PDL是一种介于___自然语言___和形式化语言之间的半形式化语言。

12.从软件的功能角度划分,协助用户开发软件的工具性软件称为_支撑__软件13.消除软件结构中高扇入扇出的做法是______增加中间层次的控制模块_____。

14.如果一个软件系统的全部实际加工都由原子模块来完成,而其他所有非原子模块仅仅执行控制或协调功能,这样的系统就是____完全因子分解_____的系统。

15.软件的可移植性是指当把软件移植到不同的运行环境时,不需改变其__规格___就能照原样工作的特性。

16.为满足用户对软件提出的新的要求而对软件进行扩充、改进的维护称为____完善性__维护。

17.将整个软件划分成若干单独命名和可编址的部分,称之为___模块___。

18.软件需求的____物理视图_____给出处理功能和数据结构的实际表示形式。

19.在面向对象的开发技术中,__类___是一组具有相同数据结构和相同操作的对象的集合。

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

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

软件工程霄末试题及答案)软件工程佴末试题及答案)一、选择题(共20题,每题2分,共40分)1. 在软件工程中,以下哪一项不是七大工程()。

A.软件需求B.软件设计C.软件开发D.软件维护答案:D2.软件需求分析的目的是()。

A.理解用户需求B.设计软件架构C.编写用户手册D.测试软件功能答案:A3软件开发过程中的迭代模型,不存在的是()。

A.瀑布模型B.敏捷开发模型C.螺旋模型D.喷泉模型答案:D4.以下哪个不是软件测试的目的()。

A.发现错误和缺陷B.验证软件是否满足需求C.评估软件的可靠性和质量D.优化软件的性能答案:D5.软件项目管理中,以下哪种方法适用于大型复杂项目()。

A.瀑布模型B.敏捷开发C.增量模型D螺旋模型答案:D6软件开发生命周期中,以下哪个过程不属于()。

A. 需求分析过程B. 设计过程C. 编码过程D. 运维过程答案:D7. 在软件工程中,什么是软件测试()。

A. 软件开发的最后阶段B. 发现软件缺陷的过程C. 确保软件质量的控制过程D. 软件最终验收的流程答案:C8. 以下哪种测试方法旨在评估软件在不同负载下的性能和稳定性()。

A. 单元测试B. 集成测试C系统测试D. 性能测试答案:D9.软件开发中,以下哪个活动不属于软件配置管理()。

A.版本控制B.配置变更控制C.缺陷管理D.代码评审答案:D10.以下哪个是敏捷开发的基本原则()。

A.面对面交流胜过文档B.完全按照计划进行C.精确的需求分析是关键D.严格的变更控制是必要的答案:A11.下列哪个不属于软件配置管理的内容()。

A.变更控制B.版本控制C.缺陷管理D.运维管理12. 软件的可靠性是指()。

A. 软件是否能正常运行B. 软件是否符合用户需求C. 软件运行期间不出现故障的能力D. 软件功能的完善程度答案:C13. 下列哪个不属于软件开发的7大原则()。

A. 开放封闭原则B. 依赖倒置原则C. 单一职责原则D. 模块化编程原则答案:D14. 软件过程改进的指导框架是()。

软件工程期末试卷(十套含问题详解)

软件工程期末试卷(十套含问题详解)

软件工程期末试题(一)单项选择题1.瀑布模型的存在问题是(B )A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )A.软件工程B.软件周期C.软件危机D.软件产生3.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是( B )A.数据、公共、标记、控制B.数据、标记、控制、公共C.控制、数据、标记、公共D.控制、数据、公共、标记4.在SD方法中全面指导模块划分的最重要的原则是( D )A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性5.软件测试的目的是( B )。

A.评价软件的质量 B. 发现软件的错误C.找出软件的所有错误 D. 证明软件是正确的6.在设计测试用例时,( A )是用得最多的一种黑盒测试方法。

A.等价类划分 B. 边界值分析 C. 因果图 D. 判定表7. 需求分析最终结果是产生( B )。

A. 项目开发计划B. 需求规格说明书C. 设计说明书D. 可行性分析报告8. Jackson图中,模块框之间若有直线连接,表示它们之间存在(B )。

A. 调用关系B. 组成关系C. 链接关系D. 顺序执行关系9. 软件详细设计的主要任务是确定每个模块的( C )。

A. 功能B. 外部接口C. 算法和使用的数据结构D. 编程10.为了提高软件的可维护性,在编码阶段应注意( D )A.保存测试用例和数据B.提高模块的独立性C.文档的副作用D.养成好的程序设计风格11.设年利率为i,现存入p元,若计复利,n年后可得钱数为(B)A.p﹡(1+i﹡n) B.p﹡(i+1)nC.p﹡(1+i)﹡n D.p﹡(i+n)12.在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示。

动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是(A )。

A .状态图 B. 数据流图 C. 系统结构图 D. 时序图13. 对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。

软件工程 期末考试题(含答案)

软件工程 期末考试题(含答案)

软件工程期末考试题(含答案)软件工程期末考试题(含答案)一、选择题1. 在软件项目管理中,以下哪个阶段不属于软件开发的基本阶段?A. 需求分析阶段B. 设计阶段C. 开发阶段D. 测试阶段答案:D2. “面向对象”是一种软件系统开发的基本方法论,以下哪个不属于面向对象的特点?A. 封装性B. 继承性C. 多态性D. 并发性答案:D3. 软件开发过程中,以下哪个模型不属于常见的软件开发模型?A. 瀑布模型B. 敏捷模型C. 增量模型D. 螺旋模型答案:D4. 在软件测试中,以下哪个不属于黑箱测试方法?A. 等价类划分测试B. 边界值测试C. 功能性测试D. 白盒测试答案:D二、简答题1. 请简述软件工程的定义和目标。

软件工程是研究和应用工程原理、方法和工具,以开发、维护和管理软件系统的工程学科。

其目标是提高软件开发效率、软件质量和软件项目管理能力,以满足用户的需求。

2. 什么是软件需求工程?请简要阐述软件需求工程的过程。

软件需求工程是指在软件开发过程中,通过系统化的方法和工具,对用户需求进行获取、分析、定义和规格化的过程。

软件需求工程的过程包括以下几个步骤:1) 需求获取:通过与用户沟通、分析用户需求文档等方式,获取用户对软件系统的需求。

2) 需求分析:对获取的需求进行验证、整理和分类,识别出关键需求和优先级,并进行需求的可行性评估。

3) 需求定义:将需求进行详细而准确的描述,包括功能需求、性能需求、界面需求等。

4) 需求规格化:将需求转化为形式化的规格说明,包括用例图、状态图、数据流图等工具。

5) 需求验证:通过与用户或相关人员的确认,验证需求规格是否准确、完整和一致。

三、综合题某公司决定开发一个在线购物系统,你作为软件工程团队的负责人,请围绕该系统的需求分析、设计和测试等方面,给出相应的工作计划。

1. 需求分析阶段:(1) 与项目发起人进行需求讨论,明确系统的功能和性能需求,并进行需求分析和整理,编写需求文档。

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

《软件工程》期末复习题及答案一、单项选择题(本大题共60小题,在每小题的四个备选答案中,选出一个正确答案,并将正确答案填涂在答题卡上)1. 软件危机产生的主要原因是 A 。

A.软件日益庞大B.不能与用户良好地沟通C.开发人员编写程序能力差D.没有适应的开发模型2.软件工程的发展不包括以下那个阶段 B 。

A.传统软件工程阶段B.自主化开发阶段C.过程软件工程阶段D.构件软件工程阶段3. 现代软件工程研究的内容不包括 D 。

A.软件开发模型B.软件开发方法C.软件支持过程D.软件开发质量4.以下哪个软件生存周期模型是一种风险驱动的模型 C 。

A.瀑布模型B.增量模型C.螺旋模型D.喷泉模型5.软件的开发方法不包括 C 。

A.结构化开发方法B.面向对象开发方法C.面向管理的开发方法D. 面向数据结构的开发方法6.软件生存周期中,准确地确定软件系统必须做什么的阶段是 B 。

A.可行性分析和项目开发计划 B.需求分析 C.概要设计D.详细设计7. 需求分析中开发人员要从用户那里了解 A 。

A.软件做什么B.用户使用界面C.输入的信息D.软件的规模8. 结构化分析建立功能模型的工具是 A 。

A.DFDB.判定树/判定表C.SCD.结构化语言9. 数据词典是对数据定义信息的集合,它所定义的对象都包含于 B 。

A.数据流图B.程序框图C.软件结构D.方框图10.用于描述结构化分析中数据流加工逻辑的是 A 。

A.判定 B.ER图 C.状态 D.用例图11.下列几种耦合类型,耦合性最高的是 A 。

A.公共耦 B.控制耦合 C.标记耦 D.数据耦合12. 通信内聚是指 B 。

A. 把需要同时执行的动作组合在一起形成的模块 B各处理使用相同的输入数据或者产生相同的输出数据C一个模块中各个处理元素都密切相关于同一功能且必须顺序执行 D模块内所有元素共同完成一个功能,缺一不可13.模块 B 定义为受该模块内一个判定影响的所有模块集合。

A.控制域B.作用域C.宽度D.接口14.好的软件结构应该是 B 。

A.高耦合、高内聚B.低耦合、高内聚C.高耦合、低内聚D.低耦合、低内聚15.结构化程序设计的一种基本方法是 D 。

A.筛选法B.递归法C.迭代法D.逐步求精法16.结构化设计是一种面向 A 的设计方法。

A.数据流B.数据库C.数据结构D.程序17.若一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入,则该模块的内聚性类型是C 。

A.时间内聚 B.偶然内聚 C.顺序内聚 D.功能内聚18.模块的内聚性最高的是 D 。

A、逻辑内聚B、时间内聚C、偶然内聚D、功能内聚19.在软件结构设计完成后,对于下列说法,正确的是 C 。

A.非单一功能模块的扇入数大比较好,说明本模块重用率高B.单一功能的模块扇入高时应重新分解,以消除控制耦合的情况C.一个模块的扇出太多,说明该模块过分复杂,缺少中间层D.一个模块的扇入太多,说明该模块过分复杂,缺少中间层20.变换流的DFD由三部分组成,不属于其中一部分的是 A 。

A.事务中心B.变换中心C.输入流D.输出流21.在详细设计阶段,经常采用的工具有 A 。

P96A. PDLB. SAC. SCD. DFD22.详细设计的任务是确定每个模块的 C 。

A.外部特性B.内部特性C.算法和使用的数据D.功能和输入输出数据23. 详细设计的结果基本决定了最终程序的 A 。

A.代码的规模 B.运行速度 C.质量 D.可维护性24. 软件复杂性度量的参数包括 B 。

A.效率 B.规模 C.完整性 D.容错性25. 软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立 C 。

A、软件结构B、软件过程C、软件模型D、软件模块26. 不属于常用的程序复杂程度定量度量方法为 B 。

A.语句行度量方法B.Jackson方法C.McCabe方法D.Halstead方法27.___D____工具在软件详细设计过程中不采用。

A.判定表B.IPO图 C.PDL D.DFD图28. McCabe方法认为,环域复杂度的规模以___C___较为合理。

A.≦4B.≦7C.≦10D.≧3029. 一个只有顺序结构的程序,其环形复杂度是 B 。

A.0B.1C.3D.530. 衡量某一语言可否做为编码语言,其评价标准不包括 B 。

A.应用领域 B.书写格式 C.算法与计算复杂性 D.效率的考虑31. 软件测试的目的是 D 。

A.软件的正确性B.找出软件系统中存在的所有错误C.证明软件系统中存在错误D.尽可能多的发现软件系统中的错误32. 软件测试不需要了解软件设计的 D 。

A.功能B. 内部结构C. 处理过程D.条件33. 下面说法正确的是 D 。

A.经过测试没有发现错误说明程序正确B.测试的目标是为了证明程序没有错误C.成功的测试是发现了迄今尚未发现的错误的测试D.成功的测试是没有发现错误的测试34. 测试的关键问题是 B 。

A.如何组织软件评审B.如何选择测试用例C.如何验证程序的正确性D.如何采用综合策略35. 成功的测试是指运行测试用例后 B 。

A.未发现程序错误B.发现了程序错误C.证明程序正确性D.改正了程序错误36.软件测试用例主要由输入数据和 C 两部分组成。

A.测试计划B.测试规则C.预期输出结果D.以往测试记录分析37. 软件测试中白盒法是通过分析程序的 B 来设计测试用例的。

A.应用范围 B.内部逻辑 C.功能 D.输入数据38. 黑盒法是根据程序的 C 来设计测试用例的。

A.应用范围 B.内部逻辑 C.功能 D.输入数据39. 不属于白盒测试的技术是 D 。

A.路径覆盖 B.判定覆盖 C.循环覆盖 D.边界值分析40. 使用白盒测试方法时,确定测试数据应根据 A 和指定的覆盖标准。

A.程序内部逻辑B.程序的复杂度C.使用说明书D.程序的功能41. 单元测试方法不包括 A 。

A.黑盒测试 B.白盒测试 C.基本路径测试 D.集成测试42. 单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是 D 。

A.系统功能B.局部数据结构C.重要的执行路径D.错误处理43. 集成测试时,能较早发现高层模块接口错误的测试方法为 B 。

A.自顶向下渐增式测试B.自底向上渐增式测试C.非渐增式测试D.系统测试44.与确认测试阶段有关的文档是 C 。

A.需求规格说明书B.概要设计说明书C.详细设计说明书D.源程序45. 确认测试也称为 A 。

A.有效性测试 B.无效性测试 C.静态测试 D.动态测试46. 检查软件产品是否符合需求定义的过程称为 C 。

A.确认测试B.集成测试C.系统测试D.单元测试47.关于软件维护的说法错误的是 A 。

A.软件维护是软件生命周期中占用时间最长的一个阶段B.软件维护不只是修改软件中的错误C.软件维护对于开发商来说是无利可图的D.在编码过程中添加适当的注释,可以降低软件维护的难度48.与“程序维护手册”文档有关的人员是 A 。

A.管理人员和开发人员 B.管理人员和维护人员 C.维护人员和用户 D.管理人员和用户49.在整个软件维护阶段所花费的全部工作中,所占比例最大的是 A 。

A.校正性维护B.适应性维护C.完善性维护D.预防性维护50.下列选项中,影响软件可维护性的决定因素是 D 。

A. 文档 B. 资金 C. 程序代码 D. MTTF51.把一组具有相似特性的对象组合在一起,称之为 C 。

A. 多态性 B.继承性 C.类 D.消息52.面向对象的主要特征除唯一性、继承性、多态性外,还具有 C 。

A.封装性B.移植性C.完整性D.兼容性53.应用执行对象的操作可以改变该对象的 A 。

A.属性 B.功能 C.行为 D.数据54.面向对象分析中,对象模型描述了系统的 A 。

A.静态结构 B.动态结构 C.控制结构 D.顺序结构55.面向对象设计中存在三种内聚,分别是 D 。

A.属性内聚、操作内聚、类内聚B.操作内聚、类内聚、整体-部分内C.属性内聚、操作内聚、对象内聚D.操作内聚、类内聚、一般-具体内聚56.不属于人机交互界面设计的准则的是 C 。

A.一致性 B.减少记忆 C.可维护性 D.富有吸引力57.不属于面向对象系统测试的内容的是 C 。

A.功能测试 B.强度测试 C.基于线程的测试 D.性能测试58.下列模型属于成本估算方法的有 A 。

A.COCOMO模型B.McCall模型C.McCabe度量法D.时间估算法59.版本管理是对系统不同版本进行的 A 过程。

A.标识与跟踪B.标识变更C.发布变更D.控制变更60.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是 D 。

A.工作无序,项目进行过程中经常放弃当初的计划 B.建立了项目级的管理制度C.建立了企业级的管理制度 D.软件过程中活动的生产率和质量是可度量的二.判断题(本大题共30小题,请将答案填涂在答题卡上,正确的涂A,错误的涂B)1. SA方法的基本思想是自顶向下逐步分解。

( A )2. 数据词典是为分析人员查找数据流图中有关名字的详细定义而服务的。

( A )3. 类是对具有共同特征的对象的进一步抽象。

( A )4. Jackson图只能表达程序结构,不能表达数据结构。

( B )5. 测试计划、测试用例、出错统计和有关的分析报告一般不用长期保存。

( B )6. 设计阶段的输出是编码阶段的输入。

( A )7. 模块耦合越强,则说明模块的独立性越强。

( B )8. 基本路径测试是黑盒技术设计测试用例的方法之一。

( B )9. 软件结构图中,模块框之间若有直线连接,表示它们之间存在顺序执行关系。

( B )10. 判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。

( A )11.在进行需求分析时同时考虑维护问题。

( A )12.完成测试后,为缩短源程序长度而删去程序中的注解,对软件的维护不会产生影响。

( B )13.尽可能在软件开发过程中保证各阶段文档的正确性。

( A )14.在面向对象的需求分析方法中,建立动态模型是最主要的任务。

(B )15.项目应用领域是选择语言的关键因素。

( A )16.类是对具有共同特征的对象的进一步抽象。

( A )17.如果测试过程没有发现任何错误,则说明软件没有错误。

( B )18.CMM 是指导软件开发的一种面向对象的新技术。

( A )19.CMM包含6个成熟度等级。

( B )20.Jackson方法是面向数据结构的设计方法。

(A )21. 一笔交易、一个动作、甚至操作人员按一个按钮都可以看做是一次事物。

相关文档
最新文档