5.1-代码设计
- 格式:doc
- 大小:73.00 KB
- 文档页数:14
代码的设计原则
《代码的设计原则》
一、整体设计原则
1、高内聚:在结构化程序设计中,高内聚是指把程序按照功能性的兴趣把它分成若干模块,使得每个模块有一套完整的功能,这样程序就能够组织的更清晰,利用起来更便利。
2、低耦合:低耦合是指模块之间的依赖关系越少越好,耦合是指模块之间的联系,耦合会拖慢系统的开发进度。
3、抽象灵活:抽象的层次愈多,程序的可扩展性和可维护性就愈高。
4、层次分明:程序的层次分明,可以大大提高代码的可读性,每层只负责一种具体的工作,互不干扰。
二、编码设计原则
1、可读性:要做到良好的代码可读性,要注意每行的字数不要太长,用简洁清晰的注释,使代码更易于阅读。
2、变量的命名:变量的命名要有意义,要尽量减少歧义;如果变量是数组,则用单数形式,如果是指向某个数组元素的指针,则用复数形式
3、模块的封装:把模块封装在单独的类里,严格遵循封装的原则,减少代码的蛛丝马迹。
三、维护设计原则
1、模块的复用:多个模块的功能类似时,优先共用模块,可以
大大节省时间;另外,可以在多个模块之间建立父子关系,方便以后的复用。
2、尽可能地采用标准化的框架:标准化的框架可以减轻开发人员的负担,提高开发效率,减少维护成本。
3、注意代码的版本控制:代码的版本控制会使开发人员更容易追踪代码的修改历史,当有新的变动时,会方便比较及恢复。
4.3 代码设计4.3.1 代码设计的原则代码设计是处理对象的代号或表示符号,其主要目的是方便计算机排序、检索、查找等处理。
代码设计的关键是方便用户,并且满足业务要求。
本系统代码设计的原则有:(1)要考虑的是编码的标准化,尽量按照有关的国际标准、国家标准、部门或行业的标准进行设计。
(2)要考虑容易修改,当某段代码、某个变量或某个函数在特点、条件或代表的实体关系改变时,容易进行必要修改。
(3)要考虑结构简洁,代码的长度涉及到存储空间的占用和信息处理的速度。
而且影响代码输入的出错率,所以,在满足当前需要和扩充要求的前提下应尽量结构简单,长度要短。
(4)考虑代码值的唯一性。
[8]4.3.2 系统所需代码设计超市进销存管理系统代码设计是根据超市经营的特点,结合现场的工作经验,在争得客户认可的情况下设计出来的,所设计的代码结构如下:(1)商品代码商品代码由两部分组成:商品的类别和商品编号,所以设计5位字符,格式如下:XX XXX商品编号,取值范围1~999商品类别,取值范围1~99例如:方便面属于食品类(代码09),其代码为09230;牙膏属于日用品类(代码02),其代码为02001。
(2)供应商代码由2位数字组成,格式如下:XX供应商代码,取值范围1~99例如:供应超市酒类的沈阳雪花啤酒厂代码为55。
(3)业务员代码业务员代码由两部分组成:业务员的类别和业务员编号,所以设计4位字符,格式如下:X XX业务类别:1进货员,2是保管员,3是营业员,4是领货员例如:刘开负责订货业务,其代码为203,其中1是进货员,03是他的编号。
(4)仓库编号由2位数字组成,格式如下:X仓库编号,取值范围1~9仓库代码表见表4-1。
表4-1仓库代码表Tablet.4-1 warehouse code table业务员编号,取值范围1~99业务员类别,取值范围1~9。
新概念51单片机C语言教程----入门、提高、开发、拓展全攻略郭天祥编著电子工业出版社例2.2.1编写程序,点亮第一个发光二极管(part2_1.c P27)#include <reg52.h> //52系列单片机头文件sbit led1=P1^0; //声明单片机P1口的第一位void main() //主函数{led1=0; /*点亮第一个发光二极管*/}例2.2.2编写程序,点亮P1口的若干二极管(part2_2.c P39)#include <reg52.h> //52系列单片机头文件void main() //主函数{P1=0xaa;//while(1);}例2.5.1利用for语句延时特性,编写第一个发光二极管以间隔1S亮灭闪动的程序(part2_3.c P42)#include <reg52.h> //52系列单片机头文件#define uint unsigned int //宏定义sbit led1=P1^0; //声明单片机P1口的第一位uint i,j;void main() //主函数{while(1) //大循环{led1=0; /*点亮第一个发光二极管*/for(i=1000;i>0;i--) //延时for(j=110;j>0;j--);led1=1; /*关闭第一个发光二极管*/for(i=1000;i>0;i--) //延时for(j=110;j>0;j--);}}- 2 - 例2.6.1编写程序使第一个发光二极管以间隔500ms亮灭闪动。
(part2_4.c P48)#include <reg52.h> //52系列单片机头文件#define uint unsigned int //宏定义sbit led1=P1^0; //声明单片机P1口的第一位void delay1s(); //声明子函数void main() //主函数{while(1) //大循环{led1=0; /*点亮第一个发光二极管*/delay1s(); //调用延时子函数led1=1; /*关闭第一个发光二极管*/delay1s(); //调用延时子函数}}void delay1s() //子函数体{uint i,j;for(i=500;i>0;i--)for(j=110;j>0;j--);}例2.7.1编写程序使第一个二极管以亮200ms、灭800ms的方式闪动。
一、方案的构思方法一设计分析教学设计 (一)教学内容的分析本课内容以设计“学生用台灯”为载体,学生在对台灯的信息收集与处理的基础上,根据台 灯的设计基本要求,对台灯设计方案进行整体构思, 并根据设计要求,选择合适的材料或标准件。
《通用技术课程标准》对本课时内容要求:能制定符合一般设计原则和相关设计规范的完整设计方案;能根据设计要求选择合适的材料或标准件。
教材要求:理解设计分析的基本思路, 掌握产品设计分析的三个要素。
能对具体产品进行设计分析,能根据设计要求选择合适的材 料和标准件。
本节内容是技术产品设计中最为关键的环节,它与上一章及后面几章形成设计过程的整体。
设计分析是方案构思过程中必不可少的步骤,是完成设计构思的前提, 合理周全的设计分析是成功地进行技术设计的关键, 分析得当可以使构思的目标更明确, 使技术产品更经济、 实 用,更好地满足人们的需求,而且为构思的多样化提供了平台。
知与技能水平,能满足学生进一步学习与发展的需求。
(二)学生情况分析设计分析需要考虑的问题较多, 如果没有一个清晰的分析思路, 将会使设计分析过程变得繁 杂混乱。
现在学生对方案的构思过程和方法没有系统的训练和学习, 任何产品都应综合考虑物、人和环境三个方面认识和如何根据设计构思选择标准件, 并不十分清楚。
但现在学生对个性追求十分强烈, 对自己的构思方案有热情,为本节课的教学奠定基础。
(三)教学目标 (一) 知识与技能通过对教师提供的台灯分析,理解物、人、环境对产品设计的重要性。
学会根据台灯的设计基本思路,选择合适的材料或标准件。
(二) 过程与方法通过对台灯结构的讨论分析,使学生理解解设计任何产品都应综合考虑物、人、环境三个 方面因素,明确台灯设计思路。
通过多媒体手段,使学生了解学生台灯的各个部件的选择和 标准。
(三)情感态度与价值观学生通过对台灯的设计方案构思的学习,培养他们严谨的科学态度和解决问题的能力。
5.1方案的构思方法【课时】 1课时【教学目标】知识与技能:(1)理解设计分析的基本思路,掌握产品设计分析的三个要素;(2)能根据设计要求选择合适的材料和标准件;(3)了解几种常用构思方法,能用草图法进行方案构思。
过程与方法:(1)掌握设计分析,理解产品设计三要素;(2)能就具体的设计任务进行一定的设计分析。
情感态度和价值观:(1)亲身感受设计的快感,体会设计分析的过程;(2)培养对技术设计的激情和责任心、安全意识等;(3)养成细致、严谨,考虑问题全面的情感态度。
【教学重点】设计分析的基本思路,掌握产品设计分析的三个要素;几种常用构思方法的合理运用。
【教学难点】几种常用构思方法的合理运用。
【教学过程】【提出问题、引入新课】在上一章我们学习了设计过程的第一个环节——发现与明确问题,并且提出了台灯设计的一般要求,比如,功能方面,要有基本的照明功能,同时有适当的辅助功能;结构稳定、经久耐用、安全可靠、成本适中等,那接下来的工作我们就可以考虑制定设计方案了。
在制定方案的过程中,如何实现方案的构思,形成比较满意的方案呢?这就是我们这节课要学习的设计方案的制定。
一、收集信息毛主席说,没有调查就没有发言权。
信息收集是指通过各种方式获取所需要的信息。
信息收集是信息得以利用的第一步,也是关键的一步。
二、设计分析(1)什么是设计分析?设计分析就是对产品的方案设计中应考虑的因素及其关联进行分析。
(2)为什么要设计分析?合理的设计分析对于设计方案的形成非常重要,分析得当可以指引以后的技术设计少走或不走弯路。
(3)怎么做设计分析?产品设计的三要素:产品本身、使用者和使用环境;【案例分析】台灯设计分析1.物功能:照明,亮度适中(25W~40W),无频闪。
附加功能:时钟、照片架、笔筒等。
造型:传统、创新、现代、古典等,高度要适中,稳定性要好,色彩协调。
材料:木材、塑料、金属、陶瓷、纸等。
2.人安全性:台灯的绝缘电阻﹥1MΩ,灯罩的散热性要好,台灯无尖锐的角。
《初识程序设计》教学设计方案(第一课时)一、教学目标1. 知识目标:学生能够了解程序设计的基本概念,理解程序设计的意义。
2. 能力目标:学生能够掌握基本的程序设计语言,能够使用编程工具进行简单的编程。
3. 情感目标:培养学生的逻辑思维能力和解决问题的能力,激发学生对编程的兴趣。
二、教学重难点1. 教学重点:让学生了解程序设计的基本概念和编程语言的使用。
2. 教学难点:如何引导学生解决编程中的问题,培养学生的逻辑思维能力和解决问题的能力。
三、教学准备1. 准备教学用的PPT和相关素材;2. 准备编程工具和相关软件;3. 设计教案,确定教学方法和教学步骤;4. 布置预习任务,让学生提前了解程序设计的基本概念。
四、教学过程:(一)引入课题1. 教师向学生介绍什么是程序设计以及学习程序设计的重要性。
2. 通过一些简单的实例让学生初步感受编程的魅力。
3. 鼓励学生积极参与,大胆尝试。
(二)新课教学1. 讲解编程语言的基本概念,如语法、变量、数据类型等。
2. 通过一些简单的编程实例,让学生了解编程的基本流程。
3. 介绍常用的编程工具和环境,如编程软件、集成开发环境等。
4. 引导学生尝试编写简单的程序,鼓励学生通过团队协作解决问题。
5. 教师对学生的学习成果进行点评和指导,帮助学生更好地理解编程。
(三)课堂互动1. 组织小组讨论,让学生分享自己的编程经验和技巧。
2. 提问学生关于编程的问题,引导学生思考和回答。
3. 鼓励学生提出自己的创意和想法,激发他们的创新精神。
(四)布置作业1. 要求学生回家后尝试编写一个简单的程序,下次课堂上分享。
2. 鼓励学生利用课余时间继续学习编程,提高自己的编程能力。
(五)小结1. 教师对本节课的内容进行总结,强调编程的重要性和意义。
2. 鼓励学生继续保持对编程的兴趣和热情,积极参与未来的学习。
教学设计方案(第二课时)一、教学目标1. 知识目标:学生能够描述程序设计的概念,理解程序设计的基本流程。
普通高中教科书《通用技术》选择性必修1电子控制技术第五章电子控制系统及其应用第一节电子控制系统教学设计教学背景党的二十大报告指出,“教育、科技、人才是全面建设社会主义现代化国家的基础性、战略性支撑。
必须坚持科技是第一生产力、人才是第一资源、创新是第一动力,深入实施科教兴国战略、人才强国战略、创新驱动发展战略”。
通用技术是一门与科学技术息息相关的学科。
回顾人类的发展历程,从石器时代、青铜时代、蒸汽机时代直到当今的信息时代,技术进步改变着人类的生活和生产方式。
我们的生活、工作、生产处处都要用到技术,例如我们手中拿的圆珠笔和钢笔就是多次技术改造的结果,使我们足不出户就可以了解世界的电视机也是技术发明的成果。
认识技术、善用技术,已成为现代人必须具备的素质。
教学目标:知识与技能目标:1.知道电子控制系统的基本组成。
2.能用方框图分析电子控制系统的工作过程。
教学内容分析:本章以电子控制系统的基本组成部分为主线,介绍常用电子元器件及晶体管、模拟电路和数字电路、传感器与继电器。
电子控制技术打开了我们的眼界,开拓了我们的思路,同学们有想要进行设计的冲动吗?本章我们将在了解电子控制系统的构成及作用的基础上,进一步学习一些电子控制系统的分析方法,并尝试完成一件简单有趣的电子控制作品。
学情分析:作为高中生,对生活中的技术产品,依据已有的知识和生活经验有了一定的评价意识和评价标准;在学习过程中,学生也已经理解了技术,只是对这些技术的理解和运用是感性的、不全面的。
教学重难点:知道电子控制系统的基本组成。
能用方框图分析电子控制系统的工作过程。
教学策略:本节课教学主要由教师通过实物和多媒体手段设置学习情境,并加以引导,让学生在过程中自主探究、自主建构设计原则知识并形成能力。
以为主线案例,其他实物和图片为辅线案例,贯穿教学始终。
教学准备:展示用的图片、其他技术产品、多媒体课件。
教学过程:情景倒入:老师:本节课我们学习《通用技术》选修1第五章电子控制系统及其应用第一节电子控制系统。
《初识程序设计》教学设计方案(第一课时)一、教学目标1. 知识与技能:学生能够了解程序设计的基本概念和作用,掌握程序设计的简单逻辑和方法。
2. 过程与方法:通过实践活动,培养学生的逻辑思维能力和解决问题的能力。
3. 情感态度价值观:激发学生对于程序设计的兴趣和热爱,培养他们的创新意识和实践能力。
二、教学重难点1. 教学重点:让学生了解程序设计的基本概念和方法,培养他们的逻辑思维能力和解决问题的能力。
2. 教学难点:如何引导学生突破程序设计中的逻辑难点,让他们能够更好地理解和掌握程序设计的原理和方法。
三、教学准备1. 准备教学课件和相关素材,包括程序设计的基础知识和案例等。
2. 准备实践活动所需的设备和材料,如电脑、编程软件等。
3. 设计有趣的实践活动,让学生能够更好地理解和掌握程序设计的原理和方法。
4. 提前与学生沟通,了解他们的学习情况和需求,以便更好地进行教学设计和实施。
四、教学过程:(一)课前准备1. 确保所有学生具备必要的学习设备,如电脑或平板电脑。
2. 确定本堂课所需的教学资源,如教学PPT、教学视频、练习素材等。
3. 了解学生的背景和知识水平,为个性化教学做好准备。
(二)课堂导入1. 自我介绍并引导学生进入程序设计的学习环境。
2. 简要介绍程序设计的基本概念和意义,让学生了解学习程序设计的重要性。
3. 展示一些简单的程序设计作品,激发学生的学习兴趣。
(三)新课教学1. 介绍编程语言的基本语法和规则,如变量、数据类型、运算符等。
2. 通过实例讲解如何编写简单的程序,如计算器、猜数字等。
3. 引导学生分组讨论并设计自己的程序,教师给予指导。
4. 展示学生们的作品并进行点评,鼓励学生的创新思维。
(四)实践操作1. 给学生们提供一些练习题目,如排序、查找等,让他们自己动手编写程序。
2. 学生进行实际操作,教师进行巡回指导,解答学生遇到的问题。
3. 对学生完成的练习进行点评和评分。
(五)课堂总结1. 回顾本堂课所学的内容,强调重点和难点。
《初识程序设计》作业设计方案(第一课时)一、作业目标本节课的作业旨在帮助学生加深对程序设计基础概念的理解,通过实际操作体验程序设计的过程和方法。
作业的目标包括:1. 掌握程序设计的基本概念和术语;2. 了解程序设计的基本流程;3. 初步掌握编程工具的使用方法。
二、作业内容1. 编程小任务:编写一个简单的程序,要求程序能够输出“Hello, world!”这句话。
2. 任务要求:* 独立完成编程任务,不得抄袭;* 使用指定的编程工具(如Visual Basic、Python等),按照规定的编程规范进行编程;* 程序完成后,将源代码、运行结果和注释一同提交。
3. 知识拓展:* 阅读相关资料,了解程序设计的基本术语和概念,如变量、数据类型、运算符、控制结构等;* 尝试使用不同的编程工具和语言进行编程,体验不同的编程体验。
三、作业要求1. 提交时间:作业应在课程结束后一周内提交;2. 提交方式:将作业打包并发送至指定邮箱;3. 作业评分:根据作业的完成情况、编程规范和知识拓展情况进行评分,满分10分。
四、作业评价1. 评价标准:作业评分标准包括完成情况、编程规范、知识拓展和创意性四个方面;2. 评价方式:教师对作业进行批改,给出分数和评语,并反馈给学生。
五、作业反馈1. 学生反馈:学生将根据教师的反馈和建议,对作业进行修改和完善,进一步提高自己的编程能力和理解能力;2. 教师反馈:教师将根据学生的完成情况和反馈,对作业进行评价和总结,指出学生的优点和不足,提出改进建议。
为了确保作业的有效性和可行性,我们在设计作业时应注意以下几点:1. 难度适中:作业的难度应符合学生的认知水平和能力,避免过于简单或过于复杂;2. 明确目标:在作业设计中应明确作业的目标和要求,以便学生能够有针对性地完成作业;3. 提供资源:为帮助学生完成作业,教师应提供必要的资源和指导,如编程工具的使用方法、相关资料等;4. 及时反馈:教师应及时对学生的作业进行评价和反馈,以便学生能够了解自己的优点和不足,及时进行调整和改进。
代码设计1、供应商代码:代码结构为5位□□□□□第1—3位表示供应商所在地,以供应商所在地邮编前3位数设置第4位表示供应商提供的商品类型。
第四位为1对应服饰,2对应包装食品,3对应日常用品,4对应生鲜,5对应烟酒,6对应副食。
第4位表示顺序号(最大容量为9)第5位表示校位码2、商品代码设计所有商品代码的第1—5位为该商品的供应商代码,用于了解该商品的供应商、产地、商品类型等基本信息。
(1)服饰代码:代码结构为14位□□□□□□□□□□□□□□第6—7位表示衣服材料(若为单一材质则只需在第六位标明材质代码,第七位用0占位。
若为混合材质应该标明含量最多的2类材质)为1对应棉材质,2对应化纤材质,3对应呢绒材质,4对应羽绒材质,5对应丝绸材质,6对应雪纺材质、7对应牛仔材质、8对应衬衣材质、9对应皮革材质、A对应羊毛材质、B对应锦纶材质、C对应涤纶材质、D对应竹纤维材质第8—10位表示价格1—9分别对应1—9,X对应10。
第11位表示型号S:小号M:中号L:大号第12位表示男女装W:女装M:男装第13位表示颜色0:彩色1:红色2:黄色3:蓝色4:紫色5:绿色6:白色7:黑色8:灰色9:黄色第14位为校位码(2) 包装食品代码,代码结构为13位□□□□□□□□□□□□□第6—8位表示食品名称第9—11位表示食品价格数字0—9分别对应0—9,字母X对应10。
第12位表示包装形式1:罐装2:散装3:袋装4:盒装5:瓶装第13位为校位码(3)日常用品代码,代码结构为11位□□□□□□□□□□□第6—7位表示商品名称第8—10位表示商品价格第11位为校位码(4) 生鲜代码,代码结构为13位□□□□□□□□□□□□□第6—7位表示商品名称第8—11位表示商品生产日期(其中第8—9位表示月份,第10—11位表示日期)第11—12位表示价格数字0—9分别对应0—9,字母X对应10。
第13位为校位码(5)烟酒代码,代码结构为12位□□□□□□□□□□□□第6—7位表示商品名称第8—10位表示商品价格第11位表示烟酒的档次1为高档,2为中档,3为低档第12位为校位码(6)副食代码,代码结构为11位□□□□□□□□□□□第6—7位表示商品名称第8—10位表示商品价格第11位为校位码。
软件代码开发目录模板
1. 引言
2. 项目概述
3. 系统需求规格说明书
3.1 功能性需求
3.1.1 功能1
3.1.2 功能2
3.2 非功能性需求
3.2.1 性能需求
3.2.2 可靠性需求
3.2.3 可用性需求
3.2.4 安全性需求
3.3 用户界面需求
4. 概要设计
4.1 系统框架
4.2 数据库设计
5. 详细设计
5.1 模块1设计
5.1.1 类1设计
5.1.1.1 方法1设计 5.1.1.2 方法2设计 5.1.2 类2设计
5.1.2.1 方法1设计 5.1.2.2 方法2设计 5.2 模块2设计
5.2.1 类1设计
5.2.1.1 方法1设计 5.2.1.2 方法2设计 5.2.2 类2设计
5.2.2.1 方法1设计
5.2.2.2 方法2设计
6. 编码实现
6.1 模块1实现
6.2 模块2实现
7. 单元测试
7.1 模块1测试
7.1.1 功能1测试
7.1.2 功能2测试
7.2 模块2测试
7.2.1 功能1测试
7.2.2 功能2测试
8. 综合测试
9. 部署与发布
10. 用户手册
11. 维护与更新
以上是软件代码开发目录的模板,供参考使用。
根据具体项目情况,可以对各个小节进行适当的调整和修改。
在实际的开发过程中,遵循良好的代码规范和项目管理规范是非常重要的,可以提高代码的可维护性和团队协作效率。
同时,及时进行测试和文
档编写也是保证软件质量的重要环节。
希望以上目录模板能对您的软件代码开发项目有所帮助。
实验四
设计出学校教学管理信息系统的代码,内容包括学号,院系编号,专业编号,班级编号,课程编号,教师代码,教室代码。
说明相关代码的含义。
1、学号的代码设计
考虑到本学校有四个年级:大一、大二、大三、大四,每年级人数不超过三位数,与入
案如图所示:
2、院系编号的代码设计
考虑到本学校的院系数不超过2位数,所以用2位数来表示:
院系编号 X X (院系顺序编码)
3、专业编号的代码设计
每个学院的专业数不会超过2位数,并且专业与学院相关,所以采用复合嘛。
设计方案如图:
4、班级编号代码设计
班级编号与入学年份、院系、准也都有关,并且每个专业的班级数不超过个位数,所以采用复合编码,设计方案如下:
5、课程编码的代码设计
课程编号代码采用四位字符表示,设计方案如下:
6、教师代码代码设计
教师与所在的院系所教的专业相关,每个专业的老师数也不会超过两位数,所以采用复合代码。
设计方案如下:
7、教室代码代码设计
教室与所处的教学楼,楼层相关,所以也要采用复合代码,设计方案如下:。
幻灯片1第五章结构化设计的实现5.1代码设计5.2软件测试5。
3软件维护5。
4软件培训幻灯片25.1代码设计●代码设计的原则与风格●程序效率●软件实现方法●文档资料编写幻灯片3《软件设计规格书》软件实现●源程序●目标程序●用户指南幻灯片4要求理解●什么是程序设计?●程序设计的原则?●程序设计风格的要求?●提高程序效率的方法?●界面定义、帮助和提示信息?幻灯片51、代码设计的原则与风格良好的代码设计风格,使程序代码易读、易懂、易修改,增加程序的可执行性和可维护性。
幻灯片6代码设计的主要原则●使用语言中的顺序、选择、重复等有限的基本控制结构表示程序逻辑。
●选用的控制结构只准许有一个入口和一个出口。
●程序语句组成容易识别的块,每块只有一个入口和一个出口。
●复杂结构应该用基本控制结构进行组合嵌套来实现。
幻灯片7代码设计风格●规范化的程序内部文档、●数据结构的详细说明、●清晰的语句结构、●遵守某一编程规范,内容包括:●命名规范、●界面规范、●提示及帮助信息规范、●热键定义等。
幻灯片8代码设计要求●依照所确定的规范进行程序设计.●源程序文档化。
●数据说明。
●语句结构。
●I/O方法。
●模块本身要高内聚,模块之间要低耦合.●独立性较强的程序块,做成函数或构件。
幻灯片9源程序文档化●标识符的命名●安排注释●程序的视觉组织幻灯片10标识符的命名●标识符,包括模块名、变量名、常量名、标号名、子程序名、数据区名以及缓冲区名等。
●名字应能反映它所代表的实际内容,应有一定的实际意义。
●名字不是越长越好,应当选择精炼、意义明确的名字。
必要时可使用缩写名字,但这时要注意缩写规则要一致,并且要给每一个名字加注释.●在一个程序中,一个变量只应用于一种用途。
幻灯片11程序的注释●夹在程序中的注释是程序员与日后的程序读者之间通信的重要手段。
●注释决不是可有可无的。
●一些正规的程序文本中,注释行的数量占到整个源程序的1/3到1/2,甚至更多。
●注释分为序言性注释和功能性注释。
幻灯片12序言性注释●程序模块的开头应当给出程序的整体说明:包括:●程序标题;●本模块功能和目的的说明;●主要算法;●接口说明:包括调用形式,参数描述,子程序清单;●有关数据描述:重要的变量及其用途,约束或限制条件;●模块位置:隶属于哪一个软件包;●开发简历:设计者,复审者,复审日期,修改日等。
幻灯片13功能性注释要点●功能性注释嵌在源程序体中,用以描述其后的语句或程序段是在做什么工作,或是执行了下面的语句会怎么样。
而不要解释下面怎么做。
●描述一段程序,而不是每一个语句;●用缩进和空行,使程序与注释容易区别;●注释要正确.【例】如果注明把月销售额计入年度总额,便使读者理解了下面语句的意图。
幻灯片14视觉组织——空格、空行和移行●恰当地利用空格,可以突出运算的优先性,避免发生运算的错误。
●自然的程序段之间可用空行隔开;●移行也叫做向右缩格.这样做使程序分清层次关系.●对于选择语句和循环语句,把其中的程序段语句向右做阶梯式移行。
使程序的逻辑结构更加清晰。
【例】两重选择结构嵌套,写成移行形式,层次就清楚得多.幻灯片15数据说明●在设计阶段已经确定了数据结构的组织及其复杂性。
在编写程序时,则需要注意数据说明。
●为了使数据说明易于理解和维护,须注意以下几点。
●数据说明的次序应当规范化。
●说明语句中变量安排有序化.●使用注释说明复杂数据结构.幻灯片16数据说明的次序应当规范化●数据说明次序规范化,使数据属性容易查找,也有利于测试,排错和维护。
●原则上,数据说明的次序与语法无关,其次序是任意的.但出于阅读、理解和维护的需要,最好使其规范化,使说明的先后次序固定。
幻灯片17说明语句中变量安排有序化当多个变量名在一个说明语句中说明时,应当对这些变量按字母的顺序排列。
幻灯片18使用注释说明复杂数据结构如果设计了一个复杂的数据结构,应当使用注释来说明在程序实现时这个数据结构的固有特点.幻灯片19语句结构在过程设计阶段确定了软件的逻辑流程结构,但构造单个语句则是编码阶段的任务。
语句构造力求简单,直接,不能为了片面追求效率而使语句复杂化。
幻灯片20代码语句设计的原则●在一行内只写一条语句:采取适当的移行格式,使程序的逻辑和功能变得更加明确.在一行内写多个语句会使程序可读性变差.●程序编写清晰性第一:不要刻意追求技巧性,使程序编写得过于紧凑。
●程序要能直截了当地说明程序员的用意:程序编写要简单,清楚,直截了当地说明程序员的用意.●清晰第一,效率第二:不要为了追求效率而丧失了清晰性.事实上,程序效率的提高主要应通过选择高效的算法来实现。
幻灯片21代码语句设计的原则●先保证程序正确,再要求提高速度。
●避免使用临时变量而使可读性下降.●让编译程序做简单的优化.●尽可能使用库函数和构件。
●避免不必要的转移:尽量不用G O T O语句。
●尽量采用三种基本的控制结构编写程序。
●避免使用空的E L S E语句和I F…T H E N I F…的语句.这种结构容易使读者产生误解。
可能产生二义性问题。
●避免采用过于复杂的条件测试.●尽量减少使用“否定”条件的条件语句。
幻灯片22代码语句设计的原则●尽量用通俗易懂的伪码来描述程序的流程:然后再翻译成必须使用的语言。
●数据结构要有利于程序的简化。
●要模块化:使模块功能尽可能单一化,模块间的耦合能够清晰可见。
●利用信息隐蔽:确保每一个模块的独立性。
●从数据出发构造程序。
●修补不好的程序,要重新编写:也不要一味地追求代码的复用,要重新组织。
●大的程序要分块编写和测试:然后再集成。
●对递归定义的数据结构尽量使用递归过程.幻灯片23输入和输出输入和输出的方式和格式应当尽可能方便用户的使用。
要避免因设计不当给用户带来的麻烦。
系统能否被用户接受,有时就取决于输入和输出的风格。
幻灯片24I/O代码设计的原则●输入数据要检验:识别错误的输入,以保证每个数据的有效性;●检查输入项的各种重要组合的合理性:必要时报告输入状态信息;●输入的步骤和操作尽可能简单:并保持简单的输入格式;●应允许使用自由格式输入数据;●应允许缺省值;幻灯片25I/O代码设计的原则●批数据输入时,使用输入结束标志:而不要由用户指定输入数据数目;●交互式输入时,屏幕上使用提示符明确提示输入的请求:指明可使用选择项的种类和取值范围。
同时,在数据输入的过程中和输入结束时,也要在屏幕上给出状态信息;●程序设计语言对I/O格式有严格要求时,应保持输入格式与输入语句要求的一致性;●输出加注解,并设计输出报表格式.幻灯片262、程序效率程序的效率是指程序的执行速度及程序所需占用的内存的存储空间。
讨论程序效率的准则:●效率性能要求,应在需求分析阶段给出。
软件效率以需求为准,不应以人力所及为准。
好的设计可以提高效率.●程序的效率与程序的简单性相关.●一般说来,任何对效率无重要改善,且对程序的简单性、可读性和正确性不利的程序设计方法都是不可取的。
幻灯片27算法对效率的影响源程序的效率与详细设计阶段确定的算法的效率直接有关。
在详细设计翻译转换成源程序代码后,算法效率反映出程序的执行速度和存储容量的要求。
许多编译程序具有“优化”功能,可以自动生成高效率的目标代码.幻灯片28设计向代码转换过程中的指导原则●尽可能简化有关的算术表达式和逻辑表达式;●检查算法中的嵌套的循环,尽可能将某些语句或表达式移到循环外面;●尽量避免使用多维数组;●尽量避免使用指针和复杂的表;●采用“快速”的算术运算;●不要混淆数据类型,避免在表达式中出现类型混杂;●尽量采用整数算术表达式和布尔表达式;●选用等效的高效率算法;幻灯片29影响存储器效率的因素●存储效率与O S的分页功能直接有关。
在大中型计算机系统中,存储限制不再是主要问题。
在这种环境下,对内存采取基于操作系统的分页功能的虚拟存储管理。
●采用结构化程序设计。
将程序功能合理分块,使每个模块或一组密切相关模块的程序体积大小与每页的容量相匹配,可减少页面调度和内外存交换,提高存储效率。
●提高存储器效率的关键是程序的简单性。
幻灯片30影响输入/输出的因素●输入/输出可分为两种类型:●面向人(操作员)的输入/输出●面向设备的输入/输出●如果操作员能够十分方便、简单地录入输入数据,或者能够十分直观、一目了然地了解输出信息,则可以说面向人的输入/输出是高效的。
幻灯片31提高I/O设备效率的指导原则●I/O的请求应当最小化;●对于所有的I/O操作,安排适当的缓冲区,以减少频繁的信息交换.●对辅助存储(例如磁盘),选择尽可能简单的,可接受的存取方法;●对辅助存储的I/O,应当成块传送;●对终端或打印机的I/O,应考虑设备特性,尽可能改善I/O的质量和速度;●任何不易理解的,对改善输入/输出效果关系不大的措施都是不可取的;●任何不易理解的所谓“超高效”的I/O毫无价值;幻灯片323、软件实现方法按照《软件设计说明书》的要求,从函数库、类库、构件库中挑选有关的部件,遵照程序设计规范,用面向对象的语言,采用软件架构技术,将这些部件组装在一起,分别实现各模块的功能,从而实现需求规格说明书中规定的功能、性能、接口、界面要求等.幻灯片33软件实现的主要工作●新增函数的实现及函数库的管理●新增存储过程的实现及存储过程库的管理●新增类的实现及类库的管理●新增构件的实现及构件库的管理●新增中间件的实现及中间件的管理●部件组装●程序设计风格与编程规范的确定幻灯片34屏幕界面设计●屏幕界面上看得见的窗口、画面、图像、按钮等对象,在设计与实现中,统称为“控件”。
●构件分为可视构件和非可视构件两种,控件是一种可视构件,它是构件的一种表现形式。
●控件的有机排列和组合,就构成了用户需求的各种屏幕界面。
●屏幕界面设计的内容包括:●控件级设计、窗口级定义和系统级定义3部分。
●屏幕界面设计遵从的原则:界面简洁朴素,控件摆放整齐,颜色风格统一,照顾客户习惯。
幻灯片35控件级定义这里讲的控件,是指屏幕界面上的控件,它是屏幕窗口中的基本元素,是构件的一种表现形式。
控件1:按钮(B u t t o n)●属性:H e i g h t=92,W i d t h依具体情况而定;按钮在窗口右下方或右方排列,当控件中包含按钮时,按钮不应和控件外的按钮在同一方向上排列。
幻灯片36控件1:按钮(B u t t o n)幻灯片37控件2:分组框(G r o u p B o x)幻灯片38控件3:单行编辑器、下拉列表框、图形下拉列表框、数字转盘幻灯片39控件4:图表(G r a p h)幻灯片40控件5:复选框、单选钮幻灯片41控件6:图片(P i c t u r e)幻灯片42控件7:标签(T a b)幻灯片43窗口级定义窗口级定义包括系统主窗口、基本参数(又称代码或数据字典)维护窗口、录入查询修改窗口、统计窗口、对话框等窗口的定义.●在面向对象的编程语言中,窗口定义是一件较简单的事情.幻灯片44(1).系统主窗口定义幻灯片45(2).基本参数维护窗口定义幻灯片46(3).录入/查询/修改窗口定义(1)幻灯片47(3).录入/查询/修改窗口定义(2)选中记录:移动鼠标到该条记录上,并单击它。