2012-5-20 Sun
关于Trustie -可信的国家软件资源共享与协同生产环境
国内外现状及发展
    软件工具及其生产环境是软件技术及其产业的重要组成部分。提高软件生产效率和质量一直是软件生产领域的重大课题。运行环境和应用模式的变化总是带动软件工具和生产环境的发展。当前,软件工具与生产环境呈现若干新特点:基于Internet的工具资源开放共享与协同开发成为提高软件开发效率、降低软件开发成本的重要途径;基于复用思想的大规模的软件资源库构建与共享成为提高软件生产率和产品质量的有效手段;软件的可信性成为软件质量的焦点,强化对软件可信性的分析、度量和应用支撑成为热点问题。综合而言,新一代的软件工具与生产环境的关键要素体现为软件开发协同化、软件资源共享化和软件质量可信化三个方面:
软件工具与软件生产环境
    自动或半自动工具的广泛应用是一个产业走向成熟的基本标志之一。正如EDA(Electronic Design Automation)软件对集成电路设计产业的重要性一样,软件系统的开发同样离不开相应的工具与环境。一般而言,软件工具可以按相应的活动或任务分为三大类:
  • 软件开发工具类:包括各类支持软件需求获取/表示,软件分析/设计/编码,软件调试/测试,软件部署,软件监控/维护等工具;
  • 软件管理工具类:包括各类支持软件资源、过程和项目管理的工具,如资源库、配置管理、协同开发等工具;
  • 软件质量工具类:包括各类支持程序理解、软件质量分析与度量、逆向工程、软件再工程等工具。
    在软件开发工具方面,国内外都已研发了不少成功的软件工具。而软件开发活动的综合性要求这些工具能够集成为一体,提供较为全面的支撑,为此,将辅助软件开发、运行、维护、管理、支持等过程中的活动或任务的众多软件工具集成为软件生产环境。纵观软件生产环境的发展,可以把它们总结为五个发展阶段:
  • 1945-1960,直接运行在裸机上的专用开发工具;
  • 1960-1980,基于命令行的开发环境 (Command Line Environments,CLE);
  • 1980-2000,集成开发环境(Integrated Development Environments,IDE);
  • 2000-2004,扩展开发环境(eXtended Development Environments,XDE);
  • 2005年开始,协同开发环境(Collaborative Development Environments,CDE)。
    当前常见的IDE是一个集成了编码、编译、调试、运行功能的开发环境。集成开发环境提供的特性主要聚焦于以语法为导向的编辑器扩展,用于增强用户的开发过程体验。典型的代表为Smalltalk、第一个PC图形化IDE工具Visual Basic、支持增量编译的Rational开发环境,微软的Visual Studio、IBM的WebSphere Studio以及Sun的Studio One也属于此类。
    XDE不仅支持时间上的松耦合开发,也支持空间上的分布开发,并且开始考虑对非软件依赖因素的管理。扩展开发环境提供的特性包括重构支持、需求变更管理、配置管理、建模等。典型的代表为:Eclipse、Rational XDE。其中,Eclipse是当前开源社区中应用最为广泛的XDE平台,它确定了一整套工具接口和模型规范,作为集成框架,可以支持众多的工具集成为一个整体。目前,Eclipse中包括的工具有96种之多,覆盖范围包括多种编程语言的IDE(Java、C/C++、PHP、AspectJ等)、图形系统(GEF、Draw2D)、Web工具(JST、WST)、建模(EMF、GMT、GMF、UML2),以及支持嵌入式软件开发、SOA(Service Oriented Architecture)工具等不同方面的工具组合。
    协同开发环境以协同开发思想为基础,通过整合协同工具,实现无缝的、完整的软件开发。协同开发环境的使用者扩展到了目标软件的行业领域专家、网络与硬件工程师等,使得软件产品相关的所有利益相关方均能配置其感兴趣的属性,在互动的软件开发协作过程中及时沟通并做出对策。协同开发环境提供的特性包括虚拟团队、即时通讯、网络会议、讨论等协同机制。典型的代表为Collabnet的SourceForge、SourceCast等。目前这些协同开发环境提供的功能主要在代码协同方面,包括配置管理、冲突检测等,而忽略了软件开发流程中其它占重要角色的软件开发活动,例如需求管理、项目管理、设计等。
    以SourceForge为例,SourceForge是由OSTG(Open Source Technology Group)组织创建的世界上最大的发布开源软件的网站。SourceForge为软件开发者控制和管理开源软件提供了一个集中式的平台。目前,SourceForge拥有100万注册用户和超过10万个项目。SourceForge具有下列技术特色:提供了协同开发系统,使得开发项目组的管理者能够更加清晰、明确地管理开发项目;为开发项目组提供了各种不同软硬件环境下的编译、测试平台,为项目的开发和测试提供了有力支持;提供了配置管理的功能,支持构件的演化;提供了论坛、邮件列表等多种方式来促进开发人员之间以及开发人员和用户之间的交流,从而促进软件的完善;为构件发布者提供了多种方式来描述和发布构件。
    多年以来,在国家科技攻关计划、863计划、973计划、自然科学基金重大项目的支持下,国家先后部署了一批软件工程技术研究课题。例如国家科技攻关计划重点项目“青鸟工程”,在我国计算机学术界和产业界产生了重大影响,研究成果得到广泛实际应用,产生了良好社会经济效益。在“十五”期间,863计划重点支持发展了软件中间件技术,相关研发单位也从运行平台角度出发,研发了相应的开发工具。而同期863计划支持的基于构件复用的软件开发平台、支持SOA的软件平台,以及支持ISO9000质量保证体系和CMM(Capability Maturity Model)过程改进的软件过程管理工具体系的研究工作,也形成了较为完善的各类软件工具。
↑Top↑
Feedback Opinion