欢迎来到速发表网,咨询电话:400-838-9661

关于我们 登录/注册 购物车(0)

期刊 科普 SCI期刊 投稿技巧 学术 出书

首页 > 优秀范文 > 目标管理软件

目标管理软件样例十一篇

时间:2023-03-01 16:36:40

目标管理软件

目标管理软件例1

中图分类号: TU723 文献标识码: A 文章编号:

一、软件项目概述

所谓项目,是指在一定约束条件下,具有特定目标的一次性任务。在社会经济生活中,符合这一定义的事务是极为普遍的,小到家庭装修大到兴建三峡水利枢纽,所有这些都可以称之为项目。

1、软件工程项目概念

20世纪90年代,由于人们更加关注软件开发的效率与质量,于是建立了软件工程的概念。软件工程过程和软件生命周期过程使得人们对软件有了更加深入、更全面、更深刻的了解。

软件工程(SofrwareEngineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。

B.WBoehm认为:“软件工程就是运用现代科学技术知识来设计并构建计算机程序及为开发、运行和维护这些程序所必须的相关资料”。

IEEE认为:“软件工程是开发、运行、维护和修复软件的系统方法”,其中“软件”是计算机程序、方法、规则、相关的文档资料以及在计算机上运行时所必需的数据。

2、软件工程项目特点

1、项目的目标性

任何项目都是为完成特定的目标而设立的,而且完成这一特定的目标必须在一定的约束条件下。如:成本、人员、进度、质量等约束条件,由于约束条件的不同,目标不同,目标所处的环境不同,所以项目的风险也就不同。

2、项目的延续性

软件工程是一项持续的工程,一旦选择进行了软件项目,就意味这从此踏上

了漫长的征途,随着业务、流程的不断深入,软件项目也随之不断更新。所以软件项目具有不断的延续性。

3、项目的系统性

软件项目是一项复杂的工程,一个项目往往有很多的子项目组成,特别是大

型项目,涉及的内容、人员之多,使项目的操作变得十分复杂,这就要求在项目

的运作过程中必须统筹兼顾、动态、全面的加以把握。

4、项目的抽象性

软件项目产生的一个逻辑体而非物理实体,具有抽象性。首先,软件的无形

性和智能性使得软件难以认识和理解,这是软件在认识上的抽象性;其次,在软

件研制过程中,需要进行调研和分析,需要对软件进行逻辑设计和组织,大量运

用到抽象性思维和抽象方法,这是软件开发的抽象性;最后,软件在运行中通过

输入输出界面与外部进行交流,窗口、菜单、控件等界面只是表现软件功能和作

用的一种外在形式,软件丰富内涵被蕴涵在系统内部。这是软件项目的抽象性。

软件的抽象性也增加了人们对于软件理解和开发的难度。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3、风险管理人才要注重培养

这些年我国各个行业都取得了很大的进步,在风险管理这一块也是如此,但是行业整体与国际上还是存在不小的差距,特别是从事风险管理的人才存在很大的缺口。所以必须要加强对风险管理人才的培训,展开对风险管理人才的相应测试和考核工作,促使很多风险管理人才的产生途径,以期能够强化当前的风险管理水平。

另外软件公司还要做到以下这些方面:采取多种方法和手段提高投标风险管理,加强投标报价工作,降低投标风险,加强合同管理,充分重视合同条款,建立健全项目投标风险预警机制,明确投标风险责任的控制和权限。

结束语

通过对软件工程招投标的风险管理的相关研究,得出在招投标工作存在着一定的工作风险,要加大对各类风险的识别和防控。要建立健全招投标风险防控体系和制度,要加强在业务流程和财务管理方面的水平,提高招投标工作人员的业务能力,增强风险防控意识,运用先进的招投标技术和方法,将招投标工作的风险进行有效控制,促使的招投标工作进展顺利健康发展。

目标管理软件例2

2项目具有系统性

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

目标管理软件例3

1软件项目管理的概念

软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,通过计划、组织、控制等一系列活动,合理地配置和使用各种资源,对成本、人员、进度、质量、风险等进行分析和管理,以达到既定目标的过程。其根本目的是对软件开发的各个阶段进行管理,增强对软件开发的控制能力,提高软件开发质量。项目管理可以让一个项目获得高额的盈利也可以让一个项目损失惨重,而编码的影响力则相对小一些。软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展(即减小开发风险)。软件因其复杂性和难以度量,使软件项目管理较之其他项目管理而言有其非凡性。

2软件企业管理国际标准

软件项目管理日趋成熟,并且已在软件业发达的欧美日及印度等国得到广泛应用,而在我国,由于大多数软件企业规模较小,生产方式依然是倚仗个人英雄主义的作坊式生产,软件开发缺乏严格的项目管理和质量保证体系。标准化、管理过程标准化、度量标准化、应用领域内业务的标准化,都是推动整个软件行业内、软件产业链上各个企业规范软件开发过程的前提基础和有力保障。目前,软件研发项目进行管理必须依据一定的标准,主要有ISO9000系列和能力成熟度模型(capabilitymaturitymodeloISO9000系列和CMM的比较从背景上看,ISO9000系列国际标准是在总结了英国的国家标准基础之上产生的,因此,欧洲通过ISO9000认证的企业数量最多,约占全世界的一半以上。受此影响,相当多的欧洲软件企业选择了IS09001认证。CMM是由美国卡内基一梅隆大学的软件工程探究所(SEI)开发的软件成熟度模型,美国的软件企业更多的选择取得CMM等级证书。在形式上,CMM分为5个等级(第1级级别最低,第5级级别最高),和ISO9000审核后只有“通过”和“不通过”两个结论相比,CMM是一个动态的过程,企业在取得低级别证书后,可根据高级别的要求确定下一步改进的方向。

从内容上看,IS09001和CMM都十分关注软件产品质量和过程改进。尤其是ISO9000:2000版标准增加持续改进、质量目标的量化等方面的要求后,在基本思路上和CMM更加接近。尽管ISO9001标准的一些要求在CMM中不存在,而CMM的一些要求在ISO90O1标准中也不存在,但两者之间的关系非常密切,都强调“该说的要说到,说到的要做到”。对每一个重要的过程应形成文件,包括指导书和说明,并检查交货质量水平。CMM强调持续改进,ISO9001的1994版标准主要说明的是“合格质量体系的最低可接受水平”(ISO9001的2000版标准也增加了持续改进的内容)。

对于企业来说,取得ISO9001认证并不意味着完全满足CMM某个等级的要求。表面上看,获得ISO9001标准的企业应有CMM第3至第4级的水平,但事实上,有些获得CMM第1级的企业也获得了ISO9001证书,原因是ISO9001强调以顾客的要求为出发点,不同的顾客要求的质量水平也不同,而且各个审核员的水平也有些差异,取得ISO9001认证所代表的质量管理和质量保证能力的高低和审核员对标准的理解及自身水平的高低有很大的关系。超级秘书网

3软件项目管理软件

项目管理技术的发展和计算机技术的发展密不可分,随着计算机性能的迅速提高,大量的项目管理软件涌现出来。它们可以用于各种商业活动,提供便于操作的图形界面,帮助用户制定任务、管理资源、进行成本预算、跟踪项目进度等。根据项目管理软件的功能和价格水平,大致可以划分为两个档次:一种是供专业项目管理人士使用的高档项目管理软件,这类软件功能强大,价格一般在2000美元以上,如Primavera公司的P3、Gores技术公司的Artemis、ABT公司的WorkBench、Welcom公司的OpenPlan等。另一类是低档项目管理软件,应用于一些中小型项目,这类软件虽功能不很齐全但价格较便宜,如TimeLine公司的TimeLine、Scitor公司的Pro—iectScheduler、Primavera公司的SureTrak、Microsoft公司的Project等。根据我国软件行业的目前状况,下面介绍目前软件开发进程中的一些有用的工具。

3.1项目计划工具MicrosoftProject2003是一个业界领先的项目管理应用软件,利用它可以发现新的、更有效率的方法来分配任务和资源、跟踪项目进程及互相沟通项目的状况直观的计划编制。在“项目指南”这种新的交互式工具的协助下,用户将逐步建立一个新的项目、管理任务和资源。全面的整合,在MicrosoftProjec和微软其他应用程序之间,用户可以进行更加紧密的整合和更为流畅的转换。更好的状况更新,在新Wizard的指导下管理项目,可以答应调整MicrosoftProject计算实际状况的方式。合理分配资源改进的搜索和过滤功能及新的图表可以为项目鉴别和分配合适的资源。增强的个性化功能,个性化的MicrosoftProject之所以能具有更大的弹性,是因为它具有一种新的基于XML的文件格式、一种可扩展的对象模式及更强的OLEDB提供者。

3.2软件开发管理工具美国Intersolv公司的PVCS,是世界知名的软件开发管理工具。它作为当今优秀的软件开发管理解决方案,可通过对软件开发过程中产生的变更进行追踪、组织、管理和控制,建立规范化的软件开发环境。PVCS是软件开发的基础结构,在软件开发过程中可以完善地管理软件系统中的多种版本自动创建完整的文档,保障软件的维护;全面记载系统开发的历史过程,包括谁作了修改、修改了什么、为什么修改;管理和追踪开发过程中危害软件质量以及影响开发周期的缺陷和变化;管理需求分析等。

PVCS在以下几个方面给软件开发带来了益处:规范开发过程缩短开发所需的时间、减少开发成本:它能完整具体地记载开发历史过程,便于软件维护;同时通过排除开发中的错误、加强软件一致性和可重用性,以提高软件质量。当前的开发人员经常工作在含有众多开发工具的环境中,如:编辑器、语言、编译器、Debugger、数据库等。而在这样的环境中,PVCS这种跨平台开发管理工具带来的效益会十分明显。

目标管理软件例4

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

目标管理软件例5

2研究目的和意义

质量,通常指产品的质量,对软件行业来说,软件质量会导致整个软件的成败,一个小小的质量问题可能会导致非常致命的结果。做好软件的质量管理不但能促进项目决策的合理化、科学化,还能在项目实施过程中实现高效化、准确化,保障项目目标的最终实现,切实提高项目成功率。目前,国际上逐渐开始重视软件工程的项目管理,一系列理论和方法的出台提高了软件开发的效率和客户的满意度,为软件开发企业带来了非常客观的经济效益和社会效益。为此,以国际上的先进经验为参考,制定适合我国的软件开发的项目管理是十分必要的。分析水利信息化项目中软件开发质量的影响因素,通过对企业组织结构的优化和软件项目过程的改进,获得项目实施质量的提升,从而减少软件开发中产生的问题对开发部门造成的损失,降低开发成本,提升整体开发水平。

3影响软件开发质量的因素

就软件质量而言,影响软件项目质量包括以下两大方面因素。

3.1人的因素

软件项目的管理要以用户的想法为根本目标。产品生产就是为了满足用户的需求。一个能够满足用户需求的软件,就是一个优质的软件。客户的需求会随着开发的进行而不断调整。只有在开发的各个阶段都能满足用户的需要,达到用户的要求,这个软件的质量才能得到保证,而在软件开发过程中树立质量第一的思想就是体现在更好地为用户服务的行动上。

3.2开发流程

软件开发流程是在软件开发模式框架的指导下实施软件开发的全过程描述和定义,包括软件开发生命周期各阶段的定义、开始前提条件、参与者描述、产出物描述、完成条件等。一个合理定义的软件流程能够将软件开发模型的优点充分发挥出来,同时减少软件开发过程中产生的负面影响。

4应用分析

4.1项目开发质量目标

首先,项目总负责人向项目组成员指出水文测报软件在整体水文监测项目中的重要性,并强调质量是最优先考虑的。其次,各成员从自己的角度提出几个目标,如质量经理的目标是保证合格率、开发人员的目标是保证测试通过率等。再次,团队在一起讨论制定的目标的可行性,是否能够实现以及需要的条件。其中,每百段程序BUG数按照模块统计,本次制定的目标为每百段程序BUG数小于10处;单元测试分模块进行,本次目标为每个模块的单元测试通过率大于90%;集成测试、系统测试、验收测试为模块的集合体测试,按照百分制原则分别制定质量目标为得分80分以上及75分以上;本次软件开发项目计划工期45d,本次制定目标为在计划工期内完工;本项目概算总投资100万元,取利润10%,故目标经费使用为90万元;客户满意度按照优良中差四级评定,本次质量目标为取得客户满意度优。

4.2软件开发质量管理影响关键因素分析

4.2.1质量计划对软件开发项目质量的影响

软件的开发一般分为4个过程,即定义需求过程、预开发过程、开发过程和维护过程,通过资金使用的情况反映质量计划的影响。参考以往软件编制过程中4个阶段开发的使用情况和对开发结果影响力进行统计分析,影响力按照百分制计算,由参与软件开发的各方进行评分取平均数,100分为影响最大,0分为最小。软件开发阶段,资金在早期使用的效率最高,可以对项目结果起到比较大的影响,而软件开发计划的编制能够在软件开发的定义阶段即对软件开发的目标、组织、资金安排进行较详细的定义和计划,能够在早期按照合适的比例安排软件开发的资金,从而对结果产生比较大的影响。

4.2.2质量控制对软件开发项目质量的影响

软件开发中,发生编制错误的次数直接影响软件开发的质量。影响软件开发项目质量的因素很多,这里选取质量控制中的5个关键因素即控制点的选取、组织领导的责任、测试的规范性、环境因素以及质量计划。在此基础上,调查统计由于关键因素的原因导致软件开发发生编制错误的次数,并绘制直方图。,质量控制能够对软件开发质量产生直接的影响,集中体现在编制发生错误次数方面。

4.2.3质量保证对软件开发项目质量的影响

软件开发质量保证主要体现在软件开发的模型选择和应用上。原始的软件开发使用的是传统的瀑布模型,将软件开发项目作为一个整体进行设计,方式如图2所示。采用质量保证措施后开发模型转化为图3的形式,由图3可以看出,使用质量保证措施将每个开发阶段再次细化,可以对各个环节的变化情况加深认识,做到每个开发阶段出现的问题能够在本阶段解决,不拖入下一阶段,这对软件开发质量起到了保证作用。

4.3保证软件开发质量的措施

根据软件开发中曾经发生过的问题和预计会发生的问题,结合项目质量管理理论,使用质量管理工具,在质量计划、质量控制、质量保证3个方面对本次软件开发进行质量管理。

4.3.1软件开发项目的质量计划

(1)制作因果分析图。在进行质量计划时,首先明确质量计划的目标,即开发质量合格、便于使用、用户满意的软件,根据水文自动测报预警软件开发项目的产品说明和水务信息化建设相关规范要求,运用头脑风暴法对软件开发中可能会导致质量不合格的情况进行整理并绘制因果分析。(3)成果输出。①将总结形成的计划管理成果汇总,形成各个阶段的人员、组织、资金、资源、权限等管理计划,指导质量管理的进行;②通过一系列质量计划的管理,最终以质量计划检查表的形式输出质量计划成果。(2)编制软件开发工作流程图。本次项目开发时,分别从质量计划、质量控制、质量保证3个方面进行质量管理,在软件的可靠性、硬件的可靠性以及软件硬件结合后的可靠性方面都做了大量的工作。一方面,在项目前期阶段,通过对规划计划的质量管理,在项目初期树立正确的开发方向,从而在项目前期工作进行质量管理。另一方面,在软件的开发阶段,通过对人员和开发流程等方面的管理,实现对项目开发阶段的质量管理。最后,在项目的实施阶段中,执行项目计划,严格进行项目测试,通过演练、试运行等方式对整体项目进行质量管理。3个阶段中,每个阶段的质量管理都非常重要。软件开发质量管理流程。

4.3.2软件开发项目的质量控制

(1)质量控制点设置与管理。质量控制点是实施质量控制的重要组成部分,软件开发的质量控制点是项目质量控制的重点对象。质量控制点应选择那些技术要求高、开发难度大、对工程质量影响大或是发生质量问题时危害大的对象进行设置。依照质量控制点的要求和特点,选择了本次软件开发中相应的质量控制点。设定了质量控制点,质量控制的目标和工作重点就更加明确。在软件开发中,首先要做好项目质量控制点的事前质量预控工作,包括明确质量控制的目标与控制参数、编制开发指导书和质量控制措施、确定质量检查方法及抽样的数量和方法、明确检查结果的判断标准及质量记录与信息反馈要求等。其次,还要做好软件开发质量控制点的动态设置,随着软件开发条件的变化,随时或定期进行控制点的调整和更新。应用动态控制原理,落实专人负责跟踪和记录控制点质量控制的状态和效果,并及时向项目负责人反馈质量控制信息,保持质量控制点的受控状态。

4.3.3软件开发项目的质量保证

运用PDCA循环法进行软件开发的质量保证,在预开发阶段、开发阶段、维护阶段3个阶段进行。预开发阶段指开发团队针对开发项目招标情况对软件开发项目做出的提前处理,工作体现在下列PDCA循环中:计划,提出软件开发的整体流程;实施,开发自己的技术提案,阐明将使用的技术及所拥有的技术工艺;检查,提出检查软件质量、纠正产品中缺陷的方法;总结,根据检查结果,提出改善质量控制的计划。开发阶段是指从软件产品开发开始,到移交产品且客户对软件性能予以肯定为止。这一阶段的PDCA循环活动有:计划,开发者根据需求和风险,提出详细的开发过程、要求使用的资源以及要得到的产品;实施,由开发组织执行开发计划;检查,开发组织和客户共同检查计划与预期得到的结果的一致性;总结,开发组织根据检查结果,审查并重新认识风险,作为下一个循环的基础。维护阶段是修复软件缺陷、提高软件性能的阶段。这一阶段的PDCA循环活动有:计划,制定处理缺陷的计划;实施,处理缺陷或根据需求变化提高软件性能;检查,判断开发维护目标是否已经达到;总结,根据检查结果审查并总结。

4.4成果数据分析

通过对本次水文自动测报预警软件开发项目的质量管理,大大提升了软件开发的质量,结合软件开发前期中制定的质量目标,与以往软件开发项目进行比对,分析进行软件开发质量管理对结果产生的影响。

4.4.1百段程序BUG数分析

根据质量控制点确定的各个模块统计各模块软件开发中每百段程序的BUG数量,结合以往类似软件开发中的统计数据进行比对。

4.4.2客户满意度比对

各模块软件开发完成后,分别对客户进行满意度调查,按照优良中差进行评价,经过与类似软件开发客户满意度比对。以往软件开发项目没有进行过模块化划分,整体项目一起进行开发,开发完成后统一进行评价,无法对内部存在的不足进行查找和梳理。本次划分了模块,根据各模块的用户满意度调查,可以在以后的软件开发中有针对性地进行改进,保证项目质量的良性发展。

目标管理软件例6

美国是最早兴起项目管理的国家,项目管理也是第二次世界大战后形成的一种重要的管理手段。本文中所讲的软件项目管理就是在软件项目中应用项目管理的相关理论来降低和解决软件开发以及应用过程中出现的非技术原因造成的成本问题以及工期问题。经过几十年的发展,软件项目管理的理论已经相当成熟,其中包含了对于软件项目的生命周期管理、合同与采购管理、风险管理、质量管理、决策管理以及信息管理等各方面,下面本文就以上各方面逐一进行描述。

软件项目的生命周期管理

所谓软件项目的生命周期管理主要是利用相关理论以及手段方法来协调软件项目中的各子项目,以便用来为软件项目正常进行提供可靠的方式方法?对于软件项目的生命周期管理作为一种项目管理的纪律为软件项目管理列出了一定的标准来保证软件项目的正常进行。

软件项目的生命周期有若干阶段组成或者是一些重复出现的周期构成。软件项目自身具有一定的特殊性,同时软件项目也是随着客户的具体需求和要求而进行改变,相对于传统的项目管理生命周期来讲,软件项目生命周期的标准与考核就变得较为复杂,在进行项目管理的过程中需要根据不同的软件项目具体制定相应的生命周期管理计划,比如包括一些版本控制标准、技术文档管理或者是系统开发等方面。

软件项目的合同与采购管理

基于软件项目管理的特殊性,现在大多数公司或者项目的管理力量隹与软件项目良好融合,可能会出现管理目标无法实现或者其他一些非技术性的问题。为了提高公司软件项目管理的有效性,项目外包就变得十分必要。夕咆在一定程度上能够减轻公司的管理压力,但同时会增加公司项目管理的难度和风险。对于项目外包的合同以及合作的细节需要全面而细致。在这个阶段公司需要请专业的机构来起草合同,并且对夕卜包项目的采购流程进行严格的把控,为了能够保证项目的顺利进行,要确认和明确双方的职责,对合同所有要求尽力做到明晰化。

软件项目的风险管理

针对软件项目的风险管理具有十分重要的意义,风险管理需要贯穿于整个软件项目过程,也是软件项目规划阶段的重要环节。风险管理的目的就是要充分考虑项目各方面的因素、找到潜在的风险项以及制定全向的项目规划,同时就风险的规避或者是解决进行全面的讨论。风险分为很多种,软件项目风险分析需要全员参与并群策群力才能保证软件项目正常进行。

软件项目的质量管理

质量管理是软件项目工程实施结果的有力保障,同时软件项目的质量管理是主要的控制过程。全球质量标准体系和公司层面的项目内部质量标准体系是软件项目质童标准的两个层次,但是不论软件项目或者执行的是哪个标准都要遵守一定的程序来进行,在制定相应的标准后,所有人员需要保持统一的节奏来遵守这个标准,避免出现意见不统一,朝令夕改的状态。国际上主要的质童标准体系比如六西格玛体系等,这些国际标准都具有成熟的指导措施和流程性文件。具体到某一公司项目的时候,公司层面在建立质童管理体系的时候可以参考相关的国际标准进行编制,这样科学性以及可行性会大大提升。

基于软件项目管理自身的性质,质量管理体系在建立时还要结合客户的具体需求来制定,市场调查、客户访谈以及标杆分析等过程都十分必要,这些工作流程也是用来评估和记录用户需求的质量标杆。在项目执行过程中对于客户强调的质量需求可以予以加强,进而使得公司的产品质童得到控制。

软件项目的决策管理

决策是一个管理活动中最重要的环节之一。能够快速和准确的做决策对于项目管理的控制与发展来说是十分关键的,软件项目管理过程中的决策不只是由一个领导者确定的,在项目的发展过程中会因为一些不可控因素或者其他原因引起争议,这些争议也会增加软件项目管理组织决策的难度?基于以上分析,完美的决策需要组织各成员共同参与和制定,针对不同的因素这样才能达到项目决策的最佳效果。当项目双方的决策意见不统一时,需要重新制定和建立统一的决策流程进行解决,对于意见统一的决策可以简化流程来提升决策的效率。

软件项目的信息管理

目标管理软件例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

软件企业预算管理特征分析为有效明晰软件企业预算管理特征,需分析软件企业自身经营特点。整体看,软件企业特点如下:(1)高知识密集及高技术人才密集,产业技术含量高且产品附加值高;(2)产品更新换代快且市场竞争激烈,企业技术路径选择不确定性高,经营风险大;(3)为适应激烈竞争,软件企业需不断投入资金进行研发,以维持领先优势。

基于以上特点,软件企业预算管理

具有以下特征:(1)软件企业为维持竞争优势和抢占市场,费用多投入科研领域及销售领域,其成本构成多为高期间费用及低制造成本,预算管理的侧重点相应为研发环节及销售环节;(2)软件企业资金耗费大,资金筹措对企业生存发展尤为重要,预算工作应做好资金筹措管理,以防范现金流断裂风险。软件企业实施预算管理的必要性分析预算管理,即将各项目标如经营目标、财务目标、资源分配目标具体化,并设置具体的预算指标以落实至责任部门,并通过各项动态管理以确保预算目标的有效执行,以有效指导经营活动。整体看,软件企业实施预算管理工作的必要性体现在如下方面:

1.预算管理有利于资源优化配置企业是资源的输入输出系统,资源的稀缺性也催生了企业合理优化资源配置的需求。对于软件企业而言,因其价值链的构成特点及市场需求变化快等特性,资源优化配置的需求更为迫切,体现在以下两点:(1)软件企业价值链包含产品研发、开发设计、销售等环节,并辅助以售后服务等相关联经济环节,各环节发挥作用不一,同时衔接性需求极强,因此企业需强化预算管理,以实现统筹全局并优先将资源倾斜至重要环节的管理目标;(2)软件企业所面临的外部市场需求呈现变化快且日益多元化特征,导致企业技术升级路线选择具有较强不确定性,为降低技术路径错误所带来的经营风险,往往需同时进行多个研发项目,因此需对项目进行精细化管理,以降低企业资源损耗。

2.预算管理有利于强化内部监督管控对软件企业而言,其内部监督管理存在如下难题:(1)项目监管困难,软件企业一般为多项目并行,且项目进度难以把控,导致项目存在失控且质量低下的可能;(2)因不同项目研发难度难以量化,故难以匹配合理工时实现标准化管理,导致人力资源存在严重浪费的可能;(3)跨部门协作困难,项目文档缺乏统一管理且过程记录不完整,降低了不同部门间的沟通效率;(4)决策缺乏数据支撑,难以获取持续、可对比的数据进行深入研究,无法有效指导决策。因此,解决上述难题,有必要强化和实施预算管理,如设置项目执行指标并进行动态管理,积累预算执行数据以合理分配项目工时,进一步为决策提供合理指导。

3.预算管理有利于绩效考核评价软件企业绩效管理通常存在如下问题:(1)项目多样性导致了不同项目组工作内容存在差异,需为不同项目组定制相适应的绩效考核方式;(2)软件企业从业人员多属于知识型员工,该类型人员在工作中多采取分析、设计、判断等难以量化的工作形式,如面对开发过程,这一低可视性且高失败性的环节,软件人员的工作量和工作质量则更难以量化;(3)绩效考核缺乏应有的激励作用,软件企业工作多以团队工作的形式完成,难以区分团队中个人工作价值,通常以项目组为绩效考察对象的激励方案,难以对员工个人产生应有的激励作用。因此,解决上述难题,有必要强化和实施合理有效的预算管理工作,如为加强激励,可为不同项目组设置不同预算指标体系,并根据预算实际执行情况,结合项目经理考核制及项目组人员打分制,强化预算管理的激励作用。

软件企业预算管理具体问题分析

1.软件企业产品庞杂,预算管理难度加大整体看,软件企业可为市场提供的产品大致分为四大类:(1)操作系统类软件,如微软所提供的WINDOWS系列软件;(2)软件开发工具,如IBM所提供的企业端开发工具MyEclipse;(3)应用软件,如微软所提供的办公软件MicrosoftOffice以及腾讯所提供的通信软件WeChat等;(4)软件服务,该类型则多以方案咨询、定制及外包等工作方式呈现。软件企业可能同时存在以上四大类产品,且每大类产品下也存在数个研发内容全然不同、市场受众也不一致的小类产品。而软件企业产品庞杂的特点,也进一步加剧了预算工作的难度。以税务管理领域为例,因软件企业产品安装、调试周期长,其回款周期也较长,销售确认时点与销售收入回款时点的差异,进一步给企业带来了增值税垫付的风险;若软件企业产品众多,则将明显提升销售统计的难度,从而导致税务管理预测工作的困难,并进一步加剧相应的税务管理风险。

2.项目复杂且研发具有高度不确定性,预算指标制定的准确度有待进一步加强因外部市场需求变化迅速、内部技术升级风险大等客观因素存在,软件企业在项目管理上,呈现出项目复杂且研发具有高度不确定等特征,进一步降低了预算指标制定的确定性:(1)项目复杂且不同项目工作内容不一,为有效指导项目实施,需制定不同预算指标体系,若软件企业研发新领域项目,则缺乏经验数据而导致预算指标的设置缺乏可靠的参考依据;(2)项目缺乏持续性,项目研发成功后,若产品缺乏受众市场,软件企业将会终止该项目技术升级,从而导致了项目研发缺乏持续性,难以获取该类型项目的长期追踪数据,从而降低了长期预算指标数据制定的准确性;(3)预算指标编制与项目不适配,传统预算编制方法通过增量预算或固定成本预算,较难应对软件项目研发的不确定性,导致了预算指标编制与项目适配度低,进而降低了预算指标制定的准确度。

3.预算执行缺乏有效的控制措施软件企业在预算执行上,缺乏有效的控制措施,主要体现在:(1)产品预算执行管控上,因预算工作信息化建设落后,导致了一定监管困难,如销售预算的执行,需跨部门提取销售预算执行数据,以确认销售预算指标执行进度;若软件企业开发销售系统,并对接ERP系统及财务信息系统,可实现数据共享传导,则能解决因产品众多而带来的统计难题,否则财务部门难以及时获取准确的产品销售数据,并将实际销售数据与预算数据进行对比,严重弱化了对销售预算执行的把控;(2)项目预算执行管控上,因软件企业项目杂、多特性,财务部门较难实时、统筹监管所有项目预算进度,另外项目研发进度难以量化,非专业人员较难对项目执行进度进行准确判断,易导致项目预算执行管控流于形式。

软件企业预算管理的控制措施

目标管理软件例9

盲目性应用,即无论是产品型软件企业还是项目型软件产业,都没有一个适合自身企业特点的软件开发管理模式。随着信息化时代的来临,第三次革命的广大蔓延,使IT产业在我国得到了迅速的发展,相对应的各个软件的应用也逐渐增加。由于,我国的软件企业建设起步较晚,相关技术性软件缺乏有效的创新性。因此,在不合理的管理下,往往会造成为了追赶进度,而在短时间内生产一批软件,大大降低了软件开发的应用价值,造成程序在进入实际应用时,一改再改,上机漏洞百出,运行时间过长,甚至完全的开发使用受挫等问题。

1.2无规范性操作

无规范性操作,即相关企业缺少对软件开发的相关规定,检查督导力度不够,企业管理人员、企业技术人员的应用力度不到位等。我国大多数软件开发企业都属于中小型企业,所开发利用的产品大多效法与国外的软件产品,缺乏有效地创新能力,评估工作量能力欠缺。虽然,某些公司意识到了这一点,但在自己企业的软件开发与管理中,虽然建立了一些软件开发管理的规范,由于过于硬式化,可执行力不强,造成软件开发的操作上出现问题。操作中的无纪律、无规范性,使得很多软件的基本构架被砍掉,导致了所开发产品的质量不稳定,对以后的升级与维护造成负担,使用户对公司不满,最终损害了企业的利益。

2项目管理在软件开发中的应用措施

项目管理应用于软件的开发与利用中,即相关的软件开发项目人员,在有限的资源的前提下,运用所要规定的软件内涵、理念、方法及观点,进行有效的开发与管理。宣传并树立企业范围内的项目管理文化十分重要。实现项目全过程,包括软件开发项目的计划、软件开发项目的组织、软件开发项目的指导、软件开发项目的调控及软件开发项目的评价,得到全面的项目实现,创造企业利益最大化。将项目管理融入到软件的开发应用中应做到:

(1)对软件开发项目的成功标准做准确的设定。

(2)对项目之间的各种要求把握要合理。

(3)对软件的标准进行新的定义。

(4)建立适合的沟通渠道。

(5)制作个人计划。

(6)具备完备的需求说明。

(7)对任务进行有规律的分配。

(8)选择正确的技术并进行相应的估算。

项目管理在软件开发中的具体作用为:

(1)可实现人力、物力、财力的合理分配。

(2)对企业软件的启动、研发进行高标准的组织。

(3)合理的对各个项目进行合理的划分,实现层次管理、合理分配。

(4)调动员工的积极性,实现企业利益的最大化。因此,可以看出项目管理可有效地促进软件开发的进程与管理,是实现软件开发任务、资源管理、成本预算、项目跟踪及企业利益的良好标尺。实现项目管理与软件开发结合是企业形成良好的业务循环的重要手段。项目管理在软件开发中具体的应用措施有:

2.1完善制度

完善制度,即相关的管理人员应按照企业的任务需求合理的制定出一套相对应的管理流程。例如:企业的相关负责人可以根据企业的业务需求来制定《产品立项报告》,并根据各个部门的负责人的审批建议,做出《产品可行性调研》。后对风险进行有效的评估,然后做出产品的《初步设计报告》,并落实于人。(注:一般情况下为保障软件的质量与开发进度,新技术在软件中的使用比例应小于35%)

2.2初步设计

初步设计,即相关的管理人员根据所要开发软件的成本、进度、风险等进行准确的评估,并制定评估范围数值,并根据评估的范围,制定出项目总成本的耗资范围。例如:企业的相关责任人应集中硬件工程师、软件工程师与架构工程师三者进行商榷,并根据业务需求,企业软件系统开发规范,编码规范等,来制定出《项目建议书》、《软件总体设计》等方案,提交决策层评审,评审立项通过后方可进行下一步工作

2.3硬件选型

硬件选型的过程就是根据软件的运行状况选择其运行于哪种硬件上的过程。硬件设备的选择需要根据所开发软件的类别进行选择,例如:开发小型单机软件,需要一台电脑就够了,但是开发大型单机软件则不一样了,需要多台电脑、外网网线、路由器、局域网。项目管理的软件开发首先要构建软件系统,做好预算,不断改进设计模型,做好项目资源管理的控制和软件的优化方案。其次,需要对软件系统进行测试,根据项目管理对软件的需求设计科学合理的测试方案,不断完善硬件选型上的不足,做到硬件与软件的科学有效运行。

2.4软件设计

软件的设计是IT行业中的重中之重,是至关企业形象的良好标志。软件设计,即相关的管理人员对所要开发软件的成本、进度、风险进行精确的细化分析,制定出确实可行的软件开发项目。例如:项目经理需要根据企业的软件复用价值来确定,待开发与难开发两者,并根据《初步设计》的要求,写出《软件的详细设计》方案并编织代码,测试代码,软件设计的最终环节要在总工程师的辅助下完成,总工程师要做出详细的批示和完善措施,由此进行改进之后再进行大规模的生产与制作。不断提高软件设计产品的质量。

2.5软件的测试

软件的测试是检测所开发软件好坏的良好标尺。软件的测试,即由软件工程师编制代码后,按照《测试大纲》进行自测,并将自测后的数据进行可靠性的综合分析测试。其主要包括:

(1)功能性测试,即对产品的每一项功能进行逐一测试。

(2)应用性测试,即将所开发产品运行与实际操作中,进行现场模拟的EMC、EMI测试。并根据测试的结果,做好详细真实的记录,列出不合格项目,有待加强项目、研发人员定位等确立故障的具体原因,为故障的分析与改正打下基础。

2.6文件归档

文件的归档,即对所开发的软件项目做出完整的整合记录,实现软件的可升级性、可维护性、可继承性及可完善性的良好数据说明系统,是加强积极管理的有效手段之一。对于软件来说,确保一次性研发成功最好,若中途发生了变差,则需要进行修改,在对软件系统进行修改的时候,就需要对文件再次进行归档。所要归档的文件一般有:

(1)软件的研发报告。

(2)软件的可行性分析报告。

(3)软件的初步设计方案。

(4)硬件的详细设计方案。

(5)软件的详细设计方案。

(6)系统的结构详细设计。

(7)软件的测试结果。

(8)审批明确的生产文件。

(9)详细的使用说明书等。

目标管理软件例10

[关键词]软件项目管理需求管理沟通与协作风险管理

一、引言

从上个世纪中期到现在,软件产业迅猛发展。软件产业在推动人类社会发展的同时,软件危机产生了,这是因为落后的软件生产方式无法满足迅速增长的计算机软件需求。软件危机的产生促使人们开始研究软件开发的技术手段和管理方法。

软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,通过计划、组织、控制等一系列活动,合理地配置和使用各种资源,而对成本、人员、进度、质量、风险等进行分析和管理,以达到既定目标的过程。项目管理更强调项目负责人的作用和团队的协作精神,其组织形式灵活,更加关注人的因素,关注客户和服务客户,着重于提高软件项目研发的效率和质量。在本文中,对软件项目管理中的需求管理、员工之间的沟通与协作、软件项目风险管理等方面进行了阐述。本文最后介绍了软件项目管理的几项经典技术。

二、需求管理

软件需求是每个软件开发的开端与基础。在项目需求分析阶段,双方必须全面地尽可能细致地讨论项目的应用背景、功能要求、性能要求、操作界面要求、与其他软件的接口要求,以及对项目进行评估的各种评价标准。在进行需求分析时,可以首先分析客户原有系统的建设情况,对客户的原有产品进行分析,明确建设目标等。

需求管理对软件项目能否最终实现产生至关重要的影响。任何的软件项目都必须进行合理的、细致的、一致的需求管理,只有这样才能制定正确合理的软件开发计划,软件项目才能顺利地开发完成。

三、沟通与协作

软件项目管理中的沟通与协作是指信息的交流,是使信息发挥积极作用和达到目标的手段;协作是指和谐地在一起工作的活动。沟通技术可分分四类:(1)正式书面沟通,包括项目文档和备忘录、项目里程碑和交货时间表、需求变更和错误跟踪规程、数据字典、系统分析模型(用例图等);(2)正式口头沟通,包括状态审查会、需求评审会、设计评审会、代码评审会、用户测试,项目定期例会等;(3)非正式口头沟通,包括小组碰头会、同行讨论、与直属业务领导讨论等;(4)电子沟通,包括电子邮件、内部BBS等。协作技术包括资源合理配置、开发步骤有序化、工作目标一致化、提高关心程度、信息共享等。

四、风险管理

软件项目风险管理是指对在软件开发过程中所遇到的预算和进度等方面的问题进行分析,寻求风险应对方法,做好风险管理计划。

针对软件项目中的风险管理问题,不少专家、组织提出了自己的风险管理模型。常见的主要风险管理模型如下。

1.SEI的连续风险管理模型(CRM)。SEICRM模型的风险管理原则是不断地评估可能造成恶劣后果的因素;决定最迫切需要处理的风险;实现控制风险的策略;评测并确保风险策略实施的有效性。CRM模型要求在项目生命期的所有阶段都关注风险识别和管理,它将风险管理划分为五个步骤:风险识别、分析、计划、跟踪、控制。

2.BarryBoehm模型。Boehm模型的思想核心是:10大风险因素列表。针对每个风险因素,都给出了一系列的风险管理策略。在实际操作时,Boehm以10大风险列表为依据,总结当前项目具体的风险因素,评估后进行计划和实施,在下一次定期召开的会议上再对这10大风险因素的解决情况进行总结,产生新的10大风险因素表,依此类推。Boehm模型的基本形式可描述为:RE=P(UO)3L(UO),其中RE表示风险或者风险所造成的影响;P(UO)表示令人不满意的结果所发生的概率;L(UO)表示糟糕的结果会产生的破坏性的程度。

3.软件工程风险模型(SERIM).SERIM模型要求从技术和商业两个角度对软件风险管理进行剖析,考虑的问题涉及开销、进度、技术性能等。它还提供了一些指标和模型来估量和预测风险,由于这些数据来源于大量的实际经验,因此具有很强的说服力。

五、软件项目管理技术

1.CMM。CMM是美国卡纳基梅隆大学软件工程研究所(CMU/SEI)提出的软件研发项目管理的一系列方法,它基于组织对关键过程域的支持,定义了软件过程成熟度的五个级别。级别1(初始级)描述了不成熟,或者说是未定义过程的组织。级别2(可重复级),级别3(已定义级),级别4(已管理级)和级别5(优化级)分别描述了软件过程成熟度级别递增的组织。和这些级别相关的KPA是:级别2:需求管理,软件项目计划,软件项目跟踪和监控,软件子合同管理,软件质量保证,软件配置管理。级别3:组织级过程焦点,组织级过程定义,培训大纲,集成软件管理,软件产品工程,组间协调,同行评审。级别4:定量过程管理,软件质量管理。级别5:缺陷预防,技术更新管理,过程更改管理。

2.CMMI。CMMI被看作是把各种CMM集成为一个系列的模型中。CMMI的基础源模型包括:软件CMM2.0版(草稿C),EIA-731系统工程,以及IPDCMM(IPD)0.98a版。CMMI也描述了5个不同的成熟度级别:级别1(初始级)代表了以不可预测结果为特征的过程成熟度。过程包括了一些特别的方法、符号、工作和反应管理,成功主要取决于团队的技能。级别2(已管理级)代表了以可重复项目执行为特征的过程成熟度。组织使用基本纪律进行需求管理、项目计划、项目监督和控制、供应商协议管理、产品和过程质量保证、配置管理、以及度量和分析。

3.PSP。PSP(PersonalSoftwareProcess,个体软件过程)是由CMU/SEI开发出来的,它的推出在软件工程界引起了极大的轰动,可以说是由定向软件工程走向定量软件工程的一个标志。PSP为基于个体和小型群组软件过程的优化提供了具体而有效的途径,例如如何制订计划,如何控制质量,如何与其他人相互协作等等。在软件设计阶段,PSP的着眼点在于软件缺陷的预防,其具体办法是强化设计约束准则,而不是设计方法的选择。因此,PSP保障软件产品质量的一个重要途径是提高设计质量。

六、小结

本文分析研究了软件项目管理中的需求管理、员工之间的沟通与协作、软件项目风险管理。最后结合实践,提出并分析了软件项目管理技术。我们相信随着软件工程的发展和进一步成熟,软件项目管理技术的发展会取得更大的进步。在实际项目中,我们要坚持改善软件工程的管理,并在实践中总结适合自身的经验,这样才有利于管理技术的进步和软件项目的顺利完成,创造出更高的品质、更大的效益。

参考文献:

[1]PhpMetzger,JohnBoddie.软件项目管理-过程控制与人员管理[M].北京:电子工业出版社,2002.

目标管理软件例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开发质量