程序设计及软件工程基础ppt课件.ppt
《程序设计及软件工程基础ppt课件.ppt》由会员分享,可在线阅读,更多相关《程序设计及软件工程基础ppt课件.ppt(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统第二章第二章 程序设计及软件工程基础程序设计及软件工程基础篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统二级二级ACCESSACCESS软件设计及软件工程基础软件设计及软件工程基础本章主要内容本章主要内容v程序设计方法和风格程序设计方法和风格 v结构化程序设计结构化程序设计 v面向对象程序设计面向对象程序设计 v软件工程基本概念软件工程基本概念 v结构化分析方法结构化分析方法 v软件测试软件测试 v程序的调试程序的调试 v过关
2、练习过关练习 篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统二级二级ACCESSACCESS软件设计及软件工程基础软件设计及软件工程基础v什么是程序什么是程序什么是程序什么是程序 指令的集合指令的集合指令的集合指令的集合。(解释指令)。(解释指令)。(解释指令)。(解释指令)通过硬件控制系统自动完成某一功能。通过硬件控制系统自动完成某一功能。通过硬件控制系统自动完成某一功能。通过硬件控制系统自动完成某一功能。通过一系列代码实现。通过一系列代码实现。通过一系列代码实现。通过一系列代码实现。v程序设计语言程序设计语言程序设计语言程序设计
3、语言 计算机本身仅能识别二进制代码计算机本身仅能识别二进制代码“0”0”、“1”1”。编译程序和解释程序编译程序和解释程序 编程最直接、最低级的就是编程最直接、最低级的就是机器语言机器语言。汇编语言汇编语言。高级语言高级语言。如。如C C、PASCALPASCAL、FORTRANFORTRAN、BASICBASIC、JAVAJAVA等等2.1 2.1 程序程序设计方法和方法和风格格篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统二级二级ACCESSACCESS软件设计及软件工程基础软件设计及软件工程基础v程序设计风格程序设计风格程序设
4、计风格程序设计风格 基本概念:基本概念:编写程序时所表现出来的特点、习惯和逻辑编写程序时所表现出来的特点、习惯和逻辑思路。一般从以下四部分加以规范:思路。一般从以下四部分加以规范:源程序中的内部文档:源程序中的内部文档:选择标示符的名字、注释(序言选择标示符的名字、注释(序言性和功能性注释)、程序的视觉组织。性和功能性注释)、程序的视觉组织。数据说明:数据说明:显式地说明一切变量、数据说明的次序应该显式地说明一切变量、数据说明的次序应该规范化、便于查找变量(按顺序排列)、对复杂数据结规范化、便于查找变量(按顺序排列)、对复杂数据结构应注释说明构应注释说明 语句的结构:语句的结构:每条语句简单明
5、了、尽量不用或少用每条语句简单明了、尽量不用或少用GOTOGOTO语句、尽量只采用语句、尽量只采用3 3种基本控制结构编程种基本控制结构编程 输入和输出:输入和输出:对所有输入数据进行校验和合理性检查、对所有输入数据进行校验和合理性检查、输入输出格式保持一致、设计良好的输出报表输入输出格式保持一致、设计良好的输出报表2.1 2.1 程序程序设计方法和方法和风格格篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统二级二级ACCESSACCESS软件设计及软件工程基础软件设计及软件工程基础v程序设计三种方法程序设计三种方法程序设计三种方法程
6、序设计三种方法 结构化设计法结构化设计法 模块内部程序各部分要按照自顶向下的结构划分模块内部程序各部分要按照自顶向下的结构划分 各程序部分应按功能组合各程序部分应按功能组合 快速原型法(软件工程法)快速原型法(软件工程法)利用现有的工具和原型方法快速地开发所要的程序利用现有的工具和原型方法快速地开发所要的程序 面向对象程序设计法面向对象程序设计法 以对象为核心,与人类习惯的思维方法一致以对象为核心,与人类习惯的思维方法一致2.1 2.1 程序程序设计方法和方法和风格格篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统二级二级ACCESS
7、ACCESS软件设计及软件工程基础软件设计及软件工程基础v基本思想基本思想基本思想基本思想 对大型的程序设计,使用一些基本的结构来设计程序,无对大型的程序设计,使用一些基本的结构来设计程序,无论多复杂的程序,都可以使用这些基本结构按一定的顺序组合论多复杂的程序,都可以使用这些基本结构按一定的顺序组合起来。这些基本结构的特点都是起来。这些基本结构的特点都是只有一个入口、一个出口只有一个入口、一个出口。由。由这些基本结构组成的程序就避免了任意转移、阅读起来需要来这些基本结构组成的程序就避免了任意转移、阅读起来需要来回寻找的问题。回寻找的问题。v设计原则设计原则设计原则设计原则 自顶向下自顶向下 逐
8、步求精逐步求精 模块化模块化 限制使用限制使用gotogoto语句语句2.2 2.2 结构化程序构化程序设计篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统二级二级ACCESSACCESS软件设计及软件工程基础软件设计及软件工程基础v基本结构:顺序、选择、循环基本结构:顺序、选择、循环基本结构:顺序、选择、循环基本结构:顺序、选择、循环 2.2 2.2 结构化程序构化程序设计篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统二级二级ACCESSACCESS软件设计及软件工程基础
9、软件设计及软件工程基础2.3 2.3 面向面向对象程序象程序设计v基本思想基本思想基本思想基本思想 客观世界中任何一个事物都可以被看成是一个对象客观世界中任何一个事物都可以被看成是一个对象,面向,面向对象方法的本质就是主张从客观世界固有的事物出发来构造系对象方法的本质就是主张从客观世界固有的事物出发来构造系统,统,系统中的对象及对象之间的关系能够如实地反映问题域中系统中的对象及对象之间的关系能够如实地反映问题域中固有的事物及其关系。固有的事物及其关系。v结构化与面向对象方法比较结构化与面向对象方法比较结构化与面向对象方法比较结构化与面向对象方法比较 结构化的分解突出过程,即结构化的分解突出过程
10、,即如何做如何做(How to do)?(How to do)?它强调它强调代码的功能是如何实现的;代码的功能是如何实现的;面向对象的分解突出现实世界和抽象的对象,即面向对象的分解突出现实世界和抽象的对象,即做什么做什么(What to do)?(What to do)?篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统二级二级ACCESSACCESS软件设计及软件工程基础软件设计及软件工程基础v主要优点主要优点 与人类习惯的思维方法一致与人类习惯的思维方法一致 稳定性好稳定性好 可重用性好可重用性好 易于开发大型软件产品易于开发大型软
11、件产品 可维护性好可维护性好2.3 2.3 面向面向对象程序象程序设计面向对象程序设计主要考虑的是提高软件的可重用性!面向对象程序设计主要考虑的是提高软件的可重用性!面向对象程序设计主要考虑的是提高软件的可重用性!面向对象程序设计主要考虑的是提高软件的可重用性!篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统二级二级ACCESSACCESS软件设计及软件工程基础软件设计及软件工程基础v面向对象的基本概念面向对象的基本概念面向对象的基本概念面向对象的基本概念 对象对象(Object)(Object)对象是基本的运行时认得实体,它既包括数
12、据(对象是基本的运行时认得实体,它既包括数据(属性属性),也包括),也包括作用于数据的操作(作用于数据的操作(行为行为)。)。一个对象把属性和行为封装为一个整体一个对象把属性和行为封装为一个整体 一个对象通常可由对象名、属性和操作一个对象通常可由对象名、属性和操作3 3部分组成部分组成 面向对象面向对象(Object Oriented,OO)(Object Oriented,OO)从该问题所涉及的对象入手来研究问题。从该问题所涉及的对象入手来研究问题。消息消息(Message)(Message)对象之间进行通信的一种数据构造,消息包括:接受消息对象名、对象之间进行通信的一种数据构造,消息包括:
13、接受消息对象名、消息标识符、零个或多个参数。消息标识符、零个或多个参数。2.3 2.3 面向面向对象程序象程序设计篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统二级二级ACCESSACCESS软件设计及软件工程基础软件设计及软件工程基础v面向对象的基本概念面向对象的基本概念面向对象的基本概念面向对象的基本概念 类类(Class)(Class)一个类定义了一组大体上相似的对象。一个类定义了一组大体上相似的对象。一个类所包含的一个类所包含的方法和数据方法和数据描述一组对象的共同行为和属性。描述一组对象的共同行为和属性。类是在对象之上的抽
14、象,对象是类的具体化,是类的实例类是在对象之上的抽象,对象是类的具体化,是类的实例 封装封装(Encapsulation)(Encapsulation)将数据和操作数据的函数衔接在一起,构成一个具有类类型的对将数据和操作数据的函数衔接在一起,构成一个具有类类型的对象的描述。象的描述。对象的内部实现受保护,外界不能访问对象的内部实现受保护,外界不能访问 封装简化了程序员对对象的使用封装简化了程序员对对象的使用 2.3 2.3 面向面向对象程序象程序设计篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统二级二级ACCESSACCESS软件设
15、计及软件工程基础软件设计及软件工程基础v面向对象的基本概念面向对象的基本概念面向对象的基本概念面向对象的基本概念 继承继承(Inheritance)(Inheritance)继承是父类和子类之间共享数据的方法的机制继承是父类和子类之间共享数据的方法的机制 一个子类可以继承它的父类(或祖先类)中的属性和操作一个子类可以继承它的父类(或祖先类)中的属性和操作 子类中可以定义自己的属性和操作子类中可以定义自己的属性和操作 单重继承、多重继承单重继承、多重继承 多态性多态性(Polymorphism)(Polymorphism)不同的对象收到同一消息可以产生完全不同的结构,这一现象叫不同的对象收到同一
16、消息可以产生完全不同的结构,这一现象叫做多态性做多态性 多态的实现受到继承的支持多态的实现受到继承的支持2.3 2.3 面向面向对象程序象程序设计篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统二级二级ACCESSACCESS软件设计及软件工程基础软件设计及软件工程基础v软件的定义软件的定义软件的定义软件的定义 软件软件(software)是计算机系统中与硬件是计算机系统中与硬件(hardware)相互依相互依存的另一部分。存的另一部分。软件包括三个部分:程序软件包括三个部分:程序(program)、相关数、相关数据据(data)、说
17、明文档、说明文档(document)。v软件的特点软件的特点软件的特点软件的特点 软件是一种逻辑实体,不是物理实体,具有抽象性。软件是一种逻辑实体,不是物理实体,具有抽象性。软件没有明显的制造过程。软件没有明显的制造过程。软件在使用过程中,没有磨损、老化问题软件在使用过程中,没有磨损、老化问题 软件依赖与硬件和环境,导致了移植问题软件依赖与硬件和环境,导致了移植问题 软件是复杂的,而且以后会更复杂软件是复杂的,而且以后会更复杂 软件的成本相当昂贵软件的成本相当昂贵 软件工作牵涉到很多社会因素软件工作牵涉到很多社会因素2.4 2.4 软件工程基本概念件工程基本概念篮球比赛是根据运动队在规定的比赛
18、时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统二级二级ACCESSACCESS软件设计及软件工程基础软件设计及软件工程基础v软件危机软件危机软件危机软件危机 早期的软件主要指程序,采用个体工作方式,缺少相关文早期的软件主要指程序,采用个体工作方式,缺少相关文档,质量低,维护困难,这些问题称为档,质量低,维护困难,这些问题称为“软件危机软件危机”,软件工软件工程概念的出现源自于软件危机程概念的出现源自于软件危机。v软件工程软件工程软件工程软件工程 软件工程是指应用计算机科学、数学及管理科学等原理,软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法
19、来解决软件问题的工程。以工程化的原则和方法来解决软件问题的工程。其目的是提高其目的是提高软件生产率、提高软件质量、降低软件成本。软件生产率、提高软件质量、降低软件成本。v软件工程基本目标软件工程基本目标软件工程基本目标软件工程基本目标 在给定成本、进度的前提下,开发出具有有效性、可靠性、在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。踪性和可互操作性且满足用户需求的产品。2.4 2.4 软件工程基本概念件工程基本概念篮球比赛是根据运动队在规定的比
20、赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统二级二级ACCESSACCESS软件设计及软件工程基础软件设计及软件工程基础v软件工程原则:软件工程原则:软件工程原则:软件工程原则:抽象、信息隐蔽、模块化、局部化、确定抽象、信息隐蔽、模块化、局部化、确定抽象、信息隐蔽、模块化、局部化、确定抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。性、一致性、完备性和可验证性。性、一致性、完备性和可验证性。性、一致性、完备性和可验证性。1)1)抽象:抽象:抽象是事物最基本的特性和行为,忽略非本质细节,采用分层抽象是事物最基本的特性和行为,忽略非本质细节,采用
21、分层次抽象,自顶向下,逐层细化来控制软件开发过程的复杂性。次抽象,自顶向下,逐层细化来控制软件开发过程的复杂性。2 2)信息隐蔽:)信息隐蔽:采用封装技术,将程序模块的实现细节隐蔽起来,使模块采用封装技术,将程序模块的实现细节隐蔽起来,使模块接口尽量简单。接口尽量简单。3 3)模块化:)模块化:模块是程序中相对独立的成分,一个独立的编程单位。模块模块是程序中相对独立的成分,一个独立的编程单位。模块的大小要适中,过大模块内部复杂性增加,太小整个系统过于复杂。的大小要适中,过大模块内部复杂性增加,太小整个系统过于复杂。4 4)局部化:)局部化:保证模块间具有松耦合性,模块内部有高内聚性。保证模块间
22、具有松耦合性,模块内部有高内聚性。5 5)确定性:)确定性:软件中所有概念的表达应是确定、无歧义且规范的。软件中所有概念的表达应是确定、无歧义且规范的。6 6)一致性:)一致性:内外部接口保持一致,系统规格说明与行为保持一致。内外部接口保持一致,系统规格说明与行为保持一致。7 7)完备性:)完备性:软件系统不丢失任何重要成分,完全实现系统所需功能。软件系统不丢失任何重要成分,完全实现系统所需功能。8 8)可验证性:)可验证性:遵循容易检查、测评、评审原则,确保系统正确性遵循容易检查、测评、评审原则,确保系统正确性2.4 2.4 软件工程基本概念件工程基本概念篮球比赛是根据运动队在规定的比赛时间
23、里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统二级二级ACCESSACCESS软件设计及软件工程基础软件设计及软件工程基础v软件工程三要素软件工程三要素软件工程三要素软件工程三要素 方法:方法:方法:方法:完成软件工程项目的技术手段完成软件工程项目的技术手段完成软件工程项目的技术手段完成软件工程项目的技术手段 工具:工具:工具:工具:支持软件的开发、管理、文档生成支持软件的开发、管理、文档生成支持软件的开发、管理、文档生成支持软件的开发、管理、文档生成 过程:过程:过程:过程:支持软件开发的各个环节的控制、管理支持软件开发的各个环节的控制、管理支持软件开发的各个环节的
24、控制、管理支持软件开发的各个环节的控制、管理 v软件工具和软件开发环境软件工具和软件开发环境软件工具和软件开发环境软件工具和软件开发环境 软件工具软件工具(CASE)(CASE):用来辅助软件开、运行、维护、管理、用来辅助软件开、运行、维护、管理、支持等过程中的活动的软件支持等过程中的活动的软件 软件开发环境:软件开发环境:支持软件产品开发的软件系统,它由软支持软件产品开发的软件系统,它由软件工具集和环境集成机制构成件工具集和环境集成机制构成2.4 2.4 软件工程基本概念件工程基本概念篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统
25、二级二级ACCESSACCESS软件设计及软件工程基础软件设计及软件工程基础v软件生命周期软件生命周期软件生命周期软件生命周期 软件产品软件产品从提出、实现、使用维护到停止使用退役的过程从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。分为软件定义、软件开发及软件运行维护称为软件生命周期。分为软件定义、软件开发及软件运行维护3 3个阶段。个阶段。1 1)软件定义阶段:)软件定义阶段:包括制定计划和需求分析。包括制定计划和需求分析。制定计划:确定总目标;可行性研究;探讨解决方案;制定开发计划。制定计划:确定总目标;可行性研究;探讨解决方案;制定开发计划。需求分析:对待开发软件提出的需求
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 软件工程 基础 ppt 课件
限制150内