软件工程概论期末复习题
- 格式:docx
- 大小:623.88 KB
- 文档页数:15
软件工程概论复习题答案一、单选题1.软件工程的纵向分解是把软件开发分为几个(B)A.模块B.阶段C.子系统D.过程2.McCall软件质量度量模型中属于面向软件产品操作的是(D)A.适应性B.可重用性C.可测试性D.可用性3.快速原型模型中,用于及早向用户提交一个原型系统的是(D)A.实验型原型B.探索型原型C.提交型原型D.演化型模型4.软件维护中,因重新初始化控制标志或指针而引起的错误是以下哪一项的副作用(B)A.文档B.数据C.编码D.设计5.软件维护费用高的主要原因是(B)A.生产率高B.生产率低C.人员多D.人员少6.根据对软件开发机构调查的结果可知,各类维护活动所占的比重是(A)A.完善性占50%,适应性占25%,校正性占21%,其他维护占4%B.完善性占25%,适应性占50%,校正性占21%,其他维护占4%C.完善性占21%,适应性占25%,校正性占50%,其他维护占4%D.完善性占21%,适应性占50%,校正性占25%,其他维护占4%7.下列属于用白盒技术设计测试用例的是(B)A.错误推测B.逻辑覆盖C.等价类划分D.因果图8.有助于培养良好的编程风格并且第一个体现了结构化编程思想的程序设计语言的是(A)A.PASCALB.FORTRAN C.DL/1D.C9.在软件详细设计过程中不采用的工具为(C)A.判定表B.PDL C.数据流图D.IPO图10.根据输入输出的数据结构产生程序结构的设计方法是(B)A.PARNAS方法B.JACKSON方法C.WIRTH方法D.DIJKSTRA方法11.在软件设计中,为解决一个大而复杂的问题把软件系统划分为一个个完成某一特定的子功能的方法称为(C)A.细化B.结构化C.模块化D.抽象化12.结构化方法在建立软件系统的结构模块时按照以下哪种方法进行?(B)A.由底向上B.自顶向下C.随机D.回归13.两个模块之间传递的是同一个数据结构的地址,这种耦合方式称为(C )A.控制耦合B.公告耦合C.标记耦合D.数据耦合14.结构化设计是以哪个阶段产生的DFD图为基础,按一定的步骤映射成软件结构?(B)A.可行性分析B.需求分析C.概要设计D.详细设计15.结构化方法的基本原则是功能的分解和( C )A.模块化B.信息隐藏C.抽象D.细化16.数据字典和数据流图共同构成了系统的(B)A.物理模型B.逻辑模型C.原型D.目标模型17.软件需求不应包括(C )A.功能要求B.环境需求C.标准实现的空间需求D.用户界面要求18.项目开发计划是什么类型的文档?( D )A.设计性B.进度表示C.需求分析D.管理性19.瀑布模型是一种什么类型?( B )A.风险驱动模型B.线性开发模型C.增量模型D.迭代模型20.软件工具一般是为软件开发人员和维护活动而使用的(C )A.硬件环境B.说明书C.软件D.程序21.瀑布模型存在的问题是(B )A.用于容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求22.可将软件生存周期划分为3个过程,可行性研究属于其中的(A )A.软件定义过程B.软件开发过程C.软件设计过程D.软件运行与维护过程23.经济可行性研究的范围包括(C )A.资源有效性B.管理制度C.效益分析D.开发风险24.需求分析中开发人员要从用户那里了解(A )A.软件做什么B.用户使用界面C.输入的信息D.软件的规模25.交互设计不包括( C )A.角色设计B.目标设计C.算法设计D.任务设计26.一个模块的(B )是指能直接控制模块的模块数。
软件工程导论期末复习题第一章1、什么是软件工程?软件工程方法学包括哪三要素?答:概括地说,软件工程是指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
软件工程方法学三要素:方法、工具、过程。
目前使用得最广泛的软件工程方法学:传统方法学、面向对象方法学。
2、传统方法学与面向对象方法学定义传统方法学也称为生命周期方法学或结构化范型。
它采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。
这种方法学把软件生命周期的全过程依次划分为若干个阶段,然后顺序地完成每个阶段的任务。
面向对象方法学:面向对象方法把数据和行为看成是同等重要的,它是一种以数据为主线,把数据和对数据的操作紧密地结合起来的方法。
面向对象方法学具有下述4个要点:(1)把对象作为融合了数据及在数据上的操作行为的软件构件。
(2)把所有对象都划分成类。
(3)按照父类(或称为基类)与子类(派生类)的关系,把若干个相关类组成一个层次结构的系统。
(4)对象彼此间只能通过发送消息互相联系。
3、软件生命周期有哪些阶段?软件生命周期由软件定义、软件开发和软件维护3个时期组成,每个时期又进一步划分为若干个阶段。
软件定义时期分3阶段:问题定义、可行性研究、需求分析。
开发时期分4个阶段:总体设计、详细设计、编码和单元测试、综合测试。
其中前两个阶段称为系统设计,后两个称为系统实现。
维护时期的主要任务是使软件持久地满足用户的需要。
第二章1、为什么要进行可行性研究,要从哪几个方面研究?可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
可行性研究至少应从3个方面研究:技术可行性、经济可行性、操作可行性。
软工导论期末试题及答案一、选择题(每题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. 请简要说明软件工程的三个基本活动是什么,并说明各个活动的主要任务。
答:软件工程的三个基本活动包括需求分析、设计和编码,以及测试和维护。
- 需求分析活动的主要任务是通过与用户和相关方沟通,理解和明确软件系统的需求,确定软件的功能、性能要求和约束条件。
软件工程期末试题(一)单项选择题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分, 共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. 软件工程的定义:请解释什么是软件工程,并简述其重要性。
2. 软件开发生命周期(SDLC):描述软件开发生命周期的各个阶段,并解释每个阶段的主要活动。
3. 需求分析:阐述需求分析的重要性,并说明如何收集和分析用户需求。
4. 软件设计:区分高层设计和低层设计,并解释它们在软件开发中的作用。
5. 面向对象设计(OOD):解释面向对象设计的原则和概念,包括类、对象、继承、封装和多态。
6. 软件测试:讨论软件测试的目的和类型,包括单元测试、集成测试、系统测试和验收测试。
7. 软件维护:解释软件维护的不同类型,包括纠错性维护、适应性维护、完善性维护和预防性维护。
8. 敏捷开发方法:描述敏捷开发方法的核心原则和实践,以及它与传统软件开发方法的区别。
9. 项目管理:讨论软件项目管理的关键要素,包括时间管理、成本管理、风险管理和资源管理。
10. 软件质量保证:解释软件质量保证的概念,以及如何通过质量控制和质量改进来确保软件质量。
11. 软件工程伦理:讨论软件工程师在职业实践中应遵循的伦理准则和责任。
12. 案例研究:分析一个软件项目失败或成功的案例,讨论其中涉及的软件工程概念和实践。
13. 软件工程工具和技术:列举并解释在软件开发过程中常用的工具和技术,例如版本控制系统、集成开发环境(IDE)、自动化测试工具等。
14. 软件工程的未来趋势:探讨当前软件工程领域的新兴趋势,如人工智能在软件开发中的应用、DevOps实践等。
15. 个人项目经验:反思自己在软件工程课程中完成的项目,讨论所学到的知识和技能,以及如何将这些应用到未来的软件开发工作中。
请同学们认真复习以上内容,并准备相应的答案和例子,以确保在考试中能够表现出色。
祝你们考试顺利!。
《软件工程概论》期末测试试卷(A卷)一.单项选择题(每题1分,共22分)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.Pascal B.CC.Fortran D.Prolog12.只有单重继承旳类层次构造是()层次构造。
A.网状型B.星型C.树型D.环型13.面向对象旳开发措施中,()将是面向对象技术领域内占主导地位旳原则建模语言。
A.Booch措施B.Coad措施C.UML语言D.OMT措施14.瀑布模型本质上是一种()。
A.线性次序模型B.次序迭代模型C.线性迭代模型D.和早见产品模型15.软件维护产生旳副作用,是指()。
A.开发时旳错误B.隐含旳错误C.因修改软件而导致旳错误D.运行时误操作16.软件详细设计旳重要任务是确定每个模块旳()。
《软件工程概论》课程知识复习学习材料试题与参考答案一、单选题1.原型化方法是一种(A)型的设计过程。
A.自外向内B.自顶向下C.自内向外D.自底向上2.下述任务中,不属于软件工程需求分析阶段的是(D)。
A.分析软件系统的数据要求B.确定软件系统的功能需求C.确定软件系统的性能要求D.确定软件系统的运行平台3.在软件生存周期中,用户主要是在(A)参与软件开发。
A.软件定义期B.软件开发期C.软件维护期D.整个软件生存周期过程中4.表示集成是指一个系统中的工具使用共同的风格以及采用共同的用户交互标准集。
表示集成有三种不同级别:窗口系统集成、命令集成和(D)。
A.数据集成B.平台集成C.界面集成D.交互集成5.软件开发环境支持一定的(C)或按照一定的软件开发模型组织而成。
A.软件生存周期B.软件过程C.软件开发方法D.软件开发模型6.技术可行性要解决(D)。
A.存在侵权否B.成本-效益问题C.运行方式可行D.技术风险问题7.瀑布模型是一种(D)。
A.软件开发方法B.软件生存周期C.程序设计方法学D.软件生存周期模型8.面向数据流的软件设计方法可将(C)映射成软件结构。
A.控制结构B.模块C.数据流D.事务流9.一个CASE工作台是一组(A),支持设计、实现或测试等特定的软件开发阶段。
A.工具集B.软件包C.平台集D.程序包10.软件工程学的目的应该是最终解决软件生产的(B)问题。
A.提高软件的开发效率B.使软件生产工程化C.消除软件的生产危机D.加强软件的质量保证11.目前有若干种软件生存周期模型。
例如瀑布模型、增量模型、螺旋模型等。
其中基于知识的模型也称为(B)。
A.演化模型B.智能模型C.变换模型D.喷泉模型12.可行性分析中,系统流程图用于描述(A)。
A.当前运行系统B.当前逻辑模型C.目标系统D.新系统13.软件生存周期模型有多种,下列选项中,(C)不是软件生存周期模型。
A.螺旋模型B.增量模型C.功能模型D.瀑布模型14.从结构化的瀑布模型看,在软件生命周期中的八个阶段中,下面的几个选项中,(C)出错,对软件的影响最大。
软件工程期末试卷(十套含答案)一、选择题(每题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. 题目一:软件需求工程软件需求工程是软件开发的重要环节之一,主要包括需求获取、需求分析、需求规格、需求验证等阶段。
在软件开发的整个过程中,需求工程的目标是确保开发出的软件能够满足用户的需求,同时保证软件的质量和可靠性。
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. 什么是软件工程?软件工程的基本原理和方法有哪些?答案:软件工程是将工程学原理和方法应用于软件开发的学科,旨在提高软件开发的效率和质量。
软件工程必备期末复习题选择题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、VISUALBASICC、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)。
A、确认测试B、集成测试C、验收测试D、验证测试14、在七种偶合中,最低偶合是(C)。
软件工程霄末试题及答案)软件工程佴末试题及答案)一、选择题(共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. 软件过程改进的指导框架是()。
《软件工程概论》题集一、选择题(每题2分,共20分)1.软件工程的目标是提高软件的( )。
A. 开发效率B. 维护效率C. 质量和生产率D. 可靠性和复用性答案:C2.在软件开发的生命周期中,需求分析阶段的主要任务是( )。
A. 确定软件开发方法B. 编写程序代码C. 确定软件系统的功能需求D.进行系统测试答案:C3.下列选项中,不属于软件设计原则的是( )。
A. 开闭原则B. 依赖倒转原则C. 迪米特法则D. 尽早编码原则答案:D4.在结构化分析方法中,数据流图(DFD)用于描述( )。
A. 数据在系统中的流动和处理过程B. 软件的模块结构C. 软件的层次结构D. 软件的控制流程答案:A5.白盒测试和黑盒测试的主要区别在于( )。
A. 测试者是否知道程序的内部结构B. 测试是否使用测试用例C. 测试是否在系统开发完成后进行D. 测试是否关注性能答案:A6.敏捷开发方法强调( )。
A. 严格遵循预先定义的计划B. 快速响应变化,交付可用的软件C. 详细的文档和过程控制D. 尽量避免与客户沟通答案:B7.下列哪项不是软件配置管理(SCM)的目标( )。
A. 标识变更B. 控制变更C. 确保变更的正确实施D. 消除所有错误答案:D8.在软件项目中,风险管理的目的是( )。
A. 消除所有风险B. 最小化风险对项目的影响C. 将风险转移给第三方D. 仅关注技术风险答案:B9.面向对象编程(OOP)的三大特征是( )。
A. 封装、继承、多态B. 数据抽象、过程控制、模块化C. 模块化、结构化、封装D. 过程控制、继承、多态答案:A10.软件复用是通过( )来提高软件开发效率的。
A. 使用已有的软件组件B. 增加开发人员数量C. 延长开发时间D. 采用新的开发工具答案:A继续二、填空题(每题2分,共14分)1.软件工程是一种(应用计算机科学、经济学、管理学和其他工程学科的知识和实践,以系统化、规范化、量化的方法开发、运行和维护软件的过程)。
软件⼯程期末试题(含答案)⼀、填空题(每空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 )。
软件工程概论期末复习
题
Document number【980KGB-6898YT-769T8CB-246UT-18GG08】
期末总复习
1.选择、判断、简答
2.判定树和判定表
3.用例图、类图、对象模型、顺序图等
4.McCabe环路复杂性度量;
5.黑盒测试和白盒测试
6.数据流图
7.成本效益分析
习题
一、判定树和判定表
1.请用判定表画出以下问题的行为逻辑。
人们往往根据天气情况决定出门时的行装;天气可能下雨,也可能不下雨;天气可能变冷,也可能不变冷。
如果天气要下雨,出门时带上雨伞;如果天气变冷,出门时要穿上大衣。
2. 某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习,高中文化程度当电工。
20岁至40岁之间,中学文化程度,男性当钳工,女性当车工,大学文化程度都当技术员。
年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员。
请用结构化语言﹑判定表或判定树描述上述问题的加工逻辑。
二、McCabe环路复杂性度量
某程序的描述如下:
if (( a > b && i > 10)|| (a < b && i <= 5) ) k = a;
else k = b;
1)画出单个条件的嵌套的分支结构;(5分)
2)计算该结构的McCabe环路复杂性度量;(5分)
3)为完成基本路径测试,求它的一组独立的路径。
(5分)
三、测试:
变量的命名规则一般规定如下:变量名的长度不多于30个字符,第一个字符必须为英文字母,其他字母可以是英文字母、数字以及下划线的任意组合。
请用等价分类法设计测试用例。
四、数据流图
某教务系统具备以下功能,输入用户ID号及口令后,经验证进入教务管理系统,根据请求进行分类处理,可进行如下功能的处理:
1)查询成绩:查询成绩以及从名次表中得到名次信息。
2)学籍管理:根据学生总成绩确定名次信息。
3)成绩处理:处理单科成绩并输入成绩表中。
就以上系统功能画出0层,1层的DFD图。
五、对象模型
1.【中等】一本书的组成有一个封面,一个目录,一个前言,若干章,每章有若干节,每节有若干段,每段有若干句子,每节有0个或多个插图,还有0个或多个表格,最后有一个附录。
建立该书的对象模型。
2.【中等】一台微机有一个显示器,一个主机,一个键盘,一个鼠标,汉王笔可有可无。
主机包括一个机箱,一个主板,一个电源,存储器等部件。
存储器又分为固定存储器、活动存储器,固定存储器又分为内存和硬盘,活动存储器又分为软盘和光盘。
建立微机的对象模型。
答案
一、判定树和判定表
1. 请用判定表画出以下问题的行为逻辑。
人们往往根据天气情况决定出门时的行装;天气可能下雨,也可能不下雨;天气可能变冷,也可能不变冷。
如果天气要下雨,出门时带上雨伞;如果天气变冷,出门时要穿上大衣。
2.. 某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习,高中文化程度当电工。
20岁至40岁之间,中学文化程度,男性当钳工,女性当车工,大学文化程度都当技术员。
年龄在40岁以上者,中学文化程度当材料
员,大学文化程度当技术员。
请用结构化语言﹑判定表或判定树描述上述问题的加工逻辑。
结构化语言:
CASE 年龄<20
CASE 文化程度初中
分配工种脱产学习
CASE 文化程度高中
分配工种电工
ENDCASE
CASE 年龄<=40.AND.>=20
CASE 文化程度初中.OR.高中
CASE 性别男
分配工种钳工
CASE 性别女
分配工种车工
ENDCASE
ENDCASE
CASE 文化程度大学
分配工种技术员
ENDCASE
ENDCASE
CASE 年龄>40
CASE 文化程度初中.OR.高中分配工种材料员
CASE 文化程度大学
分配工种技术员
ENDCASE
ENDCASE
二、McCabe环路复杂性度量
某程序的描述如下:
if (( a > b && i > 10)|| (a < b && i <= 5) ) k = a;
else k = b;
4)画出单个条件的嵌套的分支结构;
5)计算该结构的McCabe环路复杂性度量;
6)为完成基本路径测试,求它的一组独立的路径。
1、程序的描述如下:
(1
(2)McCabe环路复杂性度量 V(G) = 12(边)-8(节点)+1=5
(3)一组独立路径为
① ADHK ② ABCJK
③ ABEHK ④ ADFGJK
⑤ ADFIK
三、测试:
变量的命名规则一般规定如下:变量名的长度不多于30个字符,第一个字符必须为英文字母,其他字母可以是英文字母、数字以及下划线的任意组合。
请用等价分类法设计测试用例。
(1) 划分等价类见表1。
表1 等价类划分表
(2) 设计测试用例见表2。
表2 测试用例表
四、.某教务系统具备以下功能,输入用户ID号及口令后,经验证进入教务管理系统,根据请求进行分类处理,可进行如下功能的处理:
4)查询成绩:查询成绩以及从名次表中得到名次信息。
5)学籍管理:根据学生总成绩确定名次信息。
6)成绩处理:处理单科成绩并输入成绩表中。
就以上系统功能画出0层,1层的DFD图。
解:0层数据流图
1层数据流图
五、对象模型
1.【中等】一本书的组成有一个封面,一个目录,一个前言,若干章,每章有若干节,每节有若干段,每段有若干句子,每节有0个或多个插图,还有0个或多个表格,最后有一个附录。
建立该书的对象模型。
『答案』书的对象模型如图10-1所示。
3.【中等】一台微机有一个显示器,一个主机,一个键盘,一个鼠标,汉王笔可有可无。
主机包括一个机箱,一个主板,一个电源,存储器等部件。
存储器又分为固定存储器、活动存储器,固定存储器又分为内存和硬盘,活动存储器又分为软盘和光盘。
建立微机的对象模型。
『答案』微机的对象模型如图10-3所示。
综合题:
判定2000-2500年中的每一年是否是闰年,将结果输出。
(能被4整除,不能被100整除的年份是闰年;能被100整除,又能被400整除的年份是闰年)。
(1)画出该算法的流程图;(4分)
(2)画出该算法的N-S 图;(3分)
(3)计算环域复杂度;(3分)
(4)用基本路径覆盖法构造测试用例,要求指出输入数据、预期结果。
(5分)
测试用例格式如下。
1.(1)流程图如下。
(2)N-S 图如下。
(3)环域复杂度为5。
(4)测试用例表,见下表。