计算机软件工程方法的进展研究

[复制链接]
作者: 遣诗怀 | 时间: 2024-4-26 03:10:13 | 其他|
0 77

2013

主题

2013

帖子

6039

积分

研究生

Rank: 9Rank: 9Rank: 9

积分
6039
发表于 2024-4-26 03:10:13| 显示全部楼层 |阅读模式
■ 王建钧
计算机软件工程方法处于不断变革、不断发展的进程之中,目前已经形成多种软件工程方法,在软件开发进程中发挥重要作用。每一类软件工程方法各有特色,在软件开发过程中,需要掌握各类软件工程方法的特征,并梳理软件工程的发展成果,促进软件开发提质增效。本文简要分析软件工程开发方式,并探讨软件工程方法的进展成果。
软件工程方法自从提出以来,处于快速发展阶段,具有理论与实际相结合的特征,显著提升软件开发工作的效率和质量。在不断发展的进程中,软件工程体系更加成熟,开发过程日趋规范,为软件行业发展、满足用户多元化的需求提供坚实支撑。当前软件工程仍然不断发展,探索软件工程方法的进展很有意义。
一、软件工程开发方式分析
(一)形式转化法
关于形式转化法,核心在于将要求规则转化为程序执行方法。明确需求概念和问题后,通过枚举重写方式进行推演枚举,并将这些问题分类转换。借助形式转化法,将概念性问题转化为具体的程序,实现“未知到已知”的转化结果中,将大问题“化繁为简”,在软件开发过程中经常应用。
(二)面向对象法
面向对象法的基本特征在于面向过程和数据,在数据规模扩张的背景下,其应用更加频繁,充分适应需求数据不停变换的特征,在较短的时间内实现软件迭代更新效果。使用面向对象法时,借助数据软件实现系统的更新效果,为革新后的软件运行奠定基础,确保软件真正吻合用户的需求,保证软件更新换代成功。
(三)多维法
多维法立足于用户需求,综合发挥前两种开发方式的优势,整合软件设计、编码、测试等阶段,形成软件开发主线,降低程序本身与开发预算的影响。软件开发预算直接与用户需求相关,开发过程更加灵活,可以在专门的领域加大发掘力度,通过增加维度提供具有层次化和差异性特征的软件开发结果。
(四)生命周期法
生命周期法覆盖软件开发过程,强调生命周期的意义。根据软件开发生命周期的各个阶段,选择最恰当的开发方法,形成高效的软件开发流程。当前软件开发过程中采用的方式和流程相对固定,结构化特征明显,体现生命周期法的优势。在生命周期法中,以用户软件需求为出发点,逐步建立软件模型,确定软件的程序和功能,并基于用户需求开展软件测试工作,形成软件产品评价。结构化软件设计模式的流程性特征明显,开发过程侧重于面向对象,与面向过程的开发方式联系相对稀疏,开发模式相对传统。一旦软件开发过程存在问题,解决问题的时间开销明显,体现出生命周期法的短板。
二、计算机软件工程方法进展分析
(一)基于群体智能的软件工程
群体智能在解决软件开发问题的过程中扮演关键角色,并形成基于软件设计、开源软件等一系列的规划,研究方向愈发成熟,推动群体智能与软件工程的高度融合。搜索软件是群体智能在软件工程中的应用表现,基于算法设计搜索软件,有效优化软件设计过程中的问题。基于群体智能模式,找到最优质的解决方案。在群体智能的支撑下,问题的表单表示效果更好。软件领域的诸多问题均与关联性较强、样式繁多的软件度量标准相适应,具有前瞻性特征。基于软件技术问题的特征,借助搜索软件解决开发过程中的问题,体现群体智能软件工程的作用。
处理软件开发中的问题时,还可以采用众包软件工程。借助互联网技术与关键工具,由专业人员解决软件设计中的技术问题。关于众包软件工程,以互联网环境中的搜索系统为基础。企业作为软件开发者,借助搜索平台开展企业业务,促进软件开发过程降本增效。单独的开发者也能通过搜索平台公布自己的开发任务,促进软件开发。搜索平台围绕网络环境搭建,在软件开发过程中起到重要作用,同时提供可靠的软件开发逻辑。完整的众包软件工程结构,应包含线上软件开发环境以及配套工具,同时形成软件知识的共享与协作体系。质量检验与改进模式也是众包软件工程的关键组成部分,并包含项目管理体系。
关于群体智能软件工程方法,具备一致性的框架,通过框架找到软件开发问题的最佳解决方法,相当于群体智能的结果。基于群体智能的软件工程方法,以决策的设计、评估与优化作为关键任务,上述任务通过群体智能实现。需要注意的是,群体智能的形式各有不同,包括机器群体智能与人类群体智能,对项目性质有一定影响。通常情况下,基于群体智能的软件工程有效融合两类群体智能的优势,让软件工程体系更完善,问题的解决更到位。借助人类群体智能解决问题时,若要在软件开发、评估与检验的过程中应用群体智能,首先进行软件编码,并拟定备用的解决方案,明确最终的解决方法。以此为基础,发挥进化优化算法的关键作用,形成机器群体智能方法,并将适应度函数引入其中,形成备选方案。
借助人类群体智能处理软件开发中的问题时,要重视管理平台的基础作用。软件开发人员或者小组在管理平台中发布软件开发问题,寻求解决措施。该过程也是软件迭代的过程,通过决策与评估,形成更合理的开发解决方案,最终解决软件开发者的问题。软件迭代过程,也是微型项目不断生成的过程,该过程中需要提交问题或者评估其他方案。基于群体智能构成理想化的平台,发挥专业工具的作用,促进软件开发进程中的相互支持与帮助,提升软件开发效率和质量。如果软件开发中的问题难以形式化度量,有可能制约机器群体智能的应用。如果采用人类群体智能,意味着全部任务需要人力亲自完成,间接阻碍两类群体智能的融合。在软件问题解决方案中,利用两类群体智能的优势。通过人类群体智能形成知识库,作为机器群体智能的重要知识支撑,促进软件开发中的人机交互,问题解决更高效、更顺畅。
(二)面向Agent的软件工程
Agent具有灵活度高、智能性强的特征,能够适应复杂的问题处理环境,还能提供预测功能。关于Agent的定义,以特定环境为背景,能够主动感知并适应环境,具有代理设计功能,本质上是一种计算机实体。借助Agent模式,接受其他实体的请求并提供对应的支持。基于目标驱动模式,提供社交、学习等行为。
Agent的突出特征在于对“人”的模拟,是一种主动的模式,具有“我要做”的意识。获取外部请求后,Agent并非直接执行,而是分析自身当前的状态与意愿,确定是否处理请求,体现Agent的自治性特征,相对更接近人类的思想特征。Agent具有智能性优势,能够模拟人类的学习、判断等行为,还能开展自主活动或者协作活动,敏感响应周围环境,主动接受外部刺激,通过学习行为不断进步,与周围环境相互融合。Agent具有人的很多属性,可以基于Agent形成社会群体,相比于传统的面向对象特征,特性更加健全。另外,Agent是一种多控制线程,Agent与控制形成具有一一对应关系,Agent相当于主程序,自成一体,通过自主决策形成行为,运行过程具有并行特征。上述特征决定了同一时刻可以有多个Agent同时运行,体现多控制线程的作用。
基于Agent实现异地数据的同步效果,在异地同步数据系统中,每个任务角色都有各自的任务,在异地数据同步系统中居于核心地位,能够设置本地系统,并统筹管理全局,还能监听其他角色,能够及时响应各类请求。系统中的任务编译角色能够处理各类任务脚本,还能生成任务文件并执行。编译任务脚本后生成任务文件,由任务解释角色解释任务脚本,并执行相关操作。如果数据库参与到数据传输进程中,并涉及到异地同步数据系统的设置分发业务,由任务部署角色完成触发器、缓冲表、跟踪脚本、密钥、调度命令等因素的自动模拟化生成任务。异地同步数据系统中安排了定时角色,根据当前时间触发任务,依次执行任务文件中的全部任务,并按照既定计划激活其他角色。
另外,由加密角色完成数据库变化文件的加密任务。工作流执行服务体系是异地同步数据系统的关键组成部分,相当于为系统的运行提供业务环境,其中包含数量不等的工作流引擎,在工作流管理体系中居于核心地位,能够创建并执行不同形式的实例,还能自主选择任务。异地数据同步系统合理划分角色权限,不同级别的用户分别获取文档查询、文档审批等功能。开发过程中使用PB和ASP工具,让文档审批更便捷,还能快速判断数据库设计阶段中的数据更新情况,随后设置触发器并编制事件跟踪程序。管理用户定期检查服务器,基于互联网环境与工作流引擎软件的功能及时更新数据库,并将信息处理结果在第一时间反馈到客户端,让文档的查询审批更便捷。
综上所述,软件工程方法的发展脚步永不停歇,在今后的软件开发工作中,需要掌握软件工程的发展脉络,充分吸收软件工程的最新进展成果,将其应用在具体的软件应用开发进程中,充分体现软件工程的价值和作用。
(作者单位:山西农业大学)

来源:
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回列表 返回顶部