3.软件设计
(1)概要设计(总体设计)
◆包括两个主要阶段:系统设计(确定具体的实现方案)和结构设计(确定每个系统的模块组成及模块间的关系)
◆模块之间联系越紧密,其耦合性就越强,模块的独立性就越差;
一个模块内个要素联系越紧密,则它的内聚性就越高。
模块划分原则:高内聚低耦合
(2)详细设计
◆结构化程序设计的要点:采用自顶向下、逐步求精的程序设计方法,一个程序只有一个入口和一个出口。
◆详细设计的常用工具:程序流程图、盒图、PAD和PDL
(3)软件测试目的
◆软件测试的目的是尽可能多的发现程序中的错误。
◆软件测试方法:静态测试和动态测试(黑盒测试法和白盒测试法)
黑盒测试包括:等价分析法、边值分析法、因果图法和错误推测法
白盒测试法测试的原则之一就是保证所测模块中的每一个独立的路径至少执行一次。
(4)程序调试
分为静态调试和动态调试
调试的目的:改正错误
经调试后还必须进行再测试
(5)软件维护
软件维护就是在软件已经交付使用以后,为改正错误或满足新的需求而修改软件的过程。
例题精选:
1. 分析的结果是产生需求规格说明书。
2. 软件详细设计的主要任务是确定每一个模块的算法和使用的数据结构。
3. 进行单元测试时,常用的方法时采用白盒测试,辅以黑盒测试。
4. 软件工程的出现是由于软件危机的出现,人们提出了软件工程学的原理设计软件。
5. 数据字典是各类数据描述的集合,通常包括4个部分:数据项、数据流、数据存储和数据加工。