前言:想要写出一篇引人入胜的文章?我们特意为您整理了计算机软件工程技术中的逻辑应用探讨范文,希望能给你带来灵感和参考,敬请阅读。
摘要:计算机与逻辑学之间存在着紧密的联系,学科之间的渗透是当代科学发展的一个重要趋势。本文主要探讨逻辑学在软件工程开发中的应用问题。由于软件工程技术所步及的内容比较广泛,因而,本文只是选取软件工程技术中软件部分生命周期以及软件开发阶段中逻辑的应用展开探讨。文章主要为了说明软件工程与逻辑学之间联系的必要性,并简单地阐述了论文选题的缘由和意义、以及国内外研巧的现状。从软件工程的概念出发,以需求分析作为切入点,再利用逻辑分析的合理性,主要结合了逻辑学中概念的内潘和外延的应用,通过对软件开发阶段软件的分析,分别从各个阶段出发,再次结合逻辑学中概念的限制和概括、种属关系认及真值函数的对比等方面进斤研巧,同时结合一些实例来进一步说明逻辑学在其中的应用。
关键词:软件工程;逻辑学;概念;逻辑方法
0引言
软件工程研究至目前表明,现代逻辑对于人工智能深入研究相对较多,例如软件工程技术在软件开发团队模式的研究,其合理性的分析主要利用逻辑方法进行,在整个开发组中的过程中,合理定义各种角色、职务以及技能需求,定义开发团队中的“某人”在“某时间”,做了“某事”,“如何做”等以及怎样测评这些内容。在发展软件团队的过程中,不断改进生产效率以及软件产品质量,深入研究软件工程中的软件领域建模,即数学建模。交叉学科的应用度可以影响其他学科以及逻辑学的进步,在信息科学的运用中,让其起到完善计算机科学理论,并提供应用方法。关于计算机软件设计的内同,紧密相关联逻辑发展以及应用,两者关乎融合,也体现了存在于其中的交叉性与容和习惯,另外,不管是逻辑研究还是市场分析研究,在研究智能软件的过程中都将认知逻辑、数理逻辑、非形式逻辑以及人工智能作为开发方向的逻辑工具,将主要背景定义为人类知识表达。融合现代学科的只是表达以及推理的特点,进行智能化推力模型的构建,开发的智能软件需要带有实用性,这在人文社会科学发展中,起到了技术成果转变为生产力的作用。在研究中,除了对数学建模方面知识的运用,也要使用于计算机软件设计知识,和逻辑发展紧密相连、应用密切,这就是所谓学科中间的在交叉与融合的过程。不管是对于市场分析,还是开展研究,这些都非常的重要。本文的选取角度是软件工程技术,这项研究可以说贯彻了软件工程技术一系列的内同,特别具有理论研究意义。
相对于软件工程技术,怎样在各个阶段提高软件的工作效率,十分重要,描述软件、管理软件还有软件文档等各方面的技巧研究,都是软件工程技术研究的部分。软件工程研发的方法、工具以及过程中看来,都需要从要素入手进行研巧的开展。在逻辑学中,使用类比法将软件工程看作是软件工程的每一个生存周期,也可以比喻成人的生命周期。从婴儿进化到幼儿的过程中,软件同人类是一样的,从定义出发,在阶段之中设计的问题,分析其可行性,一款软件怎么进行需求分析与定义,对于后期的软件开发以及维护都很重要;另外,从儿童成长到少年,再成长为中年,可以与软件开发阶段进行比较,这一阶段的研究依旧要着手于需求分析,还需要进行概念设计,并进行详细设计,与此之外还有编写代码的通过,在测试后,软件。
1.1软件定义阶段逻辑的应用
进行软件定义的过程中,有以下几个方面很重要,分别是:定义问题,分析可行性,合同的立项与签订。在典型范围的描述下,需要注意几点:初始需求的请清单;客户范围内的约束;开发者范围内的约束。在某个软件设计的过程中,必须要考虑其市场价值的。此时主要选用简单或者易实现的方案来达成目的。所以,相对于软件开发者来说,在软件的这一阶段里,必须明确软件的可以操作与不需要操作内容,这样才能明确软件的设计出发点与目的,并不是在盲目追求实现与运行各种功能,而忽略了功能对于软件的必要性与有效性。在软件开发过程中,设计一个合理精确的范围文档是非常关键的。比如:某医院需要一款医药管理软件,软件功能是病人可以通过其查看医药的价格,但不能查看库存与盘点药品的功能等。但是在设计之初,开发者对这一需求的定义不明确,那么就会造成这款软件的功能不明确。导致了设计出来的医药管理软件,不符合要求,也给双方造成很多麻烦。这就是因为设计初期不明确目的的影响。在逻辑学运用到概念中,在对比与运用中,完善软件定义阶段。
1.2领域建模逻辑的应用
任何概念在逻辑学中都能看作是“类概念”,也就是说,概念是思维的一种形式,它承载着相关的思维内筒,同时也是对理性认识的一种基本形式。概念,相关于语词和词组。在逻辑学的概念中,主要分为几种:首先,对概念的肯定或否定,不管对何时来说,这两者的概念都相同,主要根据概念反应的对象,进行属性的区分。当然这中间肯定概念与否定概念,也分别被称作正概念与负概念;其次,相对于普通概念,单独概念外延分子是1,指的是1个对象,也就是事物、专名与摹状物的独一无二面,相对于单独概念来说的普通概念是外延分子大于2,指的就是对象、形容词或者动词。两者看来,是根据反应对象数目差异进行划分的。第三,主要是关于集合与非集合的概念,主要是将反应集合体成为集合的概念,另外,非集合概念也就是不反映集合体的概念。个体涵盖了两个以及连个以上的组成统一整体,也就是集合体。综上所述,每个概念的不同内涵与外延划分的共同形式进行划分的上述几种概念,所以概念的本质是概念的内涵或者外延。这两者的特点说明的概念分别从量与质出发的。从字面上进行理解,外延也就是概念使用的范围,内涵只得是概念特有的属性。领域建模在计算机软件工程中都可以运用上面所说的只是,过渡到类图建模就必须分析领域建模,这也帮助了对于领域建模的了解。领域建模里,存在一个问题域,也就是对相关事务或者概念对象的研究。问题域之中的对象静态模型通常运用图形来表示。领域模型里面,主要描述有以下几点:概念之间、概念类的属性以及概念类之间存在的关联。从几个方面入手进行表达;分贝时符合、内涵与外延。第一,符合,指的是领域类里面的图片或者单词;第二,内涵,是定义领域类,与逻辑学内涵有着相同点,领域类定义其中的事例就是此时的外延。举例说明:在某个销售中,领域建模包含了sale、date和time,作为一次销售,这是一种购买交易时间,它具有时间与日期,但是外延则是从sale-1、sale-2、sale-3,所以逻辑学的概念也可以应用在领域建模中,这个内涵也是我们之前了解到的种属关系,在限制或者概括的过程中,可以通过其更好的理解领域建模内涵,这里也就不进行举例说明了。
2软件开发阶段逻辑的应用
通常情况下,软件开发氛围五个阶段:需求分析;软件设计;代码生成;软件测试;软件维护。接下来说明逻辑学就从这五个阶段中进行。
2.1需来分析阶段的应用
相对于软件需求分析,我们需要明白,设计软件到底需要满足用户的什么需求,用户在进行软件需求的描述中,需要与软件开发者进行协商,双方达成一致后,就需要一个描述范围的文档,这个文档需要良好的描述,并且还需要进行细化,每一项都必须精确,这个细化过程中,我们将它成为需求分析。在软件研发中,需求分析可以说非常重要。所以在分析需求的过程中,需要划分较多时间进行研究。如果不愿意花费时间进行研究,那么就会造成后期的返工与失败,这个问题也是大多数软件工程师初期不注意的,造成了软件设计成果与用户需要的软件不同,或者没有达到用户的要求。在浪费人力、财力以及物力的过程中,对开发团队和项目组都造成了很大的麻烦。所以,在进行数据描述的过程中,设计者不能单独考虑,需要结合各个数据,进行分析,通常采取图形化的方式进行描述,也可以直观的反应数据模型之间的关系。相当于逻辑学里面的欧拉图,通常可以用欧拉图来表示概念外延的关系。然而软件规格说明中,需要尽可能的做到清晰明了、完全外、避免矛盾以及二义性。
2.2软件设计(规范巧述)的应用
如何具体说明实现在计算机系统与软件中的内同?在上述规范化描述的过程中,可以看出是从需求到软件的一种设计,这个过程可以看做是非形式转化到形式,这种阶段我们一般从两种方面进行考虑,第一,软件需求转化成一种软件体系的结构。必须在这个阶段中确定系统接口、全局数据结果以及数据库模式,也可称之为概念设计,另外需要对模块进行算法的实现。在局部数据结构中,需要使用恰当的方式进行结构季节的算法表述与数据,也称其为详细设计阶段。软件需要一个分析需求以及描述阶段,主要作用是说明。系统设计阶段就是为了达到这一目的,而众所周知,数理逻辑与计算机科学具有很大的关系。数理逻辑主要是将人类思维进行分解,变成简单而机械的运算,利用机器进行模拟。这时出现了计算机与电子计算机。计算机在使用的过程中要进行程序设计。需要研究者有充分的数理逻辑训练,这样才能很好地从事这一类设计。在设计程序的时候,怎么保证程序正确,在计算过程中怎么防止错误计算情况及时的发现错误,并加以改正?这些都是关于程序设计理论非常根本与重要的内容,大多数认为,数理逻辑与这些内容关系很大。如果使用的是计算机语言来书写这种数理逻辑,那么就是数理逻辑应用在计算机。
2.3代码生成中的联系
下面我们通过代码的生成来看计算机与逻辑学的联系,我们都知道命题逻辑中的几种联结词,等值一般用表示,而计算机中的等值我们通常用来表示,对于逻辑中的运用主要是对真值形式的判断,当我们需要对两种真值形式进行判断时候,我们就可运用真值表法,通过计算得出这两种真值形式相等,则该表达式为真,如果通过计算这两个表达式的真值不相等,则该表达式为假,那么在计算机中又是如何的呢?对于下面的登陆程序而言,当你输入口令或输入密码正确的时候,它根据一开始设置的情况进行判断,如果登陆用户所输入的口令或密码与这个程序的口令或密码相同,那么就为真,其结果就是返回登陆成功,登陆到主界面;如果登陆用户输入的口令或密码与这个程序的口令或密码不相同,那么就为假,登陆不成功。当巧对于一个具体的购物网站而言,当用户在选择商品的时候,比如加入购物车的时候,如果超过一定的时限,还没有购买的话,就会失效,一下就有这3种代码的具体表述。我们可til拿计算机中的代码举个例子,比如登陆程序的各种关联,我们可以看到前台代码例如:当输入正确的用户名和密码的时候就会有Login登陆界面相关代码。在网购付款时,没有在规定时间内付完款,那么就会要求你重新登陆,这个时候在编写代码的时候会有个LockForm的代码,此功能是针对长时间未登录,系统被锁定。当然用户登录进去后,会看到一个主界面。在计算机中我们称之为:Mseteorm的代码。以上三个个程序,我们也可从逻揖学的角度来看,在实践中,我们不仅需要软件规格说明和验证,更希望有系统的方法把规格说明逐步演化成程序,即属于自动程序成(ASP)的研究领域。E在演绎过程中有两种关系即水平关系和垂直关系,而上述H个程序么间也存在着这样的关系,如果从垂直关系的角度来看,如果Login登陆界面和LockForm长时间未登录能够正确运行,LockForm长时间未登录和MasterForm登陆进去的主界面也能正常运行,那么LockForm长时间未登录能够正确运行和Maste将orm登陆进去的主界面也一定能够运行实现。至于水平关系,由于篇幅关系就不把其余剩下的代码一一列举出来,纵观这3个程序,不难发现它们都存在着函数的调用,会调用某个公共的函数。
3软件测试阶段的应用
软件测试是在软件的全部模块设计实现之后进入的阶段。对于软件工程中的软件测试我们知道,就它的整体而言其主要目的就是寻找软件存在的各种BUG,而测试人员只要找出来并不需要测试人员去修改,而是经过测试经理的审核,然后转给相对应的开发进行修改,开发修改完毕,会有一个回归问题的流程,所谓问题的回归就是将原先存在的问题,经过开发修改之后测试再次进行问题是否解决的一种验证。在测试么前,每一个测试人员都需要学习需要测试的软件的业务功能,只有在自己学会了正确的功能应该是什么样子的,才能对比出,软件存在的缺陷和不足,从而提出问题的所在。就比如对网络安全的测试这一块,就需要测试人员对网络安全的知识有所把握;在对网管软件进行测试的时候,就要知道设备测试时用到的简单的配置的命令,知道如何通过在设备侧通过命令来搭建业务,当然也是需要知道业务的基本的流程的,W及也要知道在网管进行业务的搭建,W及两者之间进行对比查看彼此的异同点来寻找BUG等等。很显然,在此时我们用逻辑学中的观察、在这个过程中存各种還餐衔接,有利于测试人员更好的掌握业务的基本流程,从而利于软件开发人员进行纠错和简化运算,提高效率。
4软件维护中的应用
现在科技产品一般都有维修站,一般如果当用户在使用某个产品的时候如果出现一些问题,如何及时反馈和维修,这时候就需要用户在使用软件的时候认真的记录下出现的问题,这样对于软件工程师后期对软件的维护和修改才能找到症结所在。既然软件的错误和缺陷是确实存在的,这种情况一般我们也避免不了。此时使用软件的用户和软件设计者之间就存在着一个矛盾,那么我们该如何避免这样的矛盾呢?这也能通过逻辑学里的一些小知识点来看,如何理解用户和软件设计者的矛盾问题,可对比得出比较科学的结论。作为使用软件的用户肯定希望能够尽快把软件的问题和缺陷而改掉,而对于软件设计者而言,改掉这些缺陷巧错误需要一定的时间。这样的一个过程,在软件工程中称为软件的维护,这样的一个维护过程从软件的生命周期来看,相对而言也是最长的一个周期。软件的可靠性也是其中比较重要的因素之一,这就需要软件开发人员有良好的程序设计风格。这样才能在软件开发的过程中更好的做起维护服务。在我们生活中,我们知道生活离不开交流,交流离不开语言,同样的我们为计算机编写程序,需要设计出计算机能看懂的语言。当然随着工作环境或者硬件环境的变化,有些机器语言的可移植性会变差,因而如何才能更好的把机器语言用到计算机中,我们需要一个良好的用户文档。这样对于后期的维护和发展比较好。
5总结
本文在一方面通过对计算机软件工程中的部分生命周期各个阶段进行研究,发现其与逻揖学之间的联系,并且通过列举一些事例作为解析这些应用之间的关系,以便更好的说明逻辑学在其中的应用,并在软件开发阶段中有涉及到逻揖应用的方面也做了比较和拓展。此外,在另一个方面,本文选取软件开发中其他软件工程技术为视角,详细说明了一些逻辑方法在软件开发过程中,特别是对于开发团队的一些应用。分别说明了一堅逻辑方法在软件开发团队中的应用,更加详细的论述了逻辑学在计算机软件工程中的作用,强化了逻辑学应用。同时,通过此文,不难发现逻辑学与众多学科之间的交叉关系,在科学决策的时候与管理学有联系、在领域建模的时候与数学有联系、在实际应用时候与计尊机有着密切的联系,因而本文着重从逻辑学的应用方面论述其重要性。逻辑学中特别是数理還辑在人工智能方面的研究也是当今的重点之一,由于相关知识储备不充分,就没有在这方面进行展开讨论,其中的代码编写方面也是粗略的进行了比较,没有深入研究,因此,本文在这些方面有待进一步考虑。综上,跨学科的研究需要不断的进行知识的积累,逻辑学与计算机中的密切相关,软件工程技术中也有着重要的应用价值。
参考文献:
[1]古乐,史九林编著.软件测试-技术概论[M].北京:清华大学出版化2004.
[2]葫飞,武胜君,杜承烈,等.软件工程基础[M].北京:窩等教育出版社2008
[3]黄锡滋.软件可靠性、安全性与质量保证[M].电子工业出版化,2002.
[4]李友仁.软件工程与软件质量分析[M].电子工业出版社,1987.
[5]汪定伟,王俊伟编著.智能优化方法[M].高等教育出版化,2007.
[6]江天攫编著.当代西方科学哲学[M].中国社会科学出版狂,1984.
[7]任晓明,桂起权主编主编,计算机科学哲学研究:认知、计算与目的性的哲学思考[M].北京:人民出版社,2010.
作者:耿玉 单位:曲阜师范大学信息科学与工程学院