中国海洋大学 考研 期末 软件工程复习

更新时间:2023-09-14 03:47:01 阅读量: 初中教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1、“软件危机”是指在计算机软件 开发 和 维护 中出现的一系列问题; 2、软件生命周期:软件定义、软件开发、运行维护; 软件定义:问题定义、可行性研究、需求分析;

软件开发:总体设计、详细设计、编码和单元测试、综合测试。 运行维护:不再分;

各个阶段基本任务:

1、 问题定义:明确要解决的问题是什么。

2、 可行性研究:这个阶段的任务不是具体解决问题,而是研究问题的范围,探索这个问题

是否值得去解,是否有可行的解决办法。

3、 需求分析:准确的确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标

系统必须具备哪些功能。这个阶段的一项重要任务,是用正式文档准确记录对目标系统的需求,这份文档通常称为规格说明书。

4、 总体设计:必须回答的关键问题是“概括的说,应该怎样实现目标系统?”总体设计又

称为概要设计。首先,应该设计出实现目标系统的几种可能的方案。另一个就是设计程序的体系结构,也就是确定程序由哪些模块组成以及模块之间的关系。

5、 详细设计:关键问题是“应该怎样具体的实现这个系统呢?”这个阶段将详细的设计每

个模块,确定实现模块功能所需要的算法和数据结构。

6、 编码和单元测试:写出正确的容易理解、容易维护的程序模块。选择一种高级语言,将

详细设计的结果翻译成用选定的语言书写的程序,并且自习测试编写出的每一个模块。 7、 综合测试:通过各种类型的测试(及相应的调试)使软件达到预定的要求。

最基本的测试:集成测试、验收测试;

8、 软件维护:通过各种必要的维护活动是系统持久的满足用户的需要。

通常有四类维护活动:改正性维护,适应性维护,完善性维护,预防性维护。

3、软件过程:

1、瀑布模型:线性、顺序性; 特点:阶段见具有顺序性和依赖性; 推迟实现的观点 质量保证的观点 瀑布模型是由文档驱动的。

2、快速还原模型:迭代;本质是“快速”。先快速建立一个能反应用户主要需求的原型系统;试用它。

3、增量模型:分批地逐步向用户提交产品,整个软件产品被分解成许多个增量构建,开发人员一个构件接一个构件地向用户提交产品。 4、螺旋模型: 基本思想:使用原型及其他方法来尽量降低风险。每个阶段增加一个风险分析过程。 5、喷泉模型:迭代

4、耦合是对软件不同模块之间互连程度的度量。各种耦合按从强到弱排列如下:

内容耦合,公共耦合,控制耦合,数据耦合

5、设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:模块化的根据

6、白盒测试: 6.1逻辑覆盖

1)语句覆盖:每个语句都执行一次;

2)判定覆盖:每个判定的每种可能的结果都应该执行一次;

3)条件覆盖:不仅每个语句至少执行一次,而且使判定表达式中的每个条

件都取到可能的结果。

4)判定/条件覆盖:满足判定覆盖和条件覆盖;既判定表达式中的每个条

件都取到各种可能的值,而且每个判定表达式都取到各种可能的结果。

5)条件组合覆盖:每个判定表达式中条件的各种可能组合都至少出现一次; 6)点覆盖:等同于语句覆盖; 7)边覆盖:等同于判定覆盖;

8)路径覆盖:程序的每条路径都至少执行一次(如果程序图中有环,则要

求每个环至少经过一次);

6.2控制结构测试 1)基本路径测试 2)条件测试 3)循环测试

@1、简单循环 @2、嵌套循环 @3、串接循环

7、环形复杂度计算方法:

1)流图中的区域树等于环形复杂度;

2)流图G中的环形复杂度等于V(G)=E—N+ 2;E是流图中边的条数,

N是节点数。

3)流图G中的环形复杂度等于V(G)=P+1;P是图中判定结点的数目;

9、 黑盒测试: 1、 等价划分

2、 边界值分析

3、 错误推测 10、 调试:

定义:调试是在测试发现错误之后排除错误的过程; 调试过程(177页)

执行测试用例——>结果——>调试——>被怀疑的原因 附加测试 测试用例 已识别的原因 纠正 回归测试 11、 软件维护:

定义:在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。 四种维护活动:

改正性维护:诊断和改正错误的过程; 50%—66% 适应性维护:为了和变化了的环境适当地配合而进行的修改软件的活动;17%—21% 完善性维护:满足用户提出的增加新功能或是修改已有功能的要求; 18%—25% 预防性维护:为了改进未来的可维护性或可靠性,或为了给未来的改进奠定更好的基础而修改软件的活动; 4% 12、 软件的可维护性

决定软件可维护性的因素: 1、 可理解性 2、 可测试性 3、 可修改性 4、 可移植性 5、 可重用性 13、 面向对象方法具有四个要点:

1、 认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以由比较简

单的对象以某种方式组合而成。

2、 把所有对象都划分成各种对象类,每个对象类都定义了一组数据和一组方法。 3、 按照子类与父类的关系,把若干对象类组成一个层次结构的系统(也称为类等级)。 4、 对象彼此之间仅能通过传递消息互相联系。

14、 面向对象的分析方法主要是建立三类模型,即对象模型、动态模型、功能模型 。

1、 对象模型:描述系统数据结构 2、 动态模型:描述系统控制结构 3、 功能模型:描述系统功能 15、 在一个设计得很好的系统中,模块的作用域是模块的控制域的子集。

本文来源:https://www.bwwdw.com/article/zbdh.html

Top