软件工程复习

2022-07-12 03:41:20   第一文档网     [ 字体: ] [ 阅读: ] [ 文档下载 ]
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。下载word有问题请添加QQ:admin处理,感谢您的支持与谅解。点击这里给我发消息

#第一文档网# 导语】以下是®第一文档网的小编为您整理的《软件工程复习》,欢迎阅读!
软件工程,复习

1什么是软件?软件是相对硬件而言的,是计算机系统中的程序、数 据及其相关文档的总称。

2软件工程的定义是开发、运行和维护软件的系统化的工程方法。

3软件的生存周期定义是指软件产品或软件系统从产生,投入使用到被淘汰的全过程。 软件生存周期大体可分为如下几个活动:计算机系统工程、需求分析、设计、编码、测试、运行和维护。

软件生存周期各活动的主要任务:

计算机系统工程的任务:(1)确定待开发软件的总体要求和范围以及它与其它计算机系统元素之间的关系(2)进行成本估算(3)进行可行性分析

需求分析:主要解决待开发软件要“做什么”的问题 软件设计:主要解决待开发软件“怎么做”的问题

编码:用某种程序设计语言,将设计的结果转换为可执行的程序代码。 测试:发现并纠正软件中的错误和缺陷。

运行和维护:在软件运行期间,当发现了软件中潜藏的错误或需要增加新的功能或使软件适应外界环境的变化等情况出现时对软件进行修改。

4软件过程成熟度的等级CMM提供了一个成熟度等级框架: 1 -初始级、 2 -可重

复级、 3 -已定义级、 4-已管理级 5-优化级。

5软件过程模型是软件开发全部过程、活动和任务的结构框架。瀑布模型演化模型,增量模型,原型模型,螺旋模型,喷泉模型,基于构件的开发模型,形式方法模型

6计算机的系统定义:通过处理信息来完成某些预定义目标而组织在一起的元素集合或排列。 计算机系统的主要元素主要有:软件、硬件、人员、数据库、文档等。

7可行性分析定义:从经济、技术、法律等方面分析所给出的解决方案是否可行,通常只有解决方案可行并有一定的经济效益和/或社会效益时才开始真正的基于计算机的系统的开发。

包括的方面:经济分析(成本,效益,货币时间的价值,投资回收值,纯收入)技术(风险,资源,技术),法律。 8需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。 软件需求分析的任务深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节,定义软件的其他有效性需求,借助于当前系统的逻辑模型导出目标系统逻辑模型,解决目标系统“做什么”的问题。

9软件设计原则:抽象化与逐步求精,模块化,信息隐藏,模块独立 软件设计分类:详细设计和概要设计。

模块化:把软件按照规定原则,划分为一个个较小的,相互独立的但又相互关联的部件,实际上是系统分解和抽象的过程。 模块的独立:模块完成独立的功能并且与其他模块的接口简单,符合信息隐蔽和信息局部化原则,模块间关联和依赖程度尽可能小

内聚cohesion是一个模块内部各个元素彼此结合的紧密程度的度量。 耦合(coupling)是模块之间的相对独立性(互相连接的紧密程度)的度量。

10软件体系结构的风格:数据为中心体系结构,数据流风格的体系结构,调用和返回风格的体系结构,面向对象风格的体系结构,层次式风格的体系结构。 扇入:调用(或控制)一个给定模块的模块个数,

扇出:一个模块直接调用(或控制)其它模块数目,多扇出意味着需要控制和协调许多下属模块。


深度程序结构的层次数称为结构的深度。结构的深度在一定意义上反映了程序结构的规模和复杂程度。

宽度:层次结构中同一层模块的最大模块个数称为结构的宽度。 程序流程图看书哦

11数据库图的组成:数据流,加工,文件,源和宿。

启发式设计原则:1)改造程序结构图,降低耦合度,提高内聚度。 2)避免高扇出,并随着深度的增加,力求高扇入 3)模块的影响范围应限制在该模块的控制范围

4)降低模块接口的复杂程度和冗余程度,提高一致性 5)模块的功能应是可预测的,避免对模块施加过多的限制 6)尽可能设计单入口和单出口的模块

12构件的定义:构件是某系统中有价值的、几乎独立的并可替换的一个部分,它在良好定义的体系结构语境内满足某清晰的功能。

构件描述模型3C构件模型,REBOOT构件模型

构件标准CORBA(公共对象请求代理体系结构)OMG发布的构件标准;COM+:微软开发的一个构件对象模型EJB:一种基于Java的构件标准

构件库管理系统的主要工能:构件检索,构件的分类存储,构件库浏览,删除构件,构件使用情况评价

13软件测试:使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别.

白盒测试的分类:逻辑覆盖测试,基本路径覆盖测试,数据流测试,循环测试 黑盒测试的分类:等价类划分,边界值分析,比较测试,错误猜测,因果图 系统测试:恢复测试,安全测试,压力测试,性能测试。

14什么是软件维护:是指软件系统交付使用以后,为了改正错误或满足新的需要而修改软件的过程

软件维护有哪几种:纠错性维护、适应性维护、改善性维护和预防性维护

15软件项目管理定义:按照预定的时间和费用成功的完成了软件计划,开发和维护的过程。 软件项目管理的内容:项目启动,项目计划 ,软件度量 ,项目估算, 风险管理, 度安排, 追踪与控制 ,软件配置管理

风险管理包括:风险标识、风险预测、风险评估和风险管理与监控

画数据流图在第五章,等价类划分在第十一章

16软件是一系列按照特定顺序组织的计算机数据和指令的集合。

17多态性 同一操作作用于不同的类的实例,将产生不同的执行结果,即不同类的对象收到相同的消息时,得到不同的结果

实际上是对某种类型的对象定义变量和方法的原型。它表示对现实生活中一类具有共同特征的事物的抽象 对象是类的实例化

软件可移植性指与软件从某一环境转移到另一环境下的难易程度。 18自顶向下集成测试方法:深度优先和广度优先。

19项目管理:通过项目经理和项目组织的努力,运用系统理论的方法对项目及其资源进行计划、组织、协调、控制,旨在实现项目的特定目标的管理方法体系。 基本内容为:项目定义、项目计划、项目执行、项目控制、项目收尾。

20风险管理定义:就是识别评估风险,建立、选择、管理和解决风险的可选方案和组织方法。


本文来源:https://www.dywdw.cn/48716364a32d7375a41780a6.html

相关推荐
推荐阅读