一.解释软件,软件危机,软件工程的概念
- 软件:软件是计算机系统与硬件相互依存的另一部分,它是程序,数据,相关文档的完整集合。
- 软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列问题。
- 软件工程:指导计算机软件开发和维护的一门工程学科。
二.软件开发可以分为哪几个主要阶段阶段的基本任务h4>
- 概要设计:设计出实现目标系统的几种可能方案,设计程序的体系结构
- 详细设计:具体的实现这个系统
- 编码和单元测试:写出正确的容易理解、容易维护的程序模块
- 综合测试:通过各种类型的测试以及相应的调试使软件达到预定的要求
三.常用的软件开发开发模型有哪些有什么特点件开发模型一般都是结合着使用的)
-
瀑布模型:优点:强调开发的阶段早期计划和需求调查,缺点:风险至后期测试阶段显示,失去及早纠正的机会,适用于小项目,项目风险小,需求明确
-
螺旋模型:适用于大项目,前期需求不明确,风险大的项目
-
喷泉模型:面对对象软件开发
-
快速原型模型:工期较紧迫,用户需求表述比较模糊
-
增量:规模适中,分阶段提交,不断增加新功能
-
迭代:先进行项目基础功能的开发,再进行比较复杂的。
-
敏捷开发(scrum):小项目。轻流程,轻文档,重目标,重产出
四.需求分析阶段的主要内容,应对哪些方面的具体需求进行分析描述h4>
需求分析阶段的主要内容:
- 确定对系统的综合要求
- 分析系统数据要求
- 导出系统逻辑模型
- 修正系统开发计划
具体分析描述
- 功能
- 性能
- 可靠性和可用性需求
- 出错处理
- 接口需求
- 约束
- 逆向需求
- 将来可能提出的需求
五. 解释耦合,内聚,模块独立性的含义(高内聚低耦合)
- 耦合:是对一个软件结构内不同模块之间互联程度的度量
- 内聚:一个模块内各个元素彼此结合的紧密程度
- 模块独立性:模块化、抽象、信息隐藏、局部化概念的直接结果
六. 在进行面向数据流的设计时,根据信息流的特点将其映射为软件结构,试简要介绍“变换流”和“事务流”各自的主要特点及“变换分析”、“事务分析”的方法
- 变换流的特点:数据流图具有如下特征:信息沿输入通路进入系统,同时由外部形式变换为内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换为外部形式离开软件系统。
-
事务流的特点:数据沿通路到达一个处理T,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行。
-
变化分析的方法:
瀑布模型:优点:强调开发的阶段早期计划和需求调查,缺点:风险至后期测试阶段显示,失去及早纠正的机会,适用于小项目,项目风险小,需求明确
螺旋模型:适用于大项目,前期需求不明确,风险大的项目
喷泉模型:面对对象软件开发
快速原型模型:工期较紧迫,用户需求表述比较模糊
增量:规模适中,分阶段提交,不断增加新功能
迭代:先进行项目基础功能的开发,再进行比较复杂的。
敏捷开发(scrum):小项目。轻流程,轻文档,重目标,重产出
需求分析阶段的主要内容:
- 确定对系统的综合要求
- 分析系统数据要求
- 导出系统逻辑模型
- 修正系统开发计划
具体分析描述
- 功能
- 性能
- 可靠性和可用性需求
- 出错处理
- 接口需求
- 约束
- 逆向需求
- 将来可能提出的需求
五. 解释耦合,内聚,模块独立性的含义(高内聚低耦合)
- 耦合:是对一个软件结构内不同模块之间互联程度的度量
- 内聚:一个模块内各个元素彼此结合的紧密程度
- 模块独立性:模块化、抽象、信息隐藏、局部化概念的直接结果
六. 在进行面向数据流的设计时,根据信息流的特点将其映射为软件结构,试简要介绍“变换流”和“事务流”各自的主要特点及“变换分析”、“事务分析”的方法
- 变换流的特点:数据流图具有如下特征:信息沿输入通路进入系统,同时由外部形式变换为内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换为外部形式离开软件系统。
- 事务流的特点:数据沿通路到达一个处理T,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行。
- 变化分析的方法:
? 1.复查基本系统模型
? 2.复查并精化数据流图
? 3.确定数据流图具有变换特性还是事务特性
? 4.确定输入流和输出流的边界,从而孤立出变换中心
? 5.完成第一级分解
? 6.完成第二级分解
? 7.使用设计度量和启发式规则对第一次分割得到的软件结构进一步精化
- 事务分析的方法:和变换分析方法大部分相同,主要差别是由数据流图到软件结构的映射方法不同。
从事务中心的边界开始,把沿着接收流通路的处理映射成模块。由事务流映射成的软件结构,包括一个接收分支和一个发送分支。发送分支结构包含一个调度模块,它控制下层的所有活动模块,然后把数据流图中的每个活动流通图映射成与它的流特征相对应的结构。
七. 简述软件测试的主要方法和它们各自的特点
黑盒测试:将程序看成一个黑盒子,完全不考虑程序内部结构和处理过程
白盒测试:按照程序的内部逻辑测试程序,检查程序中的主要执行通路是否都能按照预定的要求正确工作
八. 简述软件测试的主要步骤和它们各自的方法
- 单元测试:白盒测试
- 集成测试:灰盒测试(即为白盒+黑盒)
- 系统测试:黑盒测试
- 验收测试:黑盒测试
- 平行运行:同时运行新系统和旧系统,并比较两个系统的处理结果
九. 简述适用于白盒测试的逻辑覆盖有哪些类型h4>
-
语句覆盖:每条语句至少执行一次
-
判定覆盖:每个判定的每个分支都至少执行一次=每条语句至少执行一次+每个判定的每种可能的结果都至少执行一次
-
条件覆盖:每个语句至少执行一次+判定表达式中的每个条件都取到各种可能的结果
-
判定/条件覆盖:选足够多的测试数据,使判定表达式中的每个条件都取到各种可能的值,而且每个判定表达式也都取到各种可能的结果
-
条件组合覆盖:选取足够多的测试数据,使每个判定表达式中的条件的各种可能组合都至少出现一次
-
点覆盖:每个语句至少执行一次
-
边覆盖:每个判定的每个分支都至少执行一次=每条语句至少执行一次+每个判定的每种可能的结果都至少执行一次
-
路径覆盖:选取足够多的测试数据,使程序的每条可能路径都至少执行一次(如果程序图中有环,则要求每个环至少经过一次
十. 简述适用于黑盒测试的“等价类”,“边界值”,“错误猜测法”方法进行测试方案设计的要点
语句覆盖:每条语句至少执行一次
判定覆盖:每个判定的每个分支都至少执行一次=每条语句至少执行一次+每个判定的每种可能的结果都至少执行一次
条件覆盖:每个语句至少执行一次+判定表达式中的每个条件都取到各种可能的结果
判定/条件覆盖:选足够多的测试数据,使判定表达式中的每个条件都取到各种可能的值,而且每个判定表达式也都取到各种可能的结果
条件组合覆盖:选取足够多的测试数据,使每个判定表达式中的条件的各种可能组合都至少出现一次
点覆盖:每个语句至少执行一次
边覆盖:每个判定的每个分支都至少执行一次=每条语句至少执行一次+每个判定的每种可能的结果都至少执行一次
路径覆盖:选取足够多的测试数据,使程序的每条可能路径都至少执行一次(如果程序图中有环,则要求每个环至少经过一次
等价类:划分有效等价类和无效等价类
边界值:选取等于,稍小于,稍大于等价类边界值的数据作为测试数据
错误猜测法:列举程序中可能有的错误和容易发生错误的特殊情况
十一. 面对对象方法学的四要素
对象
类
继承
消息
十二. 对象的形式化定义为对象=(ID.MS.DS.MI)解释定义
ID 对象的标识或名字
MS 对象中的操作集合
DS 数据结构
MI 受理的消息名集合
十三. 面对对象建模时,通常包括哪几类基本模型模型是最重要,最基本,最核心的h4>
1.对象模型,动态模型,功能模型
2.对象模型为最重要的!
十四 . 对象模型的五个层次是什么对象分析过程的步骤是什么h4>
? 1.主体层、类与对象层、结构层、属性层、服务层
? 2.步骤如下:
- 需求陈述
- 深入理解用户需求抽象出目标系统的本质属性并用模型表示
- 建立模型
十五. 如何根据功能模型和动态模型定义类的服务h4>
- 常规行为
- 从事件导出的操作
- 与数据流图中处理框对应的操作
- 利用继承减少冗余操作
十六. 软件项目管理主要有哪些方面h4>
- 估算软件规模
- 工作量估算
- 进度计划
- 人员组织
- 质量保证
- 软件配置管理
- 能力成熟度模型
- 估算软件规模
- 工作量估算
- 进度计划
- 人员组织
- 质量保证
- 软件配置管理
- 能力成熟度模型
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!