信息系统开发第6章.ppt

上传人:wuy****n92 文档编号:90609568 上传时间:2023-05-17 格式:PPT 页数:63 大小:667.50KB
返回 下载 相关 举报
信息系统开发第6章.ppt_第1页
第1页 / 共63页
信息系统开发第6章.ppt_第2页
第2页 / 共63页
点击查看更多>>
资源描述

《信息系统开发第6章.ppt》由会员分享,可在线阅读,更多相关《信息系统开发第6章.ppt(63页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、西南科技大学厚德博学笃行创新2023/5/151第六章第六章 系统实施系统实施西南科技大学厚德博学笃行创新2023/5/152本节主要内容本节主要内容q系统实施阶段的主要活动系统实施阶段的主要活动领会系统实施在管理信息系统建设中的作用与地位。领会系统实施在管理信息系统建设中的作用与地位。领会系统实施的前提条件。领会系统实施的前提条件。识记系统实施阶段的主要活动。识记系统实施阶段的主要活动。西南科技大学厚德博学笃行创新2023/5/1536.1 6.1 系统实施阶段的主要活动系统实施阶段的主要活动系统实施阶段要继承此前各阶段的工作成果,将技术设计转化为物理实系统实施阶段要继承此前各阶段的工作成果

2、,将技术设计转化为物理实现,因此系统实施的成果是系统分析和设计阶段的结晶。现,因此系统实施的成果是系统分析和设计阶段的结晶。系统实施作为系统生命周期中的后期阶段,是把系统设计转化为可实际系统实施作为系统生命周期中的后期阶段,是把系统设计转化为可实际运行的物理系统的必然步骤,再好的系统设计,不通过系统实施也只能运行的物理系统的必然步骤,再好的系统设计,不通过系统实施也只能是不能带来现实效益的空中楼阁。系统实施作为系统最后的物理实现阶是不能带来现实效益的空中楼阁。系统实施作为系统最后的物理实现阶段,对于系统的质量,可靠性和可维护性等有着十分重要的影响。段,对于系统的质量,可靠性和可维护性等有着十分

3、重要的影响。系统实施工作的前提条件是必须在系统分析和系统设计工作完成后,严系统实施工作的前提条件是必须在系统分析和系统设计工作完成后,严格按照系统开发文档进行。格按照系统开发文档进行。系统实施是以系统分析和设计文档资料为依据的。系统实施是以系统分析和设计文档资料为依据的。在系统实施时,系统开发人员不但需要了解自己所承担的部分,同时还在系统实施时,系统开发人员不但需要了解自己所承担的部分,同时还需要对整个系统的总体结构,彼此接口等相互联系的内容有一定的了解,需要对整个系统的总体结构,彼此接口等相互联系的内容有一定的了解,以保证在系统实施工作中局部分散实施与系统整体协调的一致性。以保证在系统实施工

4、作中局部分散实施与系统整体协调的一致性。西南科技大学厚德博学笃行创新2023/5/15信息系统开发 46.1 6.1 系统实施阶段的主要活动系统实施阶段的主要活动系统实施阶段系统实施阶段系统实施阶段主要由系统实施阶段主要由编码编码,系统测试系统测试,系统安装系统安装和和新旧系统转换新旧系统转换等活动等活动构成。构成。编码(程序设计):是指按照详细设计阶段产生的程序设计说明书用选编码(程序设计):是指按照详细设计阶段产生的程序设计说明书用选定的程序设计语言编写源程序。定的程序设计语言编写源程序。系统测试是系统质量可靠性保证的关键,也是对需求分析,系统设计和系统测试是系统质量可靠性保证的关键,也是

5、对需求分析,系统设计和编码最终评审。编码最终评审。系统安装主要是指各种软,硬件设备的选型,论证,购置,安装以及整系统安装主要是指各种软,硬件设备的选型,论证,购置,安装以及整个系统调试运行。个系统调试运行。新旧系统转换(也称系统切换与运行):是指以新开发的系统替换旧的新旧系统转换(也称系统切换与运行):是指以新开发的系统替换旧的系统,并使之投入使用的过程。包括系统交付前的准备工作,系统切换系统,并使之投入使用的过程。包括系统交付前的准备工作,系统切换的方法和步骤等。的方法和步骤等。请与第请与第5章中的代码设计加以区别!章中的代码设计加以区别!西南科技大学厚德博学笃行创新2023/5/155本节

6、主要内容本节主要内容q程序设计程序设计领会程序设计的任务和作用。领会程序设计的任务和作用。深刻理解对程序设计的质量要求。深刻理解对程序设计的质量要求。识记程序设计的步骤。识记程序设计的步骤。程序设计语言的分类以及各类语言的基本特点。程序设计语言的分类以及各类语言的基本特点。识记结构化程序的基本控制结构。识记结构化程序的基本控制结构。熟练掌握结构化程序设计的方法和步骤。熟练掌握结构化程序设计的方法和步骤。掌握良好程序设计风格应达到的基本要求。掌握良好程序设计风格应达到的基本要求。西南科技大学厚德博学笃行创新2023/5/1566.2 6.2 程序设计程序设计程序设计(编码)的任务和作用程序设计(

7、编码)的任务和作用程序设计的任务主要是使用选定的程序设计语言,把经过概要设计和程序设计的任务主要是使用选定的程序设计语言,把经过概要设计和详细设计所得到的以程序设计说明书体现的信息处理过程描述后,转详细设计所得到的以程序设计说明书体现的信息处理过程描述后,转换成能在计算机系统上运行的程序源代码。换成能在计算机系统上运行的程序源代码。需要注意的是程序设计人员必须注意保证系统实施与系统设计的一致需要注意的是程序设计人员必须注意保证系统实施与系统设计的一致性,以保证功能的正确实现。性,以保证功能的正确实现。对程序设计的质量要求:对程序设计的质量要求:对于程序设计基本质量要求应该是程序的正确性,主要体

8、现在两个方对于程序设计基本质量要求应该是程序的正确性,主要体现在两个方面:面:1.正确运用程序设计语言环境,避免语法错误。正确运用程序设计语言环境,避免语法错误。2.程序所描述的过程和算法要满足系统设计的功能要求,以避免语义错程序所描述的过程和算法要满足系统设计的功能要求,以避免语义错误。误。西南科技大学厚德博学笃行创新2023/5/1576.2 6.2 程序设计程序设计程序的正确性是不是程序设计质量的唯一要求呢?程序的正确性是不是程序设计质量的唯一要求呢?一个软件在源程序的其他方面都正确无误,只是不容易被人看懂的程序一个软件在源程序的其他方面都正确无误,只是不容易被人看懂的程序也不是一个好的

9、程序。因为从系统的周期中可以看到一旦系统投入使用,也不是一个好的程序。因为从系统的周期中可以看到一旦系统投入使用,必然会面临很多如维护,功能的扩充和性能的改善等问题,而这些问题必然会面临很多如维护,功能的扩充和性能的改善等问题,而这些问题必然涉及到程序的代码。必然涉及到程序的代码。所以从软件维护的角度出发,程序设计人员在保证程序正确性的同时,所以从软件维护的角度出发,程序设计人员在保证程序正确性的同时,还必须保证源程序的可读性。还必须保证源程序的可读性。保证源程序可读性的主要措施是进行结构化程序设计,并在风格上遵守保证源程序可读性的主要措施是进行结构化程序设计,并在风格上遵守一些标准和原则。一

10、些标准和原则。从系统开发和应用角度来看,程序的编写和运行从系统开发和应用角度来看,程序的编写和运行效率效率也是程序设计质量也是程序设计质量的一个考虑方面。的一个考虑方面。这里所说的效率是指程序的这里所说的效率是指程序的语句行数,对存储空间的要语句行数,对存储空间的要求,以及运行速度等。求,以及运行速度等。西南科技大学厚德博学笃行创新2023/5/1586.2 6.2 程序设计程序设计程序设计的步骤:程序设计的步骤:1.了解计算机系统的性能和软硬件环境,其中包括:了解计算机系统的性能和软硬件环境,其中包括:a.计算机系统的运算速度与存取速度;计算机系统的运算速度与存取速度;b.内存和外存大小;内

11、存和外存大小;c.操作系统,程序设计语言以及开发工具;操作系统,程序设计语言以及开发工具;d.外设连接及通讯能力等性能指标。外设连接及通讯能力等性能指标。2.充分理解系统概要设计和详细设计的文档准确把握系统的软件功能,充分理解系统概要设计和详细设计的文档准确把握系统的软件功能,模块间的逻辑关系,算法的详细方案以及输入输出要求。模块间的逻辑关系,算法的详细方案以及输入输出要求。3.根据设计要求和硬软件环境条件,选定程序设计语言。根据设计要求和硬软件环境条件,选定程序设计语言。4.编写程序代码。编写程序代码。5.程序的检查,编译与调试。程序的检查,编译与调试。西南科技大学厚德博学笃行创新2023/

12、5/1596.2 6.2 程序设计程序设计程序设计语言:程序设计语言:程序设计语言的发展与分类程序设计语言的发展与分类机器语言机器语言第一代第一代汇编语言汇编语言第二代第二代高级语言高级语言第三代第三代甚高级语言甚高级语言第四代第四代面向机器语言面向机器语言高级语言高级语言是随计算机的发明而产生的第是随计算机的发明而产生的第一代计算机语言,其指令代码一代计算机语言,其指令代码由操作代码和操作数的绝对地由操作代码和操作数的绝对地址构成,指令无需翻译和解释,址构成,指令无需翻译和解释,可以直接执行。不同的机器,可以直接执行。不同的机器,语言不相同语言不相同.它一般不用来进行它一般不用来进行程序设计

13、。程序设计。属于低级程序设计语言。它属于低级程序设计语言。它的产生是为了改善机器语言的产生是为了改善机器语言的不直观性而发展起来的机的不直观性而发展起来的机遇助记符的语言。每个操作遇助记符的语言。每个操作指令通过特定的助记符来表指令通过特定的助记符来表达。汇编语言与机器指令之达。汇编语言与机器指令之间基本上是一一对应的关系间基本上是一一对应的关系。是指在符号,概念和语法是指在符号,概念和语法上与人类思维和表达方式上与人类思维和表达方式相近的第三代程序设计语相近的第三代程序设计语言。言。高级语言是面向数据处理高级语言是面向数据处理的过程化语言,必须在程的过程化语言,必须在程序设计中描述序设计中描

14、述“怎么做怎么做”。而第四代语言是直接面向而第四代语言是直接面向应用的,它只在程序设计应用的,它只在程序设计中说明做什么,就可以了。中说明做什么,就可以了。西南科技大学厚德博学笃行创新2023/5/15106.2 6.2 程序设计程序设计汇编语言:第二代语言,属于低级程序设计语言。它的产生是为了改善汇编语言:第二代语言,属于低级程序设计语言。它的产生是为了改善机器语言的不直观性而发展起来的机遇助记符的语言。每个操作指令通机器语言的不直观性而发展起来的机遇助记符的语言。每个操作指令通过特定的助记符来表达。汇编语言与机器指令之间基本上是一一对应的过特定的助记符来表达。汇编语言与机器指令之间基本上是

15、一一对应的关系。关系。汇编语言程序需要经过翻译转换成机器语言才能运行。汇编语言程序需要经过翻译转换成机器语言才能运行。其具有无法移植,不易维护等特点,故在系统开发中很少使用。其具有无法移植,不易维护等特点,故在系统开发中很少使用。高级语言:是指在符号,概念和语法上与人类思维和表达方式相近的第高级语言:是指在符号,概念和语法上与人类思维和表达方式相近的第三代程序设计语言。三代程序设计语言。具有可移植性的特点。具有可移植性的特点。用高级语言写出来的源程序必须经解释或编译后才能够在计算机上运行。用高级语言写出来的源程序必须经解释或编译后才能够在计算机上运行。因为高级语言编码速度快,并且引入了控制结构

16、语句,函数功能,宏替因为高级语言编码速度快,并且引入了控制结构语句,函数功能,宏替换等使软件生产效率有了极大的提高,所以目前绝大多数系统都是用高换等使软件生产效率有了极大的提高,所以目前绝大多数系统都是用高级语言进行程序设计的。级语言进行程序设计的。西南科技大学厚德博学笃行创新2023/5/15116.2 6.2 程序设计程序设计汇编语言代码片断汇编语言代码片断PULES2:MOV R3,#N MOV TMOD,#01H MOV TL0,#XL MOV TH0,#XH SETB TR0 SETB P1.0LOOP1:JBC TF0,REP AJMP LOOP1REP:MOV TL0,#XL M

17、OV TH0,#XH CPL P1.0 DJNZ R3,LOOP1 RET高级语言代码片断高级语言代码片断void m(a,b,x)float a,b,x;if(a1)&(b=0)x=x/a;if(a=2)|(x1)x=x+1;西南科技大学厚德博学笃行创新2023/5/15126.2 6.2 程序设计程序设计高级语言可以按照用途和特征划分为以下几类:高级语言可以按照用途和特征划分为以下几类:基础语言:是人们最熟悉且应用很广泛的一类程序设计语言。主要的基基础语言:是人们最熟悉且应用很广泛的一类程序设计语言。主要的基础语言有下列几种:础语言有下列几种:BASIC语言语言:具有人机对话功能,便于修改

18、和调试,适用于简单的数值:具有人机对话功能,便于修改和调试,适用于简单的数值计算服务和事务处理计算服务和事务处理.有有BASIC,GWBASIC,TRUE BASIC等版本。等版本。COBOL语言语言:是一种适用于商业及管理领域,面向事务和数据处理的:是一种适用于商业及管理领域,面向事务和数据处理的程序设计语言。其主要功能是描述数据结构和分析处理大批量的数据,程序设计语言。其主要功能是描述数据结构和分析处理大批量的数据,可对各种类型的数据进行收集,存储,传送,分类,排序,计算和打印可对各种类型的数据进行收集,存储,传送,分类,排序,计算和打印报表等。报表等。FORTRAN语言语言:是一种适合于

19、工程与科学计算的程序设计语言,是最:是一种适合于工程与科学计算的程序设计语言,是最早的高级语言。早的高级语言。西南科技大学厚德博学笃行创新2023/5/15136.2 6.2 程序设计程序设计结构化程序语言:其主要特点是直接支持结构化程序设计思想结构化程序语言:其主要特点是直接支持结构化程序设计思想,具有很,具有很强的过程结构化特点和数据结构描述能力。结构化程序设计语言的主要强的过程结构化特点和数据结构描述能力。结构化程序设计语言的主要代表有:代表有:PASCAL语言语言:是第一个系统的体现结构化程序设计概念的程序设计语:是第一个系统的体现结构化程序设计概念的程序设计语言,它具有模块清晰,控制

20、结构完备,有丰富的数据结构和数据类型,言,它具有模块清晰,控制结构完备,有丰富的数据结构和数据类型,以及表达能力强,移植容易等特点应用很广泛。以及表达能力强,移植容易等特点应用很广泛。PL/1语言语言:具有:具有ALGOL,FORTRAN,GOBOL等语言的共同特点,并等语言的共同特点,并引入了异常处理,多任务处理引入了异常处理,多任务处理(即并发控制即并发控制)等全新概念。使得它成为一等全新概念。使得它成为一种包含很多特征的大型通用语言。种包含很多特征的大型通用语言。C语言语言:C语言一方面具有高级语言的特点,具有先进性的控制结构和数语言一方面具有高级语言的特点,具有先进性的控制结构和数据结

21、构,丰富的数据类型,并且有很灵活方面的多种操作符,语句简洁,据结构,丰富的数据类型,并且有很灵活方面的多种操作符,语句简洁,表达清晰,使得它容易阅读和编写。另一方面它同时具有汇编语言的功表达清晰,使得它容易阅读和编写。另一方面它同时具有汇编语言的功能,可以处理计算机直接操作的大多数数据直接完成硬件的算术或逻辑能,可以处理计算机直接操作的大多数数据直接完成硬件的算术或逻辑运算。运算。ADA语言语言:比较适合于实时并行处理。:比较适合于实时并行处理。西南科技大学厚德博学笃行创新2023/5/15146.2 6.2 程序设计程序设计专用语言:是指为某一特定的应用而专门设计的程序设计语言,一般专用语言

22、:是指为某一特定的应用而专门设计的程序设计语言,一般具有与特定应用密切相关的特殊语义,语法形式,且每一种语言的应具有与特定应用密切相关的特殊语义,语法形式,且每一种语言的应用范围都比较小。用范围都比较小。程序设计工作是相当繁重的,故而寻求进一步提高编码效率的途径是程序设计工作是相当繁重的,故而寻求进一步提高编码效率的途径是第四代语言产生的背景。第四代语言产生的背景。第四代语言:高级语言是面向数据处理的过程化语言,必须在程序设第四代语言:高级语言是面向数据处理的过程化语言,必须在程序设计中描述计中描述”怎么做怎么做”而第四代语言是直接面向应用的,它只在程序设而第四代语言是直接面向应用的,它只在程

23、序设计中说明计中说明“做什么做什么“就可以了。就可以了。4GL具有的特征:具有的特征:1.语言的使用者是一般用户,而不是计算机专业技术人员。语言的使用者是一般用户,而不是计算机专业技术人员。2.能够提供一组高效,非过程化的命令基本语句,编码时用户只需用这能够提供一组高效,非过程化的命令基本语句,编码时用户只需用这些命令说明些命令说明”做什么做什么”,而不必描述实现的具体细节。,而不必描述实现的具体细节。3.具有很强的数据管理能力,能对数据库进行有效的存取,查询和相关具有很强的数据管理能力,能对数据库进行有效的存取,查询和相关操作。操作。4.是多功能,一体化的语言。除必须含有控制程序逻辑和数据库

24、操作的是多功能,一体化的语言。除必须含有控制程序逻辑和数据库操作的语句外,还应有生成处理,报表处理,图象处理以及实现数据运算和语句外,还应有生成处理,报表处理,图象处理以及实现数据运算和统计分析功能的语句,以适应多种开发的需要。统计分析功能的语句,以适应多种开发的需要。西南科技大学厚德博学笃行创新2023/5/15156.2 6.2 程序设计程序设计程序设计语言的选择程序设计语言的选择 选择程序设计语言的时候应该综合考虑编码,测试和维护各个阶段来选择程序设计语言的时候应该综合考虑编码,测试和维护各个阶段来选择语言,避免将眼光仅仅局限在编写程序上。选择语言,避免将眼光仅仅局限在编写程序上。在程序

25、选择上主要应考虑以下几个方面问题:在程序选择上主要应考虑以下几个方面问题:1.应用领域。应用领域。2.过程与算法的复杂程度。过程与算法的复杂程度。3.数据结构和数据类型的考虑。数据结构和数据类型的考虑。4.编码及维护的工作量与成本。编码及维护的工作量与成本。5.兼容性和可移植性。兼容性和可移植性。6.有多少可用的支撑软件。有多少可用的支撑软件。7.开发人员,用户知识水平和熟练程度。开发人员,用户知识水平和熟练程度。8.程序设计语言的特性。程序设计语言的特性。9.系统规模。系统规模。10.系统的效率要求。系统的效率要求。可以看出:并没有那种可以看出:并没有那种语言绝对好或不好,每语言绝对好或不好

26、,每种语言都各有不同的特种语言都各有不同的特点,关键是要根据实际点,关键是要根据实际需要和困难,选择最适需要和困难,选择最适合的语言,以满足系统合的语言,以满足系统的要求。的要求。西南科技大学厚德博学笃行创新2023/5/15166.2 6.2 程序设计程序设计结构化程序设计结构化程序设计为什么以前的很多程序除了自己能看懂或明白外,其他的程序编写人员为什么以前的很多程序除了自己能看懂或明白外,其他的程序编写人员却无法弄清?你认为其中的原因会是什么呢?却无法弄清?你认为其中的原因会是什么呢?最大的原因是:除了程序人员的观念问题外,还有一个很重要的原因就是最大的原因是:除了程序人员的观念问题外,还

27、有一个很重要的原因就是当时的程序设计语言是非结构化的。当时的程序设计语言是非结构化的。所以,为了提高软件生产率和降低软件维护费用创立一种新的程序设计思所以,为了提高软件生产率和降低软件维护费用创立一种新的程序设计思想,方法和风格就变的越来越重要了。想,方法和风格就变的越来越重要了。而结构化程序设计思想就是在这样的背景下开始形成它主要是以自顶向而结构化程序设计思想就是在这样的背景下开始形成它主要是以自顶向下的方式,按照模块化和逐步细化的思想,用一组单口入单出口的基本控制下的方式,按照模块化和逐步细化的思想,用一组单口入单出口的基本控制结构及其反复嵌套来进行程序设计。结构及其反复嵌套来进行程序设计

28、。西南科技大学厚德博学笃行创新2023/5/15176.2 6.2 程序设计程序设计程序设计的基本控制结构:程序设计的基本控制结构:顺序结构:表示含有多个连续的处理步骤,按照书写的先后顺序执行。顺序结构:表示含有多个连续的处理步骤,按照书写的先后顺序执行。ABC入口入口出口出口代码示例:代码示例:float x;int i;I=(int)x;printf(“x=%f,i=%d”,x,i);西南科技大学厚德博学笃行创新2023/5/15186.2 6.2 程序设计程序设计程序设计的基本控制结构:程序设计的基本控制结构:选择结构(条件结构):由某个逻辑表达式的取值决定选择两个处理加选择结构(条件结

29、构):由某个逻辑表达式的取值决定选择两个处理加工中的一个。工中的一个。P入口入口出口出口ATB F代码示例:代码示例:if(year%4!=0)leap=1;else if(year%100!=0)leap=1;else if(year%400!=0)leap=0;else leap=1;西南科技大学厚德博学笃行创新2023/5/15196.2 6.2 程序设计程序设计程序设计的基本控制结构:程序设计的基本控制结构:循环结构或重复结构:它有两种类型。循环结构或重复结构:它有两种类型。一种为一种为“当当”循环结构(循环结构(DOWHILE结构)。结构)。入口入口出口出口FT代码示例:代码示例:i

30、nt i,sum=0;i=1;while(i=100)sum=sum+i;i+;西南科技大学厚德博学笃行创新2023/5/15206.2 6.2 程序设计程序设计程序设计的基本控制结构:程序设计的基本控制结构:循环结构或重复结构:它有两种类型。循环结构或重复结构:它有两种类型。一种为一种为“直到直到”循环结构(循环结构(DOUNTIL结构)。结构)。入口入口出口出口TF代码示例:代码示例:int i,sum=0;i=1;do sum=sum+i;i+;while(i=100)西南科技大学厚德博学笃行创新2023/5/15216.2 6.2 程序设计程序设计程序设计的基本控制结构:程序设计的基本

31、控制结构:多种情况选择结构或多分支结构(结构)多种情况选择结构或多分支结构(结构)测试测试入口入口 S1S3S2出口出口代码示例:代码示例:switch(grade)case A:;case B:;case C:;case D:;default:;西南科技大学厚德博学笃行创新2023/5/15226.2 6.2 程序设计程序设计程序设计的基本控制结构:程序设计的基本控制结构:结构化程序设计中的结构化程序设计中的GOTO语句语句针对于针对于GOTO语句需要注意的是不能滥用,但是也不必禁止,使用的语句需要注意的是不能滥用,但是也不必禁止,使用的时候一定要小心谨慎!如果一定要用时候一定要小心谨慎!如

32、果一定要用GOTO语句,要注意将转移范围语句,要注意将转移范围控制在一个控制结构内部。控制在一个控制结构内部。可以使用可以使用GOTO语句的情况:语句的情况:1.在没有基本控制结构语句的程序设计语言中,使用在没有基本控制结构语句的程序设计语言中,使用GOTO语句实现三语句实现三种基本控制结构。种基本控制结构。2.在结束检索、文件结束、发生错误等需进行特殊处理需要从过程出口在结束检索、文件结束、发生错误等需进行特殊处理需要从过程出口退出时,退出时,GOTO语句可能比布尔变量和条件结构都要简洁明了。语句可能比布尔变量和条件结构都要简洁明了。西南科技大学厚德博学笃行创新2023/5/15236.2

33、6.2 程序设计程序设计自顶向下的模块化设计方法自顶向下的模块化设计方法1.自顶向下的模块化设计自顶向下的模块化设计在系统开发设计中,对应系统结构图中的每个模块,都有一份模块说明在系统开发设计中,对应系统结构图中的每个模块,都有一份模块说明书,内容主要包括模块名称,程序名称,输入数据,输出数据转换过程书,内容主要包括模块名称,程序名称,输入数据,输出数据转换过程等,这是程序员进行程序设计的主要文档和依据。等,这是程序员进行程序设计的主要文档和依据。设计步骤:设计步骤:1)按照自顶向下的模块化设计原则,先将程序高度抽象。按照自顶向下的模块化设计原则,先将程序高度抽象。2)分析这个功能的组成部分并

34、划分下层模块。分析这个功能的组成部分并划分下层模块。3)对划分出来的下层模块按照第二步进行划分,直到能够容易的用程序语对划分出来的下层模块按照第二步进行划分,直到能够容易的用程序语句实现为止。句实现为止。西南科技大学厚德博学笃行创新2023/5/15246.2 6.2 程序设计程序设计工资管理工资管理输入数据输入数据计算工资计算工资打印工资表打印工资表输入周期数据输入周期数据输入随机数据输入随机数据应发工资应发工资计算扣除计算扣除打印工资条打印工资条 打印汇总表打印汇总表基本工资基本工资奖金奖金基本工资基本工资奖金奖金奖金奖金工资管理功能层次模块图工资管理功能层次模块图工资管理工资管理输入数据

35、输入数据计算工资计算工资打印工资打印工资工资管理功能图工资管理功能图西南科技大学厚德博学笃行创新2023/5/15256.2 6.2 程序设计程序设计自顶向下的模块化设计方法自顶向下的模块化设计方法2.逐步细化逐步细化对每个模块的细化应包括对每个模块的细化应包括功能细化功能细化,数据细化数据细化和和逻辑细化逻辑细化三个方面三个方面.功能细化应对本模块的功能进行分析,力图分解为若干个更为简单的子功能细化应对本模块的功能进行分析,力图分解为若干个更为简单的子功能。功能。数据细化应列出本模块涉及到的数据项名称和数据类型。数据细化应列出本模块涉及到的数据项名称和数据类型。逻辑细化确定所构成的子模块之间

36、的结构关系。逻辑细化确定所构成的子模块之间的结构关系。西南科技大学厚德博学笃行创新2023/5/15266.2 6.2 程序设计程序设计程序设计风格:程序设计风格:结构化程序设计为程序员提供了编码的基本思路和方法,使程序的结结构化程序设计为程序员提供了编码的基本思路和方法,使程序的结构性得到了很大的改善构性得到了很大的改善.但是为了能让程序结构清晰,易读易懂,便但是为了能让程序结构清晰,易读易懂,便于修改和扩充,需有一些规则和共同的约定于修改和扩充,需有一些规则和共同的约定.即好的程序风格。即好的程序风格。良好的程序设计风格包括:良好的程序设计风格包括:1.标知符的命名应作到见名知意。标知符的

37、命名应作到见名知意。标识符是作为文件名、变量名、常量名、函数名、程序名、段名和程标识符是作为文件名、变量名、常量名、函数名、程序名、段名和程序标号等用户定义的名字统称。序标号等用户定义的名字统称。1)命名规则要在整个程序中前后一致,不能中途变化,给阅读和理解带命名规则要在整个程序中前后一致,不能中途变化,给阅读和理解带来困难。来困难。2)命名是一定要避开程序设计语言的保留字,否则在运行的时候会出现命名是一定要避开程序设计语言的保留字,否则在运行的时候会出现莫名其妙的错误。莫名其妙的错误。3)尽量避免使用意义容易混淆的标识名,如尽量避免使用意义容易混淆的标识名,如VALUE和和VALUES这样的

38、这样的变量命名。变量命名。西南科技大学厚德博学笃行创新2023/5/15276.2 6.2 程序设计程序设计良好的程序设计风格包括:良好的程序设计风格包括:2.程序中的注释程序中的注释适当的注释包括以下两种:适当的注释包括以下两种:1)序言性注释:在每个程序或模块的开头的一段说明,对于理解程序本序言性注释:在每个程序或模块的开头的一段说明,对于理解程序本身有引导作用,比较严格规范,包含以下内容:身有引导作用,比较严格规范,包含以下内容:a.程序的标识、名称及版本号。程序的标识、名称及版本号。b.程序的功能概述。程序的功能概述。c.接口及界面描述,包括调用及被调用的关系,调用形式、参数含义及接口

39、及界面描述,包括调用及被调用的关系,调用形式、参数含义及相互调用的程序名。相互调用的程序名。d.输入输入/输出数据说明,重要变量和参数的说明。输出数据说明,重要变量和参数的说明。e.开发历史,包括原作者、审核者、修改者、编程日期、编译日期、审开发历史,包括原作者、审核者、修改者、编程日期、编译日期、审查日期、修改日期等。查日期、修改日期等。f.与运行环境有关的信息,包括使用的机型、对硬件资源的要求,使用与运行环境有关的信息,包括使用的机型、对硬件资源的要求,使用的操作系统,程序设计语言的种类和版本号、编译命令的格式、程序的操作系统,程序设计语言的种类和版本号、编译命令的格式、程序的存储和运行方

40、式等。的存储和运行方式等。西南科技大学厚德博学笃行创新2023/5/15286.2 6.2 程序设计程序设计良好的程序设计风格包括:良好的程序设计风格包括:2.程序中的注释程序中的注释2)解释性注释:一般嵌在程序之中,与所注释的部分相匹配。功能性注解释性注释:一般嵌在程序之中,与所注释的部分相匹配。功能性注释(不直观的算法、重要的循环等)放在语句之前;状态性注释一般释(不直观的算法、重要的循环等)放在语句之前;状态性注释一般是对数据(变量)进行说明,放在相应语句之后。是对数据(变量)进行说明,放在相应语句之后。一般要注意以下几点:一般要注意以下几点:a.注释一定要在程序编制中书写,不要在程序完

41、成之后进行补写。注释一定要在程序编制中书写,不要在程序完成之后进行补写。b.解释性注释不是简单直接翻译程序语句,而是要说明程序段的动机和解释性注释不是简单直接翻译程序语句,而是要说明程序段的动机和原因,提供的是从程序本身难以得到的信息,说明原因,提供的是从程序本身难以得到的信息,说明“做什么做什么”。c.一定要保证注释与程序的一致性,程序修改后,注释也要及时作相应一定要保证注释与程序的一致性,程序修改后,注释也要及时作相应的修改。不正确的注释比不做注释更加糟糕。的修改。不正确的注释比不做注释更加糟糕。西南科技大学厚德博学笃行创新2023/5/15296.2 6.2 程序设计程序设计良好的程序设

42、计风格包括:良好的程序设计风格包括:3.程序的布局格式程序的布局格式充分利用空格、空行和右缩格等方式来改善程序的布局,以取得较好充分利用空格、空行和右缩格等方式来改善程序的布局,以取得较好的视觉效果。的视觉效果。比如说:比如说:int i,sum=0;i=1;while(i=100)sum=sum+i;i+;int i,sum=0;i=1;while(i=100)sum=sum+i;i+;int i,sum=0;i=1;while(i1)and(b=0)(a=2)and(x1)x=x/ax=x+1AFTBCFTDE西南科技大学厚德博学笃行创新2023/5/15信息系统开发 西南科技大学计算机学

43、院466.3 系统测试系统测试v语句覆盖:设计测试用例,使程序中的每个执行语句至少执行一次。语句覆盖:设计测试用例,使程序中的每个执行语句至少执行一次。v语句覆盖的例子:语句覆盖的例子:ACE(a1)and(b=0)(a=2)and(x1)x=x/ax=x+1FTBFTD测使用例:测使用例:a=2,b=0,x=4语句覆盖是最弱语句覆盖是最弱的逻辑覆盖。的逻辑覆盖。则可以看到通过则可以看到通过的路径是的路径是ACE,使程序的四个语使程序的四个语句都执行了一次,句都执行了一次,达到了语句覆盖。达到了语句覆盖。西南科技大学厚德博学笃行创新2023/5/15信息系统开发 西南科技大学计算机学院476.

44、3 系统测试系统测试v判断覆盖:使程序中每个判断的取真分支和取假分支至少经历一次,即判断覆盖:使程序中每个判断的取真分支和取假分支至少经历一次,即使得每个判断获得各种可能的结果。使得每个判断获得各种可能的结果。v判断覆盖的例子:判断覆盖的例子:测使用例:测使用例:a=2,b=0,x=4a=1,b=0,x=1则可以看到通过则可以看到通过的路径是的路径是ACE和和ABD,使两个判,使两个判断的四个分支都断的四个分支都得到了覆盖,达得到了覆盖,达到了判断覆盖。到了判断覆盖。同理,选择路径同理,选择路径ACD和和ABE也也可以做到判断覆盖。可以做到判断覆盖。(a1)and(b=0)(a=2)and(x

45、1)x=x/ax=x+1AFTFTCEBD西南科技大学厚德博学笃行创新2023/5/15信息系统开发 西南科技大学计算机学院486.3 系统测试系统测试v条件覆盖:使每个判断的每个条件的可能取值至少满足一次。条件覆盖:使每个判断的每个条件的可能取值至少满足一次。v条件判断的例子:条件判断的例子:测使用例:测使用例:a=2,b=0,x=4a=1,b=1,x=1BDx=x/ax=x+1A(a1)and(b=0)(a=2)and(x1)FTCFTE由于判断覆盖的对象是每个判断,而条件覆盖的对象由于判断覆盖的对象是每个判断,而条件覆盖的对象是每个判断中的每个条件,因此一般来说条件覆盖比是每个判断中的每

46、个条件,因此一般来说条件覆盖比判断覆盖要严格。但并不绝对。判断覆盖要严格。但并不绝对。则可以看到通过则可以看到通过的路径是的路径是ACE和和ABD,使两个判,使两个判断的四个分支都断的四个分支都得到了覆盖,达得到了覆盖,达到了判断覆盖。到了判断覆盖。西南科技大学厚德博学笃行创新2023/5/15信息系统开发 西南科技大学计算机学院496.3 系统测试系统测试v判断条件覆盖:设计测试用例,使得判断中每个条件的所有可能取值判断条件覆盖:设计测试用例,使得判断中每个条件的所有可能取值至少出现一次,并且使每个判断本身的判定结果也至少出现一次。至少出现一次,并且使每个判断本身的判定结果也至少出现一次。v

47、判断判断条件覆盖的例子:条件覆盖的例子:(a1)and(b=0)(a=2)and(x1)x=x/ax=x+1AFTBCFTDE判断条件覆盖比单纯的判断条件覆盖比单纯的判断覆盖和条件覆盖都要判断覆盖和条件覆盖都要强。强。测使用例:测使用例:请同学自行设计。请同学自行设计。西南科技大学厚德博学笃行创新2023/5/15信息系统开发 西南科技大学计算机学院506.3 系统测试系统测试v路径覆盖:设计测试用例,以覆盖程序中所有可能的路径。路径覆盖:设计测试用例,以覆盖程序中所有可能的路径。v路径覆盖的例子:路径覆盖的例子:(a1)and(b=0)(a=2)and(x1)x=x/ax=x+1AFTBCF

48、TDE测使用例:测使用例:请同学自行设计。请同学自行设计。对于实际问题,往往不太现实,对于实际问题,往往不太现实,因为其路径的数量可能相当庞大。因为其路径的数量可能相当庞大。西南科技大学厚德博学笃行创新2023/5/15信息系统开发 西南科技大学计算机学院516.3 系统测试系统测试测试用例设计技术测试用例设计技术等价类划分法:它属于黑盒测试方法。它是在完全不考虑内部结构情况等价类划分法:它属于黑盒测试方法。它是在完全不考虑内部结构情况下,只根据程序的规格说明设计程序设计用例。它是把程序的输入范围下,只根据程序的规格说明设计程序设计用例。它是把程序的输入范围划分成若干部分,然后从每一部分中选取

49、少量代表性数据作为测试用例。划分成若干部分,然后从每一部分中选取少量代表性数据作为测试用例。有效等价类:是指对程序的功能要求来讲是有意义的,合理的输入数据有效等价类:是指对程序的功能要求来讲是有意义的,合理的输入数据所构成的集合。所构成的集合。无效等价类:是指那些不合理的或非法的输入数据所构成的集合。无效等价类:是指那些不合理的或非法的输入数据所构成的集合。等价类划分原则请参考教材。等价类划分原则请参考教材。西南科技大学厚德博学笃行创新2023/5/15信息系统开发 西南科技大学计算机学院526.3 系统测试系统测试测试用例设计技术测试用例设计技术边值分析法:它是针对如下标,数据结构,标量和循

50、环变量取最大值,边值分析法:它是针对如下标,数据结构,标量和循环变量取最大值,最小值等容易发生错误的区域而设计测试用例的方法。边值分析法也最小值等容易发生错误的区域而设计测试用例的方法。边值分析法也是一种黑盒测试方法。是一种黑盒测试方法。遵循的原则:遵循的原则:1.若输入条件规定了取值范围,则应选择恰好落在边界上,以及处在边若输入条件规定了取值范围,则应选择恰好落在边界上,以及处在边界内、外边上的测试值。界内、外边上的测试值。2.如规定了输入数据的个数,则可选择最小个数,最大个数,比最小个如规定了输入数据的个数,则可选择最小个数,最大个数,比最小个数多数多1、少、少1等等情况作为测试输入的个数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁