论文部分内容阅读
摘 要:网络技术的迅猛发展,从技术上使虚拟环境中的协同工作得以实现,使网上工程化软件开发成为可能。 因此提出了一种基于网络的软件开发模式,并讨论了基于Internet的软件开发的五个主要过程:市场运作过程;协调管理过程;软件开发过程;质量保证过程;辅助支持过程。研究了网上协同开发软件流程,并指出其优缺点。
关键词:软件开发;协同;流程管理
一、引言
随着软件产业的飞速发展,软件工程理论在实践中不断得到完善与发展,并成为软件开发的重要理论指导。但是,传统的地面软件开发模式缺乏对资源尤其是人力资源的有效调配与共享,一些中小型软件公司开发过程往往不规范,不能适应当今软件行业的发展水平。而基于Internet的软件开发模式正是为了克服地面软件开发的弊端,同时充分利用广大的程序员资源,为软件项目开发者提供实现异地同步开发的集成开发环境而设计的。
网络技术的迅猛发展使虚拟环境中的协同工作成为可能,从技术上具备了突破传统时空界限、进行网上工程化软件开发的可行性。而本文所讨论的“网上软件开发模式”正是要提供这样一个平台,为网上的软件开发提供强有力的工具支持。
二、基于Internet的软件开发模式
所谓“网上软件开发”,就是指相对于地面上的软件开发而言,一个软件系统从项目招投标、开发到交付后的维护等等一系列过程都依托于网络来进行[1],如图1所示。
这种模式具有以下特点:
1.网上异地协同开发;
2.开发过程与质量保证过程并行;
3.开放式的、透明的开发过程与实时监控的反馈机制;
4.项日经理负责制。
三、基于Internet软件开发的主要过程
借助于IS0和CMM过程理论的指导,本文对基于Internet软件开发模式的主要过程进行了分析与抽象,并提出了作为下一步软件总体设计的基础和框架标准。
基于Internet的软件开发模式有以下五个主过程,这五大过程一般都含有隶属于自己的小过程,分别服务于不同的外部活动者(外部活动者是00体系中的一个专有名词,它可以指人也可以是过程之外的另一个主过程),它们彼此之间共同构成一个有机的整体,为基于Internet的软件开发提供全方位的商务运作与技术支持[2]。五个主要过程包括:市场运作过程;协调管理过程;软件开发过程;质量保证过程;辅助支持过程。其关系如图2所示:
1.市场运作过程
市场运作过程是整个框架模型的“外壳”,通过该过程,一方面将概念上纯粹朴素的市场需求转化为平台能够接受并具可操作性的待开发项目或者工程;另一方面又将技术成品、半成品“包装”成符合市场规律和要求的产品或者成果。可以讲,这一过程是商务运作与技术开发相互转化的“编译器”,对开发平台和外部世界而言,它既是物理的分水岭,又是沟通的联络员。本过程又可细分为以下几个子过程:
(1)需方运作过程:前期准备;招标活动;合同拟定;验收。
(2)供方运作过程:前期准备;投标活动;签订合同;交付和完成。
(3)维护过程:制定维护计划和规程,并形成文档;建立问题报告与维护档案,用来记录修改要求与维护工作以便追踪;问题解决过程(提出问题-分析问题-确定维护方案-实施维护);实施配置管理过程以管理对现有系统的修改。
2.协调管理过程
这里的“协调”两字有协同网上作业、调度并统筹安排资源的内涵,其核心就是担负起基于Internet软件开发全程的组织、管理职能,从宏观角度把握项目的进行(不包括一个项目开发过程中的局部协调管理),组织落实好各具体责任过程间的协调工作
[3]。可以讲,它是整个平台软件执行过程中的调度指挥中心。本过程又可细分为以下四个子过程:
(1)协同管理过程:需方对供方的监督;供需双方编制项目开发计划并确定;项目实施和控制;评审和评价。
(2)配置管理过程:配置标识;配置项贮存;配置变更控制;配置状态统计。
(3)组织管理过程:动态管理过程;策划;执行与控制;评审与评价。
(4)资源调配过程:人力资源管理;非人力资源管理;资源申请与调配。
3.软件开发过程
软件开发过程主要由软件工作室来完成。软件工作室就是支持开发过程的“生产车间”,它并不是开发环境或工具,而是高度集成的网上项目管理与控制平台[4]。软件工作室将支持“Dual & Parallel Development Model”来组织整个软件开发过程,由此形成两条主线并行于整个项目的开发过程,一条是由项目经理负责的“生产线”;另一条是由质量经理负责的“质量保证线”。两条线既相互独立又彼此依托,通过项目树与质量树两个数据结构而有机地组织在一起。开发过程是一个由多种过程交织的综合过程,包括:项目管理、资源管理(含人力与非人力资源)、配置管理、标准化管理、质量保证管理、问题反馈与协作交流等过程,因此软件工作室应充分考虑这种交织关系,将各个过程的支撑工具有机地集成为一个整体,而且它不应该限定用户开发的过程模式,而允许用户根据自己项目的特点按照软件工程的规律来定制过程模式。
4.质量保证过程
如同在软件开发过程中所指出的那样,质量保证过程与软件开发过程是相辅相成,不可分割的一个整体。值得一提的是,所谓的质量概念绝对不是一个结果,它贯穿于任何一个生产过程的始终。正是在这种共识的基础上,开发过程在项目伊始就纳入质量保证过程的监控机制,内容是过程思想,形式是双轨并行。从而服务开发在质量保证之下,控制质量于开发过程之中。本过程又可细分为如下几个了过程:
(1)编制质量保证计划;
(2)建立质量度量指标体系;
(3)执行软件质量度量;
(4)确认软件质量水平。
5.辅助支持过程
辅助支持过程为其他各过程提供必要的服务,包括以下几个部分:
(1)问题报告与反馈过程;
(2)协作交流过程;
(3)费用管理过程。
四、基于Internet软件开发的模式特点
1.基于Internet软件开发的优势
人力资源充足。该模式能有效地提供一个充分体现管理与控制的平台,不仅可以管理和使用组织内部人员,也可以管理和使用组织外部人员,甚至是国外的人力资源。并对最终将国内的人力资源引入国际市场,将国外软件巨大的需求市场引入国内起到积极的作用。
专家咨询便捷。专家的知识是宝贵的财富,该模式使专家不再受地域时空的限制,使专家更好的走向社会并用知识换取更大的利益回报。让专家方便而有效地参与工程过程,最大程度地共享与利用知识和经验。
一个高度集成、强化实行、规范的开发过程。该模式的设计充分考虑了网上开发的特点与软件工程的理论的结合,在对主要过程进行抽象的基础上设计功能,充分考虑各个过程间的联系,并将这种联系体现于各个工具间的集成,从而克服了目前一些地面工具软件的弊端。开发者在进行软件开发时,能够强化他们按照软件工程的思想进行规范开发。
项目开发成本较低。该模式的虚拟开发环境以及丰富的人力资源可以极大地降低软件开发成本,使得开发商能够应对各种规模和类型的开发任务,拓宽了软件企业的生存空间。
2.基于Internet软件开发的劣势
开发风险较大。人员的难于控制是造成开发风险大的主要原因,主要体现在责权利很难达到地面上相互适应和协调的程度,进而容易造成项目开发过程中的额外风险,而这种风险的高低往往取决于当事人的责任心和道德水准。但有理由相信,伴随着技术手段的成热、商务运作的成功经验以及网络法律的健全,这一问题可望得到一定程度的解决。
管理复杂性。软件开发成功与否取决于管理,而网上开发的难点也重在管理。网上软件开发对管理者的管理水平以及系统分析与设计文档的规范程度有更高的要求。由此可见,网上开发模式的成功运作与否,将最终依赖于软件工程实施水平以及平台工具对软件工程的支持程度。
配置管理复杂。比如,Rational的Clearcase , Microsoft的Source Safe,以及传统的PVCS等各大公司的著名产品,这些工具都是应用于本地机或者局域网环境下,不支持基于Internet软件开发模式。而网上软件开发的配置管理不仅重要而且具有新的特点,并集中体现在协作开发工具的集成环境中。
沟通困难,对网上通信与交流手段提出更高的要求。网上的交流不能代替地面上的交流,因此该模式更多的是在充分设计并拆分任务的基础上进行编码工作。尽管如此,协作子系统功能与性能实现的好坏将直接影响整个系统的应用。这就要求应用该模式所设计的协作系统,应该立足于网上协同开发环境与平台的其他部分的高度集成。
五、结束语
随着网络的进一步普及和发展,伴随网络技术的进一步提升,基于Internet软件开发的各种劣势将逐步解决。而这种基于Internet的软件开发模式必将实现研以致用,在政府部门、信息服务业和软件开发商中实现巨大的经济和社会效益,进一步推进全社会的信息化发展。
[参考文献]
[1]晏海华,张丽风,胡佳. 软件质量控制的群体协同工作模型[J]. 计算机工程与应用,2001(12).
[2]刘鲁,刘开胜,奚卫红. 一种基于计算机局域网络的群体决策支持系统的设计和实现[J].决策与决策支持系统,2006.
[3]宁葵,宁健. 基于Agent软件工程建设协同工作环境[J]. 工程设CAD与智能建筑,2001(3).
[4]甄炜,杨学良,宛霞. 并行工程协同工作环境中工作流管理的研究与实现[J]. 计算机工程与应用,2003.
关键词:软件开发;协同;流程管理
一、引言
随着软件产业的飞速发展,软件工程理论在实践中不断得到完善与发展,并成为软件开发的重要理论指导。但是,传统的地面软件开发模式缺乏对资源尤其是人力资源的有效调配与共享,一些中小型软件公司开发过程往往不规范,不能适应当今软件行业的发展水平。而基于Internet的软件开发模式正是为了克服地面软件开发的弊端,同时充分利用广大的程序员资源,为软件项目开发者提供实现异地同步开发的集成开发环境而设计的。
网络技术的迅猛发展使虚拟环境中的协同工作成为可能,从技术上具备了突破传统时空界限、进行网上工程化软件开发的可行性。而本文所讨论的“网上软件开发模式”正是要提供这样一个平台,为网上的软件开发提供强有力的工具支持。
二、基于Internet的软件开发模式
所谓“网上软件开发”,就是指相对于地面上的软件开发而言,一个软件系统从项目招投标、开发到交付后的维护等等一系列过程都依托于网络来进行[1],如图1所示。
这种模式具有以下特点:
1.网上异地协同开发;
2.开发过程与质量保证过程并行;
3.开放式的、透明的开发过程与实时监控的反馈机制;
4.项日经理负责制。
三、基于Internet软件开发的主要过程
借助于IS0和CMM过程理论的指导,本文对基于Internet软件开发模式的主要过程进行了分析与抽象,并提出了作为下一步软件总体设计的基础和框架标准。
基于Internet的软件开发模式有以下五个主过程,这五大过程一般都含有隶属于自己的小过程,分别服务于不同的外部活动者(外部活动者是00体系中的一个专有名词,它可以指人也可以是过程之外的另一个主过程),它们彼此之间共同构成一个有机的整体,为基于Internet的软件开发提供全方位的商务运作与技术支持[2]。五个主要过程包括:市场运作过程;协调管理过程;软件开发过程;质量保证过程;辅助支持过程。其关系如图2所示:
1.市场运作过程
市场运作过程是整个框架模型的“外壳”,通过该过程,一方面将概念上纯粹朴素的市场需求转化为平台能够接受并具可操作性的待开发项目或者工程;另一方面又将技术成品、半成品“包装”成符合市场规律和要求的产品或者成果。可以讲,这一过程是商务运作与技术开发相互转化的“编译器”,对开发平台和外部世界而言,它既是物理的分水岭,又是沟通的联络员。本过程又可细分为以下几个子过程:
(1)需方运作过程:前期准备;招标活动;合同拟定;验收。
(2)供方运作过程:前期准备;投标活动;签订合同;交付和完成。
(3)维护过程:制定维护计划和规程,并形成文档;建立问题报告与维护档案,用来记录修改要求与维护工作以便追踪;问题解决过程(提出问题-分析问题-确定维护方案-实施维护);实施配置管理过程以管理对现有系统的修改。
2.协调管理过程
这里的“协调”两字有协同网上作业、调度并统筹安排资源的内涵,其核心就是担负起基于Internet软件开发全程的组织、管理职能,从宏观角度把握项目的进行(不包括一个项目开发过程中的局部协调管理),组织落实好各具体责任过程间的协调工作
[3]。可以讲,它是整个平台软件执行过程中的调度指挥中心。本过程又可细分为以下四个子过程:
(1)协同管理过程:需方对供方的监督;供需双方编制项目开发计划并确定;项目实施和控制;评审和评价。
(2)配置管理过程:配置标识;配置项贮存;配置变更控制;配置状态统计。
(3)组织管理过程:动态管理过程;策划;执行与控制;评审与评价。
(4)资源调配过程:人力资源管理;非人力资源管理;资源申请与调配。
3.软件开发过程
软件开发过程主要由软件工作室来完成。软件工作室就是支持开发过程的“生产车间”,它并不是开发环境或工具,而是高度集成的网上项目管理与控制平台[4]。软件工作室将支持“Dual & Parallel Development Model”来组织整个软件开发过程,由此形成两条主线并行于整个项目的开发过程,一条是由项目经理负责的“生产线”;另一条是由质量经理负责的“质量保证线”。两条线既相互独立又彼此依托,通过项目树与质量树两个数据结构而有机地组织在一起。开发过程是一个由多种过程交织的综合过程,包括:项目管理、资源管理(含人力与非人力资源)、配置管理、标准化管理、质量保证管理、问题反馈与协作交流等过程,因此软件工作室应充分考虑这种交织关系,将各个过程的支撑工具有机地集成为一个整体,而且它不应该限定用户开发的过程模式,而允许用户根据自己项目的特点按照软件工程的规律来定制过程模式。
4.质量保证过程
如同在软件开发过程中所指出的那样,质量保证过程与软件开发过程是相辅相成,不可分割的一个整体。值得一提的是,所谓的质量概念绝对不是一个结果,它贯穿于任何一个生产过程的始终。正是在这种共识的基础上,开发过程在项目伊始就纳入质量保证过程的监控机制,内容是过程思想,形式是双轨并行。从而服务开发在质量保证之下,控制质量于开发过程之中。本过程又可细分为如下几个了过程:
(1)编制质量保证计划;
(2)建立质量度量指标体系;
(3)执行软件质量度量;
(4)确认软件质量水平。
5.辅助支持过程
辅助支持过程为其他各过程提供必要的服务,包括以下几个部分:
(1)问题报告与反馈过程;
(2)协作交流过程;
(3)费用管理过程。
四、基于Internet软件开发的模式特点
1.基于Internet软件开发的优势
人力资源充足。该模式能有效地提供一个充分体现管理与控制的平台,不仅可以管理和使用组织内部人员,也可以管理和使用组织外部人员,甚至是国外的人力资源。并对最终将国内的人力资源引入国际市场,将国外软件巨大的需求市场引入国内起到积极的作用。
专家咨询便捷。专家的知识是宝贵的财富,该模式使专家不再受地域时空的限制,使专家更好的走向社会并用知识换取更大的利益回报。让专家方便而有效地参与工程过程,最大程度地共享与利用知识和经验。
一个高度集成、强化实行、规范的开发过程。该模式的设计充分考虑了网上开发的特点与软件工程的理论的结合,在对主要过程进行抽象的基础上设计功能,充分考虑各个过程间的联系,并将这种联系体现于各个工具间的集成,从而克服了目前一些地面工具软件的弊端。开发者在进行软件开发时,能够强化他们按照软件工程的思想进行规范开发。
项目开发成本较低。该模式的虚拟开发环境以及丰富的人力资源可以极大地降低软件开发成本,使得开发商能够应对各种规模和类型的开发任务,拓宽了软件企业的生存空间。
2.基于Internet软件开发的劣势
开发风险较大。人员的难于控制是造成开发风险大的主要原因,主要体现在责权利很难达到地面上相互适应和协调的程度,进而容易造成项目开发过程中的额外风险,而这种风险的高低往往取决于当事人的责任心和道德水准。但有理由相信,伴随着技术手段的成热、商务运作的成功经验以及网络法律的健全,这一问题可望得到一定程度的解决。
管理复杂性。软件开发成功与否取决于管理,而网上开发的难点也重在管理。网上软件开发对管理者的管理水平以及系统分析与设计文档的规范程度有更高的要求。由此可见,网上开发模式的成功运作与否,将最终依赖于软件工程实施水平以及平台工具对软件工程的支持程度。
配置管理复杂。比如,Rational的Clearcase , Microsoft的Source Safe,以及传统的PVCS等各大公司的著名产品,这些工具都是应用于本地机或者局域网环境下,不支持基于Internet软件开发模式。而网上软件开发的配置管理不仅重要而且具有新的特点,并集中体现在协作开发工具的集成环境中。
沟通困难,对网上通信与交流手段提出更高的要求。网上的交流不能代替地面上的交流,因此该模式更多的是在充分设计并拆分任务的基础上进行编码工作。尽管如此,协作子系统功能与性能实现的好坏将直接影响整个系统的应用。这就要求应用该模式所设计的协作系统,应该立足于网上协同开发环境与平台的其他部分的高度集成。
五、结束语
随着网络的进一步普及和发展,伴随网络技术的进一步提升,基于Internet软件开发的各种劣势将逐步解决。而这种基于Internet的软件开发模式必将实现研以致用,在政府部门、信息服务业和软件开发商中实现巨大的经济和社会效益,进一步推进全社会的信息化发展。
[参考文献]
[1]晏海华,张丽风,胡佳. 软件质量控制的群体协同工作模型[J]. 计算机工程与应用,2001(12).
[2]刘鲁,刘开胜,奚卫红. 一种基于计算机局域网络的群体决策支持系统的设计和实现[J].决策与决策支持系统,2006.
[3]宁葵,宁健. 基于Agent软件工程建设协同工作环境[J]. 工程设CAD与智能建筑,2001(3).
[4]甄炜,杨学良,宛霞. 并行工程协同工作环境中工作流管理的研究与实现[J]. 计算机工程与应用,2003.