论文部分内容阅读
[摘 要]软件产业的发展已经关系到一个国家的政治和未来,软件产业将成为21世纪拥有最大产业规模和最广阔前景的新兴产业之一。软件领域是一个包括系统软件,中间软件,嵌入式软件,数据库软件,财务和企业管理软件,教育软件,游戏软件等。
[关键词]软件工程 发展前景 体系结构 软件项目管理 趋势
中图分类号:O245 文献标识码:O 文章编号:1009―914X(2013)25―0583―01
软件行业中软件外包和软件产品化是投资的两大主线,未来中国的外包市场规模将不断增长,同时行业集中度将逐步提升,而领先的企业获得的增长速度将高于行业的平均增长速度。目前中国的系统集成类上市公司软件产品化比例非常低,造成了企业盈利状况不明显。产品化成都高的公司主要集中在管理软件,金融行业软件,及聚焦于某个行业的软件公司。软件产业属于第三产业的服务业,具有高智力投入,高成长,低成本投入,服务性强,全球性强,与国民经济关系密切等特点,一个高质量的软件会给企业和社会带来很大的便利。所以软件行业是一个发展前景很好的第三产业。
一、软件行业的发展前景
软件领域是一个包括系统软件,中间软件,嵌入式软件,数据库软件,财务和企业管理软件,教育软件,游戏软件等。软件产业的发展已经关系到一个国家的政治和未来,软件产业将成为21世纪拥有最大产业规模和最广阔前景的新兴产业之一。软件行业中软件外包和软件产品化是投资的两大主线,未来中国的外包市场规模将不断增长,同时行业集中度将逐步提升,而领先的企业获得的增长速度将高于行业的平均增长速度。各个企业将集中受益于软件外包的行业趋势,利用其充分提升企业的业绩。目前中国的系统集成类上市公司软件产品化比例非常低,造成了企业盈利状况不明显。产品化成都高的公司主要集中在管理软件,金融行业软件,及聚焦于某个行业的软件公司。提升软件的产品化程度将非常有益于中国软件企业竞争力的提高。软件产业属于第三产业的服务业,具有高智力投入,高成长,低成本投入,服务性强,全球性强,与国民经济关系密切等特点,一个高质量的软件会给企业和社会带来很大的便利。所以软件行业是一个发展前景很好的第三产业。
二、软件工程专业趋势
现在中国的IT人群存在严重的结构失衡,既缺乏高级人才有缺乏技能人才。全球软件行业的发展给中国的软件行业带来了很大的发展空间和巨大的发展契机。软件行业对人才的需求量也呈上升趋势,人才供给缺口将是未来一段时间软件市场的主旋律。所以我们毕业生应对自己的专业充满信心并努力成为合格的软件人才。我觉得在未来几年我们会看到如下的趋势:
(一)需求工程,渐成热点。专业化的角色,日益复杂的业务创新,全球分布的团队以及互联网级的交付速度,这些都对需求获取的正确性和有效性提出了更高的要求;我预计需求工程的研究和实施会成为近期的热点,其中Use Case技术会被更广泛而正确的应用,而相关工具的研发也会成为热点(如IBM Rational Requirements Composer、Ravenflow等)。用例的优势在于它天生是黑盒的,它用自然语言抽象了用户和目标系统的交互,避免了混入分析、设计和实现细节,以保证用例可以被不懂具体技术的业务及测试人员所真正理解。同时,需求分析员又可以方便地通过用例分析(即用分析类来试图在理想方式下实现用例),将需求体系精华成分析模型。在这一过程中,需求分析员可以更进一步地完善基于用例的需求体系,而不必担心分析模型会污染需求,从而实现需求与分析的分离及有效互动。
(二)DSSA和MDD,老树新花(基于领域的构架〔DSSA〕与模型驱动的开发〔MDD〕)。随着软件应用的日益普及,软件已经超出了将手动流程自动化的范畴,而开始成为业务创新的主要推动力。因此,引入捕获特定领域内最先进需求及其实现架构的DSSA成为行业客户的热点之一。而且,DSSA的引入将MDD门槛大大降低了,也使基于DSSA的MDD支撑工具成为可能,从而可以极大地提高开发效率并保证软件质量(例如,Telelogic的Rhapsody就是一个成功的基于实时嵌入式系统构架的MDD工具)。
(三)迭代/敏捷,渐成标准。随着软件交付周期的日益加快,迭代化开发已经成为大多数软件开发团队的必选项。但是迭代对整个团队的需求、架构、协同及测试能力都提出了更高的要求,现在许多开发团队都在试图导入迭代化开发的过程中,敏捷可以是被看成迭代化开发的一种导入方式,只不过敏捷的范围其实比迭代化开发更大一些。敏捷的三个要素是迭代开发、坦诚合作和自适应性。坦诚合作其实才是敏捷的精髓,如Ivar所说,敏捷其实是有关Social Engineering的。敏捷的主要贡献在于他更多地思考了如何去激发开发人员的工作热情,这是在软件工程几十年的发展过程中相对被忽略的领域。
(四)持续集成,蓄势待发。持续集成是保证迭代化开发质量的主要方式,通过持续集成可以利用自动化的方式来尽量自动地、尽早保证代码质量。随着迭代和敏捷的流行,持续集成相关的工具成为现在市场上的新热点(如持续集成框架IBM Rational BuildForge,开源软件CruiseControl,代码静态分析工具Klocwork Insight,IBM Rational Software Analyzer等)。持续集成是一个复杂的系统工程,组织需要首先将现有的配置管理/变更管理工具与Build环境紧密集成并完成自动化Build过程,在根据企业/项目/产品的现状,定义如何自动化地检测软件质量(代码静态分析、单元测试或冒烟测试),并定义需要自动化生成的管理报表。
(五)基于实践的过程框架,方兴未艾。新一代的过程将是以实践为核心的,项目可以通过组装所需的不同实践来获得贴近项目要求的过程。IJI(Ivar Jacobson International)的EssWork框架和IBM Rational的RMC都是新一代的基于实践的过程框架。依据过程专家长时间的经验,他们很小心、很仔细地将一个完整的开发过程组件化,从开发过程抽象出一个个可以被单独导入又可以被组装到一起的实践,从而使逐步求精式的过程改进成为可能。对于一个软件组织而言,如果已经建立一个比较成熟的软件开发流程,但觉得这一流程并不适合所有项目的实际需要,那么目前可以考虑的是用实践的方式去重新梳理现有流程,以使项目组能够以实践为单位来组装出切合项目实际的流程;另外,该组织也可以将适用于本组织的业界流行的实践导入到现有流程当中,IJI公司的专家从业界最佳经验中抽取了八个实践,配置管理.昨日黄花:随着开发团队规模的日益减小,配置管理的复杂性大大降低了,我们注意到越来越多的用户转向使用开源的配置管理工具(如Subeverison,JIRA,hosted-projects等等);未来的配置管理工具更多的以一种全生命周期管理平台(Application Lifecycle Management)的方式出现,弱化了单项的配置管理能力而强调了全流程的整合(如Microsoft VisualStudio Team System和IBM Rational Team Concert等)。即便配置管理的复杂性降低了,但它仍然是开发项目管理的最重要的支撑平台之一。
[关键词]软件工程 发展前景 体系结构 软件项目管理 趋势
中图分类号:O245 文献标识码:O 文章编号:1009―914X(2013)25―0583―01
软件行业中软件外包和软件产品化是投资的两大主线,未来中国的外包市场规模将不断增长,同时行业集中度将逐步提升,而领先的企业获得的增长速度将高于行业的平均增长速度。目前中国的系统集成类上市公司软件产品化比例非常低,造成了企业盈利状况不明显。产品化成都高的公司主要集中在管理软件,金融行业软件,及聚焦于某个行业的软件公司。软件产业属于第三产业的服务业,具有高智力投入,高成长,低成本投入,服务性强,全球性强,与国民经济关系密切等特点,一个高质量的软件会给企业和社会带来很大的便利。所以软件行业是一个发展前景很好的第三产业。
一、软件行业的发展前景
软件领域是一个包括系统软件,中间软件,嵌入式软件,数据库软件,财务和企业管理软件,教育软件,游戏软件等。软件产业的发展已经关系到一个国家的政治和未来,软件产业将成为21世纪拥有最大产业规模和最广阔前景的新兴产业之一。软件行业中软件外包和软件产品化是投资的两大主线,未来中国的外包市场规模将不断增长,同时行业集中度将逐步提升,而领先的企业获得的增长速度将高于行业的平均增长速度。各个企业将集中受益于软件外包的行业趋势,利用其充分提升企业的业绩。目前中国的系统集成类上市公司软件产品化比例非常低,造成了企业盈利状况不明显。产品化成都高的公司主要集中在管理软件,金融行业软件,及聚焦于某个行业的软件公司。提升软件的产品化程度将非常有益于中国软件企业竞争力的提高。软件产业属于第三产业的服务业,具有高智力投入,高成长,低成本投入,服务性强,全球性强,与国民经济关系密切等特点,一个高质量的软件会给企业和社会带来很大的便利。所以软件行业是一个发展前景很好的第三产业。
二、软件工程专业趋势
现在中国的IT人群存在严重的结构失衡,既缺乏高级人才有缺乏技能人才。全球软件行业的发展给中国的软件行业带来了很大的发展空间和巨大的发展契机。软件行业对人才的需求量也呈上升趋势,人才供给缺口将是未来一段时间软件市场的主旋律。所以我们毕业生应对自己的专业充满信心并努力成为合格的软件人才。我觉得在未来几年我们会看到如下的趋势:
(一)需求工程,渐成热点。专业化的角色,日益复杂的业务创新,全球分布的团队以及互联网级的交付速度,这些都对需求获取的正确性和有效性提出了更高的要求;我预计需求工程的研究和实施会成为近期的热点,其中Use Case技术会被更广泛而正确的应用,而相关工具的研发也会成为热点(如IBM Rational Requirements Composer、Ravenflow等)。用例的优势在于它天生是黑盒的,它用自然语言抽象了用户和目标系统的交互,避免了混入分析、设计和实现细节,以保证用例可以被不懂具体技术的业务及测试人员所真正理解。同时,需求分析员又可以方便地通过用例分析(即用分析类来试图在理想方式下实现用例),将需求体系精华成分析模型。在这一过程中,需求分析员可以更进一步地完善基于用例的需求体系,而不必担心分析模型会污染需求,从而实现需求与分析的分离及有效互动。
(二)DSSA和MDD,老树新花(基于领域的构架〔DSSA〕与模型驱动的开发〔MDD〕)。随着软件应用的日益普及,软件已经超出了将手动流程自动化的范畴,而开始成为业务创新的主要推动力。因此,引入捕获特定领域内最先进需求及其实现架构的DSSA成为行业客户的热点之一。而且,DSSA的引入将MDD门槛大大降低了,也使基于DSSA的MDD支撑工具成为可能,从而可以极大地提高开发效率并保证软件质量(例如,Telelogic的Rhapsody就是一个成功的基于实时嵌入式系统构架的MDD工具)。
(三)迭代/敏捷,渐成标准。随着软件交付周期的日益加快,迭代化开发已经成为大多数软件开发团队的必选项。但是迭代对整个团队的需求、架构、协同及测试能力都提出了更高的要求,现在许多开发团队都在试图导入迭代化开发的过程中,敏捷可以是被看成迭代化开发的一种导入方式,只不过敏捷的范围其实比迭代化开发更大一些。敏捷的三个要素是迭代开发、坦诚合作和自适应性。坦诚合作其实才是敏捷的精髓,如Ivar所说,敏捷其实是有关Social Engineering的。敏捷的主要贡献在于他更多地思考了如何去激发开发人员的工作热情,这是在软件工程几十年的发展过程中相对被忽略的领域。
(四)持续集成,蓄势待发。持续集成是保证迭代化开发质量的主要方式,通过持续集成可以利用自动化的方式来尽量自动地、尽早保证代码质量。随着迭代和敏捷的流行,持续集成相关的工具成为现在市场上的新热点(如持续集成框架IBM Rational BuildForge,开源软件CruiseControl,代码静态分析工具Klocwork Insight,IBM Rational Software Analyzer等)。持续集成是一个复杂的系统工程,组织需要首先将现有的配置管理/变更管理工具与Build环境紧密集成并完成自动化Build过程,在根据企业/项目/产品的现状,定义如何自动化地检测软件质量(代码静态分析、单元测试或冒烟测试),并定义需要自动化生成的管理报表。
(五)基于实践的过程框架,方兴未艾。新一代的过程将是以实践为核心的,项目可以通过组装所需的不同实践来获得贴近项目要求的过程。IJI(Ivar Jacobson International)的EssWork框架和IBM Rational的RMC都是新一代的基于实践的过程框架。依据过程专家长时间的经验,他们很小心、很仔细地将一个完整的开发过程组件化,从开发过程抽象出一个个可以被单独导入又可以被组装到一起的实践,从而使逐步求精式的过程改进成为可能。对于一个软件组织而言,如果已经建立一个比较成熟的软件开发流程,但觉得这一流程并不适合所有项目的实际需要,那么目前可以考虑的是用实践的方式去重新梳理现有流程,以使项目组能够以实践为单位来组装出切合项目实际的流程;另外,该组织也可以将适用于本组织的业界流行的实践导入到现有流程当中,IJI公司的专家从业界最佳经验中抽取了八个实践,配置管理.昨日黄花:随着开发团队规模的日益减小,配置管理的复杂性大大降低了,我们注意到越来越多的用户转向使用开源的配置管理工具(如Subeverison,JIRA,hosted-projects等等);未来的配置管理工具更多的以一种全生命周期管理平台(Application Lifecycle Management)的方式出现,弱化了单项的配置管理能力而强调了全流程的整合(如Microsoft VisualStudio Team System和IBM Rational Team Concert等)。即便配置管理的复杂性降低了,但它仍然是开发项目管理的最重要的支撑平台之一。