您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > 计算机科学与技术方法论ch03
第3章计算学科中的3个学科形态3.1一个关于“学生选课”的例子对“学生选课”例子的感性认识现给出“学生”和“课程”两个实体,它们的联系为:一个学生可以选修若干门课程每门课程可以被任一学生所选修请建立一个信息管理系统,以实现对“学生选课”这一信息的管理。概念模型用于信息世界的建模,是客观世界到信息世界的抽象。概念模型中的主要概念有:实体、属性、码、域、联系等。实体:客观存在并可相互区别的事物。属性:实体所具有的某一种特性。码:能惟一标识实体的属性集。域:属性的取值范围。联系:指不同实体集之间的联系。两个实体之间的联系分为:一对一(1:1)、一对多(1:N)、多对多(N:M)3类。E-R模型(Entity-Relationship)1976年,美籍华人陈平山(PeterPingshanChen)提出的用E-R模型来描述客观世界并建立概念模型的抽象方法。实体用矩形表示,属性用椭圆形表示,联系用菱形表示,实体间的联系有一对一(1:1)、一对多(1:N)和多对多(N:M)3种情况。要实现对客观事物的感性认识,必须将客观世界(在例中客观世界就是“学生选课”)抽象为信息世界。图3.1学生选课E-R图学生课程选修课程号课程名成绩学号姓名年龄性别nm关系模型概念模型不是机器世界所支持的数据模型,而是客观世界到机器世界的一个中间层次概念模型还需要转换成机器世界能支持的数据模型。在数据库领域中,数据库管理系统(DBMS)能支持的数据模型有:层次、网状、关系以及面向对象等数据模型。关系模型支持的是一种二维表结构的数据模型,它由关系数据结构、关系数据操作和关系数据的完整性约束条件三部分组成。其中关系就是一张二维表。概念模型(E-R图)——》关系模型转换:学生(学号,姓名,年龄,性别);课程(课程号,课程名);学生选课(学号,课程号,成绩)概念模型是对现实原形的理想化,因此,将概念模型直接转换成关系模型,还不能说完全达到了对“学生选课”这一客观世界的理性认识,换言之,就是所转换的关系模型有可能还存在问题。感性认识中存在的问题在学生(学号,姓名,年龄,性别)关系中增加系名、系主任等属性时,即学生关系变为(学号,姓名,年龄,性别,系名,系主任)时,便开始出现以下问题。插入异常——一个系刚成立,系主任已确定,但还未招学生时,则无法将系名和系主任的名字插入到数据库中(学生实体中学号为码,码不能缺)删除异常——当一个系的学生全部毕业,删除所有毕业生时,系名和系主任的名字也就删除了冗余太大——由于一个学生对应一个系名和系主任的名字,则该系系名和系主任的名字要重复。关系模式的形式化定义关系模式(R)是一个四元组,即R=U,D,dom,F其中:(1)U表示关系中所有属性的集合;(2)D表示属性集合U中属性所来自的域;(3)dom是属性到域的映射;(4)F是属性集合U上的一组数据依赖。关系模式的形式化定义由于D、dom与模式设计关系不大,可将关系模式简单地表示为一个二元组R=U,F1NF的定义:作为一张二维表的关系,每一个分量必须是不可再分的数据项,满足这个条件的关系模式就属于1NF。2NF的定义:若R∈1NF,且每一个非主属性不存在对码的部分函数依赖,则R∈2NF。在定义中,非主属性为不属于码的那些属性。3NF的定义:若R∈2NF,且每一个非主属性不存在对码的传递函数依赖,则R∈3NF。对“例子”问题的理性认识例子最初是属于1NF、2NF、3NF,但是当在学生属性集U中增加系名和系主任后,就出现了这样的传递函数依赖:学号(码)→系名,系名→系主任。因此,它就不属于3NF了。不属于3NF的所有关系模型都会出现插入异常、删除异常和冗余的问题。还必须依靠分解算法对模式进行分解,并满足3NF的要求。在数据依赖理论的指导下,可完成模式的分解任务。就例子而言,可以再划分一个关系,即系(系号,系名,系主任名),从而满足了关系模式规范化的要求,实现了对例子的理性认识。从概念模型向满足规范化要求的关系模型的转换,其实质是认识过程由感性认识(抽象)上升到理性认识(理论)的过程,这个过程包含两方面的内容:一方面是有关理论的建立;另一方面是如何在理论的指导下,在具体的设计中,实现对客观世界的理性认识。前者是对科学研究而言的,而后者是对工程设计而言的。“学生选课”系统的工程设计建立起正确的关系模型后,还要根据具体的关系数据库管理系统对该模型进行定义,下面,给出定义该模型的SQL语句:CREATETABLESTUDENT(SNOCHAR(9)NOTNULL,SNCHAR(16),SAGEINT,SEXCHAR(1));“学生选课”系统的工程设计CREATETABLECOURSE(CNOCHAR(6)NOTNULL,CNCHAR(22));CREATETABLESC(SNOCHAR(9)NOTNULL,CNOCHAR(6),GRADEINT);CREATETABLEDEPARTMENT(DNOCHAR(9)NOTNULL,DNCHAR(16),DEANCHAR(8));“学生选课”系统的工程设计接下来,便可以进行数据的输入、修改和查询,从而完成对“学生选课”的管理。一个简单的查询:查询选修了“数据库”课程,并且成绩在90分以上的所有学生的学号和姓名。SELECTSNO,SNFROMSTUDENT,SC,COURSEWHERECN='数据库'ANDGRADE90;系统运行以上语句后,即可在屏幕上显示所求的结果。第3章计算学科中的3个学科形态3.2抽象形态一般科学技术方法论中有关抽象形态的论述科学抽象是指在思维中对同类事物去除其现象的、次要的方面,抽取其共同的、主要的方面,从而做到从个别中把握一般,从现象中把握本质的认知过程和思维方法。学科中的抽象形态包含着具体的内容,它们是学科中所具有的科学概念、科学符号和思想模型。计算学科中有关抽象形态的论述《计算作为一门学科》报告认为:理论、抽象和设计是我们从事本领域工作的3种主要形态按人们对客观事物认识的先后次序,我们将报告中的抽象列为第一个学科形态,理论列为第二个学科形态。抽象源于实验科学。按客观现象的研究过程,抽象形态包括以下4个步骤的内容:(1)形成假设;(2)建造模型并作出预测;(3)设计实验并收集数据;(4)对结果进行分析。例子中有关抽象形态的主要内容及其简要分析在“学生选课”例子中,有关抽象形态的内容可以用集合的方式表示为:A={学生,属性,码,关系,学号,姓名,年龄,性别,课程,课程号,课程名,成绩,E-R图,“学生选课”E-R图,关系模型,“学生选课”关系模型,……}对“学生选课”问题的抽象(感性认识)就是通过建立“学生选课”的E-R模型和关系模型来实现的,这一步是实现“学生选课”系统的关键。第3章计算学科中的3个学科形态3.3理论形态一般科学技术方法论中有关理论形态的论述科学认识由感性阶段上升为理性阶段,就形成了科学理论。科学理论是经过实践检验的系统化了的科学知识体系,它是由科学概念、科学原理以及对这些概念、原理的理论论证所组成的体系。理论源于数学,是从抽象到抽象的升华,它们已经完全脱离现实事物,不受现实事物的限制,具有精确的、优美的特征,因而更能把握事物的本质。计算学科中有关理论形态的论述在计算学科中,从统一合理的理论发展过程来看,理论形态包括以下4个步骤的内容:(1)表述研究对象的特征(定义和公理);(2)假设对象之间的基本性质和对象之间可能存在的关系(定理);(3)确定这些关系是否为真(证明);(4)结论。例子中有关理论形态的主要内容及简要分析在与“学生选课”例子有关的关系数据库领域中,理论形态的主要内容可以用集合的方式表示为:T={关系代数,关系演算,数据依赖理论,……}在数据库理论的指导下,我们就可以在“学生选课”关系模型(感性认识)的基础上,建立对“学生选课”问题的理性认识,从而为“学生选课”管理系统的设计奠定基础。第3章计算学科中的3个学科形态3.4设计形态一般科学技术方法论中有关设计形态的论述设计形态与抽象、理论两个形态存在的联系设计源于工程,并用于系统或设备的开发,以实现给定的任务。设计形态和抽象、理论两个形态具有许多共同的特点。设计必须以对自然规律的认识为前提。设计必须创造出相应的人工系统和人工条件,还必须认识自然规律在这些人工系统中和人工条件下的具体表现形式设计形态的主要特征与抽象、理论两个形态的主要区别:设计形态具有较强的实践性、社会性、综合性。计算学科中有关设计形态的论述在计算学科中,从为解决某个问题而实现系统或装置的过程来看,设计形态包括以下4个步骤的内容:(1)需求分析;(2)建立规格说明;(3)设计并实现该系统;(4)对系统进行测试与分析。例子中有关设计形态的主要内容及简要分析“学生选课”一例中,有关设计形态的内容是指:在数据库理论的指导下,运用E-R图和关系模型,实现对例子的感性认识和理性认识,最后借助某种关系DBMS(如Oracle等),实现“学生选课”应用软件的编制。最终成果是“学生选课”应用软件以及相关资料(如需求说明书)。就例子而言,其内容可以用集合的方式表示为:D={“学生选课”应用软件,“学生选课”需求说明,……}第3章计算学科中的3个学科形态3.53个学科形态的内在联系一般科学技术方法论中有关3个学科形态内在联系的简要论述在计算机科学与技术方法论的原始命题中,蕴含着人类认识过程的两次飞跃,第一次飞跃是从物质到精神,从实践到认识的飞跃。这次飞跃包括两个决定性的环节:一个是科学抽象,另一个是科学理论。第二次飞跃是从精神到物质,从认识到实践的飞跃。这次飞跃的实质对技术学科(计算学科就是一门技术学科)而言,其实就是要在理论的指导下,以抽象的成果为工具来完成各种设计工作。计算学科中有关3个学科形态内在联系的论述3个学科形态的内在联系抽象源于现实世界。建立对客观事物进行抽象描述的方法建立具体问题的概念模型,实现对客观世界的感性认识。理论源于数学。建立完整的理论体系建立具体问题的数学模型,从而实现对客观世界的理性认识。设计源于工程。对客观世界的感性认识和理性认识的基础上,完成一个具体的任务;对工程设计中所遇到的问题进行总结,提出问题,由理论界去解决它。3.7计算机语言的发展及其3个学科形态的内在联系计算机语言在计算学科中占有特殊的地位,它是计算学科中最富有智慧的成果之一,它深刻地影响着计算学科各个领域的发展。不仅如此,计算机语言还是程序员与计算机交流的主要工具。因此,可以说如果不了解计算机语言,就谈不上对计算学科的真正了解。现在,我们从自然语言与形式化语言、图灵机和冯·诺依曼型计算机、机器指令与汇编语言、计算机的层次结构、虚拟机的意义和作用、高级语言、应用语言和自然语言的形式化问题等方面,介绍计算机语言的发展历程及其在抽象、理论和设计3个学科形态取得的主要成果,从而揭示计算机语言发展过程中3个学科形态的内在联系。3.7.1自然语言与形式语言自然语言的定义人类的语言(文字)是人类最普遍使用的符号系统。其最基本、最普遍的形式是自然语言符号系统自然语言是某一社会发展中形成的一种民族语言。例如,汉语、英语、法语和俄语等。自然语言符号系统的基本特征歧义性;不够严格和不够统一的语法结构。例3.2他的发理得好。他的理发水平高;理发师理他的发理得好。例3.3他的小说看不完。他写的小说看不完;他收藏的小说看不完;他是个小说迷。高级语言的歧义性问题高级程序设计语言其实也有语义的歧义性问题,高级程序设计语言存在较少的歧义性而已例3.4IF(表达式1)THENIF(表达式2)THEN语句1ELSE语句2。IF(表达式1)THEN(IF(表达式2)THEN语句1ELSE语句2);IF(表达式1)THEN(IF(表达式2)THEN语句1)ELSE语句2。形式语言人们在自然语言符号系统的基础上,逐步建立起了人工语言符
本文标题:计算机科学与技术方法论ch03
链接地址:https://www.777doc.com/doc-5254885 .html