《【教学课件】第7章构件设计.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第7章构件设计.ppt(29页珍藏版)》请在三一办公上搜索。
1、第七章 构件级设计,编码(Coding)俗称编程序,就是把详细设计结论翻译成可执行代码的过程。分析阶段和设计阶段产生的文档,都不能在计算机上执行。只有到了编码阶段,才产生可执行代码(Executable Codes),所以编码阶段也称为实现(Implementation)阶段。,7.1程序设计语言的特性,7.1.1 心理特性语言的心理特性指影响程序员心理的语言性能,许多这类特性是作为程序设计的结果而出现的,虽不能用定量的方法来度量,但可以认识到这类特性在语言中的表现形式:二义性、简洁性、局部性和顺序性、传统性。,7.1.2 工程特性为满足软件工程的需要,程序设计语言还应考虑:源代码的可移植性。
2、配套的开发工具。可维护性。可重用性。将设计变换为源程序的便利程度以及编译器的有效性等。,7.2 程序设计语言的基本机制,程序设计语言的基本机制包括:1.对象说明 预先说明程序中将要使用的常量、变量的名字和类型、过程或函数以及定义将要使用的类、类的实例等,便于编译程序检查使用方式的合法性,从而帮助程序员发现错误。2.数据类型的定义数据类型定义是一种抽象机制,例如类就是一个高度抽象的概念,类将数据结构和作用在数据结构上的一组操作封装成一个整体。,3.子程序和方法子程序是可独立编译的程序单元,包含自己的数据结构和控制结构。在不同的语言中,子程序称作子例程、过程或函数。子程序一般具备如下三种机制:子程
3、序说明;子程序体;调用方式。,7.2 程序设计语言的基本机制,4.控制结构几乎所有现代程序设计语言都允许程序员使用顺序、分支和循环三类结构,甚至许多语言的结构编辑器直接给出它们对应的语法框架。在面向对象程序设计语言中,最基本的机制除了类、对象之外,还有类之间存在的继承关系,和对象之间通过消息传递以及动态链接等机制进行的控制。,7.3 程序设计风格,程序设计风格是指编程时表现出来的特点、习惯、逻辑思维等。风格的作用主要就是使代码容易读,无论是对程序员本人,还是对其他人。7.3.1 命名程序设计过程要涉及到对变量、常量、函数、类、对象等编程元素进行命名。,1 变量命名,变量分为全局变量和局部变量两
4、种。对于变量命名存在两种不同的观点。一种观点是所有变量都要起一个有意义的名字,名字若由多个单词组成,每个单词的首字母应该大写。例如NumOfArray,IndexOfTable。另一种观点要求全局变量和类的成员变量使用具有说明性的、有意义的名字,而局部变量通常只在一定的范围内使用,按常规方式可以用短名字。如一般常用i、j作为循环变量;p、q作为指针;s、t表示字符串。,对于初学者,尤其是编写大型软件系统,推荐采用有意义的名字。如:m_pHandler:某个类中的一个成员变量,它是一个指向Handler的指针变量。g_bInSearched:一个BOOL类型的全局变量,表示当前是否处于搜索过程中
5、。pszName:一个指向字符数组类型的指针类型的局部变量。,匈牙利命名法是目前应用最广泛的一套变量命名规则,其规则为如下三个部分的组合:前缀-数据类型-变量名常用前缀例子包括:类成员变量以m开头,即m_;全局变量以g开头,即g_。,2 类名,类名一律以C开头,并且紧接着C的第一个字母要大写。如 Class CStudentCDlaog的子类一律以CDlg作为前缀。如 Class CDlgLogin:CDialogCRecordset的子类一律以CRc作为前缀。如 Class CRcMyTable:CRecordset,3 函数或过程名,函数和过程一般采用具有动作性的名字,如GetIfInde
6、x()、SetValue()等。对于返回布尔类型值的函数,应该从函数名称中可以清楚地看出其返回值的情况。如应该使用IsEOF()和LargeOf(),而不要使用JudgeEOF()和CompareSize()。,4 数据库表名和字段名、消息名和常量名,数据库表和字段、程序中定义的消息和常量,应该取一个有意义的名字。另外,在多人协同开发同一个程序时,这些名字最好全部采用大写单词中间加下划线“_”来组成,这样可以避免许多因为大小写不一致而带来的麻烦。,7.3.2 表达式和语句,应该写最清晰的代码,通过给运算符两边加空格的方式来帮助阅读,用加括号的方式排除二义性,用缩行显示程序的结构,不要一行多条语
7、句,避免复杂的判定条件,避免多重循环嵌套,在表达式中使用括号以提高运算次序的清晰度等。,采用一种一致的风格,是使程序呈现出结构清晰的最省力的方法。,7.3.3 程序注释,注释是帮助阅读和理解程序的一种有效手段,用自然语言或伪码描述。注释说明了程序的功能,特别是在维护阶段,对理解程序提供了明确的指导。注释一般分为序言性注释和功能性注释。每一个程序都由一个表明程序用途的序言性注释开始。,7.3 程序设计风格,序言性注释应置于每个模块的起始部分,主要内容有:说明每个模块的用途、功能;说明模块的接口:调用形式、参数描述及从属模块的清单;数据描述:重要数据的名称、用途、限制、约束及其他信息;开发历史:设
8、计者、审阅者姓名及日期,修改说明及日期。,7.3 程序设计风格,功能性注释嵌入在源程序内部,说明程序段或语句的功能,以及数据的状态。注意以下几点:注释用来说明程序段,而不是每一行程序都要加注释;使用空行、缩格或括号,以便很容易区分注释和程序;修改程序的同时要修改注释。,7.3.4 输入与输出,在编写输入和输出程序段时应考虑以下原则:输入操作步骤和输入格式应尽量简单;应检查输入数据的合法性、有效性,报告必要的输入状态信息及错误信息;输入一批数据时,使用数据或文件结束标志,而不要用计数来控制;在进行交互式输入时,提供可用的选择和边界值;当程序设计语言有严格的格式要求时,应保持输入格式的一致性;输出
9、数据表格化、图形化。,7.4 程序设计语言的选择,7.4.1 程序设计语言的分类程序设计语言是人和计算机通信的基本工具,它的特点不可避免会影响人思维和解决问题的方式,影响人和计算机通信的方式和质量。分类:1.基础语言;2.结构化语言;3.面向对象语言。,1.基础语言,FORTRAN、COBOL和BASIC是这类语言的代表。它们都有较长的使用历史,在国内外流传甚广,有大量已开发的应用软件,今天仍拥有广大的用户。这些语言创始于20世纪50年代或60年代,部分性能已趋老化,但随着版本的几次重大改进,除旧更新,至今仍被广泛使用。,2.结构化语言,20世纪70年代以来,先后出现了一批常用的结构化语言,P
10、ascal、C、Ada等语言就是其中著名的代表。3.面向对象语言 C+语言 Java语言,7.4.2 程序设计语言的选择,说过:“程序设计语言不是引起软件问题的原因,也不能用它来解决软件问题。但是,由于语言在一切软件活动中所处的中心地位,它们能使现存的问题变得较易解决,或者更加严重。”,那么应如何选择语言呢?首先,要确定求解的问题对编码有哪些要求,把它们按轻重的次序列出。然后,用这些要求衡量可提供的语言,判断有哪几种语言能较好地满足它们。没有一种语言能完全满足各种不同的要求。所以在做出选择时,必须优先考虑主要的要求,然后适当照顾其余的方面。,当衡量某一语言是否可选作编码语言时,常使用以下几项为
11、评价标准:应用领域 算法与计算复杂性 数据结构的复杂性 效率的考虑,7.4.3程序设计支持环境,现今编程过程大多在一组CASE工具的支持下进行,这组工具辅助完成编辑、编译、调试、项目管理等一系列任务,人们称这组工具构成一个程序设计支持环境(PSE)。程序设计支持环境一般由起基础运行平台作用的操作系统、起语言支持作用的编译系统,还有一个可以编辑源程序的正文编辑器三部分构成。,如NOI程序设计环境,该环境选用Windows和linux作为平台,选用支持C语言编译系统。一个富有吸引力的PSE应具备下列特性:通用性适用于不同的语言、不同的应用领域和开发方法;适应性通过开关设置,能配置出满足不同需要的PSE实例;开放性能方便地增加新工具;支持重用能支持可重用模块的存储、索引和查找;,自控性保证自身操作的正确和协调;自带数据库提供数据库机制,存储、管理已开发的软件产品;保证质量有助于提高所开发软件的质量;吸引用户用户愿意使用;具有市场竞争力PSE能真正提高软件生产力。,
链接地址:https://www.31ppt.com/p-5659375.html