网络软件工程技术的发展研究
2021-10-23胡凡玮谢静思
胡凡玮 谢静思
计算机网络从出现以来就对人们的生产和生活产生了重要的积极影响,且社会正处在一个全新的环境之下,这种环境既是新的发展机遇,同时也是新的挑战。特别是2015年李克强总理开始提出“互联网+”的概念之后,软件在现实世界的应用逐渐深入,其规模和复杂性呈现出不断发展的态势。
一、软件工程技术的趋势
(一)迭代化
工作效率的保障是网络软件工程技术的核心内容与要求,对于软件工程人员而言,工作效率始终是密切关注的问题,因此软件系统的开发时间成为了控制管理工作的核心内容。为了缩短开发周期,迭代化开发成为了软件开发环节的重点,对于人员的协调能力和测试能力也提出了新的要求,逐渐形成了以敏捷为基础的导向方式。
对于一个项目来说,在为一个问题开发解决方案的过程当中会涉及到不同类型的活动行为,此时我们需要正确地分析那些需要解决的问题然后重新设计方案并收集需求,最终将这些需求转换在设计范畴之内。最后在对方案进行设计测试后活动结果,这一顺序相对自然。但如果要将规模进行扩大,那么所有的开发环节和测试环节都面临着某些关键问题。这要求我们利用迭代思想在计划内的每一个环节(或版本内容)进行验证和评估,从客观演示的范围内以减少项目可能存在的各类风险,建立一个更加完整的解决方案。
(二)持续性集成
持续性集成(Continuous Integration)是一种软件开发实践,目的在于验证集成的正确性并及早地发现错误的存在。开发人员在完成代码编写之后会向版本控制库提交这些代码,并且在提交之前会在本地展开一次私有构建确保代码修改不出现其它问题。此时集成服务器CI会一直对版本变更情况进行检测,一旦有变更情况产生,CI服务器就会在版本控制库选择代码然后到集成服务器上执行构建脚本进行软件编译、单元测试、代码检查、文档生成等。在完成此类工作之后CI服务器再根据构建结果进行反馈,包括提交某些BUG信息等,并继续监控代码变更情况等待下一次持续集成过程。
持续性集成的意义在于确保迭代开发环节的整体质量。现代网络软件工程行业变得更加多元化和复杂化,其中的開发业务也随之产生了改变,会更加关注需求和分析的相互作用。自动化的持续集成能够显著保障代码质量,并且在已有的配置管理模块当中完成集成和自动build的步骤,结合软件开发的具体要求展开检测并生成报表内容。对于专业化的软件开发人员来说,软件工程的规模化要求不断提升,应重视实践环节并规划已经开发完成的项目做好战略部署。
二、软件工程技术的实际应用
(一)逻辑应用
对于软件工程技术来说,如何保障软件在各个阶段的工作效率非常重要,对于软件描述、管理等各个方面的研究也是当前的工作重心。我们基于工作过程来分析可以将软件工程的不同生存周期视作为不同的发展阶段,在定义时会涉及到问题的可行性与需求分析,并且获得后期开发和维护过程的重点信息。在详细设计环节则会通过编写代码和测试的方式最终发布软件,并且从问题的确认和问题范围入手来综合评估后续的工作需求。如果有效性证明环节当中有一种情况是“假的”,那么对于有效性的证明也可以随之停止。综合来看,当相关的步骤可以符合用户需求时,则可以判定这一分析过程是正确的;反之,分析结果是错误的,需要继续展开完善过程。
1.软件定义阶段
在软件定义阶段,首先要进行问题定义然后再作出可行性分析。在设计开发某个软件的时候除去基本的开发要求和功能模块外,还应该考虑到部分功能的必要性和有效性。在项目初期,要准确地应用逻辑思维来完成具体的工作规划。例如对于管理系统设计来说,就需要对某个时间段使用的人数作出一定的限制,否则必然导致服务器压力过大,并且在登录人数过多时还要进行管理监督,包括开发者范围的约束和客户范围的约束。逻辑学当中任何概念都可以被视为是“类概念”,即概念是思维的形式并承担着相应的思维内容。
2.软件开发阶段
在软件的正式开发阶段,首要工作是做好需求分析,将各个数据之间的联系进行结合评估之后再选择图形化的方法做出描述。需注意的是如果我们需要获取直观的数据模型联系信息,那么就需要根据已有的信息得出用户的实际需求结论,在多方考虑要求下满足运行实践要求。在进行需求分析后,后续的工作则是规范描述应用,即将软件的需求实际转化为软件体系结构,在此阶段需要确定系统接口和数据库模式,在概念设计环节用适当的方法表示算法和数据结构的细节内容,这一阶段即我们所说的详细设计阶段。例如我们在进行网络购物时,如果已经确定订单但没有在规定时间内付款,那么很可能就需要重新登录验证信息,此时编写代码时就会有lockform代码,目的是对于某些长时间未登录的状态进行“系统锁定”。此类程序从逻辑学的角度来看就是通过验证的方式演化不同的程序,演绎过程当中的水平关系和垂直关系也是程序当中的逻辑关系。
3.软件测试阶段
在软件测试阶段是全部模块设计实现之后所进入的阶段,目的在于定位软件当中存在的各种BUG内容,并且在开发环节作出修改后回归至问题当中。所有的测试人员都要熟悉软件业务功能,才能以此为基础分析软件可能存在的各类缺陷。当然每个用户的需求会产生变化,因此在测试环节当中就应应用逻辑学的方法来强化彼此之间的沟通。
4.软件维护阶段
现阶段软件工程产品都需要进行维护,如果用户在使用过程当中出现了各类问题,那么就会展开反馈和维修。准确地理解软件设计者和使用者之间的矛盾问题至关重要,因此软件可靠性成为了关键因素。软件的运行需要硬件的支持,为了满足用户的需求,即便软件本身不出现故障,那么也需要对部分功能进行修改和调整,这说明计算机软件工程技术和逻辑学之间的密切联系,也证明了软件工程技术的逻辑应用价值。
(二)自适应应用
自适应策略执行阶段会按照被控制目标的特性作出调整,确定软件系统当中有哪些内容可以调整、如何支持自适应控制层并进行操作、如何正确地执行自适应。综合来看自适应阶段的应用是为了调整某些软件的参数与结构,其中参数调整是控制模块在运行时对系统参数的改变策略,设定软件当中的可配置变量数值来改变软件新维护,对于目标系统实现过程并不作出修改。而结构调整一般需要底层系统的支持,比参数调整更加灵活,但运行环节可能会有风险存在。而基于状态模型将某一阶段系统所处的状态和执行策略进行迁移之后,可以基于路径模型从系统运行层面来分析可靠性,并确定不同的代码执行路径是否会让系统的可靠性出现问题,基于所有构件的传播过程来对系统的整体性能作出判定。
在自适应应用环节模型的作用在于描述软件的结构、参数信息等,且描述软件形态结构和参数之后会利用流程思想确定单元之间的数据流关系(主要是调用关系),然后确定单元内部可以调整的参数。整体流程思想来源于面向服务的架构内容,组织web服务穿来执行服务,web服务的相互关系本质上属于数据流转发,因此需要通过参数控制的方法来调整调用过程,在模型当中建模之后确定自适应的结构参数来完成调用过程。在当前的软件系统当中,不同的软件单元共同协作完成系统服务,我们也可以以此为基础进行软件单元的过程描述,例如使用CompositeProcess和AtomicProcess评估组合过程。目标系统会提供不同类型的服务,多个建模可以描述不同的单元特征和行为模式,呈现出数据流的转化关系。
三、结语
计算机软件工程技术的发展实现了现阶段的技术创新,使得软件变得更加多样化以适应多层次的市场需求。技术发展模式的核心在于技术创新,创新发展会建立在已有的技术条件之上。软件工程技术在未来的很长一段时间内将扮演着社会发展的辅助者角色,拥有良好的发展前景和发展空间,软件工程师也需要确保服务过程和功能的优化方式,对软件做好综合应用。
作者单位:江西交通职业技术学院