软件工程期末复习题参考答案
软件工程(期末试题及答案)

软件工程(期末试题及答案)软件工程(期末试题及答案)一、选择题(共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大原则()。
《软件工程》期末试卷(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. 简述软件需求分析的目的和任务。
答案:软件需求分析的目的在于明确用户对软件系统的功能、性能等方面的需求。
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分,共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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程期末复习题选择题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 )。
A、确认测试B、集成测试C、验收测试D、验证测试14、在七种偶合中,最低偶合是( C )。
A、内容偶合B、公共偶合C、数据偶合D、非直接偶合15. 以下不属于白盒测试技术的是( D )A.逻辑覆盖B.基本路径测试C、循环覆盖测试D、等价类划分16. 软件的发展经历了( D )个发展阶段A.1B. 2C.3D.417. 需求分析的任务不包括( B )A.问题分析B.系统设计C.需求描述D.需求评审。
18.从事物的组成部件及每个部件的属性、功能来认识事物。
这种方法被称为(A)的方法。
A、面向对象B、面向数据C、面向过程D、面向属性19.将软件组装成系统的一种测试技术叫(A)A.集成测试B.单元测试C.集合测试D.系统测试20. 技术可行性是可行性研究的关键,其主要内容一般不包括( C )A.风险分析B.资源分析C.人员分析D.技术分析21.一个模块的( B )是指能直接控制该模块的模块数。
A.扇出数B.扇入数C.宽度D.深度22.下列模型属于成本估算方法的是( A )A、COCOMO模型B、McCall模型C、McCabe度量法D、时间估算法23.在衡量软件质量时,最重要的标准是( B )。
A、成本低B、可维护性好C、符合要求D、界面友好24.瀑布模型的关键不足在于( B )A、过于简单B、不能适应需求的动态变更C、过于灵活D、各个阶段需要进行评审25.软件生命周期中所花费用最多的阶段是( D )A、详细设计B、软件编码C、软件测试D、软件维护26. 软件开发时,一个错误发现得越晚,为改正它所付出的代价( A )A、越大B、越小C、越不可捉摸D、越接近平均水平27. 程序的三种基本控制结构是( B )A、过程、子程序和分程序B、顺序、选择和循环C、递归、堆栈和队列D、调用、返回和转移28. 结构化程序设计主要强调的是( D )A程序的规模B程序的效率C程序设计语言的先进性D易读性29. 为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础的软件维护称为( D )A.纠错性维护B、适应性维护C、改善性维护D、预防性维护30. 模块的内聚性最高的是( D )A、逻辑内聚B、时间内聚C、偶然内聚D、功能内聚问答题1.什么是软件?计算机软件是与计算机系统操作有关的程序、规程、规则及任何与之有关的文档及数据;2.什么是软件工程?软件工程是一门指导软件开发的工程学科,以计算机理论及其他相关学科的理论为指导,采用工程化的概念、原理、技术和方法进行软件的开发和维护,把经实践证明的科学的管理措施与最先进的技术方法结合起来。
3.快速原型技术的基本思想是什么?花费少量代价建立一个可运行的系统,使用户及早获得学习的机会,最终提高软件质量。
4.快速开发原型的途径有哪些?废弃型:快速建立需求规格原型;追加型:快速建立渐进原型法采用循环渐进;步骤:快速分析、构造原型、运行和评价原型、修改与改进5.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
主要是两个问题:(1)如何开发软件,怎样满足对软件的日益增长的需求;(2)如何维护数量不断膨胀的已有软件;6.什么是软件生存周期?软件生存周期是软件的产生直到报废的整个生命周期7.什么是软件的可靠性?指在给定时间内,在规定的环境条件下系统完成所指定功能的概率8.如何识别用例?明确以下4个问题即可:1、与系统实现有关的主要问题是什么;2、系统需要哪些输入/输出,这些输入/输出从何而来,到哪里;3、执行者需要系统提供哪些功能;4、执行者是否需要对系统中的信息进行读、创建、修改、删除或存储9.如何识别角色?1、谁使用系统的主要功能?2、谁需要系统的支持以完成日常工作任务?3、谁负责维护,管理并保持系统正常运行?4、系统需要应付(或处理)哪些硬设备?5、系统需要和哪些外部系统交互?6、谁(或什么)对系统运行产生的结果(值)感兴趣?10.如何识别类?常用的方法有:1. 名词识别法;2. 系统实体识别法;3. 从用例中识别类;4. 利用分解与抽象技术;关键是要定义类的“属性”及“操作”11.耦合性和内聚性有几种类型? 其耦合度、内聚强度的顺序如何?(1)非直接耦合;(2)数据耦合;(3)标记耦合;(4)控制耦合;(5)外部耦合;(6)公共耦合;(7)内容耦合;(1)偶然内聚;(2)逻辑内聚;(3)时间内聚;(4)过程内聚;(5)通信内聚;(6)顺序内聚;(7)功能内聚;12.什么是黑盒测试法?也称功能测试或数据驱动测试,测试时把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,只根据需求规格说明书,测试程序的功能或程序的外部特性。
13.等价类划分方法中,划分好等价类后设计测试用例的步骤是什么?1) 为每个等价类编号;2) 使一个测试用例尽可能覆盖多个有效等价类;3) 特别要注意:一个测试用例只能覆盖一个无效等价类;15.什么是白盒测试?分析程序的内部逻辑结构,注意选择适当的覆盖标准,设计测试用例,对主要路径进行尽可能多的测试;16.什么叫综合测试?一般都应该先进行静态测试,再考虑动态测试,最后进行验收测试;选择最少量的高效测试用例,从而尽可能多地发现软件中的问题。
17.什么叫改善性维护?扩充原有系统的功能,提高原有系统的性能,满足用户的实际需要18什么叫预防性维护?为了进一步改善软件的可靠性和易维护性,或者为将来的维护奠定更好的基础而对软件进行修改。
19什么叫适应性维护?要使运行的软件能适应运行环境的变动而修改软件的过程。
20.什么是内聚度?模块内部各成分彼此结合的紧密程度21.什么是耦合度?软件结构中模块间关联程度的一种度量22.面向对象软件测试基本步骤是什么?1、测试用例模型2、测试某些用例中的典型场景3、类及对象模型4、某些类测试其状态模型23.什么是软件体系结构?为软件系统提供一个结构、行为和属性的高级抽象,确定了系统的组织结构和拓扑结构,显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
24典型软件体系结构有哪些,其优缺点是什么?仓库模型、分布式模型、客户机/服务器模型、抽象机模型、控制摸型;仓库模型,优点:1.共享大数据量的有效方法。
2.子系统不必关心其它的子系统如何使用它所产生的数据。
3.易于将新子系统集成,若新子系统也采用相同。
缺陷:1.为了共享数据,各子系统必须有一致的数据视图,不可避免地会影响了整个系统的性能;2.子系统的改变,使产生的数据结构也可能发生改变;3.统一的数据库结构(备份、安全、访问控制和恢复的策 ),将影响子系统的效率。
分布式模型,优点:资源共享;开放性高;可伸缩性好;容错能力强;透明性高;缺点:复杂性;安全性;可管理性;不可预知性;抽象机模型又称为分层模型:优点:支持增量式开发。
缺点:系统构成,性能保证较困难。
25.黑盒测试的典型方法有哪些?等价类划分、边界值分析、错误推测、因果图和综合策略26.白合测试的典型方法有哪些?1、逻辑覆盖①语句覆盖:选择足够的测试用例,使得程序中每个语句至少都能被执行一次;②判定覆盖:执行足够的测试用例,使得程序中每个判定至少都获得一次“真”值和“假”值;③条件覆盖:执行足够的测试用例,使得判定中的每个条件获得各种可能的结果;④判定/条件覆盖:执行足够的测试用例,使得判定中每个条件取到各种可能的值,并使每个判定取到各种可能的结果;⑤条件组合覆盖:执行足够的例子,使得每个判定中条件的各种可能组合都至少出现一次;2、循环覆盖3、基本路径测试4、代码检查法5、静态结构分析6、静态质量度量法27.静态分析中的数据流分析图基本思想是什么?数据流分析则侧重于对变量在控制结构下的定值,使用以及传播情况的分析检查分析变量的定义和引用情况。
列出源代码中的变量并且报告任何异常的使用。
28.软件设计阶段的任务与目标是什么?任务:将分析阶段获得的需求说明转换为计算机中可实现的系统;即:软件体系结构的设计、用户界面的设计、数据结构的设计、算法的设计目标:构造一个高内聚低耦合的软件模型。
29.软件设计的准则是什么?1、软件结构的准则:顶部宽度小,中部宽度最大,底部宽度次之;在结构顶部有较高的扇出数,在底部有较高的扇入数2、模块化准则:将系统划分成若干模块,每个模块完成一个子功能,把这些模块集中起来组成一个整体,以满足所要求的整个系统的功能。
3、软件独立性准则:开发具有功能专一,模块之间无过多相互作用的模块。
30.需求获取的方法有哪些?1.面谈法重要而直接,简单的需求获取技术。
2. 问卷法调查法是对面谈法的补充。
3.需求专题讨论会最有力的需求获取技术。
有利于培养高效团队。
4.观察用户的工作流程适用于用户无法准确表达需求的情况。