钱乐秋清华大学出版社软件工程复习要点

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章概论

✧(掌握)计算机软件:指计算机系统中的程序及其文档。

✧(掌握)软件生存周期:计算机系统工程,需求分析,设计,编码,测试,运行和维护。

✧(了解)软件过程模型:瀑布模型、演化模型、增量模型、原型模型、螺旋模型、喷泉

模型、基于构件的开发模型、形式化方法模型。

第二章系统工程

✧基于计算机的系统的元素主要有:软件、硬件、人员、数据库、文档和规程。

✧可行性分析:经济可行性、技术可行性、法律可行性、方案的选择和初衷。

第三章需求工程

✧需求工程分为:需求获取、需求分析与协商、系统建模、需求规约、需求验证、需求管

理。

第四章设计工程

✧软件设计工程的任务:数据、类设计,体系结构设计、接口设计、部件设计。

✧软件设计原则:抽象与逐步求精,模块化,信息隐藏,模块独立。

✧结构化程序设计方法

第五章结构化分析与设计

分层数据流图的画法:

1、画出系统的输入和输出

用顶层图来描述,

•确定源或宿:考生、阅卷站和考试中心

它们都既是源又是宿

•顶层图唯一的加工:软件系统(考务处理系统)

•确定数据流:系统的输入/输出信息

输入数据流:报名单(来自考生)、成绩清单(来自阅卷站)、合格标准(来自考试中心)

输出数据流:准考证(送往考生)、考生名单(送往阅卷站)、考生通知书(送往考生)、统计分析表(送往考试中心)

额外的输出流(考虑系统的健壮性):不合格报名单(返回给考生),错误成绩清单(返回给阅卷站)

•顶层图通常没有文件

顶层图

2、画出系统内部

0层图:将顶层图的加工(即系统)分家成若干个子加工,并用一些新定义的数据流进行连接,使得系统的输入数据流(即顶层的输入数据流)经过一连串的加工处理后,变换成系统的输出数据流(即顶层的输出数据流)

数据流图的审查

•检查图中是否存在错误或不合理(不理想)的部分

一致性:分层DFD中不存在矛盾和冲突

完整性:分层DFD本身的完整性,即是否有遗漏的数据流、加工等元素

分层数据流图的一致性:

•父图与子图平衡

任何一张DFD子图边界上的输入/输出数据流必须与其父图中对应的加工的输入/输出数据流保持一致

•数据守恒

一个加工所有输出数据流中的数据,必须能从该加工的输入数据流中直接获得,或者能通过该加工的处理而产生

多余的数据流:加工未使用其输入数据流中的某些数据项

•局部文件:

考虑分层数据流中一个文件应画在哪些DFD中,而不该画在哪些DFD中

•一个加工的输出数据流不能与该加工的输入数据流同名

分层数据流图的完整性:

•每个加工至少有一个输入数据流和一个输出数据流

•在整套分层数据流中,每个文件应至少有一个加工读该文件,有另一个加工写该文件

•分层数据流图中的每个数据流和文件都必须命名(除了流入或流出文件的数据流),并保持与数据字典的一致

•分层DFD中的每个基本加工(即不再分解子图的加工)都应有一个加工规约

字典条目的种类:数据流、文件、数据项(组成数据流和文件的数据)、加工、源和宿

数据字典使用的描述符号

结构化设计概述:、

第七章面向对象的分析和设计

面向对象分析的一般步骤如下:

1.获取客户对系统的需求:包括标识场景(scenario)和用况(use case,也称用例),及

建造需求模型

2.用基本的需求为指南,来选择类和对象(包括属性和操作)。

3.定义类的结构和层次。

4.建造对象—关系模型。

5.建造对象—行为模型。

6.利用用况/场景来复审分析模型。

面向对象设计的一般步骤如下:

1.系统设计

✧将子系统分配到处理器

✧选择实现数据管理、界面支持和任务管理的设计策略

✧为系统设计合适的控制机制

✧复审并考虑权衡(折衷)

2.对象设计

✧在过程级别(procedural level)设计每个操作,即设计每个操作的实现细节

✧定义内部类

✧为类属性设计内部数据结构

3.消息设计

使用对象间的协作和对象--关系模型,设计消息模型

4.复审

复审设计模型并在需要时迭代。

用况建模步骤

创建用况模型的步骤包括:

1.定义系统

2.确定执行者

3.确定用况

4.描述用况

5.定义用况间的关系

6.确认模型

第九章人机界面设计

第十章程序设计语言和编码

程序设计风格:

编程风格主要包括:

✧源程序中的内部文档

✧数据说明

✧语句构造

✧输入/输出

第十一章软件测试

1.软件测试的目的:发现软件中的错误和缺陷,并加以改正。

2.软件测试的基本原则

✧所有的测试都应可追溯到客户需求。

✧应该在测试工作真正开始前的较长时间就进行测试计划。

✧Pareto原则金额应用于软件测试。即如果测试模块A时发现的错误比测试模块B

时发现的错误多,那么模块A中潜藏的错误可能仍比模块B中潜藏的错误多。

✧测试应从“小规模”开始,逐步转向大规模。

✧穷举测试是不可能的。

✧为了达到最有效的测试,应由独立的第三方来策划策划来承担测试。

✧在设计测试用例时,应包括合理的输入条件和不合理的输入条件。

✧严格执行测试计划,排除测试的随意性。

✧严格对每一个测试结果进行全面的检查。

✧妥善保管测试计划,测试用例,出错统计和最终分析报告。

✧检查程序是否做了应作的事仅是成功的一半,另一半是检查程序是否做了不该做的

事。

3.白盒测试

●白盒测试:又称为结构测试,把测试对象看做是一个透的盒子,测试人员根据程序

内部的逻辑结构及有关信息从设计测试用例,检查程序中所有逻辑路径是否都按规

定的要求正确的进行工作。

●白盒测试主要用于对程序模块的测试,包括:

✧程序模块中的所有独立路径至少执行一次。

✧对所有逻辑判定的取值(“真”和“假”)都至少测试一次。

✧在上下边界及可操作范围内运行所有的循环。

✧测试内部数据结构的有效性等。

4.黑盒测试

●黑盒测试:又称行为测试,把测试对象看做一个黑盒子,测试人员完全不考虑程序

内部的逻辑结构和内部特性,只一句程序的需求说明书,检查程序的功能是否符合

它的功能需求。

●黑盒测试适用于任何测试,试图发现以下类型的错误:

✧不正确或遗漏的功能。

✧接口错误,如输入输出参数的个数类型等。

✧数据结构错误或外部信息(如外部数据库)访问错误。

✧性能错误。

✧初始化和终止错误。

5.白盒测试:主要有逻辑覆盖测试、基本路径测试。数据流测试、循环测试。

逻辑覆盖测试

相关文档
最新文档