软件开发设计基础

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2020/6/25
第九章 软件开发设计基础
15
继承性
继承性是子类自动共享父类数据结构和方法 的机制,这是类之间的一种关系。在定义 和实现一个类的时候,可以在一个已经存 在的类的基础之上来进行,把这个已经存 在的类所定义的内容作为自己的内容,并 加入若干新的内容。
2020/6/25
第九章 软件开发设计基础
16
封装性
封装性(信息隐藏) 是保证软件部件具有优良的模块性的基础。面向 对象的类是封装良好的模块,类定义将其说明 (用户可见的外部接口)与实现(用户不可见的 内部实现)显式地分开,其内部实现按其具体定 义的作用域提供保护。
对象是封装的最基本单位。封装防止了程序相互依 赖性而带来的变动影响。面向对象的封装比传统 语言的封装更为清晰、更为有力。
2020/6/25
第九章 软件开发设计基础
14
多态性
多态性(多形性) 多态性使指相同的操作或函数、过程可作 用于多种类型的对象上并获得不同的结果。 不同的对象,收到同一消息可以产生不同 的结果,这种现象称为多态性。 多态性允许每个对象以适合自身的方式去 响应共同的消息。 多态性增强了软件的灵活性和重用性。
202ቤተ መጻሕፍቲ ባይዱ/6/25
第九章 软件开发设计基础
6
算法的表示
算法的表示:
– 自然语言: – 流程图; – 算法描述语言:
2020/6/25
第九章 软件开发设计基础
7
自然语言描述
例如:判断正整数n(n≥3)是不是质数。用算法描述语言描述其算法如下。
(1)输入n的值 (2)2 => i(i作除数) (3)n被i除得余数r (4)若r = 0,表示n能被i整除,则打印“n
数据元素(Element):是数据的基
本单位—由若干数据项组成。 数据对象(Data Object):是性质
相同的数据元素的集合,是数据的
一个子集。数据结构
2020/6/25
第九章 软件开发设计基础
20
数据结构
数据结构:是指相互之间存在一种或多种关
系的数据元素的集合。 数据结构是带有结构特征的数据元素的集 合,三要素:
9
算法描述语言
例如:判断正整数n(n≥3)是不是质数。用算法 描述语言描述其算法如下。
BEGIN(算法开始)
输入正整数n; i = 2; f = 1;
do{
r = n % i; if (r == 0) f = 0; i = i + 1; } while ( i <= n - 1 ); if ( f == 0 ) 输出“n不是质数”;
4
算法的评价
算法的评价:
算法的时间复杂度—语句重复次数;T(n) 算法的空间复杂度—内存占用量;S(n) 算法的可读性—用于交流—便于理解
2020/6/25
第九章 软件开发设计基础
5
算法的设计要求
算法设计的要求:
– 正确:首要条件;合法输入—正确结果 – 可读:便于阅读交流;算法—程序 – 健壮:满足各种情况; – 高效:效率要高—空间、时间
不是素数”,算法结束;否则执行(5) (5)i + 1 => i (6)若 i <= n-1,返回(3);否则打印“n
是素数”,然后结束
2020/6/25
第九章 软件开发设计基础
8
传统流程图表示法
例如:判断正整数n(n≥3)是不是质数。用算法描述语言描述其算法如下。
2020/6/25
第九章 软件开发设计基础
0.用计算机解决问题的步骤
利用计算机解决一个问题时,一般情 况要经过如下步骤:
–抽象:数学化—模型化; –算法:列出求解步骤—步骤化; –编成:用计算机描述算法—代码化; –运行:编辑、调试和测试—实施。
2020/6/25
第九章 软件开发设计基础
1
1.算法
算法的定义; 算法的要满足的条件; 算法的评价; 算法的设计要求; 算法的表示。
2020/6/25
第九章 软件开发设计基础
17
对象和类
对象:object,是人们要进行研究的任何事物, 从最简单的整数到复杂的飞机等均可看作 对象,它不仅能表示具体的事物,还能表 示抽象的规则、计划或事件。男女朋友; 行为或思考时作为目标的人或事。具有状 态、属性和行为。
类:是对象的定义;是对具有相同行为和属 性的对象的抽象和描述。
2020/6/25
第九章 软件开发设计基础
11
程序设计所涉及的问题
程序设计所涉及的问题:
–语言的选择; –设计风格; –算法; –逻辑结构;
2020/6/25
第九章 软件开发设计基础
12
结构化程序设计
结构:structure,各个组成部分的搭配和排 列。
结构化程序设计:是进行以模块功能和处理
过程设计为主的详细设计的基本原则。
2020/6/25
第九章 软件开发设计基础
2
算法的定义
算法的定义: 算法:是对特定求解步骤地一种描述。 是指令的有限序列。
2020/6/25
第九章 软件开发设计基础
3
算法的要满足的5个条件
算法的要满足的5个条件:
– 有穷性: – 确定性: – 输入: – 输出: – 可行性:
2020/6/25
第九章 软件开发设计基础
DS=数据的逻辑结构+存储结构+数据的运 算 按某种逻辑关系组织起来的一批数据,按 一定的存储方式把它存储在计算机存储器 中,并在这些数据上定义了一个运算的集
分类:
–顺序:先后顺序,自然顺序 –选择:分支结构; –循环:重复结构;
2020/6/25
第九章 软件开发设计基础
13
面向对象化程序设计
结构化程序设计方法可以解决中小 规模的问题,解决较复杂的问题比 较困难,在此基础上产生了新的方 法—面向对象的程序设计方法。
面向对象程序设计的基本概念:
对象和类、封装性、继承性、多态 性
2020/6/25
第九章 软件开发设计基础
18
3.数据结构
数据结构:
基本概念; 数据结构的分类
线性结构
数据结构 DS
非线性结构
2020/6/25
第九章 软件开发设计基础
线性表 堆栈 队列 串 数组
树 二叉树 图
19
基本概念
数据(Data):是对客观事物的物 理符号表示。
数据项(Data Item) :也称为字 段、域、属性。
else 输出“n是质数”;
END(算法结束) 2020/6/25
第九章 软件开发设计基础
10
2.程序设计
程序:是解决特定问题的指令序列。
程序设计语言:是描述计算机所执行的操作 的语言。
程序设计:是指使用程序语言产生程序的过 程。
程序设计所涉及的问题:不是简单的代码 编写过程。
程序设计的分类:结构化(解决简单问题—过程)和面向 对象(解决复杂问题—抽象)
相关文档
最新文档