新闻动态NEWS

当前位置:主页 > 新闻动态 > 公司新闻 > 公司新闻

解析软件工程的概念和目标

 
      软件工程
 
      认真研究和分析了软件危机背后的真正原因,便开始探索用工程的方法进行软件生产的可能性,即用现代工程的概念、原理、技术和方法进行计算机软件的开发、管理和维护。于是,计算机科学技术的一个新领域——软件工程诞生了。
 
      软件工程的概念
 
      软件工程的定义有许多,下面给出两个典型的定义。
 
      1968年秋季,北大西洋公约组织举行的国际会议上首次给出了软件工程的定义:软件工程是为了经济地获得能够在实际机器上高效运行的可靠软件而建立和使用的一系列好的工程化原则。
 
      1993年《IEEE Standard Glossary of Software Engineering Terminology》给出了一个更全面的定义:软件工程是,①将系统性的、规范化的、可定量的方法应用于软件的开发、运行和维护,即将工程化应用到软件上。②对①中所述方法的研究。
 
      从软件工程的定义可以看出,软件工程不仅强调软件开发技术的研究,还包括软件项目管理。统计数据表明,大多数软件开发项目的失败,并不是由于软件开发技术方面的原因。它们的失败是由于不适当的管理造成的。遗憾的是,尽管人们对软件项目管理重要性的认识有所提高,但在软件管理方面的进步远比在设计方法学和实现方法学上的进步小。
 
      此外,软件工程是将工程的思想应用于软件领域。与一切工程领域一样,软件工程师也需要不断积累经验,从已有的理论、方法和工具中选择最适宜的,同时还要不断探索新的理论、方法和工具。
 
      软件工程的目标
 
      软件工程的目标就是运用最先进的技术和经过时间检验证明正确的管理方法来提高软件的质量和生产率,也就是在给定成本、进度的前提下,开发出高质量的软件产品,最终实现软件生产自动化。通常质量和生产率是一对矛盾,但这两者又都是软件开发追求的目标。因此,好的软件工程方法要能同时提高软件质量和生产率。
 

 
      概括地说,软件工程就是要解决软件危机问题,具体到当前软件工程主要面临如下问题。
 
      1.遗留系统带来的挑战
 
      现在使用的许多大型系统都是几年前,甚至十几年前开发的。这些系统在使用过程中不断地被修改,因此不断地退化,但同时这些系统也不断地被注人大量的业务知识、规程。现在面临的问题是这些系统维护起来的成本很高,但彻底淘汰的代价也无法承受。如何以合理的成本维护和更新系统,同时又要不断交付基本的业务服务是带给软件工程的一大难题。
 
      2.软件开发方式和运行环境多样性的挑战
 
      随着网络时代的来临,软件的开发由过去集中在专门的机构中封闭实施,转变为在网络环境下基于开放源码的方式由许多开发者协作完成。同时,系统也越来越要求像基于网络的分布式系统一样运行,但这些网络中包含各种不同类型的软硬件平台。因此,必须开发出新的技术来制作可靠的、灵活的软件来应对网络化的挑战。
 
      3.软件交付上的挑战
 
      传统的软件工程技术开发高质量软件需要消耗大量时间,而今天的软件必须具有快速制作、快速响应变化的特点。因此,必须找到新一代软件开发技术,在不损害软件质量的前提下快速开发大型的、复杂的系统。
 
      4.高可信软件带来的挑战
 
      随着软件在国民经济和人们生活中的广泛使用,人们更加关注软件的质量问题,尤其当软件是通过远程方式获取时。除了软件的正确性和性能外,软件的可靠性、安全性和保密性等可信性质是人们关注的焦点。传统的软件工程技术通过测试来检查软件中存在的问题,但无法验证软件的可信性。目前,基于严格数学模型的形式化开发方法为高可信软件的开发提供了一种解决思路。
 
      虽然人类彻底解决软件危机的目标尚待时日,但软件工程的研究与应用已经取得很大成就,它在软件开发方法、工具、管理等方面的应用极大地缓解了软件危机造成的被动局面。

在线咨询
在线咨询
在线客服