软件开发技术基础精.ppt
《软件开发技术基础精.ppt》由会员分享,可在线阅读,更多相关《软件开发技术基础精.ppt(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第1页,本讲稿共56页程序设计基础程序设计基础 程序设计程序设计基础基础结构化结构化程序设计程序设计面向对象面向对象程序设计程序设计程序设计方法及风格程序设计方法及风格程序设计方法及风格程序设计方法及风格结构化程序设计原则结构化程序设计原则结构化程序设计原则结构化程序设计原则结构化程序的基本结构与特点结构化程序的基本结构与特点结构化程序的基本结构与特点结构化程序的基本结构与特点结构化程序设计方法的应用结构化程序设计方法的应用结构化程序设计方法的应用结构化程序设计方法的应用面向对象方法面向对象方法面向对象方法面向对象方法面向对象方法的基本概念面向对象方法的基本概念面向对象方法的基本概念面向对象方
2、法的基本概念第2页,本讲稿共56页程序设计程序设计 是指利用计算机解决问题的全过程,它是指利用计算机解决问题的全过程,它包含多方面的内容,而编写程序只是其中的包含多方面的内容,而编写程序只是其中的一部分。一部分。分分析析问问题题确定确定处理处理方案方案确定确定操作操作步骤步骤编编写写程程序序上机上机运行运行程序程序整整理理结结果果 程序设计的一般步骤程序设计的一般步骤第3页,本讲稿共56页 例如:例如:求圆的面积和周长的程序设计一般求圆的面积和周长的程序设计一般步骤:步骤:分析问题分析问题 求圆的面积和周长需要知道圆的半径求圆的面积和周长需要知道圆的半径r r,根据圆的半,根据圆的半径求出圆的
3、面积径求出圆的面积S S和周长和周长L L并输出结果。并输出结果。确定处理方案确定处理方案 求圆的面积数学公式是:求圆的面积数学公式是:S=S=rr2 2 求圆的周长公式是:求圆的周长公式是:L=2L=2r r 第4页,本讲稿共56页 确定操作步骤确定操作步骤 求圆的面积和周长的算法描述为:求圆的面积和周长的算法描述为:确定半径的初值确定半径的初值 计算面积计算面积S S 计算周长计算周长L L 输出结果输出结果S S,L L 第5页,本讲稿共56页 根据操作步骤编写源程序根据操作步骤编写源程序。将上面求圆的面积和周长算法编写源程序如下将上面求圆的面积和周长算法编写源程序如下 define P
4、I 3.14159 main()float r=3,S,L;S=PI*r*r;L=2*PI*r;printf(“S=%f,L=%fn”,S,L);运行调试程序运行调试程序。整理输出结果,写出相关文档整理输出结果,写出相关文档。第6页,本讲稿共56页程序设计方法与风格程序设计方法与风格程序设计方法程序设计方法 是是指指以以什什么么观观点点来来研研究究问问题题并并进进行行求求解解,以以及及如何进行系统设计的如何进行系统设计的软件方法学软件方法学。程序设计方法经过的程序设计方法经过的2 2个阶段个阶段q 结构化程序设计结构化程序设计q 面向对象程序设计面向对象程序设计第7页,本讲稿共56页程序设计风
5、格程序设计风格 编写程序时所表现出的编写程序时所表现出的特点特点特点特点、习惯习惯习惯习惯和和逻辑思路逻辑思路逻辑思路逻辑思路。程序设计风格强调程序设计风格强调简单简单简单简单、清晰清晰和和可理解性可理解性。当今主导的程序设计风格当今主导的程序设计风格:清晰第一、效率第二清晰第一、效率第二第8页,本讲稿共56页main()float r,s;scanf(“%f”,&r);if(r0)/半径必须为正数半径必须为正数 s=2*3.14159*r;printf(“s=%f”,s);else printf(“请输入正数请输入正数!”);main()float r,s;scanf(“%f”,&r);if
6、(r0)s=2*3.14159*r;printf(“s=%f”,s);else printf(“请输入正数请输入正数!”);第9页,本讲稿共56页n结构化程序设计原则结构化程序设计原则n基本结构基本结构n模块化模块化结构化程序设计结构化程序设计第10页,本讲稿共56页n自顶向下自顶向下 先考虑先考虑先考虑先考虑总体总体总体总体,后考虑,后考虑,后考虑,后考虑细节细节细节细节;先考虑先考虑先考虑先考虑全局目标全局目标全局目标全局目标,后考虑,后考虑,后考虑,后考虑局部目标局部目标局部目标局部目标。先从总目标开始设计,逐步使问题具体化。先从总目标开始设计,逐步使问题具体化。先从总目标开始设计,逐步
7、使问题具体化。先从总目标开始设计,逐步使问题具体化。n逐步求精逐步求精 对复杂问题设计一些子目标作为过渡,逐步细化。对复杂问题设计一些子目标作为过渡,逐步细化。对复杂问题设计一些子目标作为过渡,逐步细化。对复杂问题设计一些子目标作为过渡,逐步细化。n模块化模块化 将将将将总总总总目目目目标标标标分分分分解解解解为为为为分分分分目目目目标标标标,再再再再进进进进一一一一步步步步分分分分为为为为具具具具体体体体的的的的小小小小目目目目标标标标,每每每每个个个个小小小小目目目目标标标标成为一个模块。成为一个模块。成为一个模块。成为一个模块。n限制使用限制使用goto语句语句 会导致程序流程的混乱,应
8、限制使用。会导致程序流程的混乱,应限制使用。会导致程序流程的混乱,应限制使用。会导致程序流程的混乱,应限制使用。结构化程序设计原则结构化程序设计原则第11页,本讲稿共56页学生成绩管理学生成绩管理增加增加删除删除修改修改查询查询统计统计按学号按学号按姓名按姓名按班级按班级第12页,本讲稿共56页n顺序结构顺序结构n选择结构选择结构n循环结构循环结构 结构化程序的基本结构与特点结构化程序的基本结构与特点第13页,本讲稿共56页顺序结构顺序结构main()float r,s;scanf(“%f”,&r);s=2*3.14159*r;printf(“s=%f”,s);AB第14页,本讲稿共56页选择
9、结构选择结构main()float r,s;scanf(“%f”,&r);if(r0)s=2*3.14159*r;printf(“s=%f”,s);else printf(“请输入正数请输入正数!”);AB条件条件真真假假第15页,本讲稿共56页循环结构循环结构main()int i,s;s=0;for(i=0;i=100;i+)s=s+i;printf(“s=%d”,s);A条条件件真真假假第16页,本讲稿共56页优点优点缺点缺点q 程序程序结结构良好构良好q 程序清晰易程序清晰易读读、使用和维护、使用和维护q 提高编程的效率,降低开发成本提高编程的效率,降低开发成本q 数据与对数据的操作数
10、据与对数据的操作(函数函数)相分离,造成数据和算相分离,造成数据和算法的一致性差法的一致性差q 程序的可重用性差程序的可重用性差第17页,本讲稿共56页结构化程序设计原则和方法的应用结构化程序设计原则和方法的应用 在程序设计过程中,要采用自顶向下自顶向下和逐逐步细化步细化的原则,由粗到细,一步步展开,把一个模块模块的功能逐步分解,细化为一系列具体的步骤,进而翻译成一系列用某种程序设计语言写成的程序。第18页,本讲稿共56页面向对象的程序设计面向对象的程序设计n基本概念基本概念n面向对象方法的特征和用途面向对象方法的特征和用途第19页,本讲稿共56页面向对象的方法面向对象的方法 客观世界的任何一
11、个事物都可以被看成是一个对对象象。面向对象的方法的本质面向对象的方法的本质面向对象的方法的本质面向对象的方法的本质就是从客观世界固有的事物出发来构造系统,提倡用人类在现实生活中常用的思维方式来认识、理解和描述客观事物,强调最终建立的系统能够映射问题域。系统中的对象及对象之间的关系能够如实反映问题域中固有的事物及其关系。第20页,本讲稿共56页对象对象 基本概念基本概念 客观世界的实体通常既具有客观世界的实体通常既具有客观世界的实体通常既具有客观世界的实体通常既具有静态静态静态静态的属性,又具有的属性,又具有的属性,又具有的属性,又具有动动态态的行为。的行为。的行为。的行为。在计算机系统中,对象
12、是一组在计算机系统中,对象是一组属性属性以及这组属性以及这组属性以及这组属性以及这组属性上的上的上的上的操作操作操作操作的封装体。的封装体。的封装体。的封装体。对象对象=属性属性+操作操作 属性:属性:就是对象的特征,是对象外观及行为的特就是对象的特征,是对象外观及行为的特征。征。第21页,本讲稿共56页 是具有是具有共同属性共同属性和和共同操作方法共同操作方法的对象的集合,是的对象的集合,是对象的抽象。对象的抽象。描述了属于该对象类型的所有对象的性质。描述了属于该对象类型的所有对象的性质。类类 类是对象的类是对象的抽象(模板)抽象(模板),对象则是其对应类的一个,对象则是其对应类的一个实例实
13、例。第22页,本讲稿共56页 就是要求某个对象执行某个操作的规格说明。就是要求某个对象执行某个操作的规格说明。一个消息由三部分组成一个消息由三部分组成:p接收消息的对象名称接收消息的对象名称p消息名称消息名称p零个或多个参数零个或多个参数消息消息 消息用于对象之间信息交流,对象之间的相互服务是通消息用于对象之间信息交流,对象之间的相互服务是通消息用于对象之间信息交流,对象之间的相互服务是通消息用于对象之间信息交流,对象之间的相互服务是通过消息来连接实现的。过消息来连接实现的。过消息来连接实现的。过消息来连接实现的。发送发送对象对象接接口口接收对象消息操作名、参数第23页,本讲稿共56页特性特性
14、q 封装性封装性 指从外面看只能看到对象的外部特征,而不指从外面看只能看到对象的外部特征,而不知道也无须知道数据的具体结构及实现操作的算知道也无须知道数据的具体结构及实现操作的算法。法。信息的隐蔽是通过对象的封装性来实现的信息的隐蔽是通过对象的封装性来实现的属性属性操作操作1 1、2 2、3 3的实现的实现操作操作1 1操作操作2 2操作操作3 3界界面面第24页,本讲稿共56页q继承性继承性 使用已有的类(使用已有的类(父类父类)定义作为基础建立新)定义作为基础建立新类(类(子类子类)的定义技术。)的定义技术。单继承单继承多重继承多重继承 人人 职工职工 学生学生 教师教师 在职学生在职学生
15、 提高了软件的可重用性,继承具有提高了软件的可重用性,继承具有传递性传递性第25页,本讲稿共56页q 多态性多态性 同一消息被不同的对象接受时可以产生同一消息被不同的对象接受时可以产生完全不同的行为。完全不同的行为。实现实现“同一接口,不同实现同一接口,不同实现”增加了系统的灵活性,进一步减少数据冗余,显增加了系统的灵活性,进一步减少数据冗余,显著提高软件的可重用性和可扩充性。著提高软件的可重用性和可扩充性。第26页,本讲稿共56页优点优点q 与人类思维方法一致与人类思维方法一致q 稳定性好稳定性好q 可重用性好可重用性好q 易于开发大型软件产品易于开发大型软件产品q 可维护性好可维护性好第2
16、7页,本讲稿共56页软件工程基础软件工程基础 随着计算机硬件技术的进步,要求软件能与之相适应。随着计算机硬件技术的进步,要求软件能与之相适应。随着计算机硬件技术的进步,要求软件能与之相适应。随着计算机硬件技术的进步,要求软件能与之相适应。然后软件技术的进步一直未能满足形式发展提出的要求,致然后软件技术的进步一直未能满足形式发展提出的要求,致然后软件技术的进步一直未能满足形式发展提出的要求,致然后软件技术的进步一直未能满足形式发展提出的要求,致使问题积累起来,形成了日益尖锐的矛盾,这就导致了使问题积累起来,形成了日益尖锐的矛盾,这就导致了使问题积累起来,形成了日益尖锐的矛盾,这就导致了使问题积累
17、起来,形成了日益尖锐的矛盾,这就导致了软软件危机件危机。为了消除软件危机,通过认真研究解决软件危机的方为了消除软件危机,通过认真研究解决软件危机的方法,认识到软件工程是使计算机软件走向科学的途径,逐法,认识到软件工程是使计算机软件走向科学的途径,逐渐形成了软件工程的概念,并开辟了工程学的新兴领域渐形成了软件工程的概念,并开辟了工程学的新兴领域-软件工程学软件工程学。倡导以工程化的原则和方法组织软件开发工作,是摆脱软倡导以工程化的原则和方法组织软件开发工作,是摆脱软倡导以工程化的原则和方法组织软件开发工作,是摆脱软倡导以工程化的原则和方法组织软件开发工作,是摆脱软件危机的一个主要出路。件危机的一
18、个主要出路。件危机的一个主要出路。件危机的一个主要出路。软件开发工具与软件开发环境软件开发工具与软件开发环境软件开发工具与软件开发环境软件开发工具与软件开发环境软件工程的目标和原则软件工程的目标和原则软件工程的目标和原则软件工程的目标和原则软件工程过程与软件生命周期软件工程过程与软件生命周期软件工程过程与软件生命周期软件工程过程与软件生命周期软件危机与软件工程软件危机与软件工程软件危机与软件工程软件危机与软件工程软件定义与软件特点软件定义与软件特点软件定义与软件特点软件定义与软件特点需求分析需求分析需求分析需求分析可行性分析可行性分析可行性分析可行性分析问题定义问题定义问题定义问题定义软件设计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 开发 技术 基础
限制150内