软件工程_幻灯片.ppt
《软件工程_幻灯片.ppt》由会员分享,可在线阅读,更多相关《软件工程_幻灯片.ppt(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程课件_2023/1/151第1页,共46页,编辑于2022年,星期三目录7.1程序设计语言7.2编码风格7.3程序效率7.4编程安全7.5面向对象设计步骤2023/1/152第2页,共46页,编辑于2022年,星期三编码编码是指把软件设计的结果翻译成计算机可以编码是指把软件设计的结果翻译成计算机可以理解的形式,即用某种程序设计语言书写的理解的形式,即用某种程序设计语言书写的程序。程序。编码是软件设计的结果,程序的质量取决于软编码是软件设计的结果,程序的质量取决于软件设计的质量。件设计的质量。2023/1/153第3页,共46页,编辑于2022年,星期三7.1程序设计语言程序设计语言是人
2、和计算机通信的最基本的工具,程序设计语言的特性不可避免地会影响人的思维和解决问题的方式,会影响人和计算机通信的方式和质量,因此,编码前要选择一种适当的程序设计语言。2023/1/154第4页,共46页,编辑于2022年,星期三7.1.1程序设计语言的分类1.面向机器语言机器语言汇编语言优点:容易实现系统接口缺点:生产率低,容易出错,维护困难。2023/1/155第5页,共46页,编辑于2022年,星期三7.1.1程序设计语言的分类2.高级语言从应用特点分从内在特点分基础语言:如BASIC现代语言:如PASCAL、C专用语言:如APL系统实现语言:如C静态高级语言:如COBOL块结构高级语言:P
3、ASCAL动态高级语言:不属于通用语言高级语言2023/1/156第6页,共46页,编辑于2022年,星期三7.1.1程序设计语言的分类2.高级语言机器语言从应用特点分:基础语言通用语言,特点:出现早,应用广泛,有大量软件库,为最广泛的人所熟悉和接受。FORTRANFORTRAN:使用最高的高级语言,它适合于科学计算,缺点是:使用最高的高级语言,它适合于科学计算,缺点是数据类型不丰富,对复杂的数据结构缺乏支持。数据类型不丰富,对复杂的数据结构缺乏支持。COBOLCOBOL:商业数据处理中应用最广的高级语言。:商业数据处理中应用最广的高级语言。BASICBASIC:用于一般数值计算与事务处理,优
4、点是简单易学,具有:用于一般数值计算与事务处理,优点是简单易学,具有交互功能。交互功能。ALGOLALGOL:一种描述计算过程的算法语言。缺点是缺少标准的输:一种描述计算过程的算法语言。缺点是缺少标准的输入输出和结构使用的换名参数入输出和结构使用的换名参数2023/1/157第7页,共46页,编辑于2022年,星期三7.1.1程序设计语言的分类2.高级语言机器语言从应用特点分:现代语言结构化语言,也是通用语言,特点:直接提供结构化的控制结构,具有很强的过程能力和数据结构能力。PASCALPASCAL:第一个系统的体现结构化程序设计概念的现代高级语:第一个系统的体现结构化程序设计概念的现代高级语
5、言。优点是模块清晰,控制结构完备,数据结构和数据类型言。优点是模块清晰,控制结构完备,数据结构和数据类型丰富,表达能力强,可移植性好。丰富,表达能力强,可移植性好。C C:最初为:最初为UNIXUNIX操作系统的主要语言开发的,现成为通用语言。操作系统的主要语言开发的,现成为通用语言。特点:表达简洁,控制结构、数据结构完备、运算符和数据特点:表达简洁,控制结构、数据结构完备、运算符和数据类型丰富,可移植性好强,类型丰富,可移植性好强,编译质量高。编译质量高。AdaAda:迄今为止最完善的面向过程的现代语言。适用于嵌入式计:迄今为止最完善的面向过程的现代语言。适用于嵌入式计算机系统。算机系统。2
6、023/1/158第8页,共46页,编辑于2022年,星期三7.1.1程序设计语言的分类2.高级语言机器语言从应用特点分:专用语言特点:具有为某种特殊应用而设计的独特的语言形式。语言应用范围比较窄。APLAPL:为数据和向量运算设计的简洁而又功能很强的语言,而它:为数据和向量运算设计的简洁而又功能很强的语言,而它几乎不提供结构化的控制结构和数据类型。几乎不提供结构化的控制结构和数据类型。2023/1/159第9页,共46页,编辑于2022年,星期三7.1.1程序设计语言的分类2.高级语言机器语言从内在特点分:系统实现语言为了克服汇编程序设计的困难而从汇编语言发展起来的。特点:提供控制语句和变量
7、类型检验等功能,但是同时也容许程序员直接使用机器操作。C C:2023/1/1510第10页,共46页,编辑于2022年,星期三7.1.1程序设计语言的分类2.高级语言机器语言从内在特点分:静态高级语言提供某些控制语句和变量说明的机制,但是程序员不能直接控制由编译程序生成的机器操作。特点:静态分配存储。COBOLCOBOLFORTRANFORTRAN2023/1/1511第11页,共46页,编辑于2022年,星期三7.1.1程序设计语言的分类2.高级语言机器语言从内在特点分:块结构高级语言特点:提供有限形式的动态存储分配。ALGOLALGOLPASCALPASCAL2023/1/1512第12
8、页,共46页,编辑于2022年,星期三7.1.1程序设计语言的分类2.高级语言机器语言从内在特点分:动态高级语言特点:动态地完成所有存储管理。一般为特殊应用而设计的,不属于通用语言。2023/1/1513第13页,共46页,编辑于2022年,星期三7.1.2程序设计语言的特点程序设计语言是人与计算机交流的媒介,软件工程师应该了解程序设程序设计语言是人与计算机交流的媒介,软件工程师应该了解程序设计语言各方面的特点,以及这些特点对软件质量的影响。计语言各方面的特点,以及这些特点对软件质量的影响。1.1.名字说明名字说明2.2.类型说明类型说明3.3.初始化初始化4.4.程序对象的局部性程序对象的局
9、部性5.5.程序模块程序模块6.6.循环控制结构循环控制结构7.7.分支控制结构分支控制结构8.8.异常处理异常处理9.9.独立编译独立编译2023/1/1514第14页,共46页,编辑于2022年,星期三7.1.2程序设计语言的特点1.1.名字说明:预先说明程序中使用的对象名字,使编译程序能够检查程序中出现的名字的合法名字说明:预先说明程序中使用的对象名字,使编译程序能够检查程序中出现的名字的合法性,从而能帮助程序员发现和改正程序中的错误。性,从而能帮助程序员发现和改正程序中的错误。2.2.类型说明:类型说明与名字说明使紧密相联的,通过类型说明用户定义对象的类型说明:类型说明与名字说明使紧密
10、相联的,通过类型说明用户定义对象的类型,从而确定了该对象的使用方式。编译程序能够发现程序中对某个特定类类型,从而确定了该对象的使用方式。编译程序能够发现程序中对某个特定类型的对象使用不当的错误,有助于减少程序错误。型的对象使用不当的错误,有助于减少程序错误。3.3.初始化:程序设计中最常见的错误之一就是在使用变量之前对没有变量初始化初始化:程序设计中最常见的错误之一就是在使用变量之前对没有变量初始化,为为了减少发生错误的可能性了减少发生错误的可能性,应该使程序员对程序中说明的所有变量初始化应该使程序员对程序中说明的所有变量初始化.4.4.程序对象的局部性程序对象的局部性:程序对象的名字应该在靠
11、近使用他们的地方引入程序对象的名字应该在靠近使用他们的地方引入,并且应该只并且应该只有程序中真正需要他们的那些部分才能访问他们有程序中真正需要他们的那些部分才能访问他们.5.5.程序模块程序模块:块结构语言提供了控制程序对象名字可见性的某些手段块结构语言提供了控制程序对象名字可见性的某些手段,主要使受较内层程序块主要使受较内层程序块中说明的名字不能被较外层的程序块访问中说明的名字不能被较外层的程序块访问.2023/1/1515第15页,共46页,编辑于2022年,星期三7.1.2程序设计语言的特点6.6.循环控制结构循环控制结构:常见的循环控制结构由常见的循环控制结构由FORFOR语句语句,W
12、HILE-,WHILE-DODO语句语句,REPEAT-UNTIL,REPEAT-UNTIL语句语句7.7.分支控制结构分支控制结构:IF:IF型分支语句通常不存在什么实际问题型分支语句通常不存在什么实际问题,多多分支的分支的CASECASE型语句可能存在问题型语句可能存在问题,一一,如果如果CASECASE表达表达式取的值不在预定的范围内式取的值不在预定的范围内,则不能决定应该作的动则不能决定应该作的动作作;二二,在某些程序语言中在某些程序语言中,由由CASECASE表达式选定执行的语句表达式选定执行的语句,取决于所有可能执行的语句的排列次序取决于所有可能执行的语句的排列次序,如果次序错了如
13、果次序错了,便宜和运行时系统不能发现这类错误便宜和运行时系统不能发现这类错误.8.异常处理异常处理:程序运行过程中发生的错误或意外事件称程序运行过程中发生的错误或意外事件称为异常为异常.9.9.独立编译独立编译:独立编译指能分别编译各个程序单元独立编译指能分别编译各个程序单元,然后再把然后再把他们集成位一个完整的程序他们集成位一个完整的程序.2023/1/1516第16页,共46页,编辑于2022年,星期三7.1.3程序设计语言的选择选择标准理想标准应该有理想的模块化机制,以及可读性好的控制结构和数据结构,以使程序容易测试和维护,同时减少软生存周期的总成本.应该使编译程序能够尽可能多地发现程序
14、中的错误,以便于调试和提高软件的可靠性应该有良好的独立编译机制,以降低软件开发和维护的成本.实践标准2023/1/1517第17页,共46页,编辑于2022年,星期三7.1.3程序设计语言的选择选择标准实践标准语言的自身功能系统用户的要求编码和维护成本软件的兼容性可以使用的软件工具软件可移植性开发系统的规模程序设计人员的知识水平2023/1/1518第18页,共46页,编辑于2022年,星期三7.2编码风格编码风格又称程序设计风格或编程风格,编码风格实际上指编程的基本原则。2023/1/1519第19页,共46页,编辑于2022年,星期三7.2.1源程序文档化软件=程序+文档1.标识符的命名:
15、名字应该能够反映它所代表的实际的东西,应具有一定实际意义,使其能够见名知意,有助于程序功能的理解和增强程序的可读性。2.程序的注释:程序中的注释是程序员与程序阅读者之间的通信的重要手段。3.标准的书写格式2023/1/1520第20页,共46页,编辑于2022年,星期三7.2.1源程序文档化2.2.程序的注释:程序中的注释是程序员与程序阅读者之程序的注释:程序中的注释是程序员与程序阅读者之间的通信的重要手段。间的通信的重要手段。1.1.序言性注释:通常位于每个程序模块的开头部分,它给出程序的序言性注释:通常位于每个程序模块的开头部分,它给出程序的整体说明,对于理解程序有引导作用。整体说明,对于
16、理解程序有引导作用。2.2.功能性注释:注释在源程序中,用以描述其后的语句或程序功能性注释:注释在源程序中,用以描述其后的语句或程序段是在做什么工作。段是在做什么工作。对于书写功能性注释,应注意:对于书写功能性注释,应注意:描述一段程序,而不是每个语句描述一段程序,而不是每个语句 利用缩进和空行,使程序与注释容易区别利用缩进和空行,使程序与注释容易区别 注释要正确注释要正确 合适的,有助于记忆的标识符和恰当的注释,可以得到比较好的源合适的,有助于记忆的标识符和恰当的注释,可以得到比较好的源程序内部的文档程序内部的文档 设计的说明,也可以作为注释,嵌入源程序体内。设计的说明,也可以作为注释,嵌入
17、源程序体内。2023/1/1521第21页,共46页,编辑于2022年,星期三7.2.1源程序文档化3.标准的书写格式应用统一的、标准的格式来书写源程序清单,有助于改善可读性。常用的方法:用分层缩进的写法显示嵌套结构层次在注释段周围加上边框注释段与程序段、以及不同的程序段之间插入空行每行只写一条语句书写表达式时适当使用空格或圆括弧作隔离符。2023/1/1522第22页,共46页,编辑于2022年,星期三7.2.2数据说明注意数据说明风格。为了便于理解和维护,必须注意以下几点:数据说明得次序应规范说明的先后次序应固定。如:按常量说明、简单变量和类型说明、数组说明、功用数据块说明、所有的文件说明
18、的顺序说明当用一个语句说明多个变量时,应当对这些变量按照字母的顺序排列对于复杂数据结构,应利用注释说明实现这个数据结构的特点。2023/1/1523第23页,共46页,编辑于2022年,星期三7.2.3语句结构1.使用标准的控制结构在编码阶段,要遵循模块逻辑肿采用单入口、单出口的标准结构的原则,以确保源程序清晰可读。在尽量使用标准结构的同时,避免使用容易引起混淆的结构和语句。避免使用空的ELSE语句和IFTHENIF的语句一行内只写一条语句,病采取适当的缩进格式,使程序的逻辑和功能更加明确。2023/1/1524第24页,共46页,编辑于2022年,星期三7.2.3语句结构2.尽可能使用库函数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 幻灯片
限制150内