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

下载本文档

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

文档简介

计算学科中系统科学方法第6章计算学科中的系

统科学方法6.1系统科学的基本思想系统科学方法是指用系统的观点来认识和处理问题的各种方法的总称,它是一般科学方法论中的重要内容。系统科学方法为现代科学技术的研究带来了革命性的变化,并在社会、经济和科学技术等各个方面都得到了广泛的应用。模型方法是系统科学的基本方法,研究系统具体来说就是研究它的模型。模型是对系统原型的抽象,是科学认识的基础和决定性环节。模型与实现是认识与实践的一种具体体现,在计算学科中,它反映了抽象、理论和设计3个过程的基本内容。模型与实现包括建模、验证和实现3方面的内容。建模主要属于学科抽象形态方面的内容,模型的验证主要属于学科理论形态方面的内容,模型的实现则主要属于学科设计形态方面的内容。系统(System)和子系统(Subsystem)系统可以形式化地定义为:S=<A,R>其中:A表示系统S中所有元素的集合;R表示系统S中所有元素之间关系的集合。一个大的系统往往是复杂的,它通常可以划分为一系列较小的系统,这些系统称为子系统。子系统可以形式化地定义为:Si=<Ai,Ri>其中:SiS;AiA;RiR。结构(Structure)和结构分析(StructureAnalysis)所谓结构是指系统内各组成部分(元素和子系统)之间相互联系、相互作用的框架。结构分析的重要内容就是划分子系统,并研究各子系统的结构以及各子系统之间的相互关系。层次(Hierarchy)和层次分析(HierarchyAnalysis)层次是划分系统结构的一个重要工具,也是结构分析的主要方式。系统的结构可以表示为各级子系统和系统要素的层次结构形式。一般来说,在系统中,高层次包含和支配低层次,低层次隶属和支撑高层次。明确所研究的问题处在哪一层次上,可以避免因混淆层次而造成的概念混乱。层次分析的主要内容有:系统是否划分层次,划分了哪些层次,各层次的内容,层次之间的关系以及层次划分的原则等。环境、行为和功能系统的环境是指一个系统之外的一切与它有联系的事物组成的集合。系统要发挥它应有的作用,达到应有的目标,系统自身一定要适应环境的要求。系统的行为是指系统相对于它的环境所表现出来的一切变化。行为属于系统自身的变化,同时又反映环境对系统的影响和作用。系统的功能是指系统行为所引起的、有利于环境中某些事物乃至整个环境存在与发展的作用。状态(State)、演化(Evolution)和过程(Process)状态是系统科学中的基本概念之一,它是指系统的那些可以观察和识别的形态特征。状态一般可以用系统的定量特征来表示,如温度T、体积V等。演化是指系统的结构、状态、特征、行为和功能等随着时间的推移而发生的变化。系统的演化性是系统的基本特性。过程是指系统的演化所经过的发展阶段,它由若干子过程组成。过程的最基本元素是动作,动作不能再分。常用的几种系统科学方法系统分析法是以运筹学和计算机为主要工具,通过对系统各种要素、过程和关系的考察,确定系统的组成、结构、功能、效用的方法。系统分析法广泛应用于计算机硬件的研制和软件的开发,技术产品的革新,环境科学和生态系统的研究,以及城市管理规划等方面。信息方法是以信息论为基础,通过获取、传递、加工、处理、利用信息来认识和改造对象的方法。常用的几种系统科学方法功能模拟方法是以控制论为基础,根据两个系统功能的相同或相似性,应用模型来模拟原型功能的方法黑箱是指内部要素和结构尚不清楚的系统。黑箱方法就是通过研究黑箱的输入和输出的动态系统,确定可供选择的黑箱模型进行检验和筛选,最后推测出系统内部结构和运动规律的方法。整体优化方法是指从系统的总体出发,运用自然选择或人工技术等手段,从系统多种目标或多种可能的途径中选择最优系统、最优方案、最优功能、最优运动状态,使系统达到最优化的方法。例6.1科学的分类根据科学知识本质特征的不同,我国著名科学家钱学森开创性地将科学划分为工程技术、技术科学、基础科学和哲学4个层次。4个科学层次是相互联系、相互作用的。其中,工程技术泛指一切应用和技术领域,技术科学是为工程技术提供工程理论的科学;基础科学是揭示客观世界运动规则和本质关系的科学,哲学是对科学知识总的概括,是最高一层的科学。例6.2生命系统美国心理学家米勒(S.Miller)把生物圈看作是一个生命系统,他认为一切活着的具体系统都是“生命系统”,并将生命系统划分为7个层次,即细胞、器官、生物体、群体、组织、社会和超国家系统,以及19个关键的子系统。20世纪50年代,米勒创立了一般生命系统理论,该理论对解决生命世界的统一性问题有十分重要的意义。例6.3化学元素周期表进入19世纪后,由于化学分析方法的改进,到1869年,人们已经发现了63种化学元素。随着新元素发现的增加,以及对这些元素性质的更多了解,人们反而对眼前纷繁复杂的化学世界产生了一种迷惑:难道世界上的化学物质就是这样杂乱无章地凑到一起的吗?为了寻找化学元素之间的内在联系,许多科学家开始致力于这方面的探索。1869年3月,俄国化学家门捷列夫发表了《元素属性和原子量的关系》的论文,首创了化学元素周期表,揭示了化学元素性质呈周期性变化的内在规律,并指明了发现新元素的方向。例6.4整数当把整数看作是一个系统时,根据等价关系,可以将整数划分为若干互不相交的子集。可以将整数划分为奇数和偶数。再比如,若以3为模,可将非负整数S划分为下面3类具有同余关系(同余关系是一种等价关系)的集合S1、S2和S3。若余数为0,则具有同余关系的数据构成第一个集合:S1={0,3,6,…,3n,…}。若余数为1,则具有同余关系的数据构成第二个集合:S2={1,4,7,…,3n+1,…}。若余数为2,则具有同余关系的数据构成第三个集合:S3={2,5,8,…,3n+2,…}。例6.5计算机网络为了解决复杂网络协议的设计问题,国际标准化组织(ISO)采用系统科学的思想,定义了现在被广泛使用的开放系统互连模型(OpenSystemInterconnection,简称OSI),该模型将整个网络协议划分为7个层次,物理层、数据链路层、网络层、运输层、会话层、表示层和应用层,从而有效地降低了网络协议的复杂性,推动了网络技术的发展。第6章计算学科中的系

统科学方法6.2结构化方法结构化程序设计方法的形成结构化方法起源于结构化程序设计语言。在使用SP之前,程序员都是按照各自的习惯和思路来编写程序,没有统一的标准,这样编写的程序可读性差,更为严重的是程序的可维护性极差,经过研究发现,造成这一现象的根本原因是程序的结构问题。结构化程序设计方法的形成1966年,C.BÖhm和G.Jacopini提出了关于“程序结构”的理论,并给出了任何程序的逻辑结构都可以用顺序结构、选择结构和循环结构来表示的证明。在程序结构理论的基础上,1968年,戴克斯特拉提出了“GOTO语句是有害的”的问题,并引起普遍重视,SP逐渐形成,并成为计算机软件领域的重要方法,对计算机软件的发展具有重要的意义。伴随着SP的形成,相继出现了Modula-2、C以及Ada等结构化程序设计语言。结构化设计方法的形成结构化程序设计需要事先设计好每一个具体的功能模块,然后将这些设计好的模块组装成一个软件系统。接下来的问题是,如何设计模块。源于结构化程序设计思想的结构化设计方法就是要解决模块的构建问题。1974年,W.Stevens、G.Myers和L.Constantine等人在《IBM系统》(IBMSystem)杂志上发表了《结构化设计》(StructuredDesign)论文,为结构化设计方法奠定了思想基础。此后这一思想不断发展,最终成为一种流行的系统开发方法。结构化分析方法的形成结构化设计方法建立在系统需求明确的基础上。如何明确系统的需求,就是结构化分析所要解决的问题。结构化分析方法产生于20世纪70年代中期,最初的倡导者有TomDemarco、EdYourdon等人。结构化分析在20世纪80年代又得到了进一步的发展,并随着EdYourdon于1989年所著的《现代结构化分析》(ModernStructuredAnalysis)的出版而流行开来。现代结构化分析更强调建模的重要性。结构化方法遵循的基本原则抽象原则:注重把握系统的本质内容,而忽略与系统当前目标无关的内容,分解原则分解原则是结构化方法中最基本的原则,它是一种先总体,后局部的思想原则。在构造信息系统模型时,它采用自顶向下,分层解决的方法。模块化原则模块化是结构化方法最基本的分解原则的具体应用,它主要出现在结构化设计阶段中,其目标是将系统分解成具有特定功能的若干模块,从而完成系统指定的各项功能。第6章计算学科中的系

统科学方法6.3结构化方法的核心问题结构化方法的核心问题需求分析是系统分析的第一步,它的主要任务是明确用户的各种需求,并对系统要做什么作一个清晰、简洁和无二义性的文档说明。需求分析阶段的用户一般是高级主管、人事主管和执行官,且基本上每个人都不直接参与新系统的开发。环境图是数据流图的一种特殊形式。环境图模拟系统的一个大致边界,并展示系统和外部的接口、数据的输入和输出以及数据的存储。事件列表是发生在外部世界,但系统必须响应的叙述性列表。事件列表是对环境图的一个补充。行为和功能模型SD的主要任务就是要在系统环境模型的基础上建立系统的行为和功能模型,完成系统内部行为的描述。实现系统行为和功能模型的主要工具有:数据字典、数据流图、状态变迁图和实体-联系模型等。(1)数据字典:是一个包含所有系统数据元素定义的仓库。数据元素的定义必须是精确的、严格的和明确的。一个实体一般应包括以下几个部分的内容。①名字;②别名;③用途;④内容描述;⑤备注信息。(2)数据流图数据流图是SA和SD的核心技术,它采用面向处理过程的思想来描述系统,它是一种描述信息流和数据从输入到输出变换的应用图形技术。(3)状态变迁图状态变迁图及时地描述了对象的状态,它着重系统的时间依赖行为。状态变迁图源于实时系统的建模,并被广泛应用于商业信息处理领域中。(4)实体-联系模型(ER)实体-联系模型被用来模拟系统数据部件之间的相互关系。实体-联系模型独立于当前的系统状态,并与具体的计算机程序设计语言无关。实现模型(1)处理器模型在多处理器系统和网络环境中,还需要将处理器分成不同的组,以便确定操作在哪个处理器上进行。(2)任务模型任务模型建立在处理器模型的基础之上,它将所有过程都划分成操作系统的任务。(3)结构图使用图形符号来描述系统的过程和结构的工具。结构图常由数据流图转换而来,它展示了模块的划分、层次和组织结构以及模块间的通信接口,从而有助于设计者和程序开发人员进行系统的设计。(4)模块设计在结构化方法中,SP阶段的目标就是将系统分解成更容易实现和维护的模块。SP方法要求每个模块执行单一的功能,而且不同模块间的依赖性要尽可能低。(5)实现阶段实现阶段包括系统的编码、测试和安装。这一阶段的产物主要是能够模拟现实世界的软件系统。除此之外,软件文档和帮助用户熟悉系统的客户培训计划也是这一阶段的产物。第6章计算学科中的系

统科学方法6.4面向对象方法面向对象程序设计语言的形成与结构化方法一样,面向对象方法也起源于面向对象程序语言。面向对象程序语言开始于20世纪60年代后期,第一个OOPL是挪威计算中心的KristenNygaard和Ole-JohanDahl于1967年研制的Simula语言,该语言引入了许多面向对象的概念,如类和继承性等。受Simula语言的影响,1972年,AlanKay在Xerox公司研制成功了Smalltalk语言,并对面向对象的一些概念作了更精确的定义。1980年,Xerox公司推出的Smalltalk-80语言标志着OOPL进入实用化阶段。20世纪80年代,OOPL得到了极大地发展,相继出现了一大批实用的面向对象语言,如ObjectiveC(1986年)、C++(1986年)、Self(1987年)、Eiffel(1987年)和Flavors(1986年)等。面向对象设计和面向对象分析的形成20世纪80年代中期,随着OOPL的推广使用,面向对象技术很快被应用到系统分析和系统设计之中。20世纪90年代,面向对象分析OOA和面向对象设计OOD开始成熟,一些实用的面向对象开发方法和技术相继出现。G.Booch提出的面向对象开发方法学,P.Coad和E.Yourdon提出的OOA和OOD等。面向对象方法的基本思想《大英百科全书》描述了“分类学理论”中有关人类认识现实世界普遍采用的3个构造法则:(1)区分对象及其属性;(2)区分整体对象及其组成部分;(3)形成并区分不同对象的类。面向对象思想正是根据以上3个常用的构造法而建立起来的。采用对象及其属性,整体和部分,类、成员和它们之间的区别等3个法则来对系统进行分析和设计,遵循了分类学理论的基本原理,符合认识来源于实践,又服务于实践的辩证唯物主义思想。类可以形式化地定义Class=<ID,INH,ATT,OPE,ITF>其中:ID——类名;INH——类的继承性集;ATT——属性集;OPE——操作集;ITF——接口消息集。面向对象模型及其特性(1)身份、状态、行为①身份是某一对象区别于其他对象的属性。所有的对象都有一个可以相互区别的身份。对象与对象之间相互区别是通过它们固有的独立的个体存在,而不是通过它们的属性来区分的,相同的属性不等于相同的身份(例如两个苹果,尽管有相同的形状、颜色或质地,但仍是两个独立的苹果)。②状态是指对象所有属性被附上值所具有的一种情形。③行为是指对象在其状态变化和消息传递过程中的作用及反应,状态可以定义为行为的累积结果,而行为则可改变对象的状态。(2)分类分类意味着有相同的数据结构(属性和状态)和行为的对象组成一个类,每个类描述一个类的集合。每个对象都是它的类的一个实例,实例的每个属性都有它自己的值,但是和类的其他实例共享相同的属性名和操作。(3)继承继承是指在类中基于层次的关系,共享属性和操作。一个类可以被细化为子类,每个子类继承父类的所有属性,并可以增加它独有的属性。(4)多态多态是指相同的操作在不同的类上可以有不同行为的特性。面向对象模型遵循的基本原则(1)抽象抽象是处理现实世界复杂性的最基本方式,在OO方法中,它强调一个对象和其他对象相区别的本质特性。对于一个给定的域,确定合理的抽象集是面向对象建模的关键问题之一。(2)封装封装是对抽

温馨提示

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

评论

0/150

提交评论