软件工程期末考试题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分)某软件开发团队正在开发一个在线购物平台。
软件工程期末考试试卷
软件工程期末考试试卷一、单项选择题(每题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. 在软件设计阶段,主要的设计方法包括______。
《软件工程》期末试卷(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. 知识库答案:D3. 下列哪种软件过程模型适用于需求不明确的项目?A. 水平模型B. 增量模型C. 迭代模型D. 瀑布模型答案:C4. 在软件项目管理中,项目经理负责以下哪项工作?A. 软件需求分析B. 软件设计C. 软件编码D. 项目计划与组织答案:D5. 以下哪种编程语言不属于面向对象编程语言?A. JavaB. C++C. PythonD. C答案:D6. 下列哪种软件测试方法属于静态测试?A. 单元测试B. 集成测试C. 系统测试D. 代码审查答案:D7. 以下哪种软件维护类型占总维护工作量的比例最大?A. 适应性维护B. 完善性维护C. 纠错性维护D. 预防性维护答案:C8. 下列哪种软件文档是软件开发过程中必须编写的?A. 项目计划书B. 需求规格说明书C. 设计文档D. 测试报告答案:B9. 下列哪种软件工程方法学强调开发过程的结构化和规范化?A. 结构化分析方法B. 面向对象分析方法C. 原型法D. 敏捷开发方法答案:A10. 以下哪个软件工具不属于CASE(计算机辅助软件工程)工具?A. 代码生成器B. 代码审查工具C. 项目管理工具D. 数据库管理系统答案:D二、填空题(每题2分,共20分)11. 软件工程的基本原则包括抽象、封装、模块化、层次化和信息隐藏等,其中______是一种将信息、数据和操作封装在一起的方法。
答案:封装12. 软件开发过程分为需求分析、设计、编码、测试和维护五个阶段,其中______阶段是软件开发过程中的核心阶段。
答案:设计13. 代码行(LOC)和功能点(FP)是衡量软件规模的两个指标,其中______是一种基于软件功能需求的规模度量方法。
软件工程导论《软件工程》期末考试题及答案
软件工程导论《软件工程》期末考试题及答案一、选择题(每题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. 简述软件需求分析的目的和任务。
答案:软件需求分析的目的在于明确用户对软件系统的功能、性能等方面的需求。
《软件工程》期末考试题及答案
《软件工程》期末考试题及答案一、选择题(每题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. 软件维护的四种类型是:__________、__________、__________、__________。
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分, 共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. 本地版本控制:通过在本地维护一份完整的代码仓库,实现对代码的版本控制。
软件工程期末试卷(十套含答案)
软件工程期末试卷(十套含答案)一、选择题(每题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. 逻辑编程答案:A4. 以下哪个不是软件设计的主要阶段?A. 模块设计B. 数据设计C. 界面设计D. 测试设计答案:D5. 以下哪个不属于软件测试的级别?A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:D6. 以下哪个不属于软件维护的类型?A. 更正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:D7. 以下哪个不属于软件项目管理的主要内容?A. 进度管理B. 成本管理C. 质量管理D. 知识管理答案:D8. 以下哪个不是敏捷开发的典型方法?A. ScrumB. KanbanC. 极限编程D. 水晶方法答案:D9. 以下哪个不属于软件需求分析的方法?A. 用例分析B. 数据流图C. 类图D. 状态图答案:C10. 以下哪个不属于软件工程的七大原则?A. 模块化B. 信息隐藏C. 抽象D. 重用答案:D二、填空题(每题2分,共20分)1. 软件工程的三个主要目标是______、______、______。
答案:可维护性、可用性、可靠性2. 软件工程的五大过程是需求分析、______、编码、测试、______。
答案:设计、维护3. 软件设计的主要阶段包括模块设计、______、______。
答案:数据设计、界面设计4. 软件测试的四个级别是单元测试、______、系统测试、______。
答案:集成测试、验收测试5. 软件维护的四种类型是更正性维护、______、完善性维护、______。
答案:适应性维护、预防性维护6. 软件项目管理的主要内容有进度管理、______、______。
国开电大本科《软件工程》期末考试试题及答案
国开电大本科《软件工程》期末考试试题及答案一、选择题(每题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.面向对象设计首先要进行高层设计:确定系统的总体结构和风格,构造系统的(),将系统划分成不同的子系统。
《软件工程概论》期末复习题及参考答案
《软件工程概论》期末复习题及参考答案一、选择题1. 软件工程的三要素不包括以下哪项?A. 软件开发B. 软件维护C. 软件管理D. 软件设计答案:D2. 下列哪项不是软件工程的基本目标?A. 提高软件的生产率B. 提高软件的可维护性C. 提高软件的质量D. 减少软件开发成本答案:D3. 下列哪种方法不属于软件工程的建模方法?A. UMLB. 数据流图C. 实体关系图D. 快速原型法答案:D4. 软件需求分析的主要目的是什么?A. 确定软件的功能和性能B. 设计软件的体系结构C. 编写软件的测试计划D. 评估软件的可行性答案:A5. 在软件开发过程中,以下哪个阶段是最容易发现错误的?A. 需求分析B. 设计C. 编码D. 测试答案:A二、填空题6. 软件工程的目的是______、______和______。
答案:提高软件的生产率、提高软件的可维护性、提高软件的质量7. 软件开发过程包括______、______、______、______和______。
答案:需求分析、设计、编码、测试、维护8. 软件需求分析的工具有______、______和______。
答案:数据流图、实体关系图、状态转换图9. 软件设计包括______设计和______设计。
答案:体系结构、详细10. 软件测试的目的是______、______和______。
答案:发现错误、评估软件质量、验证软件功能三、判断题11. 软件工程的方法和技术适用于所有类型的软件项目。
()答案:正确12. 软件开发过程中,需求分析是最重要的阶段。
()答案:错误(设计阶段同样重要)13. 软件测试是软件开发过程中的最后一个阶段。
()答案:错误(软件维护是最后一个阶段)14. 软件维护是为了提高软件的性能和可维护性。
()答案:正确15. 软件项目管理主要包括进度管理、成本管理和风险管理。
()答案:正确四、简答题16. 简述软件工程的基本原则。
答案:软件工程的基本原则包括以下几点:(1)分阶段进行软件开发;(2)采用模块化设计;(3)使用适当的开发工具;(4)进行有效的项目管理;(5)注重软件质量保证。
软件工程(期末试题及答案)
软件工程霄末试题及答案)软件工程佴末试题及答案)一、选择题(共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. 在软件项目管理中,以下哪个阶段不属于软件开发的基本阶段?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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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个,假定各节点的编号如下图示,则测试用例如下表所示。