计算学科中的系统科学方法.ppt_第1页
计算学科中的系统科学方法.ppt_第2页
计算学科中的系统科学方法.ppt_第3页
计算学科中的系统科学方法.ppt_第4页
计算学科中的系统科学方法.ppt_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算科学导论 思想与方法 计算机与信息学院 蒋川群 2010年10月 Date1 第六章 计算学科中的系统科学方法 6.1 系统科学与系统科学方法 6.2 软件开发中使用系统科学方法的原因 6.3 结构化方法 6.4 面向对象方法 Date2 第六章 计算学科中的系统科学方法 系统科学方法是指利用系统的观点来认识和处理 问题的各种方法的总称。 模型方法是系统科学的基本方法,研究系统具体 来说就是研究它的模型。模型是对系统原型的抽 象,是科学认识的基础和决定性环节。 模型与实现是认识与实践的一种具体体现,在计 算学科中,它反映了抽象、理论和设计3个过程的 基本内容。模型与实现包括建模、验证和实现3方 面的内容。 Date3 6.1 系统科学和系统科学方法 系统科学起源于对传统数学、物理学和天 文学的研究,诞生于20世纪40年代 系统科学的崛起被认为是20世纪现代科学 的两个重大突破性成就之一 建立在系统科学基础上的系统科学方法开 辟了探索科学技术的新思路,它是认识、 调控、改造和创造复杂系统的有效手段, 它为系统形式化模型的构建提供了有效的 中间过渡模式 Date4 6.1 系统科学和系统科学方法 现代计算机普遍采用的组织结构,即冯. 诺依曼计算机组织结构就是系统科学在计 算机领域所取得的应用成果之一 随着计算技术的迅猛发展,计算机软硬件 系统变得越来越复杂,因此,系统科学方 法在计算学科中的作用也越来越大 Date5 6.1 系统科学和系统科学方法 系统科学的基本概念 系统科学遵循的一般原则 常用的几种系统科学方法 实例 Date6 6.1 系统科学和系统科学方法 系统科学的基本概念 系统科学是探索系统的存在和运动变化规 律的学问,是对系统本质的理性认识,是 人们认识客观世界的一个知识体系。 Date7 6.1 系统科学和系统科学方法 系统科学的基本概念 系统和子系统 结构和结构分析 层次和层次分析 环境、行为和功能 状态、演化和过程 系统同构 Date8 6.1 系统科学和系统科学方法 系统科学的基本概念 系统和子系统 系统是指由相互联系、相互作用的若干元 素构成的、具有特定功能的统一整体。 S= A表示系统S中所有元素的集合 R表示系统S中所有元素之间关系的集合 Date9 6.1 系统科学和系统科学方法 系统科学的基本概念 系统和子系统 一个大的系统往往是复杂的,通常可以划 分为一系列较小的系统,这些系统称为子 系统。 Si= SiS,AiA,RiR Date10 6.1 系统科学和系统科学方法 系统科学的基本概念 结构和结构分析 结构是指系统内各组成部分(元素和子系 统)之间相互联系、相互作用的框架 结构分析的重要内容就是划分子系统,并 研究各子系统之间的相互关系 Date11 6.1 系统科学和系统科学方法 系统科学的基本概念 层次和层次分析 层次是划分系统结构的一个重要工具,也是 结构分析的主要方式。 系统的结构可以表示为各级子系统和系统要 素的层次结构形式。 高层次包含和支配低层次,低层次隶属和支 撑高层次 明确所研究的问题处在哪一个层次上,可以 避免因混淆层次而造成的概念混乱 Date12 6.1 系统科学和系统科学方法 系统科学的基本概念 层次和层次分析 层次分析的主要内容有系统是否划分层次、 划分了哪些层次、各层次的内容、层次之间 的关系以及层次划分的原则等 Date13 6.1 系统科学和系统科学方法 系统科学的基本概念 环境、行为和功能 系统的环境是指一个系统之外的一切与它 有联系的事物组成的集合。系统要发挥它 应有的作用,达到应有的目标,系统自身 一定要适应环境的要求 Date14 6.1 系统科学和系统科学方法 系统科学的基本概念 环境、行为和功能 系统的行为是指系统相对于它的环境所表现 出来的一切变化 行为属于系统自身的变化,同时又反映环境 对系统的影响和作用 系统的功能是指系统行为所引起的、有利于 环境中某些事物乃至整个环境存在与发展的 作用 Date15 6.1 系统科学和系统科学方法 系统科学的基本概念 状态、演化和过程 状态是指系统的那些可以观察和识别的形态 特征,状态可以用系统的定量特征(如温度 T、体积V等)来表示 演化是指系统的结构、状态、特征、行为和 功能等随时间的推移而发生的变化 过程是指系统的演化所经过的发展阶段,它 由若干子过程组成。过程的最基本元素是动 作,动作不能再分 Date16 6.1 系统科学和系统科学方法 系统科学的基本概念 系统同构 系统同构是指不同系统数学模型之间存在的 数学同构,它是系统科学的理论依据 在数学中,同构有以下二个重要特征: 两个不同的代数系统,它们的元素基数相 同,并能建立一一对应的关系 Date17 6.1 系统科学和系统科学方法 系统科学的基本概念 系统同构 两个代数系统运算的定义也对应相同。 一个代数系统中的两个元素经过某种运算后 得到的结果与另一个代数系统对应的两个元 素经相应的运算后得到的结果元素互为对应 一个代数系统中的元素被其对应系统的元素 替换后,可得另一代数系统的运算表 Date18 6.1 系统科学和系统科学方法 系统科学的基本概念 系统同构 系统同构是数学同构概念的拓展 根据系统同构的性质,就可以用一种性质和 结构相同的系统来研究另一种系统 根据同构的特征可知,布尔代数与数字逻辑 电路同构;因此,可以用数字逻辑电路来表 示布尔代数,也可以用布尔代数来研究数字 逻辑电路 Date19 6.1 系统科学和系统科学方法 系统科学的基本概念 系统同构 提到同构,还会涉及同态的概念 不同系统间的数学同态关系具有自反性和传 递性,但不具有对称性 数学同态一般用于模型的简化,不能用来划 分等价类 Date20 6.1 系统科学和系统科学方法 系统科学遵循的一般原则 整体性原则 动态原则 最优化原则 模型化原则 Date21 6.1 系统科学和系统科学方法 系统科学遵循的一般原则 整体性原则 整体性原则是基于系统要素对系统的非还原 性或非加和性关系,是系统方法的根据和出 发点。 这一原则要求人们在研究系统时应从整体出 发,立足于整体来分析其部分以及部分之间 的关系,进而达到对系统整体更深刻的理解 Date22 6.1 系统科学和系统科学方法 系统科学遵循的一般原则 整体性原则 系统科学把整体具有而部分不具有的东西( 即新质的涌现)称为“涌现性”。 从层次结构的角度看,涌现性是指那些高层 次具有而还原到低层次就不复存在的属性、 特征、行为和功能 Date23 6.1 系统科学和系统科学方法 系统科学遵循的一般原则 整体性原则 简单地借用亚里士多德的名言“整体大于部 分之和”来表述整体涌现性是不够的 在某些特殊情况下,当部分构成整体时,出 现了部分所不具有的某些性质,同时又可能 丧失了组成部分单独存在时所具有的某些性 质。这个规律叫做“整体不等于部分之和” 原理,也称为“贝塔朗菲定律” Date24 6.1 系统科学和系统科学方法 系统科学遵循的一般原则 整体性原则 系统的整体功能是否大于或小于部分功能之 和关键取决于系统内部诸要素相互联系、相 互综合的方式如何 Date25 6.1 系统科学和系统科学方法 系统科学遵循的一般原则 动态原则 动态原则是指系统总是动态的,永远处于运 动变化之中。 在科学研究中经常采用理想的“孤立系统” 或“闭合系统”的抽象,但在实际中,系统 无论是在内部各要素之间,还是在内部环境 和外部环境之间,都存在着物质、能量及信 息的交换和流通。 Date26 6.1 系统科学和系统科学方法 系统科学遵循的一般原则 动态原则 实际系统都是活系统,而非静态的死系统、 死结构 在研究系统时,应从动态的角度去研究系统 发展的各个阶段,以准确把握其发展过程及 未来趋势 Date27 6.1 系统科学和系统科学方法 系统科学遵循的一般原则 最优化原则 亦称整体优化原则,就是运用各种有效方法 从系统多种目标或多种可能的途径中选择最 优系统、最优方案、最优功能、最优运动状 态,达到整体优化的目的。 Date28 6.1 系统科学和系统科学方法 系统科学遵循的一般原则 模型化原则 模型化原则就是根据系统模型说明的原因和 真实系统提供的依据,提出以模型代替真实 系统进行模拟实验,达到认识真实系统特性 和规律性的方法 模型化方法是系统科学的基本方法 Date29 6.1 系统科学和系统科学方法 系统科学遵循的一般原则 模型化原则 系统科学研究主要采用的是符号模型而非实 物模型 符号模型包括概念模型、逻辑模型、数学模 型,其中最重要的是数学模型 数学模型是指描述元素之间、子系统之间、 层次之间以及系统与环境之间相互作用的数 学表达式,如树结构、图、代数结构等 Date30 6.1 系统科学和系统科学方法 系统科学遵循的一般原则 模型化原则 数学模型是系统定性和定量分析的工具 研究系统的模型化方法通常是指通过建立和 分析系统的数学模型来解决问题的方法和程 序 用计算机程序定义的模型称为基于计算机的 模型 Date31 6.1 系统科学和系统科学方法 系统科学遵循的一般原则 模型化原则 所有数学模型均可转化为基于计算机的模型 ,并通过计算来研究系统 计算实验对一些无法用真实实验来检验的系 统是唯一可行的检验手段 Date32 6.1 系统科学和系统科学方法 常用的几种系统科学方法 系统分析法 信息方法 功能模拟方法 黑箱方法 整体优化方法 Date33 6.1 系统科学和系统科学方法 常用的几种系统科学方法 系统分析法 系统分析法是以运筹学和计算机为主要工具 ,通过对系统各种要素、过程和关系的考察 ,确定系统的组成、结构、功能、效用的方 法 广泛应用于计算机硬件的研制和软件的开发 、技术产品的革新、环境科学和生态系统的 研究以及城市管理规划等方面 Date34 6.1 系统科学和系统科学方法 常用的几种系统科学方法 信息方法 信息方法是以信息论为基础,通过获取、传 递、加工、处理、利用信息来认识和改造对 象的方法。 Date35 6.1 系统科学和系统科学方法 常用的几种系统科学方法 功能模拟方法 功能模拟方法是以控制论为基础,根据两个 系统功能的相同或相似性,应用模型来模拟 原型功能的方法 Date36 6.1 系统科学和系统科学方法 常用的几种系统科学方法 黑箱方法 黑箱是指内部要素和结构尚不清楚的系统 黑箱方法就是通过研究黑箱的输入和输出的 动态系统,确定可供选择的黑箱模型进行检 验和筛选,最后推测出系统内部结构和运动 规律的方法 Date37 6.1 系统科学和系统科学方法 常用的几种系统科学方法 整体优化方法 整体最优方法是指从系统的总体出发,运用 自然选择或人工技术等手段,从系统多种目 标或多种可能的途径中选择最优系统、最优 方案、最优功能、最优运动状态,使系统达 到最优化的方法 Date38 6.1 系统科学和系统科学方法 实例1科学的分类 钱学森:工程技术、技术科学、基础科学和 哲学 4个科学层次是相互联系、相互作用的 工程技术泛指一切应用和技术领域 技术科学是为工程技术提供工程理论的科学 基础科学是揭示客观世界运动规则和本质关 系的科学 哲学是对科学知识总的概括,是最高一层的 科学 Date39 6.1 系统科学和系统科学方法 实例2生命系统 美国心理学家米勒把生物圈看作是一个生命 系统,认为一切活着的具体系统都是“生命 系统”,并将生命系统划分为7个层次,即 细胞、器官、生物体、群体、组织、社会和 超国家系统,以及19个关键的子系统 20世纪50年代,米勒创立了一般生命系统理 论,该理论对解决生命世界的统一性问题有 十分重要的意义 Date40 6.1 系统科学和系统科学方法 实例3化学元素周期表 俄国化学家门捷列夫首创化学元素周期表 元素属性和原子量的关系揭示了化学元素 性质呈周期性变化的内在规律,并指明了发 现新元素的方向 化学元素周期表的建立使化学科学走上了系 统化的道路,成为化学发展的主要基石之一 Date41 6.1 系统科学和系统科学方法 实例4整数 当把整数看作是一个系统时,根据等价关系 ,可以将整数划分为若干互不相交的子集 奇数和偶数 同余关系 Date42 6.1 系统科学和系统科学方法 实例4整数 整数的划分体现出了集合论中等价关系(满 足自反性、对称性和传递性的关系)的一个 重要性质,即将“整数”推广为更一般性的 “元素”时,只要元素之间的关系为等价关 系,则可将这些元素组成的集合划分为若干 互不相交的子集 等价关系的这种性质具有重要的理论和应用 价值 Date43 6.1 系统科学和系统科学方法 实例5计算机网络 计算机网络是计算机系统中一个有代表性的 复杂系统,需要高度协调的工作才能保证系 统的正常运行; 为此,必须精确定义网络中数据交换的所有 规则(网络协议),然而由这些规则组成的 集合取相当庞大和复杂 Date44 6.1 系统科学和系统科学方法 实例5计算机网络 为了解决复杂网络协议的设计问题,国际标 准化组织(ISO)采用系统科学的思想,定 义了现在被广泛使用的开放系统互连模型( OSI),该模型将整个网络协议划分为7个层 次,即物理层、数据链路层、网络层、运输 层、会话层、表示层和应用层,从而有效地 降低了网络协议的复杂性,促进了网络技术 的发展 Date45 6.2 软件开发中使用系统科学方法的原因 系统科学方法针对的是复杂性问题,而复 杂性又是相对于人的能力而言的 人固有能力的局限性以及使用工具后产生的 力量 复杂性 软件系统的复杂性 软件开发的系统化方法需要遵循的基本原则 Date46 6.2 软件开发中使用系统科学方法的原因 人固有能力的局限性以及使用工具后产生 的力量 劳动:体力劳动、脑力劳动 能力:人体活动产生的力量,即体力;使用 大脑产生的记忆、理解、想象等的能力,即 脑力 最能代表人的体力极限的世界纪录(如跳高 、举重等),可以做出判断,人的体力相当 有限 Date47 6.2 软件开发中使用系统科学方法的原因 人固有能力的局限性以及使用工具后产生 的力量 人的脑力也相当有限,因涉及记忆、理解、 想象甚至与智力有关的问题,人们很难接受 这个事实;要说人的能力处于同一个数量级 更是让人难以接受 Date48 6.2 软件开发中使用系统科学方法的原因 人固有能力的局限性以及使用工具后产生 的力量 既然人的体力和脑力极其有限,人固有的体 力和脑力又处于同一个数量级上,那又如何 解释人类在认知和改造客观世界中所产生的 巨大力量? 答案在于,依靠工具,人既能够创造工具又 能够使用工具 Date49 6.2 软件开发中使用系统科学方法的原因 复杂性 根据信息论的观点,复杂度可以定义为系统 表明自身方式数目的对数,或是系统可能状 态数目的对数:K=logN,式中K是复杂度,N 是不同的可能状态数 一个系统越复杂,它所携带的信息越多 两个系统各自有M个和N个可能状态,那么, 组合系统的状态数目是二者之积M*N,其复 杂度为K=logM*N Date50 6.2 软件开发中使用系统科学方法的原因 复杂性 从可操作性的角度来看,复杂性可以定义为 :寻找最小的程序或指令集来描述给定的“ 结构”,即一个数字序列 若用比特计算的话,这个程序的大小相对于 数字序列的大小就是其复杂性的量度 Date51 6.2 软件开发中使用系统科学方法的原因 复杂性 序列:aaaaaaaaaaaa 序列:aabaabaabaab 序列:aabaababbaabaababb 序列:aababbababbbabaaababbab 这个例子无结构,若想编程,则必须将字符 串全部列出 Date52 6.2 软件开发中使用系统科学方法的原因 复杂性 结论:一旦一个程序的大小与试图描述的系 统相提并论时,则无法编程 或者说,当系统的结构不能被描述,或描述 它的最小算法与系统自身具有相同的信息比 特数时,则称该系统为根本复杂系统 在达到根本复杂之前,人们仍可以编出能够 执行的程序,否则,做不到 Date53 6.2 软件开发中使用系统科学方法的原因 人固有能力的局限性以及使用工具后产生 的力量 复杂性 软件系统的复杂性 软件开发的系统化方法需要遵循的基本原 则 Date54 6.2 软件开发中使用系统科学方法的原因 软件系统的复杂性 阿基米德杠杆原理: 给我一个支点,我就能撬起地球 牛顿是一个天才,但他的才能并不在于他 的大脑计算能力特别突出,而在于懂得如 何对问题做合理的简化和理想化,从而把 复杂的问题转化为普通人的大脑可以处理 的、相对简单的问题 Date55 6.2 软件开发中使用系统科学方法的原因 软件系统的复杂性 相对于物理学科,计算学科却没有那么幸 运,计算机的软、硬件系统存在大量不能 化简的状态,这就使得构思、描述和测试 计算机系统不能依靠像物理学那样简单的 定律来完成,而必须另外寻找能够控制和 降低复杂性的方法 Date56 6.2 软件开发中使用系统科学方法的原因 软件系统的复杂性 软件系统的状态比硬件系统的状态往往要 多若干数量级 由于软件系统中的实体扩展不像硬件系统 那样,可以由相同元素重复添加,从而使 计算机中软件的复杂度呈非线性增长 找到控制和降低软件复杂性的方法也就是 找到了控制和降低计算机系统复杂性最根 本的方法 Date57 6.2 软件开发中使用系统科学方法的原因 软件系统的复杂性复杂度 没有两个软件是相同的(至少在语句级别上) ,若有相同的,会把它们合并成一个可供调用 的子函数,因此,认为复杂是软件的根本属性 构成软件复杂度的实体及其关系的描述不仅引 发了大量学习和理解上的负担,而且随着软件 规模的增长,使得团队成员之间的沟通以及管 理变得越来越困难,从而使软件开发逐渐地演 变成一场灾难 软件危机 Date58 6.2 软件开发中使用系统科学方法的原因 软件系统的复杂性一致性 大型软件开发中,为保持各子系统之间的 一致性,软件必须随接口的不同、时间的 推移而变化 这些变化不能被抽象掉,因此,又增加了 软件的复杂性 Date59 6.2 软件开发中使用系统科学方法的原因 软件系统的复杂性可变性 软件实体经常会面对持续的变更压力 因为它是一个纯粹思维活动的产物,可以 无限扩展 Date60 6.2 软件开发中使用系统科学方法的原因 软件系统的复杂性不可见性 软件是看不见的,当利用图示方法来描述 软件结构时,也无法充分表现其结构,从 而使软件的复杂度大大超过具有电路图表 示的计算机硬件的复杂度,使得人们之间 的沟通面临极大的困难 Date61 6.2 软件开发中使用系统科学方法的原因 软件系统开发的难点:概念结构的规格、 设计和测试 将重点尽可能放在开发的前端,而不是编 码阶段 Date62 6.2 软件开发中使用系统科学方法的原因 在软件开发前期,要对用户的需求进行分析, 然后将这种需求抽象为一种信息结构,这种结 构称为概念结构 能真实、充分地反映现实世界,包括事物和事物之 间的联系,能满足用户对数据的处理要求 易于理解,从而可以用它和不熟悉计算机的用户交 换意见 易于更改,当应用环境和应用要求改变时,能容易 地对概念结构进行修改和扩充 易于向计算机支持的数据结构转换 Date63 6.2 软件开发中使用系统科学方法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论