软件工程10年-11年期末考试卷答案
- 格式:docx
- 大小:3.09 MB
- 文档页数:9
软件工程期末考试参考题及答案1. 考试题目:软件需求工程考试要求:根据给定的需求文档,完成以下题目。
题目一:根据给定的需求文档,设计一个在线购物系统。
请根据以下要求完成系统设计:(1)使用UML类图绘制系统的类结构;(2)使用UML时序图描述用户登录和浏览商品的流程;(3)使用UML活动图描述用户下订单的流程。
答案:(1)类图如下所示:[在这里插入UML类图图片](2)时序图如下所示:[在这里插入UML时序图图片](3)活动图如下所示:[在这里插入UML活动图图片]题目二:根据给定的需求文档,设计一个在线学习系统。
请根据以下要求完成系统设计:(1)使用UML用例图描述系统的功能需求;(2)使用UML活动图描述学生完成在线学习的流程;(3)使用UML状态图描述学生的学习状态变化。
答案:(1)用例图如下所示:[在这里插入UML用例图图片](2)活动图如下所示:[在这里插入UML活动图图片](3)状态图如下所示:[在这里插入UML状态图图片]2. 考试题目:软件设计模式考试要求:根据给定的题目,选择并解答以下问题。
题目一:分析以下代码,判断其使用了哪种设计模式,并阐述该设计模式的作用和优势。
```javapublic interface Car {void drive();}public class Sedan implements Car {@Overridepublic void drive() {System.out.println("Driving a sedan car."); }}public class SUV implements Car {@Overridepublic void drive() {System.out.println("Driving an SUV car."); }}public class CarFactory {public Car createCar(String type) {if (type.equals("sedan")) {return new Sedan();} else if (type.equals("suv")) {return new SUV();} else {throw new IllegalArgumentException("Invalid car type: " + type);}}}```答案:该代码使用了工厂模式。
一、选择题1.瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。
八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和_。
( C ),A .详细计划B .可行性分析C .运行阶段 D.测试与排错2.在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试年勺系统测试阶段的目标( A )A .需求分析阶段B .详细设计阶段 C.概要设计阶段 D .可行性研究阶段,3.软件工程的出现主要是由于(C ) ,A.程序设计方法学的影响B.其它工程科学的影响C.软件危机的出现D.计算机的发展,4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实旅的主要保证是(C)A.硬件环境B.软件开发的环境C.软件开发工具和软件开发的环境D.开发人员的素质5.软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为(B)A.相互排斥B相互补充C独立使用 D.交替使用6.UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C)A.基于瀑布模型的结构化方法 B.基于需求动态定义的原型化方法C.基于对象的面向对象的方法 D.基于数据的数据流开发方法7.在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B)A.结构化方法B原型化方法C面向对象的方法 D.控制流方法8.结构化分析方法是一个预先严格定义需求的方法,它在实施时强调的是分析对象的(B)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.从实用角度看,数据规范化在大多数场合选用第____范式。
《软件工程》期末考试题及答案一、选择题(每题2分,共20分)1. 以下哪个不属于软件工程的三个基本活动?A. 软件规格B. 软件设计C. 软件编码D. 软件测试答案:D2. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A3. 以下哪个不属于软件工程的基本原则?A. 分而治之B. 信息隐藏C. 模块化D. 编码规范答案:D4. 以下哪个不是软件工程的四大支柱?A. 软件需求B. 软件设计C. 软件验证D. 软件项目管理答案:C5. 以下哪种软件过程模型是迭代和增量的?A. 瀑布模型B. 快速应用开发C. 敏捷开发D. 原型模型答案:C6. 以下哪个不是软件测试的级别?A. 单元测试B. 集成测试C. 系统测试D. 需求测试答案:D7. 以下哪种软件维护类型是最常见的?A. 更正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:A8. 以下哪个不属于软件项目的风险管理策略?A. 风险避免B. 风险转移C. 风险减轻D. 风险接受答案:B9. 以下哪个不属于软件需求分类?A. 功能需求B. 性能需求C. 可用性需求D. 测试需求答案:D10. 以下哪个不属于软件设计的准则?A. 模块化B. 信息隐藏C. 功能耦合D. 数据抽象答案:C二、填空题(每题2分,共20分)11. 软件工程的主要目标是提高软件的__________和降低软件的__________。
答案:可维护性、成本12. 软件开发的三个基本阶段是:__________、__________、__________。
答案:需求分析、设计、实现13. 软件过程模型分为__________模型和__________模型。
答案:预测性、适应性14. 软件测试的四个基本级别是:__________、__________、__________、__________。
答案:单元测试、集成测试、系统测试、验收测试15. 软件维护的四种类型是:__________、__________、__________、__________。
一、填空题(每空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分,共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 )。
《软件工程实践》期末考试试卷附答案《软件工程实践》期末考试试卷及答案一、选择题(每题2分,共20分)1. 软件工程的主要目标是()。
A. 提高软件开发的效率B. 提高软件的可靠性C. 提高软件的开发质量D. 以上都是答案:D2. 在软件开发过程中,需求分析是在()。
A. 概要设计阶段B. 详细设计阶段C. 编码阶段D. 测试阶段答案:A3. 下列哪一项不是软件工程的基本活动?()A. 软件规格B. 软件设计和实现C. 软件验证D. 软件评估答案:D4. 下列哪个工具通常用于软件项目的进度监控?()A. Gantt图B. flowchart图C. UML图D. 风险矩阵答案:A5. 下列哪个方法不是软件质量保证的主要方法?()A. 代码审查B. 单元测试C. 静态测试D. 需求评审答案:D二、填空题(每题2分,共20分)1. 软件工程包括三个主要过程,分别是________、________和________。
答案:软件规格、软件设计和实现、软件验证2. 在软件开发过程中,需求规格说明书的主要目的是________。
答案:描述软件的功能和性能要求3. 结构化分析方法的核心是________。
答案:数据流图(DFD)4. 软件验证的主要目的是________。
答案:确保软件满足需求规格说明书的各项要求5. 软件风险管理的主要任务是________。
答案:识别、评估和制定应对软件项目风险的策略三、简答题(每题5分,共30分)1. 请简述软件生命周期的主要阶段及其任务。
答案:软件生命周期包括以下主要阶段:(1)需求分析:收集和分析用户需求,形成需求规格说明书;(2)概要设计:根据需求规格说明书,设计软件的整体架构和模块划分;(3)详细设计:为每个模块设计详细的接口、数据结构和算法;(4)编码:根据详细设计文档,编写代码;(5)测试:验证代码的正确性和性能;(6)运行和维护:软件上线后进行运行维护和持续优化。
软件工程期末试题及答案(word版可编辑修改)编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(软件工程期末试题及答案(word 版可编辑修改))的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为软件工程期末试题及答案(word版可编辑修改)的全部内容。
软件工程期末试题及答案(六)选择题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.在黑盒测试中,着重检查输入条件组合的方法是( )。
软件工程期末试卷(十套含答案)一、选择题(每题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.()是一门研究应用工程化方法构建和维护有效,实用和高质量的软件学科。
2.项目的三个约束因素是:(),()和范围.3.()是在系统之外,透过系统边界与系统进行有意义交互的任何事物。
4.数据库建模主要涉及三个阶段,即建立()模型,()模型和物理模型,E-R图是指()—关系图。
5.()图和()图称为交互图.6.用例与用例之间的关系包括()关系,()关系和()关系。
7.瀑布模型一般适用于(),但不适用于()项目的开发。
8.用例图主要由(),()和关联等模型元素构成。
9.类之间可能有关联,(),(),(),依赖等关系.10.软件生命周期的六个阶段是(),(),(),(),(),运行|维护。
11.分析类分为三种类型:(),()和().12.在设计模型中,可以直接将实体类及其关系映射为关系数据库,类可以映射为(),对象则映射为(),属性映射为().13.设计时通常会将一些公共算法封装成特定的类,这种类被称为()类.14.如果类A和类B是一对多的关系中,即一个类A的中以有0个或多个类B的对象,而一个类B的对象只能有一个类A的对象,在映射为关系数据库的表时,外键应放在()表中。
二、判断题1.设计继承关系时,超类通常被设计为抽象类.()2.螺旋模型特别适用于需求不够明确的软件开发项目,但不适家用于大而复杂的系统。
()3.用例描述中的事件流,应该描述参与者与系统的交互过程。
()4.分析模型是设计模型的输入。
()5.顺序图中的消息映射为发送消息的类中的操作.()6.在多层结构的设计中,包应公依赖于同一层和次下层的包。
()7.类的操作必须定义为公有可见的。
()8.软件开发过程就是编写程序代码的过程。
()9.关联类最常见的用途就是协调多对多关系。
()10.在用例的包含关系中,基础用例可能是,也可能不是一个真实存在的用例,一定会执行被包含用例.()11.类与类之间的泛化关系,即继承关第,是一般元素和具体元素之间的分类关系。
1、为什么事务型软件的结构常常具有中间大,两头小的形状?
扇入高则上级模块多,能够增加模块的利用率,扇入低则表示下级控制的复杂度。
事务型软件常常具有中间大,两头小的形状,是有良好的软件设计结构,瓮型结构,表明它在底层模式中使用了较多的高扇入共享模块。
2、什么事软件需求,可以从哪些方面描述软件需求?
软件需求主要指一个软件系统必须遵循的条件或具备的能力。
条件与能力:①用户解决问题或达到目标所需的条件或能力,即系统的外部行为。
②系统为了满足合同,规范或其他规定文档所需具备的条件或能力,系统内部特性。
软件需求一般包括3个不同层次:业务需求,用户需求和功能需求。
软件需求的特性:①功能性,②可用性,③可靠性,④性能,⑤可支持性,⑥设计约束
3、面向对象设计模型包含哪几个层次?主要内容?
面向对象设计模型的四个层次
①系统架构层:描述整个系统的总体结构,使所设计的软件能够满足客户定义的需求,并实现支持客户需求的技术基础设施。
②类和对象层:使系统能够从通用的方式创建并不断逼近特殊需求,该层同时包含每个对象的设计表示。
③消息层:描述对象间的消息模型,它简历了系统的外部和内部接口,包含使得每个对象能够和其协作者通信的细节。
④责任层:包含针对每个对象的所有属性和操作的数据结构和算法的设计。
4、多模块程序的测试有哪些层次?各层次主要解决什么问题?
多模块测试有4个层次
①单元测试:通过对象模块的静态分析和动态测试,使其代码达到模块说明的需求。
②集成测试:把经过单元测试的模块逐步组成具有良好一致性的完整程序。
③确认测试:确认组装完毕的程序是否满足软件需求规格说明书中的要求。
④系统测试:检查把确认测试合格的软件安装到系统中以后,能否与系统的其余部分协调运行,并实现SRS的需求。
五、应用题
1.一个客户可以在多个银行中开设账户,一个客户也可在同一银行中开设多个不同的账
户。
客户可以通过银行职员进行开户、存款、取款、转账、注销账户等活动。
其中转账指客户将自己的某个账户上的钱款转入同一银行的不同账户(称为银行内转账)或转入不同银行的账户(称为银行间转账)。
系统管理员负责系统的账户管理及业务报表的生成。
2.
3.某工厂招工,规定报名者年龄应在16周岁到35周岁之间(到2008年3月30日止).即出
生年月不在上述范围内,将拒绝接受,并显示"年龄不合格"等出错信息.试用等价类法设计对这一程序功能的测试用例.
解第一步:划分等价类。
可以划分为个有效等价类,7个无效等价类,如下表所示:输入数据
有效等价类
无效等价类
出生年月
①6位数字字符
②有非数字字符
③少于6个数字符
④多于6上数字符
对应数值
⑤在197302~196703之间
⑥<197302
⑦>197303
月份对应数值
⑧在1~12之间
⑨等于“0”
⑩>12
第二步:设计有效等价类需要的测试用例。
上表中的①、⑤、⑧等3个有效等价类,可以公用一个测试用例,例如:测试数据
期望结果
测试范围
197011
输入有效
①、⑤、⑧
第三步:为每一无效等价类至少设计一个测试用例。
本例子具有7个无效等价类,需要不少于7个测试用例。
例如:测试数据
期望结果
测试范围
MAY,70
输入无效
②
19705
输入无效
③
1968011
输入无效
④
195512
年龄不合格
⑥
196006
年龄不合格
⑦
196200
输入无效
⑨
197222
输入无效
⑩
论述题
1、瀑布开发模式有哪些主要特点?存在的主要问题?如何改进?
瀑布开发模型是一种基于软件生存周期的线性开发模型
主要特点:①阶段间的顺序性和依赖性
②推迟实现的观点
③保证质量的观点
每个阶段必须完成规定的文档;每个阶段要对完成的文档进行复审,以便尽发现问题,清楚隐患。
存在的问题:按照瀑布模型来开发软件,只有当分析员能够做出准确的需求分析时,才能得到预期的结果,不幸的是,由于多数用户不熟悉计算机,系统分析员对用户的专业也往往了解不深,因很难在开发的初始阶段彻底弄清楚软件的需求。
为了解决这一问题,人们提出了“快速原型模型”。