欢迎访问发表云网!为您提供杂志订阅、期刊投稿咨询服务!

目标管理软件大全11篇

时间:2022-11-23 03:45:55

目标管理软件

目标管理软件篇(1)

2项目具有系统性

软件项目的完成是很复杂的一个工程,可能会有很多的项目小组,大型项目尤其如此,这儿其中包含的人员、内容很多,对项目的操作就会很复杂,这就对管理者的统筹兼顾的能力要求很高,需要管理者动态、全面掌控项目的运行。

3当前阶段我国软件工程的投标中存在的问题

中国在加入WTO的这十年之中,机遇和挑战是并重的,随着市场对外越来越开放,中国软件公司也正承受着市场竞争所带来的强大压力。我国现在大型的软件工程实行的都是公开的招标投标的制度,这也就需要软件工程公司较好的参与到招投标的过程之中,如果企业在市场竞争的洪流之中,避免考虑招投标中的风险,也就会造成以下许多问题。

1)投标时对客户的信誉缺乏考虑

软件项目投标之前必须要对客户有一个适当的背景了解,这个背景包括了解招标人的付款方式、现有资金到位情况、项目运作经验以及资金状况这些方面。有些软件工程,招标人对软件工程的资金还没有落实好,或者是需要投入的资金和软件工程实际需要不成比例,这就自然导致了项目的风险加大。

2)维护服务能力考虑不周

软件工程开发之中的风险因素很多,由于软件工程的很难控制,软件开发之中,导致出现维护、开发、服务等周期延长的变更可能随时出现,这就需要软件公司在投标前期就要做深入的考察,以防止在软件工程的开发之中给项目带来较大的风险。

3)项目需求的人力资源得不到满足

软件行业人员流动率一直都很高,至少有百分之二十到三十,因此要保证项目的成功必须要保证人力资源的充足。因为软件项目是一个周期性较长的过程,加上人员流动频繁,在项目投标前投标人应衡量一下人力状况是否满足能项目的需求,人员在技术上能否满足项目需求,开发人员的流动能否保证工作的延续性等问题。如果在投标时不能考虑项目自身对人力状况需求的分析,盲目进行投标,即使中标后也会出现人力状况不能满足项目需求等情况,可能会出现拆东墙补西墙的局面,从而导致连锁反应,导致项目的失败。

4)投标方案无法完全满足顾客需求

投标方案的编制一般都是根据招标文件而来,如果对客户的实际需求理解不到位,在技术和设计方案上不能满足需求,在竞争比较激烈的项目中,有些投标公司往往会为了取得项目而对客户提出的很多超过范围的要求一一应允,这也就让客户有很大的期望,最后无法取得预期的效果会给双方带来损失。因此要求投标公司对招标文件理解准确、深入,并且编制既满足用户需要同时投标方案也切实可行,做到这点项目风险才会有效减少。

5)没有深入接触客户,盲目参与投标

较大型的软件项目从项目开始到招标一般半年到一年或更久的运作时间,在项目的运作之中,用户也会对软件公司和项目本身做深入调查。软件公司如果在公告之后还不对用户作深入的了解,中标机会就会变低,这样会是公司丧失这个项目,丢掉公司发展机会。

6)以投标价低获取中标机会

软件开发项目投标的合理投标是很重要的,软件公司如何报价是一个重要抉择。过高的报价会导致预算超支从而不会被客户接受。同样的,报价过低虽然会一定程度增加中标概率,但却会为项目的后续开展留下隐患,会出现工软件的质量不达标、进度跟不上、费用成本超支等诸多问题,严重的话会造成项目失败最后丧失客户信任。因此,在投标时不仅要能够满足顾客需求同时也要保证公司能够盈利,只有这样方能够尽量减少投标风险。

4如何完善软件工程项目投标

软件工程的项目投标的风险程度很高,在投标每个阶段都或多或少存在着风险。所以必须要运用一些积极的风险管理对策,采用规避风险、风险转移或风险缓解等方法来消除风险过后的不好影响。

1)建立风险管理体系提高风险管理能力

现在是市场竞争的时代,给企业造成风险的因素很多,所以企业必须重视对风险的管理,健全相关的管理制度使之成为长效机制,以期达到减少风险损失,促使企业能够长效发展的目的。

2)投标风险意识要时刻保持

很多企业只有才出现了问题之后才会意识到投标中风险管理的重要性,这样会造成软件企业很被动的局面。投标环节对企业而言很重要,投标风险也是确实存在的,如果没有主动进行风险管理的意识,投标以及软件的后续具体实施之中就会有很多麻烦。因此,企业一定要时刻保持投标风险管理的意识,并且视之为工作重点,提前做好风险预防和治理措施。

目标管理软件篇(2)

中图分类号:TU71 文献标识码:A 文章编号:1006-8937(2014)5-0050-02

随着经济的快速增长,计算机软件的应用范围越来越广。计算机软件工程项目的规模、难度等也随之增加。计算机软件工程项目运作的过程中也逐渐暴露出一些问题,需要采取系统化的管理策略,以保证软件工程项目的顺利进行,从而有助于提升软件企业的竞争力。

1 软件工程项目的特点

计算机软件项目的实施过程需要团队成员共同完成。一般来说,软件工程项目人员包括项目负责人、系统分析员、高级与初级程序员、资料员等。在软件工程项目进行过程中,必须保证软件产品的质量与配置符合用户需要,同时对可能出现的风险有适当的措施进行解决和规避。其中,质量管理是软件工程项目管理中的一个重要内容。通过质量计划编制、项目质量保证和项目质量控制等过程确保项目的总体绩效评估达到质量标准。其中,通过质量计划编制明确项目任务要达到的质量目标,项目质量保证主要涉及实现质量目标的可行性措施。项目质量控制是从总体上检测项目执行的结果,同时对不合格的部分提出解决方案。

总的来说,软件工程项目的特点主要表现在以下几个方面。一是由于软件产品不可触摸,其可视性具有间接性的特点。因此,对于软件产品的测试需要采用专门的方法或者借助专门的设备。这就导致了对软件产品质量的把握存在一定的滞后性,从而给最终的软件产品能否满足用户的需求留下了隐患。二是由于用户需求的多样性,以及软件产品的多样性,导致软件产品的开发过程缺乏统一标准。这一方面给软件工程项目的管理工作提供了灵活的空间,但同时增加了管理的难度。三是大型的软件工程项目往往都是一次性的,不可复制,且其需要开发的系统都较为复杂。因此,大型软件工程项目往往工作量大、难度高、很多方面需要在项目进行过程中逐步摸索。这些都会增加项目的难度和风险。

2 软件工程项目中存在的主要问题

2.1 需求分析问题

软件工程项目的最终目标是要开发出符合用户需求的软件产品。但是在实际操作过程中,对于用户的需求缺乏深入的分析。比如对用户需求的实体、数据以及实际的活动要求缺乏细致的调查,反而被认为是表面工作。从而导致最终的软件产品与用户需求、或者与业务需要存在较大的偏差。

2.2 团队协作问题

由于软件工程项目团队中人员较多、分工不同、权责不同,因此在项目的团队协作和沟通中往往存在一些问题。比如,团队中分工不清、权责不明,这就可能导致项目任务不能按时完成,且出现了问题互相推诿。即不利于软件工程项目的顺利完成,也不利于提升团队工作质量。又比如,团队成员分工明确,但是各自为政、缺乏合作与交流,这同样会导致团队工作效率的下降。

2.3 进度控制问题

在软件工程项目实施过程中,如果忽视了将进度控制作为具体目标来实现,就可能导致工程不能按期完成,从而给整个项目造成损失。同时,进度控制与项目的质量管理、成本管理之间存在着复杂的关系。一方面,过分强调项目的进度与成本控制可能对项目质量达标产生不利影响;另一方面,从长远来看,注重项目质量可以避免由于软件产品不合要求不得不返工,而造成的工期延误及成本扩张等问题。因此,需要软件工程的项目管理人员从全局把握。

2.4 风险管理问题

软件工程项目的风险可能存在于多个方面,比如软件产品质量是否合格、是否满足用户需求或业务需要,项目是否按规定时间完成,成本是否在预算之内,等等。如果对软件工程项目的风险疏于防范,将有可能给整个项目造成巨大的损失。

3 软件工程项目管理策略

3.1 将目标管理应用于软件工程项目管理

根据软件工程项目管理的特点,将目标管理应用于其中时可以分为五个步骤,即目标确定、目标定义、目标分解、阶段成果检查、目标验收。

目标确定主要包含两方面内容,一是确定目标的内容,二是确定目标的重要性。一项软件工程项目需要实现多个目标,确定其中相对关键的、主要的、刚性的目标,因为这些目标往往在质量、工期、资源应用等方面不允许出现偏差。同时,根据目标确定的结果制定相关的项目章程,以保证目标的实现。

目标定义是在目标确定的基础上进一步明确目标实现的程度,比如,关键目标的重要性、对于整个项目的意义,项目工作做到怎样的程度可称为达到了这一目标,等等。目标定义工作的实质是使目标可衡量、可检查,使目标具有实际内容。并据此制定项目策划,成为软件工程项目开展具体工作的依据。

目标分解就是将最终的总目标分解成为不同阶段、不同大小的子目标,然后分别执行。这主要是针对软件工程项目不可视、工期较长,需要到工程后期才能对软件产品进行衡量,存在目标控制的滞后性问题。通过目标分解,对分解目标逐一完成、逐一衡量、逐一控制,实现分解目标的可执行、可衡量、可控制。需要注意的是,目标分解对于整个软件工程项目管理的目标管理而言是十分重要的一步。以目标分解为基础,可以制定整个软件工程项目详细的工作计划,比如,采取怎样的工作方法,以及成本预算,对项目进度的控制等方面都可以进一步明确。因此,目标分解必须合理,对于分解目标的统筹管理应有助于提高整个软件工程项目的执行效率。

阶段成果检查及目标调整主要是根据各分解目标完成的实际情况进行两方面的调整。一是目标制定可能不符合实际情况、或者实际情况发生了变化,则需要对目标进行调整。二是目标切实可行,检查任务完成是否切合目标要求。如果针对子目标的检查确认项目进展顺利,可以使用周迭代模式进行检查,确保项目平稳进行;如果针对子目标的检查发现项目完成出现偏差或失控,则需要采取每日检查的方式,按照目标要求对执行过程进行调整。在阶段成果检查及目标调整过程中,合理适用的检查制度和验收适度是十分必要的,其目的是确保项目整体处于可控状态。

目标验收是在项目工作任务完成时,对最初的总目标进行验收,验收合格方可确认项目结束。

3.2 促进软件工程项目管理规范化

软件工程项目的规范化管理主要包括团队管理的规范化、工作方法的规范化、风险管理的规范化。

在团队管理的规范化方面,首先要根据工作目标制定团队规范,其目的是保证项目完成的进度和质量符合各分解目标,从而保障项目整体可控。在团队规范中,对不同的岗位职责、工作的规章制度、相应的工作纪律进行明确的规定,确保团队中的各项工作可以有条不紊地开展。特别是为了保证工程的进度和质量,需要对项目执行过程中问题的处理方式方法制定相应的处理流程。由于软件工程项目所处的技术环境日新月异,为了提升整个团队的工作能力,需要经常对团队成员进行相关培训,并形成制度。为了促进整个团队的积极性和主动性,需要制定有力的激励措施,形成相应的奖惩制度。

在工作方法的规范化方面,主要体现在工作流程的规范化。一是针对整个项目工作的组织,在目标分解计划制定之后,包括每周任务认领,每日工作例会,任务看板及燃尽图绘制,以及对工作立项后的跟进等等方面,形成规范化的流程。并且对整个流程中的控制节点做出明确的规定。比如,对工作项进行细分,在每项工作的1/2时间点处进行检查,以便及时发现和解决问题;执行代码核审制度,每天工作结束后,采用循环交叉的方式进行代码审核;在任务完成之后归纳技术总结文档,以积累经验、总结教训。

二是针对项目管理中的需求分析问题,除了对用户需求进行细致深入的分析之外,可以采用规范化的项目管理模型。首先做出原型并向用户展示,根据用户意见修改至用户满意,然后以原型为范本进行项目开发。如图1所示。

采用项目开发模型有助于促使项目开发人员采用规范的方法,在一定程度上可以减少项目开发过程中的返工,从而有助于避免风险和损失的发生。

在风险管理的规范化方面,需要建立完善的风险管理制度,对于风险的识别和控制需要有可量化的标准和方法。在项目执行过程中,需要定期对项目风险进行识别和控制。特别是关键的时间节点,比如分目标完成时,在进行阶段检查的过程中需要加入风险控制的内容。同时,将进度控制纳入重要的风险管理范围。

3.3 建立完整的软件开发项目管理体系

建立完整的软件工程项目管理体系,有助于全面提升项目管理质量。根据软件工程项目管理的主要内容、特点,以及目前的主要问题,建立完整的软件工程项目管理体系主要分为三个部分,一是软件开发的流程,包括需求分析阶段、系统设计阶段、编码实施阶段、测试阶段、系统试运行阶段;二是软件工程项目管理的主要内容,包括质量管理、团队管理、进度管理、风险管理;三是软件工程项目管理的主要方法,包括文档、工具、沟通和制度。在项目执行的过程中,将上述三个方面融合在一起,贯穿于软件工程项目过程的方方面面。

4 结 论

随着计算机软件技术的发展,软件工程项目的规模、难度、类型都在快速的发展之中。针对目前比较常见的软件工程项目管理中的主要问题,包括需求分析问题、团队协作问题、进度控制问题、风险管理问题,论文提出了系统化的管理策略。主要包括将目标管理应用于软件工程项目管理,促进软件工程项目管理规范化,以及建立完整的软件开发项目管理体系。

参考文献:

[1] 邵国红.探析计算机软件工程项目管理[J].硅谷,2012,(2).

[2] 陆中元.浅论软件工程项目管理实践[J].计算机光盘软件与应用,2012,(21).

目标管理软件篇(3)

随着我国软件产业的发展,软件工程监理体系已经成为软件产业的必然选择,软件工程监理体系基于软件开发过程进行管理,最大限度提升软件整体质量与开发效率,同时有效规避了软件市场中的不规范。目前,我国软件工程监理体系仍然处于初级阶段,软件产业对软件工程监理体系的实践很少,只有科研机构对软件工程监理体系进行了尝试,除此之外,政府机构没有直接参与软件产业的规划,软件产业缺少必要的政策支持与约束。软件工程监理体系可以对软件工程中的质量、资金、进度等进行跟踪管理,同时协调软件工程中的各个参与方,保证各方全力支持软件工程开发。软件工程监理体系不仅可以提高软件工程的质量,也可以加速软件产业的完善。下面将详细研究软件工程监理体系的基本理论,包括软件工程监理体系的目标、框架体系等,并对软件工程监理体系的影响进行分析。

一、软件工程与监理

(一)软件工程

软件工程实质属于多学科的交叉,包括了计算机语言、计算机硬件、信息通信技术等,软件工程是传统工程管理模式与软件科学的完美结合,软件工程不会深入软件设计的细节,而是以软件的开发进度为核心,软件产业是一个更新迅猛的行业,软件系统的生命周期很短,只有快速推出软件产品才能占领市场主导权。传统软件工程可以分为八个阶段,按照项目的推进顺序可以概括为项目背景调研、项目需要分析、项目可行性分析、项目综合分析、工程细节设计、编码设计与测试、综合软件综合测试以及软件维护等。管理人员根据软件开发的进程制定可行的管理计划,同时严格控制各个环节,保证各个环节之间的协调性,目前,我国软件工程开发流程已经比较明确,但基于软件质量的监理体系仍然缺位,软件工程出现“保量不保质”的现象。

(二)软件工程监理

传统施工建设工程中包括了业主、设计方、施工方以及监理方,业主是项目投资的主体,设计方负责工程设计,施工方负责现场施工与协调,监理方属于独立于施工方与业主之外的第三方机构,业主将质量监督、现场管理监督、安全监督等权限转交给监理方,监理方根据国家的相关规定与行业标准对项目进行审核。软件工程监理体系是将传统工程的监理机制移植到软件工程中,软件工程监理机构可以对软件工程进行监督与管理,因为软件工程具有一定特殊性,软件工程承建单位同时承担了软件设计与软件编程任务,因此第三方监理机构的介入十分必要,一方面可以提高软件工程开发效率,另一方面可以保证投资方的基本权益。软件工程本身就属于十分复杂的过程,不论是软件功能设计、结构设计,还是软件编程,都放映出了人类思维逻辑的严密性,因此,软件工程监理体系也根据严谨与严格。

二、软件工程监理体系框架

软件工程监理体系属于典型的全过程管理模式,监理机构持续跟进软件开发进度,需要对软件质量、安全、效益进行综合分析与审核,同时需要对工程承建单位进行资格审查,对项目施工过程进行可行性分析。软件工程监理体系的核心是软件工程,监理的主体包括政府机构与第三方监理单位,软件工程监理体系的目标是实现工程利益最大化,软件工程监理体系的参与主体除了政府部门以外,还包括投资机构、承建单位、仲裁单位以及政府其他职能部门等,投资方与监理单位的监理合作依据包括法律规范、合同、契约等。由软件工程监理体系的框架可以看出,监理系统主要包括两大组成部分,分别是政府宏观监理体系以及第三方监理体系,政府宏观监理体系的内容包括行业标准的制定、法律法规的贯彻落实、工程承建单位的资质认证、项目合同有效性的审核等。社会监理体系主要以独立的专业化社会监理单位为主,第三方社会监理单位接受投资方的委托,负责软件工程的日常监督工作。

三、软件工程监理体系内容

(一)质量控制

目前,我国的软件工程监理体系的内容与目标主要体现在六个方面,包括质量控制、成本控制、进度控制、合同管理、信息管理以及组织管理。其中质量控制的主要任务包括四点:一是对承建单位进行资质审核,确保承建方有足够项目实力,并从多个承建单位中挑选最合适的单位;二是明确质量技术指标;三是全程监督承建单位的工作,保证每一个环节符合质量标准;四是排查软件工程中的质量缺陷,保证软件满足基本使用需求。除此之外,监理机构还需要对承建单位提交的系统设计方案进行审核,确保系统测试计划能够达到设计目标,同时对承建单位提供的设备与材料进行质量审核,项目完成后由监理机构对软件子系统以及整体系统进行综合检测。

(二)成本控制

软件工程监理体系的成本控制目标就是为了现实利润最大化,业户与监理机构需要对项目成本预算进行综合审核,核实软件工程项目的工程量与材料成本,项目完成后需要对工程结算进行全面审查与监督,保证项目款项符合实际。软件工程监理体系成本控制的途径主要有六个:一是对审查项目的设计预算进行审查,监理机构对方案成本、材料、设备进行细化预算,审查每一项支出的合理性;二是对已经完成的工程量进行记录,为工程结算提供依据;三是对合同条款进行审查,保证业主与承建单位签订的合同符合法律规范,同时保证合同报价满足双方利益;四是对工程变更部分进行审核,软件工程在进行建设过程中存在很多随机性,需要根据项目需求进行修改,因此,监理机构需要对项目变更部分进行记录,保证工程结算准确性。

(三)进度控制

软件工程监理体系对进度的控制主要体现在三个阶段,包括项目准备阶段、项目执行阶段以及项目验收阶段,监理机构需要按照不同阶段的建设目标安排审核任务,进度控制的目标就是保证软件工程项目可以按照预期规划推进。软件工程监理体系对项目的控制方案包括事前控制、事中控制以及事后控制,事前控制需要监理机构对项目建设内容、项目难度、工程量进行准确预估,另外还需要对项目计划进行可行性分析,保证项目可以按照计划推进;事中控制需要监理机构实时更新施工进度,保证项目进度达到预期设计目标,如果项目不能按照预期规划完成,则需要及时通知业主,由业主对施工计划进行调整,并采取相应的惩罚措施,事后控制需要监理机构对项目的整体推进情况进行评估,保证项目整体达标。

(四)管理控制

软件工程监理体系的管理控制内容涉及了合同管理、信息管理以及组织管理。(1)合同管理,合同管理是软件工程监理体系的重要组成部分,合同是保障软件工程监理体系各方利益的重要凭证,因此软件工程合同必须具备真实性与客观性,监理机构有责任参与合同拟定,合同拟定过程中,监理机构需要协调各方利益,除了需要对合同进行审核外,还需要监督各方履行合同义务,调解合同中的矛盾,保证合同可以顺利有效履行。(2)信息管理,软件工程项目涉及的信息十分庞大,不仅包含了项目本身的设计信息,还包括项目市场信息、项目协调信息等,信息是项目控制的基础,监理人员需要根据项目情况充分收集、整理、整合项目信息,同时加强关键信息的保密工作,为项目审核提供资料。(3)组织管理,软件工程涉及的参与方很多,包括投资单位、监理单位、承包单位、分包单位等,各个项目参与方都有一定的利益诉求,同时也有自身的工作模式,软件工程监理体系必须有效协调各个参与方,将各方力量集中在项目建设,保证项目推进顺利。

四、软件工程监理体系构建

按照软件工程监理体系的设计目标与内容对软件工程监理体系进行拆分,可以分为四个阶段,包括招投标阶段、设计阶段、实施阶段以及验收阶段,根据项目推进的流程对软件工程监理体系进行分步骤构建,将软件工程监理体系分为招标阶段监理体系、设计阶段监理体系、实施阶段监理体系以及验收阶段监理体系,以监理体系的设计目标为基础进行监理体系进行构建。

(一)招标阶段监理体系

招标阶段监理体系的监理目标体现在两个方面:协助业主明确工程技术指标,同时确定建设目标;保证业主与承建单位达成一致,促成合作。招标阶段监理体系的质量控制目标是了解业主单位的质量需求,并参与制定招标书,进度控制的目标是帮助业主单位制定工程的工作推进计划,成本控制的目标是明确企业主的工程范围,并确定工程的整体预算,管理控制的内容包括参与合同制定过程,并明确合同中的技术指标与验收标准,同时与业主以及其他项目参与方构建信息沟通机制,保证信息沟通渠道畅通。

(二)设计阶段监理体系

设计阶段监理体系的监理目标体现在三个方面:保证业主与承建单位在进行工程设计时符合国家规范;对软件工程设计进行审核,保证相关技术指标规范化,并为业主提供最优化的设计建议;帮助业主单位发现设计中的漏洞与缺陷,从而消除设计缺陷。设计阶段的质量控制目标是保证设计具有一定兼容性与可开发性,进度控制的目标是根据合同督促承建单位按要求推进计划,成本控制的目标是项目建设最优化,最大限度地压缩项目成本,管理控制的目标是及时梳理合同变更的内容,并对合同变更进行记录,监理单位有责任保证业主与承建单位的信息沟通渠道,同时对项目建设中的文档资料进行管理,组织各个项目参与方定期沟通。

(三)实施阶段监理体系

实施阶段监理体系的建立目标体现在三个方面:保证软件工程实施方案的合理性与可行性;保证工程建设的内容符合国家标准及行业规范;保证工程建设,处于受控范围内,并达到合同要求的标准。实施阶段的质量控制目标是对承建单位提交的质量管理计划报审表进行逐项审核,同时对项目各个子系统进行实时监测,进度控制的目标是保证承建单位的项目推进进度达到合同要求,成本控制的目标是审核承建单位提交的工程付款申请,对合同变更中产生的成本进行记录,未验收阶段工程结算提供依据,管理控制的目标是定期向业主单位与承建单位提交监理报告,通报监理合同执行的情况,由监理机构统一管理施工阶段的各种数据与报告。

(四)验收阶段监理体系

验收阶段监理体系的建立目标体现在三个方面:保证软件工程测试方案的合理性;检验软件工程建设目标是否满足国家相关标准及业主合同内容;验证工程项目的技术指标是否达到合同标准。验收阶段的质量控制目标是及时向业主承建单位提交检验报告,保证工程检验的公正性与真实性,协助业主排查项目中的质量问题,对需要整改的部分进行重新验收,进度控制的目标是对项目验收阶段的进度进行控制,同时审核项目的整体推进进度,成本控制目标是帮助业主单位进行工程决算,管理控制的目标是对整个项目的执行情况提出建议意见,同时将各种验收报告与监理数据提交给业主单位,组织项目各方参与验收与移交工作。

五、软件工程监理体系影响分析

软件工程监理体系作为软件产业的未来发展趋势,同时也是软件工程的核心,软件工程监理体系对软件产业市场构成直接影响。软件工程监理体系对软件市场有影响主要体现在三个方面:一是对软件产业市场结构的影响,软件工程监理体系将直接打破现有的软件市场结构,软件工程监理体系可以提高软件工程的经济效益,导致软件工程资源集中在部分有有资质的大企业,同时将加速软件产业优化,淘汰一批不具备专业能力的承建单位,实现产品差异化竞争模式;二是对市场行为的影响,软件工程监理体系将促进软件产业市场的标准化建设,通过标准化管理模式降低软件开发的成本,激烈的市场竞争将刺激企业的创新能力;三是对产业效益的影响,一方面环境工程监理体系提高了软件开发效率,另一方面软件监理体系促进了行业技术革新,有利于产业规模化经营,提高了产业的整体效益。

六、总结

21世纪是计算机信息化技术的新纪元,计算机信息化技术已经成为世界经济发展的主要动力,软件产业是信息化技术衍生出的第三产业,而且软件产业占我国国民经济总值的比例越来越高。软件工程是一个十分复杂的系统工程,涉及多个行业与部门,且软件工程的建设成本较高,如果设计完成的软件出现质量问题,将对业主造成巨大的经济损害,同时造成社会资源流失。软件工程监理体系可以跟踪软件设计的全流程,通过标准化的监理模式管控软件开发过程,软件工程监理体系是软件产业的必然选择,而且软件工程监理体系逐渐得到软件产业与政府部门的重视,我国部分研发机构已经将软件工程监理体系用于投资大、周期长、风险高的软件系统工程,并已经取得较好的效果。本文详细阐述了软件工程以及软件工程监理的含义,并根据软件工程的管理需求建立了软件工程监理体系,对软件工程监理体系的管理目标、管理主体等进行了系统阐述,最后探究了软件工程监理体系对软件产业的影响,希望本文的研究有利于我国软件工程监理体系的健康发展。

参考文献:

目标管理软件篇(4)

1、项目具有延续性由于软件工程持续性的特点,所以一旦公司开展了一个软件项目,也就表示要在很长一段时间接触这个项目,随着公司了解程度,完成情况的推进,软件项目也在一直更新之中,也就是软件工程的延续性。

2、项目具有目标性项目的存在都是有其目标性的,而且在完成这一目标的时候必须要受到很多的约束条件,好比:人员素质、成本预算、质量要求、进度计划等,这些约束条件的改变也会使得项目的目标发生改变,所以在这样的环境之中,项目的风险也就存在着。

3、项目具有抽象性软件工程的成果是一个逻辑体而并非是物理实体,因此也就具有一定的抽象性。首先,软件具有的智能性和无形性使得软件工程很难快速准确的被人员所认识和理解,这就是软件工程的抽象性的具体表现;而后,在软件的开发途中,需要对软件的中间产品进行很多的调试过程,也需要为软件制定严格的逻辑设计和组织,这其中会用到很多的抽象的逻辑思维能力,这也是软件工程的抽象性的具体表现;最后,软件在运营阶段的信息表达也会用到很多抽象的外在形式,很多内容不容易被发现,这也是软件工程的抽象性的具体表现。软件的抽象性特点也使得人们开发和理解软件的难度大大提高。

4、项目具有系统性软件项目的完成是很复杂的一个工程,可能会有很多的项目小组,大型项目尤其如此,这儿其中包含的人员、内容很多,对项目的操作就会很复杂,这就对管理者的统筹兼顾的能力要求很高,需要管理者动态、全面掌控项目的运行。

二、当前阶段我国软件工程的投标中存在的问题

中国在加入WTO的这十年之中,机遇和挑战是并重的,随着市场对外越来越开放,中国软件公司也正承受着市场竞争所带来的强大压力。我国现在大型的软件工程实行的都是公开的招标投标的制度,这也就需要软件工程公司较好的参与到招投标的过程之中,如果企业在市场竞争的洪流之中,避免考虑招投标中的风险,也就会造成以下许多问题。

1、投标时对客户的信誉缺乏考虑软件项目投标之前必须要对客户有一个适当的背景了解,这个背景包括了解招标人的付款方式、现有资金到位情况、项目运作经验以及资金状况这些方面。有些软件工程,招标人对软件工程的资金还没有落实好,或者是需要投入的资金和软件工程实际需要不成比例,这就自然导致了项目的风险加大。

2、维护服务能力考虑不周软件工程开发之中的风险因素很多,由于软件工程的很难控制,软件开发之中,导致出现维护、开发、服务等周期延长的变更可能随时出现,这就需要软件公司在投标前期就要做深入的考察,以防止在软件工程的开发之中给项目带来较大的风险。

3、项目需求的人力资源得不到满足软件行业人员流动率一直都很高,至少有百分之二十到三十,因此要保证项目的成功必须要保证人力资源的充足。因为软件项目是一个周期性较长的过程,加上人员流动频繁,在项目投标前投标人应衡量一下人力状况是否满足能项目的需求,人员在技术上能否满足项目需求,开发人员的流动能否保证工作的延续性等问题。如果在投标时不能考虑项目自身对人力状况需求的分析,盲目进行投标,即使中标后也会出现人力状况不能满足项目需求等情况,可能会出现拆东墙补西墙的局面,从而导致连锁反应,导致项目的失败。

4、投标方案无法完全满足顾客需求投标方案的编制一般都是根据招标文件而来,如果对客户的实际需求理解不到位,在技术和设计方案上不能满足需求,在竞争比较激烈的项目中,有些投标公司往往会为了取得项目而对客户提出的很多超过范围的要求一一应允,这也就让客户有很大的期望,最后无法取得预期的效果会给双方带来损失。因此要求投标公司对招标文件理解准确、深入,并且编制既满足用户需要同时投标方案也切实可行,做到这点项目风险才会有效减少。

5、没有深入接触客户,盲目参与投标较大型的软件项目从项目开始到招标一般半年到一年或更久的运作时间,在项目的运作之中,用户也会对软件公司和项目本身做深入调查。软件公司如果在公告之后还不对用户作深入的了解,中标机会就会变低,这样会是公司丧失这个项目,丢掉公司发展机会。

6、以投标价低获取中标机会软件开发项目投标的合理投标是很重要的,软件公司如何报价是一个重要抉择。过高的报价会导致预算超支从而不会被客户接受。同样的,报价过低虽然会一定程度增加中标概率,但却会为项目的后续开展留下隐患,会出现工软件的质量不达标、进度跟不上、费用成本超支等诸多问题,严重的话会造成项目失败最后丧失客户信任。因此,在投标时不仅要能够满足顾客需求同时也要保证公司能够盈利,只有这样方能够尽量减少投标风险。

三、如何完善软件工程项目投标

软件工程的项目投标的风险程度很高,在投标每个阶段都或多或少存在着风险。所以必须要运用一些积极的风险管理对策,采用规避风险、风险转移或风险缓解等方法来消除风险过后的不好影响。

1、建立风险管理体系提高风险管理能力现在是市场竞争的时代,给企业造成风险的因素很多,所以企业必须重视对风险的管理,健全相关的管理制度使之成为长效机制,以期达到减少风险损失,促使企业能够长效发展的目的。

目标管理软件篇(5)

软件开发过程是一个复杂过程,也是一个项目的综合过程。软件配置在软件开发过程应用,提高了软件的生命周期,在开发过程中,就能对软件进行测试,对软件的数据进行科学的分析,发现存在问题及时解决措施,对提高软件开发质量有了进一步技术保障,为项目的正确实施有了明确保障。

一、项目管理的概述

软件从调研、分析、设计、实施、测试、维护与管理及死亡的一个生命周期,实际就是一个项目的整个流程。项目管理就在一定环境下,根据企业的实际需要,进行科学的分析、科学的设计、科学的进行管理、以提高企业的利润为目标进行整个管理过程。现在项目管理在各个领域应用比较广,其有一定管理目标,科学的进行分析与管理,为实现特定的管理目标努力。项目管理是一项综合过程,涉及组织,质量、费用、时间等一系列问题,从发起过程,设计过程到实施过程都需要企业搭建良好的平台进行构建,以实现企业项目管理目标努力。

二、在软件开发中实施项目管理的重要性

项目管理在软件开发过程中起到重要作用,项目管理可以提高软件开发质量。有时即使不开展项目管理工作,软件开发项目也能取得成功。但是如果缺乏项目管理,则难以将成本控制在一定范围内,容易导致软件企业面临着亏损的风险。在开展项目管理工作的过程中,需要借助技术、方法等,管理软件开发活动,如此既有助于实现软件开发目标,又能够控制软件开发的进度以及开发成本。当前,虽然有部分软件企业依据软件工程理论,制定了管理软件开发的制度,但是却没有严格控制软件开发的进度以及成本。这种做法不仅会延长软件开发的时间,还会增加软件公司的经营风险,最终损害到相关用户的利益。而在软件开发过程中,开展项目管理工作,就有助于保证软件开发工作的顺利完成,同时提高软件企业的经营管理效率。综上所述,项目管理在软件开发过程中起到重要作用,在软件管理中能开学的,有目标的进行软件管理,在软件设计过程中,能合理的安排软件开发设计时间,保证软件时间正确完成,对提高软件质量,降低用户风险等方面都做的非常好,在软件开发过程中,合理的利用项目管理软件,对提高软件的应用有一定的现实意义。

三、项目管理在软件开发中的应用现状

项目管理应用在软件开发过程中时间不是很长,但最近几年,项目管理应用到软件开发过程中,取得一定成绩。60年代中期,软件行业没有一定标准,人们发现软件开发过程中存在一定问题,软件工作者一直想解决措施。80年代,学者尝试在软件开发过程中引进项目管理,这时候没有软件标准,但也取得不错效果。在项目开发过程中,项目组有多个成员组成,每个成员在项目开发过程中扮演一定角色,每个角色有一定的工作任务,要认真分析任务中具有一定的关联性,合理的利用项目管理,解决任务的开发时间及先后顺序,都是为了整个项目能正确,准时的完成而努力奋斗,同时也对员工提高工作效率有一定的益处,对提高学者的能力有一定的帮助,在未来的发展过程中,软件开发引进项目管理是时展需要,也是社会发展需要。

四、项目管理在软件开发中的应用

1、可行性研究。软件在开发实施前,都要对项目进行一定可行性研究,主要从管理、技术、经济三方面进行可行性研究。现有的管理水平是否能进行软件设计开发,是否符合现代化企业的项目化管理的需要。现有的技术水平是否能进行软件开发,是否能完成企业提出相应功能的实现。现有的经济能力,是否能承担软件开发的费用以及后期的管理与维护费用,有必要的可能软件升级费用等。

2、软件项目估算。在软件开发过程中,首先要规划软件开发项目,如此便于项目管理人员制定切合实际的估算方案。规划软件开发项目的内容主要包括:明确软件开发的目标、明确软件开发过程中需要用到的各种资源、明确软件开发的进度等。在软件开发过程中,估算起着非常重要的作用。通过估算可以保证软件项目在规定的时间内完成,也可以确保软件项目的成本未超出预算。

3、软件项目开发人员的管理。软件开发项目开发核心要素是人,包括管理人员及技术人员。人员的科学管理是软件项目开发质量的保障,科学的人员管理,可以提高工作效率,提高软件开发质量,节约开发成本,因此软件开发公司现在都很重视项目团队的建设。

总之,项目管理在软件开发过程中应用,提高了软件开发质量,并且取得一定成绩,解决了软件开发过程中出现的问题,为软件开发作出很大贡献。

参 考 文 献

目标管理软件篇(6)

一、 引言

软件行业是一个高智力密集型行业,软件开发质量得到各行各业的关注。软件产品属于逻辑性智力型产品,它是软件开发人员脑力劳动成果的重要体现,但软件开发的质量会受到诸多因素影响,对软件开发人员来说,按时完成软件产品而又保证软件项目质量是一个很棘手的问题。一旦软件质量无法得到保证,除了会增加软件后期维护的费用,还会加重技术人员的软件后期维护任务,质量差的软件也必将会给使用者带来很大的麻烦和损害。因此,加强对软件项目的质量管理具有十分重要的意义。

二、软件项目质量管理内容分析

1、软件项目质量计划编制。软件项目质量管理工作应遵循“预防为主、检查为辅”原则,一个系统而全面的软件项目质量计划能为软件项目的实施起到良好的促进作用,有利于高质量软件产品的输出。软件项目质量计划作为整个软件项目质量管理的行动纲领,它一般是由软件项目经理和质量人员共同协商制定的。软件项目质量计划需要根据所研发的软件项目特征来编制,针对会影响软件质量的各项因素,要进行深入分析,制定出行之有效的预防措施。

2、软件项目质量保证。软件项目质量保证是指在软件项目实施过程中科学制定相关的质量标准和质量控制措施,逐步构建软件项目的质量管理体系。质量保证是贯彻整个软件项目全过程的准则,它能及时对整个项目的实施情况进行科学评估,保证软件项目质量与计划预期保持一致。

3、软件项目质量控制。软件项目质量控制是对技术人员对软件进行测试和控制以确保软件质量是否满足相关质量标准,其目的在于及时测试出软件缺陷,采取有效措施及时纠正软件缺陷,提升软件产品质量,保证软件质量与计划预期相符。

三、加强软件项目质量管理策略

1、健全软件项目质量标准体系。为加强软件项目质量管理,必须健全软件项目质量标准体系。因此,企业要综合考虑用户的软件应用需求,科学编制实施软件项目的整体计划,逐步构建科学、完整、合理的软件项目质量标准体系,其中包括软件项目设计的内容、项目实施流程、项目周期控制、项目预算管理、项目工作详细内容等,软件项目质量标准体系各部分内容需要设计人员、项目管理者先进行沟通与交流,确保软件项目质量计划合理科学,适合用户需求并且是可实行的。

2、强化软件项目技术评审工作。软件项目技术评审是指企业请同行专家对软件产品质量成果进行评审与讨论,以及时发现软件项目工作成果中的存在漏洞,有利于软件开发人员及时采取措施处理软件缺陷,从根本上提高软件产品的质量。因此,软件项目质量管理人员应积极参与软件开发技术评审会议,加深质量人员对软件工作成果的了解。

3、实施软件代码走查。代码质量是直接影响软件整体质量的关键性因素,由于高质量的软件程序具有高内聚、低耦合特点,并且要求软件结构合理、条理清晰,因此,软件编程人员在编写软件代码时,必须要高度认真、细致负责,保证代码编写思路清晰明确。在软件项目开发过程中实施软件代码走查,要求软件编程人员在特定时间内对所编写的代码进行讲解分析,一方面可以明晰软件编写人员的思路,提高编程人员的编程水平,另一方面也便于软件编写人员与软件项目质量管理人员进行内部的软件设计思路交流,实现双方工作的有效配合,真正促进软件质量的提升。

4、加强软件质量检测。在强化软件项目质量管理过程中,对软件进行质量检测是及时发现软件缺陷的有效措施。在软件项目各环节中,任何人都无法保证操作完全规范,通过对软件项目不同环节进行检测,可以及时检测出存在质量漏洞的环节,从而提高整个软件项目的质量,努力为用户提供一个可靠、安全的软件成果。软件质量检测也并非可以将所有潜在问题都发现,软件使用过程中可能会因一些小操作而产生功能使用方面问题,这些偶然性软件错误是难以避免的,这些问题应该提前向软件使用者说明。

四、结束语

随着企业信息化建设速度的不断加快,软件工程项目的建设质量受到越来越多人的关注。因此,在软件开发项目中,我们必须对其加强质量管理,严格按照软件编制质量计划进行软件开发,真正落实软件开发质量控制措施,全面提升软件项目质量,促进软件行业健康和谐地发展。

[1] 陈荔. 论软件项目的质量管理[J]. 商,2013(14):373.

目标管理软件篇(7)

0 引言

随着我国国防现代化的迅速发展,软件在军工产品中的应用呈现急剧上升的趋势,而软件配置管理是软件开发管理的核心所在。

软件配置管理是指一套管理软件开发和软件维护及其中各种中间软件产品的方法和规则,配置管理通过在特定的时刻选择软件配置,系统的控制对配置的修改,并在整个软件生命周期中维护配置的完整性和可追踪性,简单而言就是管理软件的变化。作为软件配置管理的基石——配置库的控制在软件开发过程中扮演着不可或缺的角色,它所控制的对象是软件开发过程中涉及的所有文件系统对象,其架构的目的在于对软件开发进程中文件目录的发展过程提供有效的追踪手段,保证在需要时可回到旧版本,避免文件丢失和相互覆盖,通过对版本库的访问控制避免未经授权的访问和修改,达到有效保护软件资产和知识产权的目的。

1 标准依据

1.1 配置管理要求

根据GJB5235-2004《军用软件配置管理》的要求,软件配置管理活动应贯穿整个生存周期,保证软件产品的完整性和可追溯性。软件配置管理的任务包括:配置标识;配置变更控制;配置状态记录;配置审计;管理。

1.2 配置库的要求

根据GJB5716-2006《军用软件开发库、受控库和产品库通用要求》的内容,有几下几方面基本要求:

军用软件开发组织应建立软件三库,明确软件三库管理机构职责,并制定三库管理规定。

软件三库管理机构应是软件配置管理机构的组织部分,由库管理员、各库管理负责人等组成。软件开发库由项目组管理,软件受控库由研制管理部门管理,软件产品库由组织的技术档案管理部门管理。

软件三库管理规定的内容包括入库控制、访问控制、出库控制、更改控制、配置状态报告、配置审核、维护规程、库间转换。

库属性一般应包括:配置管理项;配置标识;配置管理项位置;开发人;入库时间;更改人;更改时间;出库项;软件提取人;出库时间等。

组织应为软件三库提供必要的场地和设备,以适应软件三库管理,保证库中内容正确性、完备性和安全性。软件三库管理应采用适宜的工具,以利于存取、检索、比较和回复,确保软件三库的使用和管理方便、有效。

1.3 实施难点分析

软件三库的建立可以进一步确保软件配置管理的控制。利用配置管理工具实施既符合军标要求,又满足软件开发规则的难点有:

1)由团队开发引出的数据合并、分支开发问题。由于开发库介入人员较多,设计人员需要独立、安全、有效地开发环境,这就引发了并行开发以及分支开发的问题,如果不能有效、完整地归并数据、创建特定版本分支,必然造成软件版本混乱、软件失控的局面。

2)三库如何隔离的问题。实施软件三库逻辑隔离有助于软件配置管理的实施,脱离了逻辑隔离的三库,层级管理难以有效实施,人员权限将陷入混乱,组织对软件开发的结果很难掌握。

3)如何控制大量变更的问题。大型软件项目存在变更多、版本多的特点。如何有效、正确地掌握每次变更情况,控制各个版本成为配置管理工作的重中之重。

4)配置标识在项目间、三库间不唯一的问题。由于必须确保配置标识的唯一性,同一配置管理项的配置标识在各库中必须有所区别。另外,如果仅依赖人工操作,无法确保配置标识在系统中的唯一性,容易造成质量事故。

5)版本重用。配置管理要求记录软件开发过程中的所有工作成果,三库策略能够有效地分层级对软件工作成果进行管理,但是记录大量的软件历史版本的同时,仍能够清楚地显示最新版本,更便于开发和管理。

6)库间软件版本的对应关系。配置管理工作要求确保配置管理项的可追溯性,其中库间软件配置管理项的对应关系依靠人工记录,一是不便于工作查询,而是容易出错。

2 ClearCase工具的优势

软件配置管理作为软件开发过程的必要环节和软件开发管理的基础,管理过程十分繁杂,管理对象错综复杂,因此,引入自动化工具成为了做好软件配置管理工作的必要条件之一。

ClearCase配置管理系统提供了比其他工具更全面的配置管理功能——包括版本控制、工作空间管理和过程控制。

2.1 版本控制

ClearCase的核心功能是版本控制,它能够支持软件开发进程中一个文件或一个目录发展过程进行追踪的手段。能够提供版本分支开发和归并功能;支持较其他工具更较广泛的文件类型;变更控制达到元素级;能够更清晰地展示版本变更情况。

2.2 工作空间

ClearCase提供空间管理,即保证开发人员拥有自己独立的工作环境,拥有自己的私人存储区,同时可以访问项目的共享信息。能够提供一致、灵活的可重用工作空间域,支持选择特定文件或目录的适当版本,实现资源代码共享和私有代码独立,以及版本间的透明访问。

2.3 过程控制

ClearCase为团队通信、质量保证、变更管理提供了更成熟的过程控制和策略控制机制,体现在以下几方面:历史记录;定义事件触发机制;访问控制;查询功能。

3 基于ClearCase系统的三库控制模式

3.1 三库架构与职责

ClearCase实现配置控制管理的基础是VOB,采用UCM模式,以项目为个体创建VOB,以此控制各项目组成员的操作权限;同时在项目VOB下采用以三库为基础的多流管理方式,配置开发库、受控库、产品库3个流,实现各库的逻辑隔离。

在以往的配置管理工具实施中,每个项目到各版本文件、目录全部依赖于系统管理员手工操作录入,各项目、各库间统一目录结构、文件命名的难度极大且容易出错。同时,也是最大的问题。对此,利用集成流配置各配置库中的共有内容,实现目录、文件夹、文档、代码及各元素的控制。例如同步各配置库的文档目录、统一各配置库中的代码目录、控制代码名称等。集成流仅允许系统管理员访问变更。系统管理员将集成流上的共有内容通过创建基线、Rebase基线到各库及各子流,能够实现统一项目内各工作区的文件目录结构。

根据GJB5716的规定,对三库管理做出不同层级的配置管理职责要求:软件开发库由项目组内部控制;软件受控库是部门级的控制;软件产品库是组织级的控制。通过项目VOB锁、三库流锁、目录锁、文件锁等层级控制人员权限。具体如下:

3.2 基于CC的实施流程

根据标准要求,受控库的配置管理项必须来自于开发库,产品库的配置管理项必须来自于受控库。在此,我们以开发库提交到受控库为例。

项目启动后由项目软件负责人通知受控库配置管理员创建项目VOB,项目组成员提交权限申请。由项目负责人定义代码及文档目录,由院级配置管理员统一创建、管理、维护。通过对项目VOB、三库流、文件目录、代码目录及元素分级控制,实现各项目组成员对各级元素的操作权限。

之后由配置管理员统一为项目组成员制定配置管理工作规范。项目负责人可以为项目提出分支开发的要求,由配置管理员实施并确保每个项目组成员在适当的项目分支上。

开发人员工作前要创建视图。如果需要进行开发库入库,开发人员进入开发视图并实施创建/修改,完成各自的分支后,由配置管理员根据申请合并分支,并操作make baseline生成该软件配置管理项的开发库版本。最后依据申请操作deliver提置管理项到受控库(目的库)。受控库及产品库操作类似,但是受控库及产品库中的版本生成操作将触发邮件通知,通知对象为项目组成员。

如果需要进行开发库出库,由开发库配置管理员根据申请在开发库下的出库子流操作,对指定配置管理项的指定版本操作rebase。完成后通知开发人员提取。受控库及产品库操作类似。

4 解决的问题

4.1 分支开发

结合我院软件开发过程的实际情况和项目开发需求,在受控库与产品库不变动的情况下,将开发库按使用角色再细分为:测试人员(用)开发库、配置管理员(用)开发库和质量保证人员(用)开发库,方便各角色负责人分派任务、归并数据(参见图1)。

图1 ClearCase实施示意图

图2 项目下创建分支流的分支开发模式

项目的分支开发需要根据分支开发需求,通过在项目VOB下创建新项目或者在原项目下创建分支流实现。这样的分支策划可以帮助项目软件团队实现多项目软件在某一共同数据基础上的并行开发,或者在原软件某版本基础上的分支开发。

4.2 追溯性

4.2.1 标识

如果不能保证配置管理项的配置标识在项目间、配置库间以及配置库中的唯一性,你会发现标识正确的文件的正确版本是多么的困难,因为到处都有拷贝。最坏的情况,极易丢失或错误标识文件的版本,导致降低了系统的质量,甚至项目的失败。

对此,对配置标识的命名必须进行规范要求:型号名称-组件名称-存储库名称-种类-版本号。例如MONI-FK-CL-DM-V2.0,其中CL表示受控库,DM表示代码。按照这样的要求进行配置标识,能够确保配置管理项的配置标识在配置库间以及配置库中的唯一性。

根据我院软件开发的时机情况,曾出现过同一开发人员开发的不同项目软件的代码具有相同文件名称的情况,最终出现严重的质量事故。为解决该问题以及同项目软件代码不同版本的名称识别问题,可以通过开发为用户定制的触发机制,实现对配置管理项名称的控制。该触发机制要求设计人员提交装机文件时必须在文件名称中添加版本号,按照这样的要求进行配置标识,能够确保配置管理项的配置标识在项目间的唯一性。

4.2.2 变更信息

可维护和控制的配置管理项类型广泛,可以是源代码、二进制文件、目录内容、可执行文件、文档、测试包、编译器、库文件等。变更控制细致且规范。

在变更的同时,每个数据的每个版本还附有丰富的信息,ClearCase可以为软件开发过程的每一种信息类型建立一个安全可靠的版本历史。

4.2.3 历史记录

元素版本的组织结构体现在系统版本树中。

ClearCase能够对开发过程做出记录,也可以反应开发的历史情况。系统自动追踪元素级的变更情况,任何变更可触发活动(Activity),自动产生常规日志,存放在数据库中,如:谁做的、做什么、什么时候、在哪个地方、为什么形成的版本等,这些配置状态情况配置管理员可以通过版本树和查看历史查看历史情况的方式实施监控。这样一来,既实现了版本追溯,又减少了错误发生。

因而,基于ClearCase系统实施的配置库的控制模式,可以帮助团队在开发软件时为确保他们所处理的每一种信息数据的可追溯性。

4.3 版本

软件技术状态一般依赖配置管理员人工识别并,伴随而来的是大量的版本信息和漏洞百出的错误信息,容易出现版本十分混乱的失控局面。

利用ClearCase的功能与邮件进行触发配置,能够实现受控库、产品库配置管理员每创建一个配置标识或者基线,均可通过邮件系统自动将该配置标识或基线信息发送至该项目组全体成员。解决了以往版本无法受控的情况,有效且智能地实现了版本控制。

5 实施效果

该系统已在全院范围内运行,并顺利通过保密审查。软件配置管理控制改进效果如下:

1)满足军标要求;

2)符合软件开发过程控制要求;

3)既减少了控制的难度,又达到了配置控制的目标;

4)软件开发过程更加规范化、科学化;

5)完整详细的历史信息。

然而,现阶段的运行仍然存在一些安全机制问题。依据相关保密要求,系统中文档、代码必须标密处理,使得出库后的文档或代码可被识别密级和保密期限,保证我院保密工作有效开展。但是ClearCase配置管理系统并没有相关功能,对此,可利用ClearCase的触发器开发空间,编写用户提交的信息资源必须标明密级和保密期限的触发机制,使软件开发管理符合保密相关要求。同时,ClearCase的配置和使用相对较复杂,需要进行专门的培训和实践应用,才能够能为一个合格的配置管理员。

6 结束语

综上所述,通过ClearCase版本控制系统实施配置库控制机制,可以规范软件的配置管理过程,对开发过程中的各文档及程序标识清晰,版本可追溯,更改控制规范,保证了软件质量。通过将工作成果存储到ClearCase配置管理工具中,使得软件开发过程更加透明化,保证了软件状态的可控制性,更加有效的提高了产品的可靠性和质量。伴随着软件工程日趋成熟地发展,伴随而来的问题可能越来越多,软件配置管理探索的脚步也永不停歇。

参考文献:

[1] 郑人杰.实用软件工程.清华大学出版社,1997.

目标管理软件篇(8)

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)04-0113-03

在当前形势的影响下,一些中小软件企业在实际的发展过程中,由于对软件项目管理认识不足,导致在相关的产品质量管理方面出现了各种各样突出的问题。这些问题的存在,客观地说明了软件企业在发展过程中工作思路的不科学及对项目管理认识不清,阻碍了企业的正常发展。做好软件项目管理的基本工作,必须理解和掌握对中涉及的相关技术概念及基本原理,为后续工作的开展奠定良好地基础。SW-CMM软件项目管理模型,结合了项目管理的主要内容及软件的相关特点,有利于提升企业整体的项目管理水平,扩大自身的经营范围。SW-CMM体现了这个时代无数成功软件企业的研发能力和先进的管理理念,为相关中小企业的项目管理提供了一定的参考思路。

1软件项目管理的研究背景及意义

1.1软件项目管理的研究背景

软件项目管理主要针对的是软件行业。它是项目管理与软件行业结合的产物,对于软件行业工作效率的提高有着重要的影响。软件行业的生存和发展依赖于企业内部团体的研发能力,主要是通过相关技术人员彼此间工作的配合逐步实现的。软件项目管理为软件企业未来的生存和发展带来了巨大的推动力。SW-CMM又称软件能力成熟度模型。它最早诞生于20世纪80年代,是由美国的大学研究机构主持开发的。这种软件项目管理的理论体系庞大,内容比较丰富,涉及的范围也比较广泛。其本质上是一种先进的管理方法,主要应用与软件领域,体现的是管理方面的思想。通过对不同层次的内容指出了软件工作机制中控制活动所遵循的基本原则,为软件项目管理和项目施工提供了可靠的工作思路。这给软件企业处理实际问题带来了一些指导性建议,节约了研发人员的工作时间,加快了研发速度,为企业的整体发展带来了积极的推动作用。同时,作为一种参考标准,SW-CMM对于软件企业的预算管理有着一定地影响:对企业如何控制生产成本,实现利润最大化目标提出了具体的解决方法。相对国外比较成熟SW-CMM,我国在这方面的研究理论非常少,缺乏科学的参考标准,相应的软件组织更是很少,只有部分的中小组织。将复杂的SW-CMM理论体系变得简单化,是未来软件研究工作者需要完成的主要工作任务。

1.2软件项目管理的研究意义

软件项目管理直接关系着软件企业的生存和发展,是保证企业竞争力的重要措施。做好软件项目管理的研究工作,有利于提高软件产品的质量,扩大企业的生产经营范围。同时,这种管理理念和管理方法的实施,从根本上降低了企业的生产成本,为企业整体经济利益的增加带来了积极的影响。中小企业在软件项目的管理过程中一直存在着很多的问题,管理方法的不合理,管理机制的不完善,都阻碍着企业正常的发展。因此,做好软件项目管理的研究工作,对于软件企业整体的发展具有现实的参考意义。软件项目管理是决定软件企业战略部署的关键措施,这也客观地决定了开展软件项目管理研究工作的必要性。

2软件项目管理及SW-CMM的相关内容

2.1软件项目管理概念及特殊性的表现形式

软件项目管理主要是指企业通过对项目成本、施工进度、质量管理、人员配置方面的控制而开展的相关活动。软件项目管理对于企业技术人员的研发能力影响很想很大,也直接体现着企业整体的研发水平。软件生产技术相对较高的企业,其项目管理水平较高,综合的研发能力比较突出。软件项目管理的特殊性主要是指这种管理与其他项目管理的区别。主要表现在;1)思维上的独特性。软件项目是通过技术人员的思维能力逐步开展实施的,具有抽象性的逻辑实体。在具体的研发过程中相对比较自由,需要经过一定的研发时间才能获得最终的产品;2)组成结构的复杂性。这主要是指软件本身具有一定的复杂性。其复杂性包括:代码组成的复杂性和解决实际问题的复杂性。当软件在应用过程中遇到特殊的问题时,必须从程序的设计、实际的需求、研发角度等方面展开必要地研究,而这样的处理过程增加了整个工作机制的复杂性,使得整体结构的复杂性逐渐地体现出来;3)层次感鲜明。软件中某些符号存在着优先级,使得系统在处理实际的问题时,必须充分考虑优先级的高低,间接地使软件项目管理在某些应用方面的层次感非常鲜明,为相关工作的开展带来了极大的方便。通过这些不同的表现形式,可以清楚地看到软件项目管理的特殊性。

2.2SW-CMM的基本结构

当前形势下,国际上较为流行的SW-CMM主要分为软件能力成熟度模型和软件能力成熟度的具体实践。这两种技术报告有着不同的侧重点:前者是强调软件实施中的相关原则,主要是为了使软件能够朝着更高层次的方向发展,最后保持一定的成熟度。这种成熟度侧重于具体的过程。而后者主要强调的是不同级别实践过程中的成熟度,侧重于成熟度实现的途径研究。通过对成熟度内涵的分析,可以为软件实施做出一定的综合评估,以达到软件改进的最终目的。SW-CMM结构的基本原理主要是指:在具体的过程中通过各项实践活动的有效开展,可以实现关键过程的相关目标。这些目标象征着不同的成熟度级别。这也客观地体现出了SW-CMM结构中成熟度级别的高低是与一定过程内实现目标相关的。这为软件项目管理带来了重要的参考思路,也为软件实施过程中评估报告的评价指标指明了方向,给相关模型的构件带来了一定的参考依据。

2.3SW-CMM等级的研究

SW-CMM的等级主要包括五个方面:优先级、管理机、定义级、重复级和初始级。这些不同的级别反应了SW-CMM的基本结构特点,在实际的应用中有着特定的含义。五个级别的相关含义主要有:1)初始级。这主要是指软件的生产组织的起始阶段,基本没有形成真正的软件研发环境。无论是管理上还是具体的实践应用方面,都无法达到相关的设计要求;2)重复级。这一级别中的内容较丰富。主要是指它涉及的对象较多,包括人、物、组织及相关的信息传递。这种过程中信息之间的交流需要结合实际的情况随时地调整。应用、测量、研究、规范化、标准化等组成了一个严密的体系,对于软件项目管理起着科学的引导作用。所谓的重复是指在软件项目管理中可以对制度、合同、预定方案等方面重复执行。不同的项目允许在一定的控制范围内出现一些偏差。这主要是从局部的细节方面研究的。而从整体上观察,可以看出这些重复的行为基本的原理都是一样的。无论是参考标准还是项目控制管理,其中的某些过程中是可以重复的;3)定义级。这是软件研发的关键阶段。软件项目管理模型的形成涉及了软件工程和项目管理。在定义级阶段,需要制定相关的参考标准。这些标准的形成,为未来软件的使用进行了必要地规范,为软件的顺利实施指明了方向。这个级别所涉及的软件过程的特点主要是:规范化和互不排斥性。突出了软件工程和项目管理过程的相关特点。当软件进入生产阶段,需要对软件的整体框架、生产数量、生产质量等方面进行综合地管理;4)管理级。这一级别主要是为了做好软件产品的质量指标的制定工作。通过设置一定的质量指标,可以使软件生产组织的活动更加规范,为软件项目的质量控制提供了可靠地保障。当软件处于该级别时,软件实施及相关的评估报告有了一定的参考依据。通过控制软件的过程,对于可能出现的偏差进行随时地调整;5)优化级。该级别主要的工作内容是为了使软件的性能更加可靠,实际的应用范围更大,从而对软件进行持续地改进。通过相关的试验查找软件中的漏洞,并对实验数据进行全面的分析。最终的目的是为了使该软件在技术上和方法上有所突破。通过对SW-CMM不同级别的分析研究,可以清楚地看到软件的设计、制定及实施的过程是可以不断地改进的,这也是对应软件项目管理存在的意义。

3SW-CMM的软件项目管理模型分析与研究

3.1项目启动

项目启动是整个SW-CMM模型内的初始阶段,需要从项目的可行性、项目方案的制定与实施、资源配置管理等方面展开深入地分析。其中,项目的可行性分析主要包括三方面的内容:1)技术角度的可行性。主要是指技术的选择能否对市场风险起到一定的预防作用;2)经济角度的可行性。主要是指项目的成本预算是否合理;3)社会推广的可行性。主要是指项目在推广过程中是否合法,相关的操作方式是否合理。同时,项木启动也对具体的工作目标、整个项目的估算及项目立案的管理等方面做出了一定的说明。

3.2项目的整体计划

在整个模型中这部分的内容相对比较丰富,其中主要涉及了成本控制、风险规避、项目方案指导、工作步骤的有效分解及职责的明确等方面的内容。其中的工作步骤的有效分解可以起到对整个软件综合评估的作用。项目的成本控制可以通过多种方式达到预期的目的。主要有:相似项目的比较;专家团队的评估;算法模型的模拟及特殊的估计法等。对于一些规模较小的项目可以采用一些SW-CMM模型的建立进行相关地估算。

3.3项目的风险评估

无论是在项目的启动阶段还是后续的项目实施阶段,都必须对整个项目的工作机制进行的综合的风险评估。风险评估的过程有着相对完整的体系。主要包括:风险的识别、风险的分析等。利用风险评估体系对SW-CMM项目管理进行整体的评估,主要是从项目实施中三方面的内容展开的。由于软件工程项目在具体的推广过程中可能出现各种类型的风险,需要对项目的风险评估机制进行随时地修改。

3.4项目的实施与控制

这一阶段是项目取得成功的关键所在。由于项目在实际的实施过程中可能会遇到各种各样的突发状况,仅仅利用项目的风险评估机制很难对项目计划做到准确地预估,必然会导致一些偏差的存在。因此,利用项目的实施与控制的作用可以及时地修正这些偏差,保证整个项目能够顺利地实施下去。项目的实施与控制主要包括:需求管理、项目的全程监督及项目的有效控制。通过这些方面工作的开展,可以提高项目实施整体的工作效率。

3.5项目的维护与软件质量管理

当所有的项目结束后,需要开展相关的资料整理及项目验收的工作。项目的验收一般是通过用户的体验完成的。由于最终的软件主要是为用户服务的,用户的客观评价是对整个软件安全性能的最好体现。除此之外,也需要对项目中一些重要的资料进行及时的归档整理。并对相关的工作做出一定地总结。SW-CMM软件的质量管理包含着许多重要的内容。由于软件最终的应用与推广主要是针对用户与社会的,必须对软件的质量进行一定的管理,防止意外事件的发生。软件的质量管理主要包括:软件的综合评审、软件的性能测试、软件的漏洞、解决软件存在问题的方法。通过对这些方面的有效控制,可以保证软件的质量可靠性。

3.6软件的配置管理

作为SW-CMM的软件项目管理模型的重要支撑平台,软件的配置管理对于整个软件的生命周期起着至关重要的作用。软件配置管理主要是对软件生命周期内产品的变更及相关的演化过程进行一定地管理。它主要解决的问题是软件变更过程中的标识、变更过程的控制及最终的等方面的问题。最终的目的是为了使最终的产品在有效性、需求性及可控性等方面达到用户的实际的要求。

4结束语

SW-CMM软件项目管理模型在实际的应用中起着至关重要的作用,主要是因为它深入地分析了软件企业在项目管理工作方面存在的问题,并找到了科学的解决措施。这为软件企业未来的发展带来了积极地影响,使得企业在实际的项目开发中拥有了更多的选择。文中通过对SW-CMM项目管理模型实际应用的研究,为中小软件企业的发展提供了有效的策略。

参考文献:

[1]魏国兴.基于CMM的软件过程管理系统的设计与实现[D].北京:北京邮电大学,2010.

[2]张策.CMM/CMMI模型在成品油协同监管服务平台项目中的应用研究[D].长春:吉林大学,2011.

目标管理软件篇(9)

0 引言

随着经济全球化和电子计算机技术的发展,各行各业都在朝着信息化发展,信息化在未来很长的一段时间里都会是世界发展的趋势。我国要推进社会主义建设事业,全面落实科学发展观都离不开信息化。软件是电子信息产业发展的关键技术支撑,软件工程项目是一项综合的、复杂的工程,只有通过软件工程建设的标准化来促进软件工程的发展,才能促进电子信息产业的发展,最终实现全面信息化的宏伟目标。

1 软件工程项目实施过程中的不足

当前国内的软件工程项目实施过程中存在很多不足,这导致了软件工程项目难以顺利开展,甚至会导致软件工程项目失败,这些不足主要表现在四个方面:

(1)项目计划不合理。软件工程项目的开发者对项目管理的具体知识不甚了解,在制定项目计划的时候对于软件开发的成本和开发进度的预算不够精确,容易导致在实际的开发过程中出现进度跟不上计划或者成本超出预算的现象,为了赶工程进度、节约成本就会出现很多不利于软件产品开发的应急措施,最终导致开发出来的软件产品跟预期的存在一定差距。

(2)对用户需求缺乏精准的定位。软件的开发需要对用户需求进行精准定位,如果对用户需求没有进行足够的调查和全面的分析就进行软件的设计,那么最终设计的产品很难得到受众的认可。

(3)缺乏对软件质量过程管理。很多软件开发工程项目对软件质量缺乏过程性的管理,没有建立完善的制度针对开发过程中可能出现的问题进行预测分析,导致在开发过程中出现的问题只能依靠临时性的解决办法,不仅降低了软件质量,还耽搁了项目进度[2]。

(4)缺乏完善的配置管理制度。应用软件程序要想发挥本身的功能离不开程序和配套文档的共同作用,应用软件程序离不开完善的配置管理。在很多软件工程项目中,没有完善的配置管理制度,在项目实施过程中经常出现文档资料跟不上工程进度,导致项目被延误。

2 国内外软件工程标准化现状

2.1 国外软件工程标准化现状

国际标准化组织ISO TC97为了对软件工程标准进行系统化的设计和制定,设立了软件与系统分技术委员会,确立了软件产品、系统工程等方面的过程、支持技术和相应工具的标准化。在众多的标准体系中,有三种得到普遍认可:

(1)ISO/IEC25000软件和系统工程--软件产品质量需求和评价标准系列。这个体系整合了产品质量和产品评价的相应标准,主要包括对软件质量的管理、具体质量模型、质量的度量、需求和具体质量的评价,是针对软件质量而设立的系统性规范。

(2)ISO/IEC15504信息技术--软件过程评估标准。这个标准主要是针对软件进过程行具体评估而设立的,它包括建立评估模型,对如何使用评估模型进行指导,还可以利用过程评估来对软件开发过程进行改进。

(3)ISO/IECl2207信息技术--软件生存周期过程标准。这是当前软件工程标准系列中地位最高的软件工程标准体系,它对于软件开发和管理都提出了新的概念,认为软件的开发和管理过程是软件生存的周期性内容,贯穿于软件概念的形成、制作以及退役,让软件从业人员在软件开发及管理时有沟通的桥梁。

2.2 国内软件工程标准化现状

我国的软件工程标准化是从二十世纪末期开始的,通过建立软件工程分技术委员会对我国软件工程进行组织以及参与,根据国际标准和IEEE标准制定了近40项国家标准。我国软件工程的标准定义如图一所示。

3 我国软件工程标准化存在的问题和建议

3.1 我国软件工程标准化存在的问题

(1)标准化意识淡薄,不重视软件质量。目前国内从事软件工作的相关人员并不具备较高的标准化意识,对于软件质量不重视,没有把软件质量放在重要位置,不明白软件质量对国家、人民以及企业自身的影响,更没有树立通过良好的质量来建立企业品牌的意识。

(2)缺乏对标准化和软件工具的协调。在很多软件开发过程中,企业重视对操作系统和数据库的选择与配置,忽视软件工具的产品开发;重视对软件开发工具的使用,而忽视对软件开发管理工具的使用。如果企业的软件开发不能按照要求使用现代化的软件工具,就无法实现软件生产的标准化[4]。

(3)缺乏有效的机制对软件质量进行评估。软件质量是软件得以推广应用的最基本前提,国际上也有一定的组织和规章对产品质量进行评估,但是,我国的产品质量体系主要是针对一般的工业产品,对软件没有具体的质量评估体系,这导致很多软件都存在质量问题。

3.2 推进我国软件工程标准化的建议

(1)积极转变观念,树立标准化意识。我国软件工程标准化工作要得到实际的推广,就必须要加强对软件工程标准化的宣传,提高软件工作的从业人员对软件标准化的认识水平,把软件质量放在首要位置,树立品牌观念。

(2)建立并完善质量评估体系。只有通过建立并完善质量评估体系才能对软件的质量做出准确的评估,通过建立测试机构和认证机构对软件的质量进行控制,才能更好的督促软件质量的提高,实现软件工程标准化。

(3)制定并实施切实可行的管理制度。无规矩不成方圆,要实现软件工程的标准化也离不开相应的管理制度,在推行软件工程标准化的进程中,只有依据具体情况制定管理制度,才能更好的实现软件工程标准化。

4 结语

随着计算机技术的不断发展以及计算机的普及,软件的应用也越来越广泛,因而人们对于软件的可靠性和安全性要求大大提高。为了适应信息化的发展要求,应该要大力从转变观念、建立完善的质量评估体系、制定切实可行的管理制度三个方面来推进软件工程标准化建设,为我国信息化发展提供助力。

参考文献

[1]李晓桦.软件工程标准化研究[J].上海标准化,2011(05).

[2]冯惠.软件工程标准化[J].中国标准化,2012(06).

[3]吴志刚.我国信息化标准体系建设的思考[J].信息技术与标准化,2010(08).

目标管理软件篇(10)

中图分类号:TP311 文献标识码:A 文章编号:1674-7712 (2014) 04-0000-01

当今国内软件发展的落后现状,从本质上说并不是因为技术落后,而是有效管理的问题。就软件设计理念和工程管理的实践经验方面而言,需要国内相关企业继续完善学习。国内相关产业在经营过程中呈现出很多问题,这些问题已经阻碍软件项目管理的有效实施。

一、 软件工程管理的定义

从定义上界定,软件工程管理是与管理专业相关的理论,根据相关产业开发的实践情况,要确保软件工程可以根据预算成本、进程、成效依次实现,进而对生产从成本、员工、进展、成效、风险、知识等实行监控管理的相关措施。然而在实践过程中,软件工程管理的价值不限于此,实施软件工程管理有助于设计师将个体设计实力转变为公司整体的设计能力,公司的设计效果越好,说明该公司的相关产业制造转向成熟,公司也更能迅速发展。

二、软件工程管理的目标

软件工程管理是一种有效的管理方式,可以让项目工程根据预算的生产成本、进展、成效依此实现目标,进而对生产从本、员工、进展、成效、风险、知识等实行监控管理的相关措施。把“项目”作为基础运转因素的相关产业,都在努力把软件工程纳入生产设计程序内,对工程设计生产进行合理的管理。一个工程项目能否顺利进行,项目工程管理将起着决定性的作用,软件工程管理已成为行业认可的软件设计制作公司的主要竞争力。

三、软件工程管理的标准

(一)平衡标准

我们在考虑工程项目为何失败时可以分析其产生缘故,诸如管理方面、工作人员的专业素质等方面的问题,使用软件的顾客、软件的设计生产企业、营销中介商对客户需要、开发时间、使用效果、消耗资源四个方面之间的平衡不够重视,这一最本质的问题比较容易被忽略。

(二)高效标准

在客户需求、资源消耗、开发时间、软件成效四个方面,大部分项目领导者最重视工程进度,当前的市场竞争愈发残酷,相关产品越早进行交易,就能提前获取收益,就可以实现收入大于支付从而长盛企业获益,因而要多开发工程项目,基于此类普遍的行业观念,项目工程开发愈发注重速度,各企业从项目开发的逐个环节寻找可以提高效率的方法。针对提高效率的标准,对工程的管理需要强化以下几个环节:提高工作人员的专业素质、确定软件开发目标、明确软件规模、实时交流客户、完善人力资源管理等。

(三)分解标准

针对项目工程整体的内容过多、难度加大,企业能够把大的工程切分为多个小工程同时进行。这样做能够减少工作人员的工作难度,降低工程的管理风险,并且可以确保把工程管理的权力普及到基层员工,有力的发挥工作人员的自主性,使工作目的清晰确定,容易逐步推进,同时满足工作人员的价值认同感,提高员工工作的积极性。

(四)实时监控标准

对工程进度进行实时监控,凭借系统全面的监督制度来确保监控力度,从而达到对工程进度的实时监控的进展,把工程的整体进程纳于企业管理的掌控之中。要时刻监控,保证项目经理可以实时发现问题并及时进行处理,确保工程具备一定的透明度,保障工程的顺利进行。

(五)分类管理标准

每个项目工程都具有自身特征,工程的管理方式及需要特殊关注方向大都有区别。类似我国古代教育家孔子曾经提出因材施教理念、医学家提出对症下药,都是要求项目经理针对工程的特征,在实际操作中针对具体问题采取切实有效的解决措施。

(六)简洁有效标准

项目经理在管理工程的进展中,常常会受到工作人员的指责,诸如过于耗费时间,没有解决实际问题,工作过分繁琐等,类似现象比较寻常,这些指责的来源主要有两方面,一方面是研发人员自身具有叛逆的性格特征,对项目经理不了解;另一方面,项目领导人员需要反省自身采用的管理方式能否奏效?管理技术不是学术探讨,不存在绝对完备的管理技术,只存在实际奏效的管理方式。例如:项目经理不停的完善项目缺陷,处理能发现的所有问题,致使项目迟迟无法完工。正是这种完美主义思想会把工程的管理引入一个误区,自掘坟墓,最终管理不能奏效,决定工程项目的失败。

(七)范围控制标准

此类标准是要调控项目团队的人数,无需太多人数,参与员工过多就会导致互相交流的路径越来越多,管理的难度自然就提高了,管理层的操作难度也就提升了。在著名IT公司微软的MSF中,存在很准确的标准就是对项目团队的人数控制范围为10人左右,这个标准自然并非固定,也和项目经理的职业素质有重大联系。然而对于一个工程项目来说,团队员工素质重于数量,这也是业界公认的,也和上述的高效标准、分解标准相互协调。

(八)团队的知识积累标准

凑效的知识累积方式是:对工作人员进行专业培训,专业素质和载体分开进行。详细的方式是。把需求计量的知识主体分成固定知识(工程成绩)和流动知识(团队员工)两部分,再将知识主体的成效表现为有差异的计量面。针对全部知识主体在各个计量面的计量值,计算出有区别的知识平面指数和企业知识指数,再针对这个知识指数系统来系统剖析企业的知识累积现状,进而快速采取合理的针对措施。

四、结束语

软件工程管理一定要科学合理,这样才有利于切实提升企业的整体能力。软件工程管理也具有一定的科学规律,唯有将这些规律恰当地与现实活动相结合,把握软件工程管理的定义,围绕软件工程管理的目标,明确软件工程管理的标准,软件项目管理才会取得实效。

参考文献:

[I]邹晖.软件项目管理开发与应用[J].中小企业管理与科技(上旬刊),2011(05).

目标管理软件篇(11)

1.引言

项目管理(PM,projectmanagement)是指利用现有的知识、方法和技术手段,有效地计划、调度、控制和跟踪项目的开始、执行、直止终止的过程,是项目顺利实现的有效手段。软件项目管理则是在项目管理的基础上,结合软件产品的实际,利用工程的概念和方法来开发与维护软件,对成本、风险、时间、质量、过程、配置等进行分析、管理、控制,最终目的是为了让软件项目的整个生命周期都在管理者的控制范围内,以预定成本按期、按质完成软件的开发并交付用户使用。目前,软件产品已广泛应用于各个领域,但是很多软件项目的成功率并不高.虽然有些公司根据软件工程理论建立了一些软件开发管理规范.但并没有从根本上提高软件项目管理问题,这就导致软件产品质量不稳定甚至是项目的失败,同时也损害了用户的利益。本文结合我国软件项目管理的特点并经实践应用.以提高软件质量、降低成本、加强软件项目的可控性为目标,通过对CMM的研究和改进,给出了一个基于CMM加强软件项目管理的实践模式,在这个模式中对目前CMM中的KPA做适当的裁减,定义了6个关键过程域和3个工作组。

2.软件项目管理中目前存在的问题

影响软件项目成功率的因素主要是软件质量问题,而在整个软件项目的实施过程中需求不明确、跟踪和监督不力、缺乏客观的软件评审和软件配置以及风险管理意识不足等都阻碍着软件质量的提高。

2.1需求不明确

需求管理是软件项目管理中非常关键的一个步骤.需求分析的完整与否可以降低软件质量、延长项目周期、加大成本。由于用户对计算机系统认识的不足,对于系统的需求往往比较模糊,遗漏甚至是错误的问题经常出现(包括管理流程、业务流程、数据或报表的分析处理等),但这些问题往往没有暴露给开发人员,而是随着项目的进展才逐渐明确。对于开发人员来说,需求的变更意味着软件产品的部分内容必须重新开发,而对于整个软件项目管理而言,势必要重新分配资源、调整计划、估算成本等等,导致软件产品质量下降。

2.2跟踪和监督不力

跟踪和监督主要针对过程而言,也是项目管理中最容易被忽视的环节。软件项目过程由多个任务构成,大部分任务都有前置任务和后置任务,这就要求项目管理者要严格跟踪和监督每一个任务。任务的完成主要从时间进度和质量两方面来衡量,还要充分考虑因客户方引起的一些客观因素(更改需求分析等)。项目管理者虽然制定了具体的项目进度内容,但如果缺乏有效的跟踪和监督机制,对于每一个阶段所要完成的任务疏于评价,就会影响下阶段软件产品的质量,有时甚至是软件产品的重新开发,最终影响整个软件项目。

2.3缺乏客观的软件评审

客观的软件评审是软件产品质量的直接保障,软件评审一直贯穿于整个软件项目的过程中,对软件产品的评审应有客户使用人员和软件业中的同行来进行。客户使用人员对软件产品做阶段性的评审可以及时发现软件产品功能方面的不足,同行评审可以从软件业的规范及标准去发现问题.软件评审可以降低软件开发的成本提高软件产品的质量。大多情况下项目管理者没有做任何阶段性的评审,通常只是在软件产品开发基本完成之后来组织评审,果发现了很多问题,但要修改已经非常困难.要花费很长的时间甚至从头再来。

2.4软件配置混乱

软件配置是指软件产品在各个阶段各种版本的文档、程序及数据的集合,贯穿于整个软件项目的始终。随着软件产品开发的进行,由于各种客观原因,其中的预算、设计方案、进度等内容都有可能需要大大小小的更改(这些改动可能是合理的),整个改变的过程对软件项目的参与人员来说必须是可视的,以便提高软件的可靠性和质量,而这一切都应该有正确的软件配置来控制如果失去正确的软件配置管理,那么针对软件产品发生的任何更改或者是维护都会给软件项目带来混乱甚至是失败。

2.5风险管理意识不足

风险管理是软件项目中防止失败的一种重要手段,软件项目不同的阶段存在着不同的风险,并且风险会随着项目的进展而变化,目前国内的软件企业大都不注意软件项目的风险管理。除了社会环境风险、商业风险等这些客观风险之外.可控的软件项目风险主要指技术风险。技术风险主要是指与软件项目本身相关的的技术因素变化带来的风险,如果在一定的条件下达不到技术条件能够实现的目标,不但延缓项目的进度而且会增加项目的成本.继而使整个项目受到影响。

3.通过过程管理加强软件项目管理的实践模式

利用cMM fCapabilityMaturityModeforSoftware)的核心思想把软件项目管理看作一个软件过程,并根据这一原则对整个软件项目的开发和管理进行过程监控,监督发现过程中影响项目的关键问题并予以解决。软件过程是指软件开发人员开发和维护软件及相关产品的一套行为、方法、实践及变换过程,包括软件开发过程和软件管理过程。CMM把软件开发机构按照不同开发水平划分为5个级别。每个等级被分解为几个KPA(关键过程域),KPA是指在某个成熟度等级应重点关注的区域,也是达到此成熟度等级必须解决的关键点。①初始级,无过程意义。软件过程是无序的、随机的、缺乏总计划,无预见性,大多数活动是应付危机,经常超期超支,成功取决于个人。②可重复级,具备基本的项目管理。KPA分别是:需求管理、软件项目计划、软件跟踪与监督、软件子合同管理、软件质量保证、软件配置管理;③已定义级,已定义软件过程。已将软件管理和软件工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。KPA分别是:组织过程焦点、组织过程定义、培训大纲、集成软件管理、软件产品工程、组间协调、同行评审;④可管理级,过程可度量。已收集了软件过程和产品质量的详细度量方法,软件过程和产品均可被定量地理解和控制。KPA分别是:定量过程管理、软件质量管理;⑤优化级,过程控制。通过过程的量化反馈以及新技术、新方法促使过程不断改进。KPA分别是:缺陷预防、技术更新预防、过程更改管理。

CMM只是一个过程改进的框架.并没有给出具体实施的办法。在该模式中对目前CMM中的KPA做适当裁减.定义了6个关键过程域:软件项目计划(SPP)、需求管理(RM)、软件项目跟踪和监督(SPTO)、软件质量保证(SQA)、软件配置(SCM)、同行评审(PR),设置了三个工作组:软件项目过程组(SPPG)、软件工程组(SEG)、软件质量保证组(SQAG)。通过工作组对关键过程域的操作来加强软件项目的管理。

3.1定义KPA

3.1.1软件项目计划(SPP)

软件项目计划是为要实施的软件项目编制软件过程活动的安排,包括进度控制、成本控制、质量控制、风险控制等,也是实施CMM2的核心此阶段在安排过程活动的同时开展项目设计的前期工作,设计和界定在整个项目中各阶段所需的开发、质量、跟踪、评审、风险、成本等工作。项目计划是指导项目过程的具体措施,要在有软件项目实施经验的人员领导下投人大量的时间和人力资源来完成。制定项目计划应注意7个问题。①在科学论证的基础上制定过程,充分调动人员积极性合理地确定项目组的参加人员;②对软件项目各程中的任务进行分解,明确项目的里程碑和检查点;③正确估计软件项目中的软件资源、硬件资源、人力资源及其它费用;④正确估计各方面因素带来的风险并制定应对措施;⑤制定项目实施过程中的跟踪和监督措施;⑥确定软件的评审和测试方法;⑦详细的文档资料。

3.1.2需求管理(RM)

需求分析主要包括面向用户的用户需求和面向开发人员的系统需求.是整个软件工程的第一步.也是非常关键的一个环节。需求分析主要针对用户的业务流程、系统功能、性能、数据分析进行严格的定义.是设计一个软件应用系统的起点与基本依据,通过它来评判软件产品是否能够解决用户问题,也是项目成功与否的标准。就目前国内现状来讲,一般签定软件项目合同的用户是主管信息技术的负责人,它所关心的可能是整个系统的目标需求,用户方中层管理人员关心的是业务流程需求.终端操作人员则注重软件本身的易操作性和功能特性,因此.面向用户的需求一定要和用户多方人员多沟通、交流.最终通过双方有关部门人员的论证以文档资料的形式确定下来。任何一个需求分析因客观原因可能存在着需求更改的现象,对于这种情况一定要注意需求更改的可控性.要建立需求的基准版本和更改版本控制文档资料.使受需求变化影响的产品与需求变更一致。但要注意在更改需求的同时要衡量需求的稳定性,如果一个需求的变更比较频繁,意味着本项目并没有真正了解用户想要解决的实际问题。可以说需求分析的完整性和变更可控性直接影响到软件过程的改进,它可以降低软件质量、加大软件开发的成本、甚至是导致项目的失败。软件工程组(SEG)中要明确定义一个需求管理员。

3.1.3软件项目跟踪和监督(SPTO)

软件项目的跟踪和监督始终贯穿于整个软件项目的过程中,是项目得以控制的前提和条件、是软件质量的根本保障,其目的是增加软件过程中进度、成本、工作量、质量、风险等内容的可视性,也是实施CMM2的核心。除去市场、法律等不可控制因素外,根据项目计划对项目进展的有关情况及影响项目实施的相关因素进行及时、客观、准确的信息采集,将采集到的需求、成本、进度、风险等内容形成文档并建立一个项目跟踪信息平台。项目负责人定期召集软件过程人员、开发人员、质量保证人员、用户方有关人员召开开放式的例会,例会的主要内容是检查项目进展、数据的分析、认识的偏差、资源的搭配、相关的风险等问题并讨论确切的解决办法,通过跟踪和监督使项目始终处于可视化的受控状态。

3.1.4软件质量保证(SQA)

软件质量保证是与软件产品满足规定的和隐含的需要能力有关的特征或特性的组合。对用户来讲主要体现在软件产品的有效性、一致性、完整性、可靠性和可操作性等方面,对于软件产品本身来讲体现在软件产品的可移植性、易维护性、健壮性、可重用性等方面。具体实践中.软件质量保证应在软件项目计划、需求分析、跟踪和监督、软件配置和软件评审的相互配合下完成.软件质量保证要做到以事先预防和跟踪为主,事后纠偏为辅。

3.1.5软件配置(SCM)

软件配置是针对软件产品的跟踪和控制活动.贯穿于整个软件项目的过程中.目的是建立和维护在整个生命周期内软件产品的完整性和一致性,使整个软件产品的演进过程处于可控的状态,继而提高软件的可靠性和质量。在实践应用中主要做到五个子项的配置①配置项的标识。标识做到唯一性。便于跟踪和管理。②版本管理。对整个软件过程中的文件和目录提供有效的跟踪手段。③变更控制。保持并传递修改信息。④配置审计。确定整个项目生产周期中产品在技术和管理上的完整性。⑤系统整合。把系统的不同部分集成后完成一组特定的功能。

3.1.6同行评审(PR)

同行评审是根据预定的规范和标准对软件产品进行评审。评审的结果是衡量软件产品质量的依据。在整个软件过程中对详细设计和软件综合测试作为两个关键评审点来进行评审,评审的过程中注意要结合本软件项目的具体要求和标准。

3.2组的定义

在具体的实践应用中设置了三个组,在降低了人员成本的同时提高了软件过程改进能力和软件质量。

软件项目过程组(SPPG)组织具体的项目实施活动,管理并协调整个软件项目的过程,主要完成SPP和SPTO。

软件工程组(SEG)负责软件工程的需求分析、概要设计、详细设计、编码、测试、维护工作。

软件质量保证组(SQAG)主要完成SPTO、SCM、PR、SQA等工作。

4.实践模式效率评估

4.1开发时间

软件开发由需求分析、概要设计、详细设计、编码、软件测试、项目维护和软件集成几部分内容组成,在需求分析和设计阶段采用CMM框架实施过程管理所花费的时间要多于没有实施过程管理花费的时间。首先对项目做大量分析,论证项目的可行性。然后在和用户做良好沟通、反复论证的基础上做需求分析,形成文档资料。这种模式下花费在需求分析和设计上的时间大约占项目总开发时间的40%,但这两个阶段完成了数据流程、算法描述、详细的规格说明等内容,为代码编写、软件测试、软件维护等后续内容的工作节省了时间,软件项目的开发周期大大缩短。经过评估,采用该实践模式实施软件过程管理的软件项目开发周期比没有实施软件过程管理的软件项目开发周期缩短20%。

4.2开发质量