孙永国
摘 要:本文针对软件工程技术发展的现状以及发展趋势做了详实的分析探讨,按照事物发展的规律,对于软件工程技术的发展历程做了分析回顾,从软件的本质分析了虚拟技术各个层次的基本构造,重点对软件的工业化生产模式进行了阐述,同时以Internet的出现为背景,探索了软件技术的发展趋势。
关键词:软件工程;技术;软件工业化;网络结构
1 软件工程技术发展历程
软件工程的从概念的提出到取得长足的进步一共经历了30多年,其中较为重要的进步主要是建立于高级语言基础上的结构化程序设计技术以及相关的开发工具、计算机辅助软件工程(CASE)成为研究热点,并开发了一些对软件技术发展具有深远影响的软件工程环境以及面向对象的高级语言的编程思路以及编程方法的诞生。从本质上而言,软件属于客观事物的范畴,也是对其他实际客观事物的一种不断改进,因此客观世界的不断变化以及快速发展决定了软件工程的诞生以及进一步发展。软件的发展中重要的贡献就是解决了硬件的异构特性,比如可以采用操作系统从客户的角度屏蔽了计算机硬件之间的差异,目前屏蔽中间件的异构性的网络服务技术也取得了较好的发展。更为复杂的异构问题都会促使软件技术的不断发展,应用软件工程的理念进行实际问题的解决主要需要建立合理的模型并采用正确的处理方式,剞劂概念模型以及现实问题之间的映射关系。
2 软件以及软件的基本特征
软件是对于客观事物工作规律以及内在机制的一种具体描述,是客观事物在计算机技术层面的直接反映。其基本的特性是能够反应客观世界不断变化的需要。软件的本质特征是软件的演化性以及软件的构造性。应用软件模型实现更为直接的表达,更符合用户的思维习惯,正是对于软件本质属性的阐述。在高级语言出现之前的汇编指令主要表达的就是实现语言构造到概念的转移,在抽象层次中属于较低的水平,而后随即出现的高级程序,尤其是面向对象的开发软件则在抽象层次上具有较大的提升。
3 软件工程的主要研究内容
软件开发实际上在本质意义上来说就是完成了高层概念到底层概念之间的映射,实现不同层次的逻辑之间的转换。对于大型应用软件,其映射的结构以及映射关系较为复杂。按照目前的基本要求以及规范,软件工程(software engineering)是以计算机科学的基本理论以及相关技术为基础,采用工程管理的模式以及方案,对软件产品进行定义、开发、维护以及后期的管理。
软件工程中最为基本的目标是实现产品的正确性、可靠性以及合算性。所谓正确性也就是说所设计的软件要能够达到预先设定的目标,完成相应的设计功能;可用性指的是软件的基本结构以及相关支撑资料可以满足用户的需求;合算性则指的是软件的成本与性能之间的平衡。因此软件工程的开发过程就是一个生产一个最终满足用户需求且达到工程目标的软件产品所需要的步骤。一般而言主要包含了需求设计分析、功能实现、客户确认以及支持等一系列的过程。在软件工程的开发设计中必须遵循以下的四个原则,首先是要能够采用合理的设计方法,设计要体现模块化的思维,要能够考虑到软件的一致性以及集成组装性等方面的问题;此次要采用合理的开发风格,以此保证软件开发的可持续性,不断满足用户提出的新要求;同时要能够为软件开发提供高质量的工程支持,保证按期对客户提交符合要求的软件产品;最后就是要能够保证对于软件工程的有效管理。
4 软件工程的发展趋势
传统意义上的软件开发是一个静态的封闭的平台,一般采用自顶向下的设计方案,在这样的模式一般都是首先确定系统的范围,然后进行项目分解,逐步实现的方案。在未来的软件开发中需要的就是采用一个具有丰富的基础软件作为开发必须的平台,同时要求开发平台具有动态的开放特性以及灵活的设计框架。开发活动要能够不断实现“无序”到“有序”之间的不断循环,由不断变化的动态特性逐步实现稳定;程序的合理性以及正确性表现形式逐步多样化,软件体系结构中侧重点从软件实际结构的分解转换为对于不同协同尸体的聚合。未来软件开发将是软件实体进一步开发,在Internet的不同节点上任何一个软件的实体都可以在开放的环境中以适当的方式进行发布,从而实现其他软件实体进行跨网络的互连互通协作和联盟,从而形成一种与当前的信息Web类似的Software Web.Software Web。
5 结论
目前软件工程技术的发展要能实现软件与硬件的结合,所谓软件就是能够与系统结合符合工程开发规律的程序,硬件也就是指微电子技术。要能够实现面向应用,实现软件以及硬件一体化的系统以及成熟产品,在工程理念的背景下可以将软件开发技术的发展总体趋势归纳为软件开发平台的虚拟化以及网络化、编程设计方法的对象化以及系统的构件化。同时产品家族化、开发工程化、过程规范化、竞争国际化、生产规模化等也是目前软件工程技术发展的最新特点。网络构建的软件理论以及方法实现等主要的工作侧重点在于实现以下的转变,首先是传统软件结构到网构软件结构的转变;其次是从实体单元的被动性到其主动性的转变;同时能从系统的静态性演化到系统的动态性、协同方式从单一性到灵活性的转变也显得尤其重要;最后从经验驱动的软件手工开发模式到知识驱动的软件自动生成模式的转变.建立这样一种新型的理论、方法以及实现都是软件工程技术中重要的技术特征。
[参考文献]
[1]印桂生,王莹洁.董宇网构软件的Wright-Fisher多策略信任演化模型[J].软件学报,2012(8).
[2]付德平,李海峰,韦延民.UI元模型建模关键技术研究[J].中国制造业信息化,2011(7).
[3]张元鸣,肖刚,徐恭旭,陆佳炜.软件产品族构件演化及其复杂度评价[J].计算机应用,2011(3).