第7章-构件设计PPT课件

上传人:每**** 文档编号:64288686 上传时间:2022-03-21 格式:PPT 页数:30 大小:124.50KB
收藏 版权申诉 举报 下载
第7章-构件设计PPT课件_第1页
第1页 / 共30页
第7章-构件设计PPT课件_第2页
第2页 / 共30页
第7章-构件设计PPT课件_第3页
第3页 / 共30页
资源描述:

《第7章-构件设计PPT课件》由会员分享,可在线阅读,更多相关《第7章-构件设计PPT课件(30页珍藏版)》请在装配图网上搜索。

1、2021/6/71第七章第七章 构件级设计构件级设计 2021/6/72n编码编码(Coding)俗称编程序,就是把详细设)俗称编程序,就是把详细设计结论翻译成可执行代码的过程。计结论翻译成可执行代码的过程。n分析阶段和设计阶段产生的文档,都不能在计分析阶段和设计阶段产生的文档,都不能在计算机上执行。只有到了编码阶段,才产生可执算机上执行。只有到了编码阶段,才产生可执行代码(行代码(Executable Codes),所以编码阶),所以编码阶段也称为实现(段也称为实现(Implementation)阶段。)阶段。2021/6/737.1程序设计语言的特性程序设计语言的特性 n7.1.1 心理特

2、性心理特性n语言的心理特性指影响程序员心理的语言性能,语言的心理特性指影响程序员心理的语言性能,许多这类特性是作为程序设计的结果而出现的,许多这类特性是作为程序设计的结果而出现的,虽不能用定量的方法来度量,但可以认识到这虽不能用定量的方法来度量,但可以认识到这类特性在语言中的表现形式:类特性在语言中的表现形式: n二义性二义性 、简洁性、简洁性 、局部性和顺序性、局部性和顺序性 、传统性。、传统性。2021/6/74n7.1.2 工程特性工程特性n为满足软件工程的需要,程序设计语言还应考虑:为满足软件工程的需要,程序设计语言还应考虑:n源代码的可移植性。源代码的可移植性。n配套的开发工具。配套

3、的开发工具。n可维护性。可维护性。n可重用性。可重用性。n将设计变换为源程序的便利程度以及编译器的有效将设计变换为源程序的便利程度以及编译器的有效性等。性等。2021/6/757.2 程序设计语言的基本机制程序设计语言的基本机制 n程序设计语言的基本机制包括:程序设计语言的基本机制包括:n1. 对象说明n 预先说明程序中将要使用的常量、变量的名预先说明程序中将要使用的常量、变量的名字和类型、过程或函数以及定义将要使用的类、字和类型、过程或函数以及定义将要使用的类、类的实例等,便于编译程序检查使用方式的合类的实例等,便于编译程序检查使用方式的合法性,从而帮助程序员发现错误。法性,从而帮助程序员发

4、现错误。n2. 数据类型的定义n数据类型定义是一种抽象机制,例如类就是一数据类型定义是一种抽象机制,例如类就是一个高度抽象的概念,类将数据结构和作用在数个高度抽象的概念,类将数据结构和作用在数据结构上的一组操作封装成一个整体。据结构上的一组操作封装成一个整体。2021/6/76n3. 子程序和方法n子程序是可独立编译的程序单元,包含自己的子程序是可独立编译的程序单元,包含自己的数据结构和控制结构。在不同的语言中,子程数据结构和控制结构。在不同的语言中,子程序称作子例程、过程或函数。子程序一般具备序称作子例程、过程或函数。子程序一般具备如下三种机制:如下三种机制:n子程序说明;子程序说明;n子程

5、序体;子程序体;n调用方式。调用方式。2021/6/777.2 程序设计语言的基本机制程序设计语言的基本机制 n4. 控制结构n几乎所有现代程序设计语言都允许程序员使用几乎所有现代程序设计语言都允许程序员使用顺序、分支和循环顺序、分支和循环三类结构,甚至许多语言的三类结构,甚至许多语言的结构编辑器直接给出它们对应的语法框架。结构编辑器直接给出它们对应的语法框架。n在面向对象程序设计语言中,最基本的机制除在面向对象程序设计语言中,最基本的机制除了类、对象之外,还有类之间存在的继承关系,了类、对象之外,还有类之间存在的继承关系,和对象之间通过消息传递以及动态链接等机制和对象之间通过消息传递以及动态

6、链接等机制进行的控制。进行的控制。2021/6/787.3 程序设计风格程序设计风格 n程序设计风格是指编程时表现出来的特点、习程序设计风格是指编程时表现出来的特点、习惯、逻辑思维等。惯、逻辑思维等。风格的作用主要就是使代码风格的作用主要就是使代码容易读,无论是对程序员本人,还是对其他人。容易读,无论是对程序员本人,还是对其他人。 n7.3.1 命名命名n程序设计过程要涉及到对变量、常量、函数、程序设计过程要涉及到对变量、常量、函数、类、对象等编程元素进行命名。类、对象等编程元素进行命名。2021/6/791 变量命名 n变量分为全局变量和局部变量两种。对于变量变量分为全局变量和局部变量两种。

7、对于变量命名存在两种不同的观点。命名存在两种不同的观点。n一种观点是所有变量都要起一个有意义的名字,一种观点是所有变量都要起一个有意义的名字,名字若由多个单词组成,每个单词的首字母应名字若由多个单词组成,每个单词的首字母应该大写。例如该大写。例如NumOfArrayNumOfArray,IndexOfTableIndexOfTable。n另一种观点要求全局变量和类的成员变量使用另一种观点要求全局变量和类的成员变量使用具有说明性的、有意义的名字,而局部变量通具有说明性的、有意义的名字,而局部变量通常只在一定的范围内使用,按常规方式可以用常只在一定的范围内使用,按常规方式可以用短名字。如一般常用短

8、名字。如一般常用i i、j j作为循环变量;作为循环变量;p p、q q作为指针;作为指针;s s、t t表示字符串。表示字符串。2021/6/710n对于初学者,尤其是编写大型软件系统,推荐对于初学者,尤其是编写大型软件系统,推荐采用有意义的名字。如:采用有意义的名字。如:nm_pHandlerm_pHandler:某个类中的一个成员变量,它是:某个类中的一个成员变量,它是一个指向一个指向HandlerHandler的指针变量。的指针变量。ng_bInSearchedg_bInSearched:一个:一个BOOLBOOL类型的全局变量,类型的全局变量,表示当前是否处于搜索过程中。表示当前是否

9、处于搜索过程中。npszNamepszName:一个指向字符数组类型的指针类型:一个指向字符数组类型的指针类型的局部变量。的局部变量。 2021/6/711n匈牙利命名法是目前应用最广泛的一套变量命匈牙利命名法是目前应用最广泛的一套变量命名规则,其规则为如下三个部分的组合:名规则,其规则为如下三个部分的组合:n 前缀前缀-数据类型数据类型- -变量名变量名n常用前缀例子包括:类成员变量以常用前缀例子包括:类成员变量以m m开头,即开头,即m_m_;全局变量以;全局变量以g g开头,即开头,即g_g_。2021/6/7122 2 类名类名 n类名一律以类名一律以C C开头,并且紧接着开头,并且紧

10、接着C C的第一个字母的第一个字母要大写。如要大写。如n Class CStudentnCDlaog的子类一律以的子类一律以CDlg作为前缀。如作为前缀。如n Class CDlgLogin:CDialognCRecordset的子类一律以的子类一律以CRc作为前缀。如作为前缀。如n Class CRcMyTable:CRecordset2021/6/7133 3 函数或过程名函数或过程名 n函数和过程一般采用具有动作性的名字,如函数和过程一般采用具有动作性的名字,如GetIfIndex()、SetValue()等。等。n对于返回布尔类型值的函数,应该从函数名称对于返回布尔类型值的函数,应该从

11、函数名称中可以清楚地看出其返回值的情况。如应该使用中可以清楚地看出其返回值的情况。如应该使用IsEOF()和和LargeOf(),而不要使用,而不要使用JudgeEOF()和和CompareSize() 。2021/6/7144 4 数据库表名和字段名、消息数据库表名和字段名、消息名和常量名名和常量名 n数据库表和字段、程序中定义的消息和常量,数据库表和字段、程序中定义的消息和常量,应该取一个有意义的名字。应该取一个有意义的名字。n另外,在多人协同开发同一个程序时,这些名另外,在多人协同开发同一个程序时,这些名字最好全部采用大写单词中间加下划线字最好全部采用大写单词中间加下划线“_”_”来来组

12、成,这样可以避免许多因为大小写不一致而带组成,这样可以避免许多因为大小写不一致而带来的麻烦。来的麻烦。2021/6/7157.3.2 表达式和语句n应该写最清晰的代码,应该写最清晰的代码,n通过给运算符两边加空格的方式来帮助阅读,通过给运算符两边加空格的方式来帮助阅读,n用加括号的方式排除二义性,用加括号的方式排除二义性,n用缩行显示程序的结构,用缩行显示程序的结构,n不要一行多条语句,不要一行多条语句,n避免复杂的判定条件,避免复杂的判定条件,n避免多重循环嵌套,避免多重循环嵌套,n在表达式中使用括号以提高运算次序的清晰度在表达式中使用括号以提高运算次序的清晰度等。等。2021/6/716n

13、采用一种一致的风格,是使程序呈现出结构清采用一种一致的风格,是使程序呈现出结构清晰的最省力的方法。晰的最省力的方法。2021/6/7177.3.3 程序注释n注释是帮助阅读和理解程序的一种有效手段,注释是帮助阅读和理解程序的一种有效手段,用自然语言或伪码描述。用自然语言或伪码描述。n注释说明了程序的功能,特别是在维护阶段,注释说明了程序的功能,特别是在维护阶段,对理解程序提供了明确的指导。对理解程序提供了明确的指导。n注释一般分为注释一般分为序言性注释和功能性注释序言性注释和功能性注释。每一。每一个程序都由一个表明程序用途的序言性注释开个程序都由一个表明程序用途的序言性注释开始。始。 2021

14、/6/7187.3 程序设计风格程序设计风格 序言性注释应置于每个模块的起始部分,主要序言性注释应置于每个模块的起始部分,主要内容有:内容有:n说明每个模块的用途、功能;说明每个模块的用途、功能;n说明模块的接口:调用形式、参数描述及从属说明模块的接口:调用形式、参数描述及从属模块的清单;模块的清单;n数据描述:重要数据的名称、用途、限制、约数据描述:重要数据的名称、用途、限制、约束及其他信息;束及其他信息;n开发历史:设计者、审阅者姓名及日期,修改开发历史:设计者、审阅者姓名及日期,修改说明及日期。说明及日期。2021/6/7197.3 程序设计风格程序设计风格 功能性注释嵌入在源程序内部,

15、说明程序段或功能性注释嵌入在源程序内部,说明程序段或语句的功能,以及数据的状态。注意以下几点:语句的功能,以及数据的状态。注意以下几点:n注释用来说明程序段,而不是每一行程序都要注释用来说明程序段,而不是每一行程序都要加注释;加注释;n使用空行、缩格或括号,以便很容易区分注释使用空行、缩格或括号,以便很容易区分注释和程序;和程序;n修改程序的同时要修改注释。修改程序的同时要修改注释。 2021/6/7207.3.4 输入与输出在编写输入和输出程序段时应考虑以下原则:在编写输入和输出程序段时应考虑以下原则:n输入操作步骤和输入格式应尽量简单;输入操作步骤和输入格式应尽量简单;n应检查输入数据的合

16、法性、有效性,报告必要应检查输入数据的合法性、有效性,报告必要的输入状态信息及错误信息;的输入状态信息及错误信息;n输入一批数据时,使用数据或文件结束标志,输入一批数据时,使用数据或文件结束标志,而不要用计数来控制;而不要用计数来控制;n在进行交互式输入时,提供可用的选择和边界在进行交互式输入时,提供可用的选择和边界值;值;n当程序设计语言有严格的格式要求时,应保持当程序设计语言有严格的格式要求时,应保持输入格式的一致性;输入格式的一致性;n输出数据表格化、图形化。输出数据表格化、图形化。2021/6/7217.4 程序设计语言的选择 n7.4.1 程序设计语言的分类程序设计语言的分类n程序设

17、计语言是人和计算机通信的基本工具,程序设计语言是人和计算机通信的基本工具,它的特点不可避免会影响人思维和解决问题的它的特点不可避免会影响人思维和解决问题的方式,影响人和计算机通信的方式和质量。方式,影响人和计算机通信的方式和质量。n分类:分类:n1.基础语言;基础语言;n2.结构化语言;结构化语言;n3.面向对象语言。面向对象语言。2021/6/7221.基础语言基础语言 nFORTRANFORTRAN、COBOLCOBOL和和BASICBASIC是这类语言的代表。是这类语言的代表。n它们都有较长的使用历史,在国内外流传甚广,它们都有较长的使用历史,在国内外流传甚广,有大量已开发的应用软件,今

18、天仍拥有广大的有大量已开发的应用软件,今天仍拥有广大的用户。用户。n这些语言创始于这些语言创始于2020世纪世纪5050年代或年代或6060年代,部分年代,部分性能已趋老化,但随着版本的几次重大改进,性能已趋老化,但随着版本的几次重大改进,除旧更新,至今仍被广泛使用。除旧更新,至今仍被广泛使用。 2021/6/7232.结构化语言结构化语言 n2020世纪世纪7070年代以来,先后出现了一批常用的结年代以来,先后出现了一批常用的结构化语言,构化语言,PascalPascal、C C、AdaAda等语言就是其中著等语言就是其中著名的代表。名的代表。 n3.3.面向对象语言面向对象语言 nC+C+

19、语言语言 nJavaJava语言语言 2021/6/7247.4.2 程序设计语言的选择nD.A.Fisher说过:说过:“程序设计语言不是引起软程序设计语言不是引起软件问题的原因,也不能用它来解决软件问题。件问题的原因,也不能用它来解决软件问题。但是,由于语言在一切软件活动中所处的中心但是,由于语言在一切软件活动中所处的中心地位,它们能使现存的问题变得较易解决,或地位,它们能使现存的问题变得较易解决,或者更加严重。者更加严重。” 2021/6/725n那么应如何选择语言呢?那么应如何选择语言呢?n首先,要确定求解的问题对编码有哪些要求,首先,要确定求解的问题对编码有哪些要求,把它们按轻重的次

20、序列出。把它们按轻重的次序列出。n然后,用这些要求衡量可提供的语言,判断有然后,用这些要求衡量可提供的语言,判断有哪几种语言能较好地满足它们。没有一种语言哪几种语言能较好地满足它们。没有一种语言能完全满足各种不同的要求。所以在做出选择能完全满足各种不同的要求。所以在做出选择时,必须优先考虑主要的要求,然后适当照顾时,必须优先考虑主要的要求,然后适当照顾其余的方面。其余的方面。 2021/6/726n当衡量某一语言是否可选作编码语言时,常使当衡量某一语言是否可选作编码语言时,常使用以下几项为评价标准:用以下几项为评价标准: n应用领域应用领域 n算法与计算复杂性算法与计算复杂性 n数据结构的复杂

21、性数据结构的复杂性 n效率的考虑效率的考虑 2021/6/7277.4.3程序设计支持环境n现今编程过程大多在一组现今编程过程大多在一组CASECASE工具的支持下进工具的支持下进行,这组工具辅助完成编辑、编译、调试、项行,这组工具辅助完成编辑、编译、调试、项目管理等一系列任务,人们称这组工具构成一目管理等一系列任务,人们称这组工具构成一个个程序设计支持环境(程序设计支持环境(PSEPSE)。n程序设计支持环境一般由起基础运行平台作用程序设计支持环境一般由起基础运行平台作用的操作系统、起语言支持作用的编译系统,还的操作系统、起语言支持作用的编译系统,还有一个可以编辑源程序的正文编辑器三部分构有

22、一个可以编辑源程序的正文编辑器三部分构成。成。2021/6/728n如如NOINOI程序设计环境,该环境选用程序设计环境,该环境选用WindowsWindows和和linuxlinux作为平台,选用支持作为平台,选用支持C C语言编译系统。语言编译系统。n一个富有吸引力的一个富有吸引力的PSE应具备下列特性:应具备下列特性:n通用性通用性适用于不同的语言、不同的应用领域适用于不同的语言、不同的应用领域和开发方法;和开发方法;n适应性适应性通过开关设置,能配置出满足不同需通过开关设置,能配置出满足不同需要的要的PSE实例;实例;n开放性开放性能方便地增加新工具;能方便地增加新工具;n支持重用支持重用能支持可重用模块的存储、索引和能支持可重用模块的存储、索引和查找;查找;2021/6/729n自控性自控性保证自身操作的正确和协调;保证自身操作的正确和协调;n自带数据库自带数据库提供数据库机制,存储、管理提供数据库机制,存储、管理已开发的软件产品;已开发的软件产品;n保证质量保证质量有助于提高所开发软件的质量;有助于提高所开发软件的质量;n吸引用户吸引用户用户愿意使用;用户愿意使用;n具有市场竞争力具有市场竞争力PSE能真正提高软件生产能真正提高软件生产力。力。部分资料从网络收集整理而来,供大家参考,感谢您的关注!

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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