由于软件本身的特殊性和多样性,在大规模软件开发时,人们几乎总是面临困难处境。
软件工程面临许多新问题和新挑战,而进入一个新的发展时期。
3、软件工程技术发展新时期
自从软件工程名词诞生,历经三十余年的研究和开发,人们深刻认识到,软件开发必须按照工程化的原理和方法来组织和实施。
软件工程技术在软件开发方法和软件开发工具方面,在软件工程发展的早期,特别是20世纪70、80年代软件蓬勃发展时期,已经取得了非常重要的进步。
软件工程作为一个学科方向,愈来愈受到人们的重视。
但是,随着大规模网络应用软件的出现所带来的新问题,使得软件工程中,在如何协调合理预算、控制开发进度和保证软件质量等方面,软件人员面临更加困难的境地。
进入20世纪90年代,Internet和WWW技术的蓬勃发展使软件工程进入一个新的技术发展时期。
以软件组件复用为代表,基于组件的软件工程技术正在使软件开发方式发生巨大改变。
早年软件危机中提出的严重问题,有望从此开始找到切实可行的解决途径。
在这个时期软件工程技术发展代表性标志在三个方面,即:
①基于组件的软件工程和开发方法成为主流。
组件是自包含的,具有相对独立的功能特性和具体实现,并为应用提供预定义好的服务接口。
组件化软件工程是通过使用可复用组件来开发、运行和维护软件系统的方法、技术和过程。
②软件过程管理进入软件工程的核心进程和操作规范。
软件工程管理应以软件过程管理为中心去实施,贯穿于软件开发过程的始终。
在软件过程管理得到保证的前提下,软件开发进度和产品质量也就随之得到保证。
③网络应用软件规模愈来愈大,复杂性愈来愈高,使得软件体系结构从两层向三层或者多层结构转移,使应用的基础架构和业务逻辑相分离。
应用的基础架构由提供各种中间件系统服务组合而成的软件平台来支持,软件平台化成为软件工程技术发展的新趋势。
软件平台为各种应用软件提供一体化的开放平台,既可保证应用软件所要求基础系统架构的可靠性、可伸缩性和安全性的要求;又可使应用软件开发人员和用户只要集中关注应用软件的具体业务逻辑实现,而不必关注其底层的技术细节。
当应用需求发生变化时,只要变更软件平台之上的业务逻辑和相应的组件实施就行了。
以上这些标志象征软件工程技术已经发展上升到一个新阶段。
这个阶段尚远未结束。
软件技术发展日新月异,Internet的进步促使计算机技术和通信技术相结合,更使软件技术发展呈五彩缤纷局面。
软件工程技术的发展也永无止境。
二、“软件技术”发展中的问题
(一)人才结构失衡。
随着总量供不应求这一矛盾的缓和,我国软件人才结构不尽合理的问题进一步凸现,成为我国软件人才体系的突出特点,主要体现在如下方面:
1、高端软件人才缺乏。
从经济规律来看,一种工业化时代的产业结构,要求是一个金字塔型的人才梯队,软件业需要的不仅仅需要从事基础开发的程序设计员作为智力基础,更需要塔尖的高级人才。
目前高级软件人才仍是中国软件企业最紧缺的软件人才类型,在这种背景下,中国软件人才的“金字塔”形的合理结构并未实现。
我国软件技术人员约有19万人左右,此外,还有30万人在从事计算机应用、科研与教育工作。
但是,我国软件技术人员中70%是从事程序开发、技术支持和服务的人员,软件产业发展所急需的系统分析师、架构设计师、高级工程师、项目经理和技术工人的数量非常匮乏,无法满足软件产业发展对高层次人才的需求。
2、复合型软件人才缺乏。
高素质的复合型软件人才正逐渐成为软件人才中的新宠。
复合型软件人才有两种类型:一种是既精通软件又精通硬件的基础理论和设计技能的人才;另一种是既精通软件基础理论和设计技能,同时又精通其他专业业务和应用知识的复合型人才,这类人才是软件领域与其他应用领域交叉的复合型人才。
目前我国软件产业正处于产业化的进程中,产业化的一个要求就是资本的介入,在一个产业链中,资本是不可缺少的一个环节,这就需要我国培养出大批软件类资本运作人才,为软件企业的发展赢得资金。
而产业链的下游是产品的销售环节,又需要大批渠道及销售、公关、宣传人才以及软件售后技术支持人才。
另外,由于我国的软件产业主要是发展采取外包模式,这就要求既懂得软件知识,又能娴熟地运用外语的复合型人才。
(二)自主知识产权的主流软件产品较少,产品多为低端产品。