侯慧杰
(山东省菏泽市成武县职业中等专业学校,山东菏泽 274200)
现在的软件工程各项研究逐渐增多, 现代的逻辑学运用在计算机软件工程领域也是较为常见的。 比如说软件工程技术需要运用到逻辑学中的合理分析是对软件的开发的有效保障。
运用学科的交叉性可以帮助其他学科和逻辑学的共同发展,在运用信息科学时,学科的交叉性能够补充计算机的知识理论体系,并提供科学可行的方法。在市场的分析研究上和逻辑的应用研究上都包含着各个学科上的交叉运用。
对于软件工程技术来说, 如何在各个程序阶段提升软件的运行效率是非常重要的。 如何描写和管理以及对软件进行文档管理, 这些都是软件工程技术需要研究的内容, 软件工程开发的方式和手段都是从各个要素出发。 在逻辑体系中,应用类比的方法,把软件工程看作是软件的一个个生存周期, 或者也可以类比成人的生长周期。比如说在婴幼儿阶段,软件也像人类一样从定义和设计出发,分析其可操作性和可开发性。比如说一款软件的开发是需要研讨和分析的, 尤其对于后期的软件开发及维护都比较重要。 人的发育阶段是青少年时期和中年时期, 就可以将软件的开发阶段作为类比,由于这一阶段的各项内容都需要进行研究和分析,还需要对定义进行检测和设计。也包含了编程的过程和是否通过,并在测试完成后在各大平台发布软件。
对于软件进行下定义包含着以下几个重要过程:定义内容、分析其是否可行、合同的立项和签订。 在设计某个软件必须要考虑的是它是否具有市场价值,在方案选定时必须要选定简单且容易实行的目标。 对于开发者来说, 在设计软件之前必须要明确软件的可实施性和不可实施性的具体内容, 这样才能知道软件的设计立足点在哪里。不可盲目追求过多的功能,合理性是最重要的。 在软件的开发过程中需要划定设计软件的合理范围并建立文档。例如,在某大型超市里需要一款商品管理软件, 软件的功能是帮助消费者查找商品的具体分类区和具体价格。 如果开发者对于这一出发点把握准确,则不会出现一些不必要的麻烦,所以将逻辑学概念运用到对软件的定义中来是非常有必要的。
任何定义在逻辑的应用领域范围内都可以看作是一类概念,也可以说定义只是思考的一种方式,它记载着思维的内容, 也是对理性价值观展现的一种基本方法。 第一,在逻辑学方面将概念主要分为正向和负向的,它们并不随时间做改变,区别是在于定义对象的不同,和属性上的不同。第二,单独概念是单指一个对象,也就是说有专门的事物、专用的名词都是独立的个体。相对于单独概念来说,普通概念指的是形容词、动词以及对象, 这两者是有反映对象数目上的差别并对二者进行区分。 第三,是对于集合和非集合的概念也不同,集合的概念是反应集合体, 而非集合的概念是指不反映集合体。 集合体就是一个个体包含了两个或两个以上的部分组成一个整体。
内涵是概念的独有特性, 而外延则是概念所界定的适用范围进行领域建模。 在计算机软件工程中的领域建模中,就可以运用到上述所说的各种逻辑学知识,帮助建立领域模型。 在领域建模中存在着一个问题范围, 那就是对于相关的事物或者是个体的研究问题范围中的研究对象,通常以图形的方式进行限定。领域建模主要包含概念和概念之间、 概念的属性之间和各大类概念之间所存在的联系。 所以说逻辑学的概念也可以运用到领域的建立模型当中, 我们过去所认识到的种属关系也可以运用到领域建模中去。
一般来说软件开发主要分为如下几个阶段: 用户需求、设计软件、编写程序、测试软件和后期维护。下面来说说,逻辑学在这几个方面的应用。
做软件设计第一步我们需要根据市场用户的需求来设计软件。 通过用户对于软件的需求描述进行目标的确认并做出细化, 且都要以文字的形式记录到文档中,形成一个描述性范围文档,这一步需要详细且精确的记载。在设计软件的过程中用户的需求极其重要,在细化用户需求的程序中, 要运用大量的时间来进行反复探究。若不愿意花时间进行研究,后期可能会造成用户的不满意和软件设计的失败。 这一问题是大多数的新手软件工程师不注重的问题。 假如产品的设计并没有达到用户的预期既浪费了人力、物力,也对整个团队造成比较大的麻烦, 所以在用户需求的描写过程中设计人员不可独断专行,需要比对大量的数据,结合实例进行分析, 还可以采用图形化手段对其进行分析和整合。并在软件的使用说明中尽量做到定义清晰,避免出现矛盾之处。
从用户的需求出发, 将客户的想法转换成软件的过程是将非形式化的想法转换成软件形式的过程。 我们需要考虑两方面,一是软件转换软件需求的转化,会形成一种软件体系结构。由于需要在这个时期,确认系统的端口以及全局数据的模拟结果和数据库形式,这可以叫概念的设计;二是需要对各个模块进行算法,在局部的架构中, 可以运用合适的手段将结构进行算法的描述和分析,这叫作详细模拟设计的阶段。
软件是需要将用户的需求和软件的使用方式进行描述,它的作用就是说明,设计系统的这一阶段就是在完成这个目标。 计算机科学和数理逻辑相结合能够帮助人类的思维进行分化并转换成简单的运算变利用计算机进行模拟。计算机的原理是要通过程序的编写,而程序的编程,则需要运用数理逻辑进行设计。数理逻辑的运用既能够帮助在计算过程中发生避免发生错误运算,产生错误结果,以及寻找出错误来源,并加以修正。
通过编写程序中代码的产生, 可以看出计算机和逻辑学之间的密切联系。 常见的在命题逻辑中有几种专用名字,比如说真值、等值。 在逻辑中运用主要是靠对于真值的判断。若需要对两种真值的情况做出判断,就可以采用真值表法。 经过计算可以得到这两种真值的情况是否相等。 如果相等则表现为真,如果不相等,则表现为假。 那么在计算机中,是如何应用的呢? 比如说在登录程序上输入密码,若和这个程序密码相同,那么就为真,则登录成功。如果输入的密码和这个程序密码不相符,那么就为假,则登录不成功。 这种方式可以具体应用于账户的安全上, 若密码连续错误输入三次以上则账户暂未锁定。 或者是在购物时未及时完成付款,后期再付款时会发现还需再次登录账户。此种方法保证了账户的安全,这几种程序从逻辑学角度出发,可以看到在日常生活中, 我们必须要使用软件规范说明和验证方法。将优秀的系统方法转换为程序,这就属于自动程序的研究方面。
测试软件是完成了所有的程序设计后所开始的步骤。在软件工程的软件测试中,测试人员的主要目标是为了寻找出软件所存在的各种BUG,这部分只是需要测试人员找到问题,但不需要对其进行修改,只需交由测试经理的审批,再发送给开发人员进行修改。等开发人员修改问题完成后, 就需要完成一个回归原始问题的步骤。 其实就是将原有的问题再验证一遍是否解决掉。所以在软件的测试之前,测试人员必须要学习软件测试的相关技能。 只有了解到正确情况下功能的样子才能比对出软件的问题。比如说在网络的安全测试中,这一模块就需要测试员对于网络安全的专业知识进行掌握。在对软件进行测试时,需要熟练地运用简单的设置口令,并运用口令来进行业务,测试人员还需要熟悉业务的基本流程。 如果将逻辑学运用到计算机的测试中来, 就会很好地寻找到程序的问题和各个程序及过程之间的连接是否良好。 对于测试人员掌握整体基本流程有很好的作用,缓解软件开发人员的工作压力。
如今那个大互联网公司都设有后期维护运营团队, 如果发现软件运营当中出现问题会及时地进行记录和维护。 但是这种情况需要用户在使用软件的过程中发现问题且记录并反馈给后期团队。 这样后期的维护人员才会发现问题并进行修改, 但是因为软件的错误和不足是实际存在的。 如何能有效降低这种矛盾问题呢?如果通过逻辑学中的知识出发,使用软件的用户是想要开发人员能够及时地将软件中出现的问题和不足改掉。但是对于软件的后期维护人员来说,这种修复过程需要一段时间,这种过程就叫作软件的后期维护。但是维护过程是软件的生命周期组成中最长的一个过程。软件是否可靠也是靠后期维护才能保证的。这也需要开发员人员在前期的设计过程中拥有简洁的设计风格,才能在后期中进行维护时及时发现问题并解决。如今交流在我们的生活中非常重要, 同样在计算机中如何与计算机进行交流,则需要计算机语言来完成。所以如何运用好计算机语言建立一个良好的用户文档,这对于后期的发展以及维护都比较重要。
在软件开发的各个阶段都会发现不同部分与逻辑学有着密不可分的联系。 将逻辑学运用到计算机软件工程的开发中来, 能够对计算机软件工程的整体运用和发展起到一个非常良好的作用。