系统分析第八讲精品文稿.ppt
《系统分析第八讲精品文稿.ppt》由会员分享,可在线阅读,更多相关《系统分析第八讲精品文稿.ppt(165页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、系统分析课件第八讲第1页,本讲稿共165页本章重点本章重点程序设计程序设计系统测试系统测试系统调试系统调试系统安装系统安装系统维护系统维护第2页,本讲稿共165页8.1 概述8.1.1 8.1.1 主要任务主要任务根据系统设计所提供的控制结构图、数据库设计、系统配置方案根据系统设计所提供的控制结构图、数据库设计、系统配置方案及详细设计资料,编制和调试程序、调试系统、进行系统切换等及详细设计资料,编制和调试程序、调试系统、进行系统切换等工作,将技术设计转化为物理实际系统。工作,将技术设计转化为物理实际系统。其主要任务是其主要任务是:1)1)系统实施准备系统实施准备2)2)系统平台的硬、软件安装与
2、调试系统平台的硬、软件安装与调试3)3)程序的编制与调试程序的编制与调试4)4)信息系统调试信息系统调试(软、硬件结合软、硬件结合)5)5)原始数据的建立原始数据的建立6 6)组织系统测试)组织系统测试7)7)系统转换系统转换8)8)试运行、验收与维护试运行、验收与维护9 9)项目管理与实施进度控制)项目管理与实施进度控制第3页,本讲稿共165页系统实施的内容与步骤系统实现准备系统实现准备项目管理与实施进度控制项目管理与实施进度控制实施队伍的组织实施队伍的组织软、硬件和配套设施的准备软、硬件和配套设施的准备信息流程、业务规程的组信息流程、业务规程的组织与修订织与修订实现方法、工具和数据的实现方
3、法、工具和数据的准备准备人员培训与宣传教育人员培训与宣传教育培训培训程序编制程序编制数据采集数据采集系统测试及调试系统测试及调试系统试运行系统试运行系统转换与验收系统转换与验收系统运行维护系统运行维护第4页,本讲稿共165页8.1.2 8.1.2 系统实施阶段的输出文档系统实施阶段的输出文档程序文档程序文档程序设计报告程序设计报告源程序清单源程序清单程序调试报告程序调试报告系统实施报告系统实施报告实施计划实施计划设备采购及安装验收报告设备采购及安装验收报告业务规程及有关制度业务规程及有关制度系统调试及试运行报告系统调试及试运行报告系统转换及验收报告系统转换及验收报告系统的操作使用手册系统的操作
4、使用手册第5页,本讲稿共165页8.2 8.2 程序模块的设计程序模块的设计程序设计的基本任务程序设计的基本任务根据系统设计说明书中关于模块的详细描述和处理过程根据系统设计说明书中关于模块的详细描述和处理过程的描述,选择合适的计算机语言来编制程序的工作。的描述,选择合适的计算机语言来编制程序的工作。第6页,本讲稿共165页正确性:语法正确、逻辑正确、需求正确正确性:语法正确、逻辑正确、需求正确可维护性:可维护性:可靠性:可靠性:可理解性:可理解性:效效率率:指指计计算算机机资资源源(如如时时间间和和空空间间)能能否否被被有有效效地使用。地使用。对程序的基本要求:对程序的基本要求:第7页,本讲稿
5、共165页(1 1)结构化程序设计方法)结构化程序设计方法三种基本结构三种基本结构顺序顺序选择选择循环循环模块化模块化自顶向下,逐步求精自顶向下,逐步求精程序设计方法程序设计方法第8页,本讲稿共165页(2 2)面向对象程序设计方法)面向对象程序设计方法封装封装继承继承多态多态程序设计方法程序设计方法第9页,本讲稿共165页程序设计风格程序设计风格程序实际上也是一种供人阅读的文章,有一个程序实际上也是一种供人阅读的文章,有一个文章的文章的风格风格问题。应该使程序具有良好的风格。问题。应该使程序具有良好的风格。源程序文档化源程序文档化 数据说明数据说明 语句结构语句结构 输入输出方法输入输出方法
6、第10页,本讲稿共165页1.1.源程序文档化源程序文档化1)1)1)1)符号名的命名符号名的命名符号名的命名符号名的命名2)2)程序的注释程序的注释3)3)视觉组织视觉组织 空格、空行和移行空格、空行和移行空格、空行和移行空格、空行和移行第11页,本讲稿共165页2.2.数据说明数据说明为了使程序中数据说明更易于理解和维护,必须注意为了使程序中数据说明更易于理解和维护,必须注意为了使程序中数据说明更易于理解和维护,必须注意为了使程序中数据说明更易于理解和维护,必须注意以下几点。以下几点。以下几点。以下几点。数据说明的次序应当规范化数据说明的次序应当规范化数据说明的次序应当规范化数据说明的次序
7、应当规范化 说明语句中变量安排有序化说明语句中变量安排有序化说明语句中变量安排有序化说明语句中变量安排有序化 使用注释说明复杂数据结构使用注释说明复杂数据结构使用注释说明复杂数据结构使用注释说明复杂数据结构第12页,本讲稿共165页3.3.语句结构语句结构语句构造力求简单,直接,不能为了片面追求效语句构造力求简单,直接,不能为了片面追求效语句构造力求简单,直接,不能为了片面追求效语句构造力求简单,直接,不能为了片面追求效率而使语句复杂化。率而使语句复杂化。率而使语句复杂化。率而使语句复杂化。vv在一行内只写一条语句在一行内只写一条语句在一行内只写一条语句在一行内只写一条语句v程序编写首先应当考
8、虑清晰性程序编写首先应当考虑清晰性程序编写首先应当考虑清晰性程序编写首先应当考虑清晰性vv程序要能直截了当地说明程序员的用意程序要能直截了当地说明程序员的用意程序要能直截了当地说明程序员的用意程序要能直截了当地说明程序员的用意vv除非对效率有特殊要求除非对效率有特殊要求除非对效率有特殊要求除非对效率有特殊要求,程序编写要做到清晰第程序编写要做到清晰第程序编写要做到清晰第程序编写要做到清晰第一,效率第二一,效率第二一,效率第二一,效率第二。v首先要保证程序正确首先要保证程序正确首先要保证程序正确首先要保证程序正确,然后才要求提高速然后才要求提高速然后才要求提高速然后才要求提高速vv避免使用临时变
9、量而使可读性下降。避免使用临时变量而使可读性下降。避免使用临时变量而使可读性下降。避免使用临时变量而使可读性下降。第13页,本讲稿共165页程序设计语言程序设计语言程程序序编编码码阶阶段段的的任任务务是是将将软软件件的的详详细细设设计计转转换换成成用用程程序序设设计计语语言言实实现现的的程程序序代代码码,即即把把用用PDL伪伪码码写写成成 的的 程程 序序,翻翻 译译 成成 计计 算算 机机 能能 接接 受受 的的 诸诸 如如FORTRAN、C、汇编之类程序设计语言的程序。、汇编之类程序设计语言的程序。因因此此,程程序序设设计计语语言言的的性性能能和和设设计计风风格格对对于于程程序序设设计计的
10、效能和质量有着直接的关系。的效能和质量有着直接的关系。第14页,本讲稿共165页1.1.程序设计语言的基本成分程序设计语言的基本成分数据部分数据部分:程序中能构造的数据类型,用以描述程序中:程序中能构造的数据类型,用以描述程序中使用的各种类型的数据,如变量、数组、指针、文使用的各种类型的数据,如变量、数组、指针、文件等。件等。运算部分运算部分:程序中允许执行的运算,用以描述程序中:程序中允许执行的运算,用以描述程序中所需执行的运算。所需执行的运算。控制部分控制部分:程序中允许使用的控制结构,用它们构造程:程序中允许使用的控制结构,用它们构造程序的控制逻辑。序的控制逻辑。传输部分传输部分:程序中
11、用以传输数据的方式,如输入:程序中用以传输数据的方式,如输入/输出输出语句。语句。第15页,本讲稿共165页2.2.程序设计语言的层次程序设计语言的层次从三个层次讨论程序设计语言:从三个层次讨论程序设计语言:语法语法 用来表示构成语言的各个记号间的组合规则。如用来表示构成语言的各个记号间的组合规则。如 C 语言中语言中 for 语句的构成规则为语句的构成规则为 for(表达式表达式1;表达式;表达式2;表达式;表达式3)语句)语句 程序中出现的程序中出现的 for 语句必须符合上述构成规则。语句必须符合上述构成规则。语法不涉及这些记号的含义,也不涉及使用者。语法不涉及这些记号的含义,也不涉及使
12、用者。第16页,本讲稿共165页语义语义 用来表示按照各种表示方法所表示的用来表示按照各种表示方法所表示的各个记号各个记号的特定含义的特定含义。但它不涉及使用者。但它不涉及使用者。如在如在 for 语句中,语句中,表达式表达式1 设置循环初值,设置循环初值,表达式表达式2 控制循环结束,控制循环结束,表达式表达式3 增减循环变量。语句增减循环变量。语句是循环体。是循环体。for 语义为:语义为:计算表达式计算表达式1;计算表达式计算表达式2;若结果为;若结果为0,循环结束,否则,循环结束,否则继续第继续第步;步;执行循环体;执行循环体;计算表达式计算表达式3;转向第转向第步。步。第17页,本讲
13、稿共165页语用语用 表示构成语言的各个记号和使用者之间的关系。表示构成语言的各个记号和使用者之间的关系。表示构成语言的各个记号和使用者之间的关系。表示构成语言的各个记号和使用者之间的关系。例如,在某种程序设计语言中是否允许递归。若允许例如,在某种程序设计语言中是否允许递归。若允许例如,在某种程序设计语言中是否允许递归。若允许例如,在某种程序设计语言中是否允许递归。若允许递归,递归层数的上界是多少,这些都是语用方面的递归,递归层数的上界是多少,这些都是语用方面的递归,递归层数的上界是多少,这些都是语用方面的递归,递归层数的上界是多少,这些都是语用方面的问题。问题。问题。问题。第18页,本讲稿共
14、165页3.3.广泛使用的程序设计语言比较:广泛使用的程序设计语言比较:1)1)汇编语言:面向机器,涉及计算机的结构,特别适用汇编语言:面向机器,涉及计算机的结构,特别适用于一些实时的过程控制程序,能够设计出执行效率于一些实时的过程控制程序,能够设计出执行效率最优的程序代码。最优的程序代码。2)Fortran2)Fortran:是一个编译性语言,产生目标代码,运行:是一个编译性语言,产生目标代码,运行速度快,支持局部变量的概念,因而能够实现信息速度快,支持局部变量的概念,因而能够实现信息隐蔽的原则,进行模块设计,主要用于科学计算领隐蔽的原则,进行模块设计,主要用于科学计算领域。域。3)COBO
15、L3)COBOL语言:面向商业应用的语言,能够定义和处语言:面向商业应用的语言,能够定义和处理复杂的数据结构,具有较强的文件存取能力和报理复杂的数据结构,具有较强的文件存取能力和报表处理能力。一定程序的支持模块化设计。表处理能力。一定程序的支持模块化设计。第19页,本讲稿共165页4)C4)C语言:具有低级语言的一些特点:访问寄存器进行位语言:具有低级语言的一些特点:访问寄存器进行位操作等,又具有高级语言的全部优点:支持变量局部操作等,又具有高级语言的全部优点:支持变量局部化,定义和操作复杂的数据结构,能够进行模块化程化,定义和操作复杂的数据结构,能够进行模块化程序设计,可用于实时程序设计,系
16、统软件设计和工具序设计,可用于实时程序设计,系统软件设计和工具软件设计。软件设计。5)5)AdaAda语言:具有语言:具有C C语言的主要优点外,还具备支持抽象数语言的主要优点外,还具备支持抽象数据类型的概念,即具有面向对象程序设计的一些特征,据类型的概念,即具有面向对象程序设计的一些特征,是军队的标准语言。是军队的标准语言。第20页,本讲稿共165页6)4GL 面向应用面向应用面向应用开发人员面向应用开发人员非过程化语言非过程化语言一体化语言一体化语言高效率语言高效率语言开放式语言开放式语言第21页,本讲稿共165页4.4.程序设计语言的选择程序设计语言的选择第22页,本讲稿共165页8.3
17、 8.3 软件测试软件测试w软件测试的目的和原则软件测试的目的和原则w测试方法与测试用例设计测试方法与测试用例设计w软件测试的策略软件测试的策略w软件测试的种类软件测试的种类w程序的静态测试程序的静态测试第23页,本讲稿共165页 软件产品最大的成本是检测软件错误、修正软件错误的成本。软件产品最大的成本是检测软件错误、修正软件错误的成本。在整个软件开发中,测试工作量一般占在整个软件开发中,测试工作量一般占30%30%40%40%,甚至,甚至50%50%。在人命关天的软件在人命关天的软件(如飞机控制、核反应堆等)测试所花费的时间如飞机控制、核反应堆等)测试所花费的时间往往是其它软件工程活动时间之
18、和的三到五倍往往是其它软件工程活动时间之和的三到五倍例例:Exchange2000和和 Windows20002000项目组人员构成项目组人员构成项目组角色项目组角色Exchange2000Windows20002000项目经理项目经理约约25人人约约250人人开发人员开发人员约约140人人约约1700人人测试人员测试人员约约350人人约约3200人人测试测试/开发人员比例开发人员比例2.5:11.9:1第24页,本讲稿共165页软件测试背景软件测试背景软件是人编的软件是人编的所以不完美所以不完美实例实例:1994-1995,1994-1995,迪斯尼的狮子王系统不支持问题迪斯尼的狮子王系统不
19、支持问题IntelIntel的的pentiumpentium处理器处理器19941994年浮点除法缺陷年浮点除法缺陷20002000年年8 8月月2828日,日,1.13MHZ1.13MHZ处理器一个可能导致运行程序被挂处理器一个可能导致运行程序被挂起的执行指令问题起的执行指令问题19991999年年1212月月3 3日日,美国航天局火星极地登陆飞船失踪美国航天局火星极地登陆飞船失踪19911991年爱国者导弹防御系统系统时钟错误积累造成跟踪年爱国者导弹防御系统系统时钟错误积累造成跟踪系统失去精确度系统失去精确度千年虫千年虫,世界各地解决世界各地解决20002000年错误超过数亿美元年错误超过
20、数亿美元第25页,本讲稿共165页软件测试的问题软件测试的问题:谁执行测试?谁执行测试?开发者?开发者?单独的测试人员?单独的测试人员?两方面人员?两方面人员?测试什么?测试什么?每个部分都测试?每个部分都测试?测试软件中高风险部分?测试软件中高风险部分?什么时候测试?什么时候测试?怎样测试?怎样测试?测试应进行到什么程度?测试应进行到什么程度?第26页,本讲稿共165页8.3.1 8.3.1 软件测试的目的和原则软件测试的目的和原则 1 1、描述软件失败的术语、描述软件失败的术语软件错误软件错误软件缺陷软件缺陷软件故障软件故障软件失效软件失效第27页,本讲稿共165页2.2.软件测试的目的软
21、件测试的目的 基于不同的立场,存在着两种完全不同的测试基于不同的立场,存在着两种完全不同的测试基于不同的立场,存在着两种完全不同的测试基于不同的立场,存在着两种完全不同的测试目的。目的。目的。目的。从从从从用户的角度用户的角度用户的角度用户的角度出发,普遍希望通过软件测试出发,普遍希望通过软件测试出发,普遍希望通过软件测试出发,普遍希望通过软件测试暴暴暴暴露软件中隐藏的错误和缺陷露软件中隐藏的错误和缺陷露软件中隐藏的错误和缺陷露软件中隐藏的错误和缺陷,以考虑是否可接受,以考虑是否可接受,以考虑是否可接受,以考虑是否可接受该产品。该产品。该产品。该产品。从从从从软件开发者的角度软件开发者的角度软
22、件开发者的角度软件开发者的角度出发,则希望测试成为出发,则希望测试成为出发,则希望测试成为出发,则希望测试成为表明表明表明表明软件产品中不存在错误软件产品中不存在错误软件产品中不存在错误软件产品中不存在错误的过程,验证该软件已正的过程,验证该软件已正的过程,验证该软件已正的过程,验证该软件已正确地实现了用户的要求。确地实现了用户的要求。确地实现了用户的要求。确地实现了用户的要求。第28页,本讲稿共165页MyersMyers软件测试目的软件测试目的Myers在其名著在其名著“The Art of Software Test”中强调:中强调:测试是程序的执行过程,目的在于发现测试是程序的执行过程
23、,目的在于发现错误;错误;一个好的测试用例在于能发现至今未发一个好的测试用例在于能发现至今未发现的错误;现的错误;一个成功的测试是发现了至今未发现的一个成功的测试是发现了至今未发现的错误的测试。错误的测试。第29页,本讲稿共165页换言之,测试的目的是换言之,测试的目的是换言之,测试的目的是换言之,测试的目的是想以最少的时间和人力,想以最少的时间和人力,想以最少的时间和人力,想以最少的时间和人力,系统地找出软件中系统地找出软件中系统地找出软件中系统地找出软件中潜在的各种错误和缺陷潜在的各种错误和缺陷潜在的各种错误和缺陷潜在的各种错误和缺陷。如果我们成功地。如果我们成功地。如果我们成功地。如果我
24、们成功地实施了测试,我们就能够发现软件中的错实施了测试,我们就能够发现软件中的错实施了测试,我们就能够发现软件中的错实施了测试,我们就能够发现软件中的错误。误。误。误。测试的附带收获是,它测试的附带收获是,它测试的附带收获是,它测试的附带收获是,它能够证明软件的功能能够证明软件的功能能够证明软件的功能能够证明软件的功能和性能与需求说明相符合和性能与需求说明相符合和性能与需求说明相符合和性能与需求说明相符合。实施测试收集到的测试结果数据为可靠性分实施测试收集到的测试结果数据为可靠性分实施测试收集到的测试结果数据为可靠性分实施测试收集到的测试结果数据为可靠性分析提供了依据。析提供了依据。析提供了依
25、据。析提供了依据。测试不能表明软件中不存在错误,它只能说测试不能表明软件中不存在错误,它只能说测试不能表明软件中不存在错误,它只能说测试不能表明软件中不存在错误,它只能说明软件中存在错误明软件中存在错误明软件中存在错误明软件中存在错误。第30页,本讲稿共165页“测试的目的是说明程序正确地执行它应有的功能测试的目的是说明程序正确地执行它应有的功能”这种说法正确吗?这种说法正确吗?例例:程程序序TriangleTriangle,输输入入三三个个整整数数,表表示示一一个个三三角角形形的的三三个个边边长长,该该程程序序产产生生一一个个结结果果,指指出出该该三三角角形形是是等等边边三三角角形形、等等腰
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统分析 第八 精品 文稿
限制150内