硕士论文网第2020-09-21期,本期硕士论文写作指导老师为大家分享一篇
软件工程文章《软件工程硕士论文:逻辑在计算机软件工程技术中的应用》,供大家在写论文时进行参考。
我们知道软件开发可分为如下五个阶段:第一阶段是需求分析;第二阶段是软件设计(规范描述);第=阶段是代码生成;第四阶段是软件测试:第五阶段是软件维护。在软件开发的过程中,一个优秀的团队,如果具有一个优秀的软件工程师,对整个软件开发团队而言是非常重要的。因而,一个合格的软件工程师应该具有责任屯、逻辑思维、技术水平等,这对于软件开发的成败有着关键的作用。
绪论
―、选题的缘由及意义
目前现代逻辑中对软件工程研究领域中的人工智能与识别的深入研巧比较多,比如想要研究的软件工程技术中软件开发团队模式,我们可利用逻辑方法去分析其中的合理性,合理的定义整个开发组织中的各种角色、职责和技能要求,合理明确"谁"、在"什么时间"、做"什么"、"怎么做"和如何评测等内容,不断改进软件团队的生产效率和软件产品质量レッ此对软件工程中软件领域建模进行深入研究,可类比于数学建模,选择几个经典领域比如说高考阅卷系统、校园卡建设、地铁管理系统、环境评价体系等的一个或几个进行对软件领域建模。数理逻辑与计算机的结合是现代逻辑学发展的第一次转向。上世纪40年代,冯诺伊曼在从事电子计算机的研制时,把30年代中数理逻揖的成果特别是图灵机的成果充分加以吸收,从而为现代电子计算机的研制做出了开创性的贡献。包括图灵机理论在内的可计算性理论现在已成为整个计算机科学的基础理论,是不可缺少的工具。数理逻辑的成果推进了计算机科学的发展,同时,数理逻辑也随着计算机科学的发展得到广泛普及。、当前,逻镇研究正在经历第二次转向一认知转向。逻辑研究与认知科学相结合起源于当今计算机科学发展的需要。当前计算机科学发展进入了知识处理和智能模巧领域,各国科学家们正致力于研究具有人类智能的第五代计算机,这种计算机能够模拟人的各种感知レッ应对外界的变化。由于当代科学对人脑研究还是处于黒箱阶段,不能揭示人脑内部活动的全部过程,因此,利用逻辑知识模拟其内部反应过程并此做成应变系统是不可能的。然而,尽管人们对人脑内部活动不了解,但却可W掌握它的外部反应。与此同时,一系列尚待解决的新问题和急需研究的新领域也不断突现。人们在上述方向上己取得的成果和未解决的问题己是逻辑学家所关注的热点,送一切暗示着逻辑学正在经历它诞生W来的又一次重要的变化:逻辑学的认知转向。上述交叉学科将带动逻辑学和认知屯、理学的发展,使它们为信息科学尤其是计算机科学的理论与应用提供方法。因而,说明逻辑在此研究具有重要意义。我们知道,计算机领域对于几个逻辑体系不同计算机或软件系统也存在着互连和兼容的问题,我们不能保证所有的软件系统可以兼容,如何进行协调?如何使其最大程度上兼容,如果不能兼容,软件系统可否自动予以调整,这些都是需要研究的问题。其实计算机逻辑语言并不多,大家在编写相关程序的时候是可以考虑兼容性的,但是有许多逻溝语言是不完备的,用来开发出来的程序具有许多漏洞,如果两种不同语言开发出来的软件可兼容,并且能够减少运行中的漏洞,提高运行的安全性,从逻辑语言相容的角度来考虑,从而提离编程效率。可以运用逻辑技术深入研究利用逻辑系统兼容性研究,更便于程序员开发设计软件,节省大量的人力、物力并且在后期的软件维护中,通过这些研究也便于改进软件。此外,本文课题也是2013年中国逻辑学会学术研究项目立项名单中青年项目(本人是主要参与者,排名第二);从应用的角度,交叉学科将带动逻辑学和其他学科的发展,使它们为信息科学尤其是计算机科学的理论与应用提供方法。用到计算机软件设计知识,又深深与当代逻辑发展和应用密切相连,这体现了学科间的交叉性和融合性,同时无论是对于逻辑研究还是对于市场分析研究,智能软件开发方向主要研巧以认知逻辑、非形式逻漫、数理還辑和人工智能的逻辑为工具,以人类知识表达为背景,结合具体学科的知识表达和推理特点,建构智能化推理的模型,开发具有实用性的智能软件,将人文社会科学的技术成果转化为生产力。通过此研究我们既要运用到数学建模方面知识,也要用到计算机软件设计知识,又深深与当代逻辑发展和应用密切相连,这体现了学科间的交叉性和融合性,同时无论是对于逻辑研究还是对于市场分析都具有非常重要的意义。本文从软件工程技术角度入手,可以说此项研究贯穿了软件工程技术一系列的方面,因而具有一定的理论意义。
二、国内外研究的现状
李未在《一个开放的逻辑系统中提到联合国教科文组织将逻辑学列为与数学、物理学、化学、生命科学等并列的屯个基础学科之一,其重要性不言而喻。@回顾它走过的历程,展望未来,它将是充满活力的。林作锋、戴汝为在《纯悴理性批判与人工智能》中提到计算机科学的发展使得人们有理由认为:对于任何一个知识领域,只要严格地给出它的表达方式和推理方式,我们便可利用计算机解决它的一些问题。在这一观点的支持下,20世纪中后期计算机科学的发展进入了知识处理和智能模拟领域。@国外一些学者提出的比如构造逻辑系统描述(高级)认知过程的特征;利用它们进行知识表达与处理和研制新型软件,这己成为逻辑学研究的主流方向。另一方面,数理逻辑尤其是Truign机理论的发展,启发人们用计算机隐喻来理解人类的信息加工过程,这为用屯、理学实验技术研究人的推理提供了条件;在20世纪70年代,人们终于有可能用实验手段来判定,人是否采用某些逻揖规则和模式进行推理,这使得人类第一次有能力运用科学的方法研究思维(高级认知过程)的形式与规律。从国外研巧趋势来看,冯棉在《逻靖科学,将充满活力》中展望中国逻辑科学未来的发展趋提到以下几个研究领域将会在中国逻辑学充满活力:1.认知逻辑:认知逻靖是现代逻辑学与哲学的认识论、认知屯、理学的交叉学科。它是逻辑学富有创新性的发展方向之一,推动逻辑学研究向认知方向的转化。2.自然语言逻辑:自然语言逻辑是逻靖学和现代语言学的交叉学科。3.自动推理和机器证明:自动推理和机器证明是逻揖学和数学、计算机科学的交叉学科,它试图借助计算机来实施推理和证明的自动化,使人们从复杂的、难胜任的逻辑推理中解放出来。4.逻辑哲学:逻辑哲学是逻辑学和哲学的交叉学科,是现代逻辑与现代哲学相互渗透、相互作用的产物。它从哲学的层面上对逻辑科学作整体的考察,关注逻辑的本体论承诺、逻辑真理的性质、逻辑与其他科学的区别和联系。综上,近年来在国内、国外的逻辑研巧领域中出现了一些新动向,即在普及攫辑知识的教学领域从系统地传授传统逻辑知识(国内称之为普通逻辑)、数理逻辑的同时,向教授包容多种推理方法的非形式逻辑转变;在科学研巧应用领域中逻辑研究从W数理逻辑为主的哲学逻辑扩展为与认知科学、计算机科学、语言科学相结合的应用逻辑研究。从统计结果来看,无论是以"计算机""人工智能"或"逻辑学"为关键词检索,都有数百条信息,由此可见,逻辑学与计算机之间的研究一直都是当今热口课题之一,特别是人工智能方面的研究。当然,其中专口关于软件工程与逻辑学的研究,几乎没有。诸多论述都是从某一具体学科视角出发而论或者从某个方面,也有把几种学科之间结合起来的,但没有专口关于软件工程中逻揖学应用的研巧。"尽管软件工程有着许多不同的定义,在这里还是引用Fritz Bauer 1969年的基本定义:软件工程是建立和使用合理的工程化原则来获得经济的软件,并且是在实现中是可靠有效的。"通过软件工程的定义,软件工程所涉及到的知识点比较多和杂,因而,本文所研究也是从一个视角入手,着重分析了逻辑学在计算机软件工程技术中的应用。
第一章 软件工程技术中的软件部分生命周期逻辑的应用
对于软件工程技术而言,如何提高软件在各个阶段的工作效率至关重要,而对于软件的描述,软件的管理W及软件的文档等方面的研巧,也是软件工程技术研究的主要内容之一。从方法、工具、过程来看,也即我们可以从软件工程的^要素来展开研巧。我们通过逻辑学中的类比法,可W把软件工程的各个生存周期,看成是人的生命周期。人首先从婴儿-幼儿时候开始,而软件也一样,首先从定义开始,在此阶段我们会涉及到问题的定义,可行性分析等,如何对一款软件进行需求分析并对其定义,在后期软件开发和维护中非常关键;其次,人经历了从儿童-少年-中年,这个阶段可以看成是软件开发的阶段,在此阶段我们依旧要学会从需求分析入手,然后到概念设计,随后是详细的设计,此外还要通过编写代码,进行测试,最后是对软件进行发布;在这样一系列的软件过程中,我们不难发现,无论设计哪款软件,首先都需要从问题的确认和范围的角度入手,这时候,我们首先应该分析一下市场的需求,也即:开始需求分析。在得出需求分析结果的同时,我们才能够进一步的通过一些方法来辅助我们获得想要的实验数据,W此来对这个软件进行可行性和有效性的分析,关于可行性和有效性的分析我们能够结合逻辑学中的可行性和有效性的分析来理解。下面将具体阐述:我们知道在逻辑学中检验一个真值函项模式的有效性和一致性的时候,我们通常是对真值函项式进行真值分析,在真值分析的时候,如果每种情况下,得出的结果都是真的,那么这个时候我们就认为它是有效的或说是一致性的;如果在每种情况下,得出的结果都是假的,那么这个时候我们就认为它是不一致的。其次,我们对有效性的证明的时候,当遇到一种情况是假的,那么我们对有效性的证明就可以停止。综上,我们也可把逻揖学中对有效性或一致性的检验方法运用到需求分析中,我们在需求分析的时候,如果提出的每个步骤都符合用户需求,那么我们可以认为这个分析是正确的。反之,如果我们对每个步骤都不符合用户的需求,那么我们则认为这个分析是错误的。当然,如果在需求分析的时候,如果出现一种情况是不符合的,这就可以继续完善,不一定要放弃这个方案。这也是与逻猜学中对真值函项判断的有所不同的。
一、软件定义阶段巧巧的应用
在软件定义阶段,主要有以下三个方面:首先是问题定义,其次可行性分析,最后是立项或签订合同。我们知道一个典型的范围描述有下几点:客户范围约束;开发者范围约束。我们知道在设计某个软件的时候,我们不可避免的需要考虑它的市场价值,因而软件的经济性和有效性也一直是我们需要考虑的问题。这时候我们可以选用一些简单的,容易实现的一种方案来实现。由此可见,对于软件的开发者而言,在软件的这样一个过程中,需要明确的知道软件需要做什么W及不需要做什么,这样才能在设计软件的时候知道出发点以及目标,而不是盲目的追求功能的实现和运行,不考虑有些功能的必要性和有效性。所以在巧期设计出一个合理精确地范围文档在软件开发过程中是非常重要的。如果一开始所设计出的文档,语义不清,表达内容模棱两可,这就会造成不必要的麻烦。例如:当某医院需要一个医药管理软件,这款软件的部分功能是病人也能查询到医药的价格,但是不能查看库存或者盘点药品等功能。而歡件开发者在设计的时候由于一开始对该医院所需求的软件定义不明确,或者是因为该医院在表述该软件功能的时候对这款软件的实现表述不明确。最终导致的结果是:设计出来的医药管理软件,病人根据他们个人信息登录进去也能查看到该医院医药的库存等方面的信息。这种由于一开始的表述不精确,给双方都造成了麻烦。下面我们先通过了解逻揖学中如何对概念进行概括和限制,再通过对比,知识的迁移运用到软件定义阶段。在逻辑学中,我们在对概念进行描述的时候,会用到概括和限制这两种方法,同样这样的两种方法也适用于软件工程需求分析阶段文档的描述。我们首先要先了解概念的概括和限制的具体用法,这样才能准确的把握概念的内涵和外延。如何对一个概念的内涵或外延进行增加或缩小呢?这是接下去我们要研究的问题。我们常说要有正确的逻揖思维,而正确的逻揖思维就需要我们对概念有所了解,也即需要概念明确,我们在概念明确的基础上,才能准确的把握概念的內涵和外延。那什么是概念的内涵呢?在逻辑学中,对其定义是反映对象本质属性的概念。对于限制而言,字面上理解是缩小其范围。那么在逻辑学中如何理解呢?逻辑学中有两种概念:种概念和属概念。我们把表示范围大的概念称为属概念,把另一个表示范围小的概念称为种概念。而逻辑学中对于限制的定义,首先需要判断我们所需限制的概念是否具有种属关系。也就是说范围小的概念和范围大的概念之间需要存在着种属关系。简言之我们的限制是把范围大的概念也即属概念,通过限制变成范围小的概念即种概念。也即限制是通过增加内涵,缩小外延,从属概念得到其种概念的逻辑方法。上述,我们知道内涵是揭示概念本质的,那么对于概念的外延,我们用什么来揭示呢?此时,逻辑学中我们把它称为划分。
二、领域建模逻辑的应用
在逻辑学中,任何概念都可W看成"类概念",可W说概念是思维的形式,承载着相应的思维内容,同时理性认识的基本形式也即概念。概念与语词或词组有一定关系。逻辑学中有W下几类概念:第一种肯定概念和否定概念,任何事情都是相对而言,这两个概念也一样,它们是根据概念所反映的对象是否具有某种属性来区分。其中肯定概念又称为正概念,.而否定概念又称为负概念:第二种是普通概念和单独概念,其中单独概念的外延分子=1,是指1个对象,即独一无二的事物、专名或摹状物,而普通概念则是外延分子>=2,也指一类对象、形容词或动词等。从这两类对象而看,它们是根据反映对象数目不同来划分的。第王种是集合概念和非集合概念,我们把反映集合体的概念称为集合概念,反么,不反映集合体的概念则称为非集合概念。我们把由两个或两个W上的个体经组合构成的统一整体称为集合体。综上,可看出上述三种概念的分类是根据毎个不同概念的内涵或外延在形式上的共同点进行划分的,因而概念的内涵或外延也反映出概念的本质。它们的两个特点分别从量和质两个方面来说明概念。外延从字面上理解,就说明了概念所适用的范围,而内涵则代表着这个概念所特有的属性。在计算机软件工程中的领域建模就可W运用到上述知识,领域建模是为了过渡到类图建模的,通过分析它,更好的帮助我们了解领域建模。在领域建模中有个问题域,这个问题域是研究的是相关事物或概念对象。我们通常会运用图形来表示问题域里对象静态模型。其中在领域模型中,关于它的描述主要有W下几点:概念类、概念类的属性以及概念之间的关联。而关于它的表达也是从H个方面入手;符合、内涵、外延。首先从符合来讲,就是把领域类中的图胖或单词称为符合;而内涵则是对领域类的定义,和上述逻辑学中内涵有共同点,其中此时的外延就是对领域类定义的一组事例。举个例子:对于某销售场景的领域建模而言,其中包括概念符合有Sale、date和time,概念的内涵为一次销售是购买交易事件,其有一个时间和日期,而概念的外延可从是是Sale-1、Sale-2、Sale-3。由此可见,逻辑学中的概念在领域建模中也有应用,我们学会对概念外延的划分,能够帮助我们更好的理解领域建模中的概念的外延,而内涵我们也能利用前面所了解到的种属关系,进行限制或者概括,这样能够更好的帮助我们来理解领域建模的内涵,此处就不举例子一一说明。
第二章 软件开发阶段逻辑的应用
一、需求分析阶段的应用
二、软件设计(规范描述)的应用
三、代码生成中的联系
四、软件测试阶段的应用
五、软件维护中的应用
第三章 软件项目管理中逻辑的应用
一、软件开发团队逻辑的应用
二、還辑方法在软件开发团队中的应用
结语
本文在一方面通过对计算机软件工程中的部分生命周期各个阶段进行研究,发现其与逻揖学之间的联系,并且通过列举一些事例作为解析这些应用之间的关系,以便更好的说明逻辑学在其中的应用,并岛在软件开发阶段中有涉及到逻揖应用的方面也做了比较和拓展。此外,在另一个方面,本文选取软件开发中其他软件工程技术为视角,详细说明了一些逻辑方法在软件开发过程中,特别是对于开发团队的一些应用。分别说明了一堅逻辑方法在软件开发团队中的应用,更加详细的论述了逻辑学在计算机软件工程中的作用,强化了逻辑学应用。同时,通过此文,不难发现逻辑学与众多学科之间的交叉关系,在科学决策的时候与管理学有联系、在领域建模的时候与数学有联系、在实际应用时候与计尊机有着密切的联系,因而本文着重从逻辑学的应用方面论述其重要性。逻辑学中特别是数理還辑在人工智能方面的研究也是当今的重点之一,由于相关知识储备不充分,就没有在这方面进行展开讨论,其中的代码编写方面也是粗略的进行了比较,没有深入研究,因此,本文在这些方面有待进一步考虑。综上,跨学科的研究需要不断的进行知识的积累,逻辑学与计算机中的密切相关,在软件工程技术中也有着重要的应用价值。
以上论文内容是由
硕士论文网为您提供的关于《软件工程硕士论文:逻辑在计算机软件工程技术中的应用》的内容,如需查看更多硕士毕业论文范文,查找硕士论文、博士论文、研究生论文参考资料,欢迎访问硕士论文网软件工程栏目。