下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、程序设计程序设计语言第一代:机器语言第二代:汇编语言汇编语言的缺点是.一、由于汇编语言是而14积七的,所以程序员必须了解机器的组成 结构,并ii不同的机器有不同的汇编语言,给程序开发人员在不同机器上开发程序造成困难; 二、由于汇编语言程序能从一个部分不受控制地跳转到程序的另一个部分,非常容易地产生 非模块化和非结构的程序;三、生产效率低,一个汇编语言指令对应一个机器指令。第三代:高级语言程序语言的选择开发项目屮程序设计语言的选择是由诸多因素确定的,这些因素主要是生产效率,应用 领域以及产品的可维护性等。程序设计风格程序设计的风格是程序设计质量的一个重要方面,具有好的设计风格的程序更容易阅读 和
2、理解。程序的内部程序的注解对于程序的阅读与理解起着重要的作用。1. 程序块头部注释。包括模块功能说明,由12行的篇幅说明本模块要完成的功 能。输入/出变量说明,对参数表中的每个变量按顺序逐个说明其意义。算法说 明,对于程序屮应用的算法作简要说明。适用条件,对程序的适用条件进行说 明,以使用户能正确地运用该程序。注明程序员姓名与程序生成时间,这一点 首先是满足管理者的需要,使管理者易于掌握哪些程序是由哪些程序员完成的, 其次是力设计者扬名。2. 程序内部注释。对于程序内部一些难以理解的语句应加以注释,使阅读者容易 理解设计者的意阁,易于理解程序。程序的标识符应表明相应的意义程序中的标识符包括:程
3、序文件标识符,数据文件标识符,变量标识符和常数标识符。 程序文件标识符。要根据模块的功能命名,其命名应该和设计文档重的命名一致,如模 块层次图中的名字以及程序流程图中的名字一致,以便于追踪到设计文档。另外,程序文件 屮主程序名字应能突出其是主程序的特征,因为主程序文件是程序的入口点。数据文件标识符。对于绝大多数设计者来说,为数据文件命名时都能按期物理意义进行 命名。但是普通的是大多数采用汉语拼咅字头作为文件的名字。由于中文同咅的字很多,并 且用字头拼凑在一起,很难猜到其屮的意思,最好用英语单词。变量标识符。在程序没计中除了少数循环控制变量外,尽量不用单个字母命名变量。常u:标识符。程序的所有常
4、数应该巾名字,且在程序开始的说明部分给常数名指定数伉。程序清单的程序清单应该具有适当的层次,反映出该程序的逻辑特征,以便于阅读和理解。程序清 淡的层次主要是由程序语句的结构以及起在程序逻辑中的位置决定的。程序中的对于程序中的语句进行适当处理,能够增加程序的可读性、可理解性以及提高程序质量。反缺陷程序设计反缺陷程序设计是从程序设计的方面来克服错误的输入数据以及其他外界因素对程序 正常运行所造成的负面影响,保证系统可靠运行的程序设计技术。凡缺陷设计师一个好的程 序设计的重要因素之一。对于反缺陷程序设计,我们不能给出一个确切的算法,以生成一个 好的具有反缺陷能力的程序。我们所能做到的是表明如何写一个
5、好的程序的态度、方法和原 则。程序耑要校验的方面1. 來自“外界”的输入2. 来自其他程序的调用3. 磁盘上的数据库纪录4. 来自操作员的问题反缺陷程序设计技术1. 科学计算子例程应检杏所有参数值参数。2. 实时程序应校验传感器采集的所有数据3. 面向事物的应用应检查数据的类型和范围4. 检查条件分支的所有情况。5. 检查数组下标6. 将死机或掉电等故障引起损失减到最少。反缺陷程序设计是一个好的程序a在品质的重要因素。一个程序具有适当的反缺陷设计 的闪部环节,能够捕捉过的具有缺陷的数据以及其他模块的缺陷,会使系统运行更可靠,可 最大限度地避免错误数据和错误程序逻辑造成的损失。掌握并实践反缺陷程
6、序设计技术也是 一个好的程序员必备的条件。测试测试包括单元测试和集成测试。单元测试属于编码与单元测试阶段的任务;而集成测试 则是系统集成阶段的任务。在测试开始之前,应该编制测试计划和设计测试案例。事实上在 用户需求确定之后即可编制测试计划,而测试案例的设计在设计详细完成之后即可进行。对 于单元测试,在程序员完成编码之后,并进行非正式测试满意之后即可移交到软件质y:保证 组(sqa)进行正式测试。集成测试由负责系统集成的人员承担,完成后由sqa审查。测试工作是否成功,取决于测试案例设计是否科学合理。测试案例是指测试输入数据及 其对应的输出,其设计依赖于所采川的测试方法:白盒测试和黑盒测试。白盒测
7、试白盒测试(玻璃盒测试)。使用0盒方法导出测试案例是依据模块的编码,即模块的闪 部逻辑对测试者是可见的。使用白和测试方法所导出的测试案例能保证:模块屮所有独立途 径至少测试一次;测试所有逻辑决策真和假两个方面;在所有循环的边界内部和边界上执行 循环体;检查内部数据结构以保证其有效性。1. 基本途径测试2. 条件测试3. 数据流测试4. 循环测试黑盒测试黑盒测试集中在软件的功能耑求上,这就是黑盒测试允许软件工程师导出适当的输入数 据集合以检测一个程序或模块的所有功能要求。黑盒测试是在程序或模块的接口级进行,而 不考虑程序的内部逻辑。黑盒测试能够用于检测程序中下列类型的错误:不正确或漏掉的功能,这
8、往往是由于程 序算法中的问题所造成;接口错误:数据结构或外部数据库存取中的错误;初始化或结朿错 误;性能方面的问题,这种类型的问题通常也是和算法有关的。不论是白盒测试还是黑盒测试,只能证明程序屮有错误,而不能说明程序屮无错误。1. 等价类划分2. 边界值分析单元测试单元测试是把一个模块作为独立的程序单元进行测试,以保证它能够正确执行规定的功 能。黑盒测试和白盒测试都适用于单元测试,他们是相互补充的,不能互相替代。单元测试的模块是通过接口和其他模块相互联系的,只有接门正确,冰能保证数据的正确地流入盒 流出,这是模块能正确工作的先决条件;模块的局部数据存储算法执行过程屮的数据,因此 是保证操作期间
9、数据完整性的关键。在测试中重点测试边界条件,保证模块在边界上能正确 操作。模块屮所有独立途径应测试,以保证程序屮所有语句是正确的。最后所有错误处理途 径应进行测试。单元测试的程序的模块不是一个可独立运行的程序,它必须参与在系统中盒其他相关的模块相互协 调才能运行。因此在模块测试时必须巾一个支持环境,提供待测模块所需要的参数和支持功 能,接受它的输山结果,并显示给测试人员观察,以便判断它执行的功能是否正确。结果接口局部数据结构 边界条件 独立途径错误处理途径图表1模块测试环境驱动程序和存根模块代表了一种测试开销,他们的程序量不计入交付给用户程序的程序 量之屮。驱动程序提供对待测模块的调用语句并按
10、测试案例提供输入参数,并显示输出结果。 存根模块将根据待测模块的实际需要,提供不同程度的功能支持。测试环境的实现 驱动程序的实现 存根模块的实现 驱动程序与存根程序的标准化集成测试集成测试是将已经通过彻底测试的模块组装起来,以形成一个系统或软件产品。集成测 试主要是使用黑盒测试方法对系统进行功能测试,在非常少的情况下,可能川白盒测试方法。 集成测试的任务主要是检杏和排除模块间接口错误、全局数据结构错误、模块中某些遗漏的 错误,以使系统能够全部或部分地运行起来,进而确定系统的功能和性能是否满足规范要求, 以发现并改正设计方面的错误。在集成测试的风格上采用所谓的渐增式测试方法,即一次把一个模块集成
11、进系统中。这 种方法的好处在于容易孤立新出现的错误,这类错误通常要么出现在新引入的模块中,要么 出现在它的接口上。有三种方法:1. 自顶向下集成测试自顶向下集成方法是从主控模块开始,沿控制层次向下移动,逐个把其直接从属或 间接从属模块结合进系统中。结合的方式分为深度优先和宽度优先方式。深度优先 方式的优势是首先遍历系统的完整分支,使测试者与用户能更早地见到系统的某些 功能,以增强信心。宽度优先的顺序更容易遵循。向顶向下的测试需要存根程序, 而在单元测试期间所开发的存根程序,在集成测试期间所开发的存根程序在集成测 试期间仍然是可用的。它的最大优点是可以早期发现主要的设计错误;缺点是潜在 的,可再使用模块可能没有得到充分的测试。2. 自底向上集成测试它是从底层操作模块开始测试,然后沿控制层次向上一次结合一个模块,采用的仍 然是渐增式的方式,因此仍然具有孤立错误的能力。优点是在合理的调度下可以 减少甚至是避免开发存根模块的开销。另外在自底向上的测试方法中每个操作模块 都经过多次的测试,当它们作为再使川模块时将是更可靠的。最大的缺点是逻辑控 制模块测试的比较晚,因此系统屮的主要设计错误要在集成测试阶段的后期才能发 现,这将导致大量的程序修改,影响了进度
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家长培训安全应急预案课件
- 2026年健身房教练服务合同标准版
- 保险合同2026年标准书
- 2026年广告发布代理合同
- 2026年企业私有云建设合同
- 2026年医疗影像诊断外包合同
- 2026跨境电商数据共享合同协议
- 2026年网红品牌代言合作合同
- 2026年汽车维修加盟合作合同
- 2026年直播电商户外直播活动合同
- 2025年荆楚理工学院马克思主义基本原理概论期末考试真题汇编
- 2026年恒丰银行广州分行社会招聘备考题库带答案详解
- 纹绣风险协议书
- GB/T 14977-2025热轧钢板表面质量的一般要求
- 智能化燃机电厂建设方案
- 外科急腹症的诊断与临床思维
- 销售授权书模板
- 2021年10月全国自学考试00265西方法律思想史试题答案
- 2023年关于宁波市鄞州粮食收储有限公司公开招聘工作人员笔试的通知笔试备考题库及答案解析
- JJF(纺织)080-2018纺织检针机校准规范
- GB/T 33411-2016酶联免疫分析试剂盒通则
评论
0/150
提交评论