计算机软件与程序设计二、数据库原理与应用三、计算.ppt

上传人:wuy****n92 文档编号:91508332 上传时间:2023-05-27 格式:PPT 页数:46 大小:226.50KB
返回 下载 相关 举报
计算机软件与程序设计二、数据库原理与应用三、计算.ppt_第1页
第1页 / 共46页
计算机软件与程序设计二、数据库原理与应用三、计算.ppt_第2页
第2页 / 共46页
点击查看更多>>
资源描述

《计算机软件与程序设计二、数据库原理与应用三、计算.ppt》由会员分享,可在线阅读,更多相关《计算机软件与程序设计二、数据库原理与应用三、计算.ppt(46页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、n n一、计算机软件与程序设计n n二、数据库原理与应用n n三、计算机网络原理与开发第三章软件技术基础n n一、计算机软件与程序设计1 1、软件与程序员的若干问题、软件与程序员的若干问题 2 2、编程语言的选择、编程语言的选择3 3、WindowsWindows环境下的软件开发环境下的软件开发4 4、基本编程技术与技巧、基本编程技术与技巧第三章软件技术基础n n1、软件与程序员的若干问题什么是软件什么是软件软件开发策略软件开发策略软件开发方式软件开发方式程序员基本素质与任务程序员基本素质与任务程序员的思维方式程序员的思维方式程序员的发展之路程序员的发展之路第三章软件技术基础n n1、软件与程

2、序员的若干问题什么是软件什么是软件第三章软件技术基础程序程序数据结构数据结构文档文档软件是开发还是制造?软件是开发还是制造?软件会磨损吗?软件会磨损吗?软件能组装吗?软件能组装吗?作用:管理用户的计算机资源提供利用这些资源的工具充当用户和信息之间的中介硬件故障曲线硬件故障曲线软件故障曲线软件故障曲线第三章软件技术基础n n1、软件与程序员的若干问题什么是软件什么是软件软件的应用范围软件的应用范围 系统软件实时软件科学计算商业、行政管理MIS嵌入式软件个人软件WEB应用人工智能计算机硬件操作系统:Windows/UNIX/Linux应用软件:程序设计语言、办公软件信息系统应用软件的分类第三章软件

3、技术基础n n1、软件与程序员的若干问题软件开发策略软件开发策略自主开发委托开发合作开发商业软件软件开发方式软件开发方式自主开发自主开发适合于有较强的管理信息系统分析与设适合于有较强的管理信息系统分析与设计队伍和程序设计人员、系统维护使用计队伍和程序设计人员、系统维护使用队伍的组织和单位,如高等院校、研究队伍的组织和单位,如高等院校、研究所、计算机公司、等单位。所、计算机公司、等单位。独立开发的优点是开发费用少,实现开独立开发的优点是开发费用少,实现开发后的系统能够适应本单位的需求且满发后的系统能够适应本单位的需求且满意度较高,系统维护方便。意度较高,系统维护方便。缺点是由于不是专业开发队伍,

4、容易受缺点是由于不是专业开发队伍,容易受计算机业务工作的限制,系统优化不够,计算机业务工作的限制,系统优化不够,开发水平较低。开发水平较低。委托开发委托开发适合于使用单位无管理信息系统分析、设适合于使用单位无管理信息系统分析、设计及软件开发人员或开发队伍力量较弱、计及软件开发人员或开发队伍力量较弱、但资金较为充足的组织和单位。但资金较为充足的组织和单位。优点是省时、省事,系统的技术水平较高。优点是省时、省事,系统的技术水平较高。缺点是费用高、系统维护需要开发单位的缺点是费用高、系统维护需要开发单位的长期支持。长期支持。此种方式需要使用单位的业务骨干参与系此种方式需要使用单位的业务骨干参与系统的

5、论证工作,开发过程中,需要开发单统的论证工作,开发过程中,需要开发单位和使用单位双方及时沟通,进行协调和位和使用单位双方及时沟通,进行协调和检查。检查。合作开发合作开发适合于使用单位有一定的管理信息系统分析、适合于使用单位有一定的管理信息系统分析、设计及软件开发人员,但开发队伍力量较弱,设计及软件开发人员,但开发队伍力量较弱,希望通过管理信息系统的开发建立完善和提希望通过管理信息系统的开发建立完善和提高自己的技术队伍,便于系统维护工作的单高自己的技术队伍,便于系统维护工作的单位。双方共同开发成果,实际上是一种半委位。双方共同开发成果,实际上是一种半委托性质的开发工作。托性质的开发工作。优点是相

6、对于委托开发方式比较节约资金,优点是相对于委托开发方式比较节约资金,可以培养、增强使用单位的技术力量,便于可以培养、增强使用单位的技术力量,便于系统维护工作,系统的技术水平较高。系统维护工作,系统的技术水平较高。缺点是双方在合作中沟通易出现问题,需要缺点是双方在合作中沟通易出现问题,需要双方及时达成共识,进行协调和检查。双方及时达成共识,进行协调和检查。购买商业软件购买商业软件购买商业软件购买商业软件软件的开发正在向专业化方向发展,一些专门从事软件的开发正在向专业化方向发展,一些专门从事软件的开发正在向专业化方向发展,一些专门从事软件的开发正在向专业化方向发展,一些专门从事管理信息系统开发的公

7、司已经开发出一批使用方便、管理信息系统开发的公司已经开发出一批使用方便、管理信息系统开发的公司已经开发出一批使用方便、管理信息系统开发的公司已经开发出一批使用方便、功能强大的专项业务管理信息系统软件。为了避免功能强大的专项业务管理信息系统软件。为了避免功能强大的专项业务管理信息系统软件。为了避免功能强大的专项业务管理信息系统软件。为了避免重复劳动,提高系统开发的经济效益,也可以购买重复劳动,提高系统开发的经济效益,也可以购买重复劳动,提高系统开发的经济效益,也可以购买重复劳动,提高系统开发的经济效益,也可以购买现成的适合于本单位业务的管理信息系统软件,如现成的适合于本单位业务的管理信息系统软件

8、,如现成的适合于本单位业务的管理信息系统软件,如现成的适合于本单位业务的管理信息系统软件,如企业管理信息系统、教育管理信息系统、财务管理企业管理信息系统、教育管理信息系统、财务管理企业管理信息系统、教育管理信息系统、财务管理企业管理信息系统、教育管理信息系统、财务管理系统、进销存管理系统等等。系统、进销存管理系统等等。系统、进销存管理系统等等。系统、进销存管理系统等等。优点是节省时间的费用、系统技术水平高。优点是节省时间的费用、系统技术水平高。优点是节省时间的费用、系统技术水平高。优点是节省时间的费用、系统技术水平高。缺点是通用软件专用性较差,跟本单位的实际工作缺点是通用软件专用性较差,跟本单

9、位的实际工作缺点是通用软件专用性较差,跟本单位的实际工作缺点是通用软件专用性较差,跟本单位的实际工作需要可能有一定的差距,有时可能需要做二次开发需要可能有一定的差距,有时可能需要做二次开发需要可能有一定的差距,有时可能需要做二次开发需要可能有一定的差距,有时可能需要做二次开发工作。工作。工作。工作。方式方式方式方式特点比较特点比较特点比较特点比较独立开发独立开发独立开发独立开发委托开发委托开发委托开发委托开发合作开发合作开发合作开发合作开发购买现成软件购买现成软件购买现成软件购买现成软件分析和分析和分析和分析和设计设计设计设计能力能力能力能力的要求的要求的要求的要求较较较较高高高高一般一般一般

10、一般逐逐逐逐渐渐渐渐培养培养培养培养较较较较低低低低编编编编程能力的要求程能力的要求程能力的要求程能力的要求较较较较高高高高不需要不需要不需要不需要需要需要需要需要较较较较低低低低系系系系统维护统维护统维护统维护的的的的难难难难易易易易程度程度程度程度容易容易容易容易较较较较困困困困难难难难较较较较容易容易容易容易较较较较困困困困难难难难开开开开发费发费发费发费用用用用少少少少多多多多较较较较少少少少较较较较少少少少说说说说明明明明开开开开发时间较长发时间较长发时间较长发时间较长,系,系,系,系统统统统适合本适合本适合本适合本单单单单位,位,位,位,培养了自己的开培养了自己的开培养了自己的开培

11、养了自己的开发发发发人人人人员员员员。省事,开省事,开省事,开省事,开发费发费发费发费用用用用高。高。高。高。开开开开发发发发出的系出的系出的系出的系统统统统便便便便于于于于维护维护维护维护。最省事,但不最省事,但不最省事,但不最省事,但不一定完全一定完全一定完全一定完全适合本适合本适合本适合本单单单单位。位。位。位。几几种种开开发发方方式式有有各各自自的的长长处处和和短短处处,需需要要根根据据使使用用单单位位的的实实际际情情况况进进行行选选择择,也也可可综综合合运运用用各各种种开开发发方方式。式。第三章软件技术基础n n1、软件与程序员的若干问题软件开发方式软件开发方式?中国特色:软件英雄与

12、软件作坊中国特色:软件英雄与软件作坊WPS2.13KV100-300中文之星中文之星希望汉字系统希望汉字系统求伯君求伯君吴晓军吴晓军王江民王江民王志东王志东鲍岳桥鲍岳桥核心技术核心技术在一个人手中?在一个人手中?第三章软件技术基础n n1、软件与程序员的若干问题软件开发方式软件开发方式软件工程软件工程项目经理项目经理系统分析员系统分析员程序员程序员数据库管理员数据库管理员文档管理员文档管理员第三章软件技术基础n n1、软件与程序员的若干问题程序员主要素质与工作任务程序员主要素质与工作任务计划计划规范规范质量控制质量控制过程改进过程改进任务频度时间听课周一、周三每周200阅读教材作业编写程序准备

13、考试计划:计划:你能保证按此计划完成吗?哪些因素可能影响计划?如何避免?定义质量目标定义质量目标测量质量测量质量分析过程分析过程调整过程调整过程应用调整后的过程应用调整后的过程测量质量测量质量与目标比较与目标比较第三章软件技术基础n n1、软件与程序员的若干问题程序员的发展程序员的发展雷军雷军:金山公司金山公司CEO红色正版风暴策划者红色正版风暴策划者Blake Stone:Borland前前CTOJbuilder Architect第三章软件技术基础n n2、编程语言的选择编程语言的分类编程语言的分类低级语言低级语言高级语言高级语言机器语言机器语言汇编语言汇编语言BasicC/C+Pasca

14、lJavan n第一代语言1940s/机器语言/学习和使用都非常困难/指令很长/依赖于机器n n第二代语言1950s/汇编语言/代码比机器语言短/依赖于机器n n第三代语言1950s/类似英语语言/面向问题的/学习和使用比较简单n n第四代语言1980s/与英语非常接近/有许多预编程的函数/易于学习和使用1940195019601970198019902002机器语言汇编语言FORTRANCOBOLBASICCLotus1-2-3dBASESQLVisualBasic第三章软件技术基础n n2、编程语言的选择编程语言的共性编程语言的共性顺序结构顺序结构分支结构分支结构循环结构循环结构 第三章软

15、件技术基础n n2、编程语言的选择语言学习的基本过程语言学习的基本过程 语言工具的熟悉与使用语言工具的熟悉与使用 利用平台提供的接口进行开发利用平台提供的接口进行开发 对平台本身的了解对平台本身的了解 深入了解平台深入了解平台 能对软件整体架构进行剖析能对软件整体架构进行剖析 用计算机的方式思考用计算机的方式思考参考书?参考书?第三章软件技术基础n n2 2、编程语言的选择、编程语言的选择 主要语言与开发工具的比较主要语言与开发工具的比较 语言与开发工具的关系?语言与开发工具的关系?IDEIDE,FrameworkFramework以及以及RADRAD VisualBasicVisualBas

16、ic(VisualBasicVisualBasic)ODBC,ADO-Tool,ODBC,ADO-Tool,数据库数据库 VisualC+VisualC+(C/C+-MFCC/C+-MFC)ODBC,ADO-ODBC,ADO-系统,系统,GameGame C+BuilderC+Builder(C/C+-VCLC/C+-VCL)BDE,ADO,DBExpress-BDE,ADO,DBExpress-Tool,Tool,系统,数据库系统,数据库 DelphiDelphi(OP-VCLOP-VCL)BDE,ADO,DBExpress-BDE,ADO,DBExpress-系统,数系统,数据库据库 JB

17、uilderJBuilder(JavaJDKJavaJDK类库)类库)JDBC-JDBC-开发跨平台应用开发跨平台应用 PowerBuilderPowerBuilder(PowerScript-PFCPowerScript-PFC)-数据库应用为主数据库应用为主第三章软件技术基础n n2、编程语言的选择聪明的程序员聪明的程序员语言的选择源自目的语言的选择源自目的自定义自己的开发平台自定义自己的开发平台:IDE:IDE环境环境/工具组合工具组合学习和适应团队开发方式、开发语言与工具学习和适应团队开发方式、开发语言与工具不断学习与提高不断学习与提高第三章软件技术基础n n3、Windows环境下的

18、软件开发消息机制与事件驱动模型消息机制与事件驱动模型第三章软件技术基础n n3、Windows环境下的软件开发事件委托模型事件委托模型RADFrameworkRADFrameworkFrameworkMessage LoopDispatchUser CodeClass Event Handle1Event Handle2MessageMapMessage Queue第三章软件技术基础n n4、基本编程技术与技巧开放性思维开放性思维编码规范编码规范代码重用代码重用调试调试经验积累经验积累第三章软件技术基础n n4 4、基本编程技术与技巧、基本编程技术与技巧-规范的代码规范的代码 命名规范命名规范

19、 避免关键字避免关键字 前缀前缀,大小写与匈牙利命名法大小写与匈牙利命名法,g_,m_,s_,g_,m_,s_,公司或功能标记公司或功能标记 有意义有意义,简单的名词作变量名简单的名词作变量名(或形或形+名名),),动词作函数名动词作函数名 Min-Length&Max-InformationMin-Length&Max-Information原则原则 可发音的名字可发音的名字 通用性通用性,英文英文 避免歧义与误识别的字母避免歧义与误识别的字母,如如pertList,IpertList,I与与l l与与1 1 直观的布尔类型直观的布尔类型,如如isEmptyisEmpty 常量用大写常量用大

20、写 文件名与小组成员协商制作共同的命名规范文件名与小组成员协商制作共同的命名规范第三章软件技术基础n n4 4、基本编程技术与技巧、基本编程技术与技巧-规范的代码规范的代码 数据类型数据类型 避免浮点类型避免浮点类型效率与精度效率与精度,int,int类型是最有效率的类型是最有效率的 了解语言的类型兼容性了解语言的类型兼容性n n强类型语言强类型语言 C+/C#/JavaC+/C#/Javan n弱类型语言弱类型语言 VB/VBScript/JavaScript/PHP/PerlVB/VBScript/JavaScript/PHP/Perl 有符号类型与无符号类型有符号类型与无符号类型2552

21、55还是还是-1-1?n nchara=255;if(a=255)?chara=255;if(a=255)?显式类型转换显式类型转换 类型转换会不会丢失数据?类型转换会不会丢失数据?C/C+C/C+判断一个数是否为零?判断一个数是否为零?布尔型布尔型(C+)(C+)整型数整型数浮点数浮点数指针指针if(a=1)if(a=1)if(a=TRUE)if(a=TRUE)if(a=0)if(a=0)if(a=FALSE)if(a=FALSE)if(a)if(a)if(!a)if(!a)if(a)if(a)if(!a)if(!a)if(a=1)if(a=1)if(!a=0)if(!a=0)if(a=1)

22、if(a=1)if(a=TRUE)if(a=TRUE)if(a=0)if(a=0)if(a=FALSE)if(a=FALSE)if(a=-)&(a=-)&(a.-.!+-sizeof!+-sizeof*/%*/%+-+-=!=!=&|&|?:?:=+=-=*=/=%=&=|=+=-=*=/=%=&=|=尽可能的使用括号尽可能的使用括号第三章软件技术基础n n4、基本编程技术与技巧-规范的代码函数函数 避免参数过多避免参数过多 唯一出口原则?唯一出口原则?用函数取代常用的代码段用函数取代常用的代码段 进入时初始化,退出时清理进入时初始化,退出时清理第三章软件技术基础n n4、基本编程技术与技巧-

23、规范的代码内存与指针内存与指针 mallocmalloc与与freefree,newnew与与deletedelete成对使用(并非数成对使用(并非数量上的成对,而是逻辑上的)量上的成对,而是逻辑上的)谁分配,谁释放,否则必则在文档严格说明谁分配,谁释放,否则必则在文档严格说明 指针指向的内存被释放后,应复位其值为指针指向的内存被释放后,应复位其值为NULLNULL C/C+:C/C+:为字符串结束符占用的空间分配内存为字符串结束符占用的空间分配内存 对地址操作一定要小心,因为和机器和硬件相关,对地址操作一定要小心,因为和机器和硬件相关,可能造成移植性的问题和难以检查的错误。如:可能造成移植性

24、的问题和难以检查的错误。如:高低位字节,对齐方式等高低位字节,对齐方式等第三章软件技术基础n n4 4、基本编程技术与技巧、基本编程技术与技巧-规范的代码规范的代码 效率效率 循环语句循环语句多重循环的分配多重循环的分配 循环语句循环语句与判断语句的配合与判断语句的配合for(i=0;iiTotal;i+)for(i=0;iiTotal;i+)if(condition)if(condition)DoSomeThing();DoSomeThing();ElseElseDoOtherThing();DoOtherThing();gotogoto的合理使用的合理使用 循环体内不要定义变量循环体内不要

25、定义变量 常用或大尺寸的数据设为全局变量常用或大尺寸的数据设为全局变量(有争议有争议)或常量或常量 传址与引用传址与引用 延迟执行(如磁盘写缓冲区)延迟执行(如磁盘写缓冲区)80-2080-20原则原则if(condition)if(condition)for(i=0;iiTotal;i+)for(i=0;iiTotal;i+)DoSomeThing();DoSomeThing();ElseElse for(i=0;iiTotal;i+)for(i=0;i3)/if(iAttempts3)/不允许超过不允许超过3 3次的尝试次的尝试建议改为建议改为 if(iAttempts3)/if(iAtt

26、empts3)/限制尝试次数限制尝试次数vv在调试中利用注释功能在调试中利用注释功能第三章软件技术基础n n4、基本编程技术与技巧-规范的代码代码规范制定与审查代码规范制定与审查 制定公司编码规范制定公司编码规范 规范学习与培训规范学习与培训 代码规范阶段审查代码规范阶段审查正确看待编程技巧正确看待编程技巧vv对于大型的难以维护的系统,在优化算法和升级硬件的对于大型的难以维护的系统,在优化算法和升级硬件的选择上,后者是更为稳妥的方法选择上,后者是更为稳妥的方法vv不要以程序的短小或运行的效率来显示自己的水平,可不要以程序的短小或运行的效率来显示自己的水平,可读性是第一位的读性是第一位的vv不要

27、依赖编译器的某些特点以及未明确未定义的功能不要依赖编译器的某些特点以及未明确未定义的功能vv同样,不要依赖操作系统中某些未公开的功能同样,不要依赖操作系统中某些未公开的功能vv使用常用和公认的算法,除非与小组成员进行交流使用常用和公认的算法,除非与小组成员进行交流vv用户需要的是体贴的功能,不是花哨的界面用户需要的是体贴的功能,不是花哨的界面vv不要强迫用户不要强迫用户为什么为什么37213721的程序员被认为是的程序员被认为是“败类败类”vv相信编译器的优化功能相信编译器的优化功能:a=2;a=2;与与 a/=4;a/=4;的可读性?的可读性?作业n n小组讨论选择一个要开发的系统方向小组讨论选择一个要开发的系统方向n n设计调查方案,了解该系统需求设计调查方案,了解该系统需求n n结合小组成员情况进行分工和选择开发平台结合小组成员情况进行分工和选择开发平台n n制定共同遵守的编码规范制定共同遵守的编码规范 参考参考 上课笔记上课笔记 华为编码规范华为编码规范 高质量程序设计指南高质量程序设计指南C/C+C/C+语言林锐语言林锐 电子工业出版电子工业出版社社

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com