软件工程期末考试题3

合集下载

软件工程期末考试题目

软件工程期末考试题目

软件工程期末考试题目### 软件工程期末考试题目#### 一、选择题(每题3分,共30分)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. UML(统一建模语言)中,用于表示对象之间交互的图是()。

A. 用例图B. 类图C. 序列图D. 活动图7. 敏捷开发方法的核心价值不包括以下哪一项?()。

A. 个体和互动高于流程和工具B. 可工作的软件高于详尽的文档C. 客户合作高于合同谈判D. 遵循计划高于适应变化8. 在软件项目管理中,以下哪个工具用于评估项目风险?()。

A. 甘特图B. 风险矩阵C. 燃尽图D. 资源分配图9. 软件配置管理的主要目标是()。

A. 确保软件质量B. 跟踪软件变更C. 优化软件性能D. 降低软件成本10. 在软件维护中,以下哪种类型的维护最常见?()。

A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护#### 二、简答题(每题10分,共40分)1. 简述软件工程中的“软件危机”是什么,并说明其主要原因。

2. 描述软件需求分析的重要性,并举例说明如何进行有效的需求分析。

3. 解释什么是软件架构,并讨论它在软件开发过程中的作用。

4. 描述敏捷开发方法与传统瀑布模型的主要区别,并讨论它们各自的优缺点。

#### 三、案例分析题(共30分)某软件开发团队正在开发一个在线购物平台。

软件工程试题含答案

软件工程试题含答案

软件工程期末试题(1)一, 判断题(正确的在括号内打上"√",错误的打上"×".每题分,共15分)Warnier方式也是一种面向数据结构的设计方式,其逻辑更严格.(×) PAD图在设置了五种大体控制结构后,还允许递归挪用. (×) 你为了加速软件保护作业的进度,应尽可能增加保护人员的数量.(×) 当验收测试通过,软件开发就完成了.(×)完成测试作业后,为了缩短源程序的长度应删除程序中的注解.(×) 系统结构图是精准表达程序结构的图形表示法.因此,有时也可以将系统结构图看成系统流程图利用.(×)在程序调试时,找犯错误的位置和性质比更正该错误更难.(√) 以对象,类,继承和通信为基础的面向对象设计方式(OOD)也是常见的软件概要设计方式之一.(√)二,单项选择题(每小题2分,共10分)试判断下列叙述中,哪个(些)是正确的(D)a,软件系统中所有的信息流都可以以为是事务流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详细设计的结果大体决定了最终程序的(C)A,代码的规模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 setValue(int i) {age=i; }public void setValue(String s) {name=s; }4、什么是数据字典简述数据字典与数据流图的关系.答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的概念与说明,是数据流程图的补充工具.(2分)数据流图和数据字典一路组成系统的逻辑模型,没有数据字典数据流图就不严格, 但是没有数据流图数据字典也难于发挥作用. 数据流图和对数据流图中每一个元素的精准概念放在一路,才能一路组成系统的规格说明.(3分)5、简述编码风格的重要性.答案:阅读程序是软件开发和保护进程中的一个重要组成部份,程序实际上也是一种供人阅读的文章.应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间.良好的编码风格有助于编写出靠得住而又容易保护的程序,编码的风格在很大程度上决定着程序的质量.面向对象的测试和传统开发方式的测试有什么不同答案:(1)二者都可以分成四个阶段进行.但传统测试最小单元是模块,而在面向对象环境下,最小的可测试的单元是封装了的类或对象,而不是程序模块.(2)因为面向对象软件没有一个层次的控制结构,所以传统的自顶向下和自底向上的组装策略意义不大. 每次将一个操作组装到类中(像传统的增殖式组装那样)常常行不通,因为在组成类的各个部件之间存在各类直接的和非直接的交互.对于面向对象系统的组装测试,存在两种不同的测试策略.软件工程期末试卷(2)(开放教育本科)计算机科学与技术专业《软件工程》试题B一、填空题(每空1分,共20分)1.软件生存周期一般可分为__问题概念__、可行性研究、__需求分析_、设计编码、_测试_、运行与保护阶段。

软件工程期末考试试卷

软件工程期末考试试卷

软件工程期末考试试卷一、单项选择题(每题2分,共20分)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. 资源分配二、多项选择题(每题3分,共15分)11. 软件工程的主要原则包括______。

A. 抽象B. 模块化C. 逐步求精D. 客户驱动12. 在软件开发过程中,需求分析阶段的主要任务包括______。

A. 确定软件的功能需求B. 确定软件的非功能需求C. 编写需求规格说明书D. 进行需求评审13. 在软件设计阶段,主要的设计方法包括______。

《软件工程》期末考试试题

《软件工程》期末考试试题

《软件工程》期末考试试题一、填空题(10分,每空1分)1.1实体联系(ER)图的基本要素为、和。

1.2一个软件模块完成的功能越单一,其越强,模块的独立性就越。

1.3软件测试技术主要包括白盒测试和黑盒测试技术。

其中,在白盒测试中,主要的方法有、和等。

在黑盒测试中,主要的方法有和。

二、选择题(20分,每题2分)2.1与计算机科学的理论研究不同,软件工程是一门学科。

A. 理论性B. 工程性C. 原理性D. 艺术性2.2 是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。

A. 软件过程B. 软件工具C. 软件产品D. 软件工程2.3 软件开发的螺旋模型是。

A. 适用于需求被清晰定义的情况B. 一种需要快速构造核心产品的好方法C. 可以很好的和客户沟通需求D. 可以很好的处理风险2.4 在各种不同的软件需求中,是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。

A. 业务需求B. 功能需求C. 非功能需求D. 用户需求2.5状态-迁移图。

A. 描述了数据对象之间的关系B. 描述了转换数据流的功能C. 描述了现实世界实体之间交换的事件序列D. 在单个模型中描述一组事件踪迹2.6开发人员使用可以将用例的行为分配到所识别的分析类中。

A. 用例图B. 顺序图C. 类图D. 状态图2.7 对每个模块内部采用的数据结构和算法进行设计。

A. 概要设计B. 数据库设计C. 详细设计设计D. 用户界面设计2.8 投资回报率(ROI) 用来度量。

A. 产品的质量B. 过程的质量C. 商业环境下的质量D. 以上均不对2.9 以下四种耦合中,程度最低的是。

A. 数据B. 标记C. 控制D. 公共2.10下列UML类图表示的是设计模式。

A. 备忘录B. 策略C. 状态D.观察者三、判断题(20分,每题2分)3.1 软件不能按时交付,软件质量低是软件危机的两个重要体现。

《软件工程》期末试卷(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)对象图的组成元素包括对象和______________。

软件工程期末试题及答案

软件工程期末试题及答案

软件工程期末试题及答案一、选择题(每题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. 本地版本控制:通过在本地维护一份完整的代码仓库,实现对代码的版本控制。

软件工程期末考试试题

软件工程期末考试试题

软件工程期末考试试题一、选择题(每题2分,共20分)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. 状态图二、简答题(每题10分,共30分)1. 解释什么是软件危机,并简述其产生的原因。

2. 描述软件开发生命周期(SDLC)的主要阶段。

3. 解释什么是软件架构,并简述其在软件开发中的作用。

三、应用题(每题25分,共50分)1. 假设你是一个软件开发团队的项目经理,你的团队正在开发一个电子商务网站。

请描述你将如何使用敏捷开发方法来管理这个项目,并列出至少三个关键的敏捷实践。

2. 给定一个场景:一个软件产品在发布后发现存在性能问题,用户报告响应时间缓慢。

作为软件工程师,你需要设计一个性能测试计划来诊断问题。

请列出你的测试计划的主要步骤,并解释你将如何使用这些步骤来识别和解决问题。

四、案例分析题(共30分)阅读以下案例,并回答相关问题:某软件公司开发了一个在线预订系统,但在用户使用过程中频繁出现系统崩溃的问题。

经过初步调查,开发团队怀疑是数据库连接问题。

请分析可能的原因,并提出解决方案。

请根据上述案例,回答以下问题:1. 系统崩溃可能与哪些数据库连接问题有关?2. 如何设计测试来验证这些假设?3. 如果测试结果证实了问题,你将如何优化数据库连接以提高系统稳定性?。

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

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

软件工程期末试卷(十套含答案)一、选择题(每题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)要求子类必须能够替换父类,并且不影响程序的正确性。

软件工程基础期末试题及答案

软件工程基础期末试题及答案

软件工程基础期末试题及答案一、选择题 (每题2分,共20分)1. 软件工程的主要目标是( )。

A. 提高软件的质量B. 降低软件的开发成本C. 提高软件的开发效率D. 以上都对答案:D2. 下列哪个不是软件工程的基本活动?A. 软件规格B. 软件设计和实现C. 软件验证D. 软件评估答案:D3. 下列哪个不是软件工程的关键过程?A. 需求分析B. 软件设计C. 软件测试D. 代码审查答案:D4. 下列哪个不是软件工程的核心思想?A. 规范性B. 可维护性C. 可靠性D. 高效性答案:D5. 在软件开发过程中,需求分析的目的是( )。

A. 确定软件的功能和性能要求B. 确定软件的架构和设计C. 确定软件的开发方法和工具D. 确定软件的测试策略答案:A6. 下列哪个不是需求分析的主要任务?A. 确定软件的功能需求B. 确定软件的非功能需求C. 确定软件的界面需求D. 确定软件的开发需求答案:D7. 下列哪个不是软件设计的主要任务?A. 确定软件的架构B. 确定软件的模块划分C. 确定软件的数据结构D. 确定软件的开发计划答案:D8. 下列哪个不是软件设计的重要考虑因素?A. 软件的可扩展性B. 软件的可维护性C. 软件的可靠性D. 软件的性能答案:D9. 下列哪个不是软件测试的主要目的?A. 发现和修复软件缺陷B. 验证软件的功能和性能是否符合需求C. 评估软件的质量和可靠性D. 提高软件的开发效率答案:D10. 下列哪个不是软件测试的主要方法?A. 黑盒测试B. 白盒测试C. 静态测试D. 代码审查答案:D二、填空题 (每题2分,共20分)1. 软件工程是一种应用系统工程的方法和工具,以规范化的、可量化的和可控制的方式开发和维护软件的工程学科,其基本目标是以$$______$$的方式开发和维护软件,以提高软件的质量、降低软件的开发成本和提高软件的开发效率。

答案:工程化2. 软件工程的核心思想可以概括为规范化、$$______$$、可维护性和可靠性,其中规范化是软件工程的基础,可维护性是软件工程的重要目标,可扩展性是软件工程的关键。

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

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

软件工程期末考试试卷附答案一. 选择题(每题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)封装:将数据和操作数据的方法封装在一起,形成一个对象。

软件工程期末复习试卷

软件工程期末复习试卷

软件工程期末复习试卷一、选择题(每题 2 分,共 40 分)1、软件工程的出现主要是由于()。

A 程序设计方法学的影响B 软件危机的出现C 计算机的发展D 其他工程科学的影响2、软件生命周期中所花费用最多的阶段是()。

A 详细设计B 软件编码C 软件测试D 软件维护3、可行性研究的目的不包括()。

A 分析开发系统的必要性B 确定系统建模和开发的方法C 分析开发系统的可行性D 估计系统开发的成本和效益4、以下不属于软件需求分析阶段任务的是()。

A 确定软件系统的功能需求B 确定软件系统的性能需求C 制定软件集成测试计划D 建立软件的逻辑模型5、数据流图(DFD)是用于表示软件模型的一种图示方法,在其图形符号中,用()表示变换/加工。

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、软件质量保证应在()阶段开始。

软件工程试题

软件工程试题

软件工程考试题三一、选择题,请从四个可选项中选择正确答案。

(60分,每题3分)1.软件工程四个层次由下至上是(),它们的顺序不能互换。

A.质量层、过程层、方法层、工具层B.过程层、方法层、质量层、工具层C.方法层、过程层、质量层、工具层D.方法层、质量层、过程层、工具层2.根据软件工程的7条基本原理判断下面正确的选项是()。

A.软件错误发现的时机不重要,重要的是错误的严重程度B.软件错误只能通过运行代码才能发现C.软件错误发现的越早改正的成本越低D.。

需求阶段一般不会引入错误3.下列有关标准的符号,属于国内标准的是( )A. ZGB. GBC.GND.CB4.经济可行性研究的主要内容包括()。

A.开发过程B.开发工具C.风险分析D. 效益分析5.()定义了用户使用该软件要完成的任务。

A.用户需求B.业务需求C.性能需求D.功能需求6.数据流程图上的数据流必须封闭在()之间。

A.外部过程B.内部数据C.内部过程D.外部实体7.按照模块独立性,耦合程度由强至弱正确的顺序是()。

A.外部耦合、控制耦合、数据耦合B.控制耦合、数据耦合、外部耦合C.外部耦合、数据耦合、控制耦合D.数据耦合、外部耦合、控制耦合8.PDL是描述处理过程( )。

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.面向对象设计首先要进行高层设计:确定系统的总体结构和风格,构造系统的(),将系统划分成不同的子系统。

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

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

软件工程霄末试题及答案)软件工程佴末试题及答案)一、选择题(共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. 软件过程改进的指导框架是()。

《软件工程》试题及参考答案(第3套)

《软件工程》试题及参考答案(第3套)

《软件工程》试题(第3套)第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)1.需求分析中,开发人员要从用户那里解决的最重要的问题是( )。

A、要让软件做什么B、要给该软件提供哪些信息C、要求软件工作效率怎样D、要让该软件具有何种结构2.DFD中的每个加工至少有( )。

A、一个输入流或一个输出流B、一个输入流和一个输出流C、一个输入流D、一个输出流3.详细设计与概要设计衔接的图形工具是( )。

A、DFD图B、SC图C、PAD图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、 CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。

除第1级外,每个等级都包含了实现该成熟度等级目标的若干()。

A 关键实践B 关键过程域C 软件过程能力D 软件过程13. 详细设计与概要设计衔接的图形工具是( )A. DFD图B. 程序图C. PAD图D. SC图14. 测试的关键问题是 ( )A. 如何组织对软件的评审B. 如何验证程序的正确性C. 如何采用综合策略D. 如何选择测试用例15.研究开发所需要的成本和资源是属于可行性研究中的( )研究的一方面。

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

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

软件工程期末考试题(含答案)软件工程期末考试题(含答案)一、选择题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)。

试卷一中南大学考试试卷2006--2006 学年学期时间110分钟专业年级:总分100分,占总评成绩 100%注:此页不作答题纸,请将答案写在答题纸上 填空题(本题20分,每小题2分)1. 瀑布模型是以文档为驱动、适合于()软件项目的开发。

2. 需求分析的基本任务是()。

3. 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。

设计这组测试用例的方法是()。

4. 根据程序流程图划分的模块通常是()内聚的模块。

5. 软件的分类,按其功能可分为:系统软件、()和应用软件。

6. UML的定义包括UML语义和()两个部分。

7. 客观世界中的若干类,通常有两种主要的结构关系:即分类结构和( )。

8. IDEF1X图用来描述系统的()模型,主要有实体、联系和()三种成分,其中实体可分为独立实体和(),且一个实体只能在图中出现一次。

二、简答题(本题30分,每小题5分)1. 什么是软件工程?软件工程和计算机科学有何区别?2. 面向对象方法和结构化方法有何区别与联系?3. 什么是模块的作用域和模块的控制域?为何要求模块的控制域必须在作用域内?4. 什么是设计模式?试举例说明组合设计模式的应用。

5.什么是依赖倒置原则?它和开闭原则有何联系?6. 软件生存期过程和软件生存期模型有何联系?瀑布模型有何特点?三、绘图题(本题34分)1. 某单位拟开发一个计算机房产管理系统,要求系统具有分房、调房、退房和查询统计等功能。

房产科将用户申请表输入系统后,系统首先检查申请表的合法性,对不合法的申请表,系统拒绝接收;对合法的申请表根据类型分别进行处理。

(1) 如果是分房申请,则根据申请者的情况(年龄、工龄、职称、职务、家庭人口等)计算其分数,当分数高于阀值分数时,按分数高低将申请单插到分房队列的适当位置。

在进行分房时,从空房文件中读出空房信息,如房号、面积、等级、单位面积房租等,把好房优先分给排在分房队列前面的符合该等级房条件的申请者;从空房文件中删掉这个房号的信息,并从分房队列中删掉该申请单,再把此房号的信息和住户信息一起写到住房文件中,输出住房分配单给住户,同时计算房租,并将算出的房租写到房租文件中。

(2) 如果是退房申请,则从住房文件和房租文件中删除有关信息,再把此房号的信息写到空房文件中。

(3) 如果是调房申请,则根据申请者的情况确定其住房等级,然后在空房文件中查找属于该等级的空房,退掉原住房,再进行与分房类似的处理。

(4) 住户可以向系统查询目前分房的阀值分数,居住某类房屋的条件,某房号的单位面积及房租等信息。

房产科可以要求系统打印住房情况的统计表,或更改某类房屋的居住条件、单位面积和房租等。

请用数据流图描绘该系统的功能需求。

(12分)2. 某学校图书管理系统通过计算机对图书进行管理,借阅者可以通过该系统进行查询书籍、预订借阅书籍、查询本人帐号信息;图书管理员可以通过该系统处理借阅者借书、还书、删除预订信息、查询书籍信息、查询借阅者信息;系统管理员可以通过该系统添加书籍条目、删除书籍条目、添加借阅者信息、删除或更新借阅者信息、添加书籍、删除或更新书籍、查询书籍信息、查询借阅者信息。

(1)画出系统的类图。

(10分)(2)画出借阅者、图书管理员对应的用例图。

(6分)(3)画出书籍的状态图。

(6分)四、测试题(本题16分,每小题8分)某程序的程序流程图如下图所示,试据此回答下述问题:1. 计算程序的环形复杂度;2. 设计测试用例,满足基本路径覆盖。

试卷一(参考答案)参考答案:一.1. 软件需求确定的2. 确定用户需要软件做什么3. 边界值分析法4. 过程5. 支撑软件6. UML表示法7. 整体与部分结构8.四.(1)环路复杂性=判断数+1=6+1=7(个)(2)路径1:(0)—①—(13)—(19)路径2:(0)—②—③—(14)—(19)路径3:(0)—②—④—⑤—(15)—(19)路径4:(0)—②—④—⑥—⑦—(16)—(19)路径5:(0)—②—④—⑥—⑧—⑨—(17)—(19)路径6:(0)—②—④—⑥—⑧—⑩—(18)—(19)路径7:(0)—②—④—⑥—⑧—⑩—(12)—(19)测试用例:略试卷二中南大学考试试卷2007 -- 2007 学年学期时间110分钟专业年级:总分100分,占总评成绩 100%注:此页不作答题纸,请将答案写在答题纸上一、填空题(本题30分,每小题1.5分)1、软件是计算机程序、()及()的完整集合,将其统称为软件配置,这些项称为软件配置项。

通过正式复审的软件配置项称为(),只有通过正式的变化控制过程才能改变它。

2、通常,将软件生命周期全过程中使用的一整套技术方法的集合称为方法学,包含三个要素,即方法、()和()。

传统方法学采用()技术来自顶向下顺序地完成软件开发的各项任务,而面向对象方法是一种以()为主线,把数据和对数据的操作紧密地结合起来的方法,其开发过程是一个多次迭代的演化过程。

3、软件测试的目标是(),因而从心理学角度来看,由程序作者对自己编写的程序进行测试是不恰当的。

设计测试方案是测试阶段的关键技术问题,测试方案一般包括()、输入的测试数据和()。

4、模型是为了理解事物而对事物作出的一种抽象,由()和()组成。

对象模型描述了系统的静态结构,通常使用UML提供的()图来描述。

5、需求分析的基本任务是(),在需求分析结束前,系统分析员应该写出(),以书面的形式准确描述软件需求。

6、面向数据流的设计方法把()映射成软件结构,依据其类型的不同,有两种不同的映射方法,分别是()和()方法。

7、软件设计一般分为( )和( )两个阶段。

二、简答题(本题18分,每小题6分)1、瀑布模型是软件工程中应用最广泛的过程模型,试述采用瀑布模型进行软件开发的基本过程,该过程有何特点?2、什么是软件配置管理?软件配置管理和软件维护有何不同?3、试举例说明聚集关系中共享聚集和组合聚集有何不同。

三、分析题(本题20分)某住宅安全系统使用传感器(如红外探头等)来检测各种意外情况,如非法进入、火警等,其顶层DFD图如图3-1所示。

房主可以在安装该系统时配置安全监控设备,如传感器、报警器等,也可在系统运行时修改配置,通过录像机和电视机监控与系统连接的所有传感器,并通过控制面板上的键盘与系统进行信息交互。

在安装过程中,系统给每个传感器赋予一个编号和类型,并设置房主密码以启动和关闭系统,设置传感器事件发生时应该自动拨出的电话号码。

当系统检测到一个传感器事件时,就激活报警,拨出预置的电话号码,并报告位置等有关信息。

请回答以下问题:(1)图3-1中A,B,C分别是什么?(6分)(2)第0层DFD图如图3-2所示,则图中W,X,Y,Z分别是什么?(8分)(3)请说明如何采用DFD图计算功能点数。

(6分)图3-1 住宅安全系统顶层DFD图图3-2住宅安全系统第0层DFD图四、设计题(本题15分)某汽车租赁公司打算采用计算机系统来管理汽车租赁业务,其设计方案采用UML类图描述如图4-1所示。

图4-1中的类有:Renter(租赁者)、Person(人)、Company(租赁公司)和Automobile(汽车)。

租赁公司既可将汽车租给个人,也可将汽车租给其他租赁公司。

在设计时暂不考虑未租出去的汽车。

请回答以下问题:(1)试说明图4-1设计方案存在的问题。

(7分)(2)针对图4-1设计方案中存在的问题,给出改进的设计方案,并用UML类图描述。

(8分)图4-1 汽车租赁业务管理系统设计方案五、测试题(本题17分)某学校成绩管理系统中学生成绩评定模块对应的成绩评定规则:若期未考试成绩大于等于85分,平时成绩为优的,成绩定为优,而平时成绩为差的,成绩定为良;若期未考试成绩大于等于75分,平时成绩为优的,成绩定为良,而平时成绩为差的,成绩定为及格;若期未考试成绩大于等于60分,平时成绩为优的,成绩定为及格,而平时成绩为差的,成绩定为不及格;若期未考试成绩小于60分,成绩定为不及格。

请回答以下问题(1)请绘制成绩评定对应的程序流程图。

(4分)(2)计算成绩评定模块的MaCabe环形复杂度。

(6分)(3)试依据(1)和(2)设计测试用例满足基本路径覆盖。

(7分)试卷二(参考答案)参考答案:一、1、描述计算机程序的文档、数据、基线2、工具、过程、结构化、数据3、暴露程序中的错误、测试目的、预期的结果4、一组图示符号、组织这些符号的规则、类图5、准确地回答系统必须做什么、软件需求规格说明书6、信息流、变换分析、事物分析7、概要设计、详细设计二、1、瀑布模型规定了各项软件工程活动,包括需求分析、规格说明、设计、编码、测试和维护,并规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级而下。

瀑布模型的特点是:阶段间具有顺序性和依赖性;清楚区分逻辑设计和物理设计,尽可能推迟程序的物理实现;每个阶段都必须完成规定的文档,且每阶段结束前需要对完成的文档进行评审。

2、软件配置管理是在软件生命周期内管理变化的一组活动,用来:标识变化、控制变化、确保适当地实现了变化、向相关人员报告变化。

软件配置管理和软件维护的区别是:软件配置管理是一组追踪和控制活动,在软件项目启动时就开始,并一直持续到软件被淘汰后才终止;软件维护是一组软件工程活动,发生于软件交付给用户并投入运行之后。

3、如果在聚集关系中部分对象可同时参与多个整体对象的构成,则该聚集称为共享聚集。

例如,一个课题组包含许多成员,每个成员又可以是另一个课题组的成员,则课题组和成员之间是一种共享聚集的关系。

如果部分对象完全隶属于整体对象,并与整体对象共存,则该聚集称为组合聚集。

例如,在屏幕上一个窗口由文本框、列表框、按钮和菜单等构成,且一旦关闭了窗口,则各组成部分也消失,则窗口和它的组成部分之间的关系为组合聚集关系。

三、(1)、A:控制面板 B、报警器 C、传感器(2)、W: 用户配置请求 X: 用户密码 Y: 传感器状态 Z: 告警信息(3)、利用DFD图计算功能点数的步骤如下:首先通过DFD图获取输入项数、输出项数、查询数、主文件数和外部接口数,然后计算未调整的功能点数,再计算技术复杂因子,最后计算功能点数。

四、(1)图4-1设计方案存在的问题如下:1)未能完全反映租赁关系的内容,如租赁日期等;2)公司、被租赁汽车和租赁者三者之间的关系未能描述。

(2)改进后的类图如下图所示。

或图中,Tenancy表示一次租赁对应的事项。

五、(1)程序流程图如下:(2)MaCabe环形复杂度为7。

(3)满足基本路径覆盖的测试用例共7个,假定各节点的编号如下图示,则测试用例如下表所示。

相关文档
最新文档