软件个人工作计划范例6篇

软件个人工作计划

软件个人工作计划范文1

互联网和万维网(WWW)已经成为世界范围内的“信息高速公路”和电子商务市场的支柱。由于万维网使用者的数量飞速增长,对于最终用户来说,随着可供使用的主页和网上信息的数量的爆炸性增长,最终用户间的交互性越来越差,传统意义上的交互已经无法满足用户的需求,举一个简单的例子,即使是在世界杯的决赛期间,一个普通的足球迷也很难立刻从网络上找到聊天的对象。用户需要真正意义上的全新的互联网交互协作软件。

2.目标和解决方案

我们的“软件名称”将为您解决这个问题。在网上冲浪的人们不论处于何方,总是可以看见周围的人们,就像现实生活中的一样。“软件名称”既是一个最终用户使用的万维网上的协作软件,又为企业提供了无限的商机:

“软件名称”以多种便于使用的方式为用户提供了一个交流的平台。

“软件名称”为企业提供了一个广告和商用信息的平台。

3.产品:为全互联网用户提供简洁方便的交互平台

“软件名称”为最终用户提供一个免费的交互平台,同时又为商业用户提供了一个宣传和销售的渠道。

4.公司和管理 暂缺。

5.业务体系:以广告和商用信息收入为主

调查数据显示,有超过六百万的互联网用户会成为“软件名称”的潜在最终用户,同时有超过一百万的商业用户会成为“软件名称”的潜在商业用户,而且这个数字还在高速增长,这个数字对任何企业都是极有吸引力的,由于软件和服务对于最终用户来说是完全免费的,而商业用户只需要及其低廉的费用就可以想所有最终用户广告信息和商用信息。假设每年平均从每个商业用户获得100RMB的收入,则全部的市场收益将会超过1亿RMB。而100RMB的年租对企业是微不足道的。“软件名称”这个项目对于其雇员和投资者来说也一定会盈利。

软件个人工作计划范文2

论文摘要:软件工程是指导计算机软件开发与维护的工程学科,它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以便经济地开发出高质量的软件并有效地维护它文中通过介绍软件工程的相关知识和针对项目的特殊性对软件工程理论的具体实施办法,展示了如何将软件工程理论应用在实际工作中,从而快速、高效地开发出高质量的软件。

软件项目管理是使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。软件开发的整个过程都是设计过程而且不需要使用大量的物质资源(主要是人力资源),并且,软件开发的产品只是程序代码和技术文件,并没有其他的物质结果。因而企业软件开发项目管理水平直接决定了软件开发的能力,科学、系统的软件项目管理也从很大程度上减小了开发风险。通过运用软件项目管理来科学地开发软件有效地减少了开发风险,保证了质量。

1流程

根据项目管理的一般原理,项目管理的过程从总体上可以分为5个阶段,每个阶段包含有一个或多个管理过程。这5个阶段分别是:项目启动、项目计划编制、项目计划执行、综合管理控制和项目收尾。它们之间的联系如图1所示。

(1)项目启动:根据必要的工作(如可行性分析,技术评估等)结果,批准一个项目的运行。

(2)项目计划编制:收集和编写项目所需要的各种资料,进行各种计划活动并制订相应的计划,将各种计划的结果汇总成为连贯、一致的文档,即项目计划文档。在软件项目中,具体的活动包括需求和范围管理计划、进度计划、人力资源计划、成本计划、沟通计划、风险计划等。

(3)项目计划执行:通过进行项目计划所规定的各种活动,实施项目计划。

(4)综合管理控制:在项目计划实施的过程中,对各种活动进行监控,协调并控制整个项目期间的变更。在软件项目中,主要的活动包括范围变更控制、进度计划控制、成本控制、质量控制、风险监督与控制等。

(5)项目收尾:项目或阶段的正式接收并达到有序的结束。其中,项目的中间过程(计划、执行、控制)是一个循环反复的过程。项目计划是计划执行和计划控制的基准;计划执行的结果受到计划控制的监控;计划控制根据比较计划执行的结果与项目计划的偏差,以及各种因素引起的变化,对项目计划进行修正,从而形成下一个循环的项目基准。它们之间的流程如图2所示。

2生命周期模型

任何软件的开发都要经历一个“生命期”,生命期模型的主要功能是确定一种标准,确定项目规格、建立原型、设计、实现、检查、测试或执行一些其他活动,以此确定在软件开发过程中是否是以某种次序一个任务接着一个任务进行。作为一个项目的主要计划,软件生命期模型的选择对项目成功的影响非常重要。恰当的生命期模型可以使软件项目流程化,并帮助项目人员一步一步接近目标。如果选择了适宜的生命期模型,就可以提高开发速度、提升质量、加强项目跟踪和控制、减少成本、降低风险,或是改善用户关系。

2.1瀑布模型

最经典的软件生命周期模型是瀑布型模型,它是其他生命期模型的基础。在瀑布模型中,项目从始至终按照一定顺序的步骤从初始的软件概念进展到系统测试。项目确保在每个阶段结束时进行检查,以判定是否可以开始下一阶段工作。如果检查的结果是项目还没有准备好进人下一阶段,它就停留在当前阶段,直到当前阶段工作完成。如图3所示。

瀑布模型是文档驱动型的,主要工作成果通过文档从一个阶段传递到下一个阶段。如果有一个稳定的产品定义和很容易被理解的技术解决方案时,瀑布模型可以帮助及早发现问题,降低项目的阶段成本,是快速开发的一个恰当选择。但在很多实际情况中,由于需求、技术等很多不确定性,瀑布模型并不适合于进行快速开发。

2.2渐进原型

渐进原型是从开发系统概念开始的一种生命期模型,通常是从最核心的方面开始,向用户展示完成的部分,然后根据用户的反馈信息继续开发原型,并重复这一过程,直到开发者和用户都认为原型己经足够好。然后,完成结尾工作,交付作为最终产品的原型,如图4所示。

“渐进原型”模型以逐步增加的方式进行开发,以便于随时根据客户或最终用户的反馈来修正系统,在需求变化很快的时候,或者用户很难提出明确需求的时候,或者开发人员对最佳的架构或算法没有把握的时候,渐进原型特别有用。但是,渐进原型是以牺牲项目的可控制性来换取较多的客户反馈以及较好的过程可视性的。由于原型的功能和特性会随着用户的反馈而经常发生变化,因此较难确定产品的最终形态。

2.3阶段交付

阶段交付模型是另一种生命期模型,该模型可以持续地在确定的阶段向用户展示软件。和渐进原型不同,在阶段交付的时候,开发者明确地知道下一步要完成什么工作。阶段交付的特点是在项目整个开发过程中持续不断地交付阶段性成果。如图5所示。

在“阶段交付”生命模型中,软件被分阶段进行开发。在通常情况下,首先开发最重要的功能。阶段付并不能减少软件产品研发所需要的时间,但是它能充分降低软件研发中的风险,而且能够提供切实的、客户可见的以及管理层评价项目状态时所需要的标记。

2.4渐进交付

渐进交付是一种结合了渐进原型和阶段交付两种模型的生命期模型。在这种模型下,首先开发产品的一种版本,展示给用户看,然后根据用户的反馈改善产品,如图6所示。

渐进交付模型在阶段交付的可控制性和渐进原型的灵活性之间寻找平衡。在可能的情况下,它可以把软件的某些选定的部分提前交付,从而有利于快速开发的进行;同时,在项目进行的过程中,它也具有响应用户要求并改变产品方向的能力。

3开发应用

3.1要员管理

软件项目成功的关键是有高素质的软件开发人员,然而大多数软件产品规模都很大,以至单个软件开发人员无法在给定期限内完成开发,因此,必须把多名软件开发人员组织起来,使他们分工协作共同完成开发工作。现有的软件开发项目组的组织方式有:

(1)民主制程序员组

小组成员完全平等,享有充分民主,通过协商做出技术决策。小组成员间的通信是平行的,如果小组有n个成员,则可能的通信信道有n (n-1) /2条。

(2)主程序员组

主程序员既是成功的管理人员又是经验丰富能力强的高级程序员负责体系结构设计和关键部分(或复杂部分)的详细设计,并且负责指导其他程序员完成详细设计和编码工作。

后备程序员也应该技术熟练而且富于经验,协助主程序员工作并且在必要时接替主程序员的工作。编程秘书负责完成与项目有关的全部事务性工作。

(3)现代程序员组

技术组长:只对技术工作负责。

行政组长:全权负责非技术事务。

项目开发方把软件工程中的软件项目组的组织理论文档化后,形成了自己的一套详细的、适合在实际工作中使用的要员管理理论。

3.2进度管理

软件项目的进度安排是一项活动,它通过把工作量分配给特定的软件工程任务,并规定完成各项任务的起、止日期,从而将估算的工作量分布于计划好的项目持续期内。进度计划将随着时间的流逝而不断演化。在项目计划的早期,首先制定一个宏观的进度安排表,标示出主要的软件工程活动和这些活动影响到的产品功能。随着项目的发展,把宏观进度表中的每个条目都精化成一个详细进度表。于是完成一个活动所必须实现的特定任务被标示出来,并安排好了实现这些任务的进度。

3.3配置管理

在开发计算机软件的过程中,变化(或称为变动)是不可避免的。如果不能适当地控制和管理变化,势必造成混乱并产生很多严重的错误。软件配置管理是在计算机软件整个生命周期内管理变化的一组活动。它不同于软件维护。软件维护是在软件交付给用户使用后才发生的,而软件配置是在软件项目启动时就开始,并且一直持续到软件退役后才终止的一组跟踪和控制活动。其主要任务有:标识、版本控制、变化控制、配置审计和报告。只要参加过软件开发的人都清楚,现在的软件项目完全由一个人来完成是难以想象而且也是不可能的,通常是有一个研发小组来共同分析、设计、编码和维护,并有专门的测试小组对己完成编码调试的软件进行全面的测试。在软件开发这个庞大而复杂的过程中,需要涉及到各个方面的人员,信息的交流反馈不仅仅是在研发小组的成员之间及各个研发小组之间,还存在于客户和研发者之间。所有的这些交流反馈意见信息都有可能导致对软件的修改,小的可能只是对某个源文件中的某个变量的定义改动,大到重新设计程序模块甚至可能是整个需求分析变动。

3.4软件测试

测试是指软件产品生存周期内所有的检查、评审和确认活动。在软件生命周期的每个阶段都不可避免地会产生差错。软件测试的目的就是在软件投人生产运行以前,尽可能多的发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。

软件个人工作计划范文3

论文关键词:项目管理 进度控制 费用控制 质量控制 软件开发

人类社会经历了三次经济革命从农业革命、工业革命到目前正在经历的信息革命。信息化正在日益改变人们的思维方式和生活习惯。在推动信息化过程中,计算机及其软件产品发挥着至关重要的作用。对于软件项目的管理成为项目管理领域一个令人兴奋的课题。本文将结合项目管理中的控制方法分析软件项目管理控制的相关问题.以期提高软件项目的开发效率。

1、关于软件项目管理

1.1项目与项目管理

项目是一个旨在完成一个或一些独特产品或服务的过程.它有着一系列被详细描述的属性。由于项目的独特性和一次性特征,引伸出它的其他特点.如目标的确定性.成果的不可挽回性组织的临时性和开发性等。基于项fli的这些特点.项目运作更加注重项目决策前的计划以及对实施过程的控制,以减少项目运作的风险。项目管理是2o世纪50年代后期发展起来的一种计划管理方法,它运用先进科学的管理方式.有效解决大型组织的效率低下和小型企业面临的风险增加问题以组织的机动灵活.面向客户和资源利用率高而被广泛应用。在工程设计.施工软件项目的开发、实麓中经常会遇到进度拖延.费用超支、质量不达要求等问题除去极少数是因为技术原因造成,绝大部分是源于僵化的管理和不当的管理方式。

1.2软件项目管理

各软件企业都在积极将软件项目管理引入开发活动中.对开发实行有效的管理。从概念上讲.软件项目管理是为了使软件项目能够按照预定的成本.进度、质量顺利完成.而对成本、人员、进度、质量、风险等进行分析和管理的活动。同时,随着软件开发规模及开发队伍的逐渐增大,软件开发不再是向过去那样一二个开发人员即可解决的事情。迫切需要一种开发规范来规范每个开发人员、测试人员与支持人员的工作每个项目组成员按约定的规则准时完成自己的工作。同时采用规范化管理.专业分工也可以降低对开发人员的要求,从而降低产品研发成本。

2、软件项目控制

2.1软件项目控制

软件项目跟踪和监控包括对照已文档化的估计、约定和计划评审和跟踪软件完成情况和结果。基于实际的完成情况和结果调整这些计划。软件项目的已文档化的计划(即软件开发计划,正如在软件项目计划关键过程区域中所描述的)用作跟踪软件活动传送状态和修订计划的基础管理者监控软件活动.主要通过在所选出的软件工作产品完成时和在所选择的里程碑处,将实际的软件规模工作量成本和时间表与计划相比较,来确定进展情况。当确定未实现软件项目计划时,采取纠正措施。这些措施可以包括修订软件开发计划以反映实际的完成情况和重新计划遗留的工作或者采取改进性能的措施。

2.2软件项目控制的内容

软件项目控制的目的是为软件项目的过程提供足够的能见度,从而可以在执行过程中发生对计划的严重偏离时能够采取适当的更正行为。软件项目控制包括:a。追踪软件项目的进展于表现从而与所作的估计、承诺和计划做出对比:b。追踪软件项目的风险;c。在发生对计划的严重偏离时采取适当的更正行为。

2.3软件项目控制步骤

由于软件开发是处在一个开放的动态系统中,开发环境的不断变化要求不断修改项目计划,以适应新的变化。此外项目经理及其组织在完成任务的过程中不可避免的要碰到这样或那样的问题.解决这些新的矛盾和问题均属项目控制的范畴项目的预算和进度计划只能为项目经理提供决策的依据.如果在项目实施过程中控制不住.很难在限定的时间和预算要求下实现项目管理工作的目标。因此软件项目控制的过程包括以下四个步骤:a、预测什么会发生——要做出开发计划并建立工作标准b、查明什么正在发生——用建立的工作标准检查当前的工作;c、正在(或已经)发生的实事同预测的结果进行比较——分析误差产生的原因:d及时采取补救措施.以满足项目目标,预算和进度的要求。

3、软件项目控制具体操作

3.1软件项目进度控制

为了确保软件开发中的各项工作能按照计划预定的日程顺利完成.对项目的进度要进行控制。进度控制的过程是.在项目实施过程中,不断地进行实际进度值与计划值的比较、发现偏差、检查分析其产生的原因,并采取相应的措施加以解决。

3.1.1进度控制流程

(1)进度控制的输入

进度计划。项目进度基准是项目测量和报告的基础和标准。

实施报告。实施报告提供了有关项目进度发展实情。报告未来可能发生的进度问题。

变更要求。项目变更要有严格的申请和审批手续。

进度管理的技术和工具。

(2)进度管理的技术和工具

进度控制变更系统。为有效实现进度管理与控制.进度控制系统应设立实现重新计划的全部功能。包括:文件设立.跟踪即实施报告.变更评估等。

实施情况测量。项目进度控制系统中的一个重要组成部分是决定对迟发生的进度偏差是否采取纠偏措施。而实施情况报告提供了决策的主要信息。如变更分析.趋势分析.已实现价值分析等。

纠偏计划。很少有项目能完全按计划进度进行为实现项目进度或总进度要求,在项目实施过程中.需要不断对原计划进行调整或增加新的工作内容。为此.需要不断对实施的项目进行活动时间预测。修改活动过程.替代进度方案分析。

项目管理软件。它的作用是跟踪项目按计划日期展开实际工作的情况.对照进度计划分析进度现状,找出进度的偏差.分析进度偏差对项目的影响.预测未来走势

(3)项目进度控制的输出

进度更新。包括对项目管理中任何进度信息的修改。进度调整是其中的一种.师队员进度计划中活动开始和结束时间的改变。纠偏行动。通过改变资源投入将实际进度拉回到计划的行动过程。

从中获得的教训。有关进度偏差产生的原因。纠偏方案的评估与选择以及其他方面的感受和教训都应纪录在案成为日后有用的历史资料。

3.1.2进度控制方法

一般项目进度控制采用因果分析.分析用四步完成:

(1)明确问题。实际完成情况与项目里程碑相对照.确定是否超期.超期的部分是在哪里。

(2)查找产生该问题的原因。位从系统角度充分认识各方原因.应组织具有代表性任务人员并采用头脑风暴法进行。项目主管要通过他领导的办公室或小组,以及在各职能部门的人共同分析问题产生原因。

(3)确定个原因对问题产生的影响程度。对影响程度的评估可以采用专家小组打分的方法,事先确定权数.而后打分得出分析结果。

(4)画出带箭头的鱼刺图。分析出原因后各部门各就其职针对问题提出解决方案.并实施。

3.1.3软件项目进度控制具体措施

在实施进度计划过程中,会有种种故障:客户的需求进行了补充或修改;工作量估算不准,造成进度不平衡或是有人不遵从开发规范.导致产品出现缺陷;或是技术环节出现故障,这些问题往往是在进度计划外出现的.一旦出现这些问题,项目进度不得不进行调整。开发过程中为了有效控制类似问题,可以采用以下辅助措施,控制进度按计划执行:

(1)政策性措施。对于不遵从开发规范,人员不按时履行职责的.给予经济或是职务上的处罚.这种措施应是建立在分配任务之前;

(2)人员安排。在各子项目接口处适当安排机动人员与机动时间。这一措施有赖于项目组织的机构设置能动性好。此处比较难解决的是人员业绩评估.奖励问题。

(3)技术措施,要想很好地执行进度计划,需要事先有统一的规范例如开发语言的统一,文档的归类。这样便于下一阶段人员理解上一阶段人员意图,交流更加容易。

(4)信息流措施。该措施要求建立一个信息流系统.准时汇报项目进度.便于主控人员调整进度,并且保证信息流通顺畅。避免开发期压到最后造成严重拖工。

(5)资金措施。财务部门可以定期检查各部门财务情况.控制资金流出时间.进而控制项目进度。这与后面要讲到的三者权衡有密切关系。 

3.2软件项目费用控制

费用控制就是要保证各项工作要在他们各自的预算范围内进行。其基础是实现就对项目进行费用预算。整个项目费用应包括项目范围规划阶段。软件需求分析阶段.原型设计阶段开发阶段.测试阶段和项目投入使用后的使用阶段所消耗费用的总和。软件开发项目承担公司为了完成项目目标和获得更多的利润.在实施项目过程中就要控制成本.在控制过程中,首先要拟定一个标准.即计划值.然后进行实际至于计划值的比较,确定实际值与计划标准的偏差大小.以便在此基础上采取各种措施纠正偏差.常用的分析工具是偏差分析。

偏差是指实际成本对相应计划的偏离,成本偏差的数学公式为:

cv=bcwp-acwp(负数cv表明出现超支;反之,则节资)(3—1)

其中:cv为成本偏差,bcwp为计划工作预算,acwp为完成工作实际成本。

在进行成本偏离计划程度分析时,常用计划偏差率反应时给予计划的偏离程度。

cvp=cv/bcwp(3-2)

其中cvp为成本偏差率。

偏差值是控制分析中的一个关键参数,因而应向各级组织汇报。对于不同的项目或同一项目不同阶段或不同管理层次,对偏差的控制程度不一样,制定偏差允许值的方法也不同。由于随着时间的推移风险减少了,因而偏差允许也可降低。

3.3软件项目质量控制

对于软件产品的项目质量控制应是事前有预控,过程有监控的主动控制闭环系统。(1)事前预控:根据影响质量因素多等特点.软件项目质量必须事前预控,及根据软件的类型和特点,以及以往类似项目的常发病和预防措施,对软件项目质量提出事前预控措施,包括制定控制的计划和程序,这是项目质量控制的前提。(2)过程监控:根据易产生质量波动和易产生系统因素变异等特点,软件项目质量必须过程监控.即按照预控的计划和程序,对工序、分项、单元的全过程进行过程监控.包括监测、检查、控制和评定.这是项目质量控制的基础。

软件个人工作计划范文4

策划过程通常是一个软件项目开发过程中较早涉及的一个活动,也是一个软件需求被顺利实现、软件项目被成功实施的基础过程。在现代航空设备制造业的软件开发过程中经常涉及的两份标准:DO-178C和CMMI中,分别是如何对策划过程进行定义的,两份标准对策划过程认定的目标是什么,有哪些异同,如何兼顾实施。本文从两份标准出发,对其描述的策划过程进行分析和对比,并对标准的适用范围进行了探讨。

【关键词】DO-178C CMMI 策划 软件项目

现代航空设备制造业在产品软件的设计研发过程中会经常涉及到两份认定标准――DO-178C与CMMI。这两份标准都定义和描述了机载软件的标准化开发过程,就软件研发过程的具体行为和步骤给出了要求和评价标准,并在不同领域中作为合同选择或产品使用的判断依据。

软件项目策划过程,作为一个软件项目设计过程中的首要步骤和关键环节,对整个软件项目的成败起着至关重要的作用,在这两份标准中都有着明确的规定。两份标准分别认定的项目策划目标是什么,是如何对软件项目策划过程进行定义的,有哪些相同点和区别,是否存在一种兼顾两种标准要求的项目策划实施方法?本文从两份标准的产生背景出发,重点针对如何有效的实现软件项目策划目标开展深入分析,对两份标准在软件项目策划过程中的异同和适用范围进行了探讨。

1 标准概述

1.1 DO-178C

DO-178C,机载系统与设备软件适航性要求,由RTCA(美国航空无线电委员会)第205特别委员会(SC-205)和EUROCAE(欧洲民用航空电子学组织)第71工作组(WG-71)编制,于2011年12月13日。DO-178C标准是一份“面向目标”、“面向进程”的适航标准,主要用于民用航空机载软件适航认证,为航空器及其设备的软件是否满足适航要求提供了指南。

在国际适航认证标准体系中,DO-178C是唯一一份专门针对机载软件的认定标准,同所有的适航标准法规的关注点一样,DO-178C目的是为机载系统和设备中的软件开发提供指南,以使软件在安全方面以一定的置信度完成其预定功能,并符合适航要求。在标准内部将软件失效等级和安全关键程度分为五级。

1.2 CMMI

CMMI(Capability Maturity Model Integration),能力成熟度模型集成,是由美国国防部与卡内基-梅隆大学下的软件工程研究中心(Software Engineering Institute,SEISM)以及美国国防工业协会(National Defense Industrial Association)共同开发的能力成熟度模型集合。从软件开发的过程管理、项目管理、工程管理、支持管理四个方面提供了一系列的优秀实践集合,用于改进软件企业的能力,并对其成熟度提供了一种评价方式。CMMI的最新版本为V1.3版。

CMMI产品套件含有大量的信息和指导,用以帮助组织改进其过程。依据CMMI标准完成评价的成熟度等级,已在世界范围内被广泛应用在政府或防务领域的软件项目开发资格审定及软件企业评价中。

1.3 标准异同

DO-178C和CMMI的主要不同为:

1.3.1 应用领域不同

DO-178C应用领域为机载系统/设备软件,CMMI对应用领域没有限定,甚至不局限于软件开发领域。

1.3.2 强制性不同

虽然DO-178C自我声明是推荐性标准,但是在FAA和EASA的适航审定过程中却是强制要求项;CMMI没有领域强制要求认证,但是在政府及防务工程中通常需要考察企业的CMMI等级,作为是否具备承包资格的一项考虑。

1.3.3 关注目标不同

DO-178C关注的首要目标是安全性,CMMI关注的首要目标是过程改进。

1.3.4 关注对象不同

DO-178C关注的是具体的软件产品配置项,只要该软件产品配置项达标即被认可;CMMI关注的是软件组织的能力,相对并不关注单个软件项目的具体表现。

1.3.5 认定标准不同

DO-178C是适航类标准,规定了目标下限,即只要满足最低值要求即可通过认定;CMMI强调的是组织的持续改进能力,在CMMI的最高成熟度等级追求的是企业的自我不断改进,没有上限。

2 软件项目策划的意义

IEEE对软件工程的定义为:将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件。因此,软件项目策划方法也大量借鉴了传统工程的策划原理。

2.1 项目启动时的策划工作

“凡事预则立,不预则废”,策划是一个软件项目的启动工作,也是整个软件项目的成败关键。与传统工程项目管理类似,软件工程策划过程的核心工作成果之一是进度表。进度表的基本功能为:

(1)获得执行者什么时候完成任务的承诺;

(2)将各执行者的工作组织整合为一个整体;

(3)提供一种追踪项目进度或将工作拆分为若干个易于管理的小块的工具。

由此可见,良好的策划能够合理的分解项目目标,建立可测量和实现的里程碑节点,向执行者明确工作子项并将各类执行者有序的组织起来。

2.2 项目执行过程中的策划工作

项目策划过程作为一种预测未来的行为,在项目的初期制定出一份完美的没有任何误差的进度表是不可能的。项目策划的难度在于,策划过程试图规划的时间跨度越长,其偏差度就越大,就像对着一个极远的靶标进行射击,其距离越远,偏差的概率就越大。

熵是无处不在的,计划执行中的异常情况会对策划的结果产生很大的影响。即使是一份完全精确估计,符合实际工作量的进度策划,由于执行过程中产生的偏差,同样会导致计划执行结果的巨大偏差。如果在计划中存在五个里程碑,每一个里程碑的按期执行概率为90%,那么计划最终被按期执行的概率仅为5*90%=45%。

因此项目的策划活动绝不是在项目初期开展的一次性活动,而是需要在项目的执行过程中不断开展的一项工作。

综上所述,策划活动一方面需要通过科学的方法,在项目初期实现尽可能精确的预测估算,使进度表能够最大程度的贴近实际情况;另一方面也需要在进度表被执行的过程中进行不断的监控和修订、维护工作。DO-178C与CMMI两份标准各自提供了一类策划活动的方法集,用于要求和支持软件项目的策划过程。

3 项目策划过程异同点分析

3.1 DO-178C项目策划过程

DO-178C规定的软件策划过程目的是定义软件实现的方法,使软件既满足其需求,也能够提供与软件等级一致的置信度。

DO-178C为软件策划过程提供了7项目标,分别对定义开发过程、确定生命周期、定义软件生命周期环境、定义系统安全目标、制定软件计划、确保计划协调等方面予以说明。

在DO-178C中详细描述了软件策划过程活动、应的软件计划、软件生命周期环境策划、制定软件开发标准、软件策划过程的评审等策划活动中应满足的要求和开展的活动,为其应当满足的标准进行了定义。

3.2 CMMI项目策划过程

CMMI的策划过程域综合了一系列的最佳实践,以指导项目策划人员制作一份基于项目需求并可指导具体工作的计划制定方法和修订准则,并为每一类实践指明了目标。

3.2.1 项目启动时的策划工作

策划活动是CMMI基础项目管理过程中的一个过程域,其目的是“制定和维护定义项目活动的计划”,共包含三个特定目标:建立估计、制定项目计划和获得计划的承诺,这三个目标存在时间先后顺序,后一个目标均以前一个目标的结果为输入,依次运行并形成最终的结果:一份软件项目初始或迭代的“软件开发计划”。

第一个目标:建立对项目的项目计划参数估计,是通过当前的输入推算出整个软件项目基本属性和数值的过程。CMMI要求以需求为基准,对需求和工作任务进行拆分,形成工作分解结构(WBS),并据此建立工作产品和任务的项目属性(包括交付物、文件及功能点数等),根据这些属性选择确定软件生命周期模型,并最终通过一系列的估算确定项目的工作量和成本的估计值。这些估计值是“制定项目计划”的基础。

第二个目标:制定项目计划,是在估算的基础上完成计划的科学制定的过程。在工作量、成本、投入人力资源、时间进度要求的基础上,对这些因素进行平衡,以WBS工作包为最小单元,制定预算和进度表,同时完成确保项目被顺利推进的其他计划,包括风险计划、数据管理计划、项目资源计划、知识技能计划、利益相关方参与计划等计划的编制,并最终整合形成软件开发计划。这些计划是“获得计划承诺”的输入。

第三个目标:获得对计划的承诺,是确保计划被利益相关方和执行人充分理解并获取支持、投入和承诺的过程。该过程对计划进行评审,同时获得两方面的承诺:一方面是管理者和相关人员对计划所需各类资源(人力、物力、财力、参与投入等)的承诺,另一方面是计划执行者对计划工作分解和时间要求的认可和执行承诺。

3.2.2 项目执行过程中的策划工作

在CMMI的项目监控过程域中的“采取纠正措施”及需求管理过程域中的“标识项目工作与需求之间的不一致性”,为项目执行过程中出现的因不准确的估计、执行偏差、需求和承诺的变更等导致的计划变更而产生的维护活动定义了触发时机和计划修订入口。

3.3 策划过程异同

通过前文分析,可得出DO-178C与CMMI在策划过程中的主要区别为:

3.3.1 目的不同

CMMI的策划目的为形成能够指导软件开发工作的计划,DO-178C的策划目的为定义软件实现方法,并提供必要的置信度。

CMMI关注的是如何通过一系列活动形成一个具体的工作产品,即软件开发计划,而DO-178C是通过计划帮助软件开发过程受控并达到既定的安全等级。

3.3.2 关注点不同

CMMI关于项目策划活动的关注目标为三个,都围绕如何形成软件开发计划而设置,并未直接关注工程细节和安全性,并且目标的实现存在前后的逻辑关系,不能跳过上一个目标而直接实现下一个目标。

DO-178C关于策划活动的目标有七个,分别覆盖了软件开发计划的形成、生命周期环境、软件安全等级、开发标准等方面,较CMMI相比,其关注范围更加广泛,围绕确保软件安全等级提出了更为全面的要求,但目标之间没有严格的先后时间顺序要求。

3.3.3 内容侧重点不同

CMMI为软件策划过程提供了一种具体的框架和方法集,在其中定义了推荐的最佳实践,按照标准规定的目标和特殊实践,能够演推出可实现的计划和进度表。

DO-178C对软件策划的内容与其他适航标准类似,规定了策划过程中的最低要求,但要求之间并没有明显的关联性,直接使用DO-178C很难形成一份可实现的计划和进度表。较CMMI而言,DO-178C规定的策划过程更像是一份符合性的检查单而非一份作业指导书,适用于检查评定策划活动是否达标,而不适用于指导该过程。

4 结论

综上所述,由于DO-178C重点关注的是安全及规范的研制流程,CMMI重点关注的是成熟度(即各个过程与的实现程度),所以两份标准对策划过程的定义也体现了关注点的不同。在机载航空产品的研制过程中,两份标准并不矛盾,可以共同施用,也可按照自身产品的目标市场,选择其一施用。需要注意的是,DO-178C是针对具体一个产品的过程认证,更类似与事后评价(获得产品研发协议或意向后再评价),企业可以先行组织产品研制,但如果适航审定不能通过,那么对应的设备无法获得装机许可。CMMI是针对整个软件组织的成熟度认证,在认证过程中并不完全以单个设备的表现而做出评价,而是对整个组织的软件工程管理水平给予评价,更类似于事前评价(获得产品研发协议或意向前就做出评价),如果现场审查不能通过,则企业将无法获得有CMMI成熟度要求的合同意向。在企业对两份标准的共同施用过程中,如果企业具备较强的软件工程管理能力和经验,则可以直接利用两份标准进行对标审查,查找遗漏项并在体系文件和开发过程中完善;如果企业策划活动能力较弱,则建议先按照CMMI标准指导搭建软件策划过程的基本流程,再利用DO-178C进行对标补遗。

参考文献

[1]Royal Technical Commision on Aviation.DO-178C.P5.

[2]Dennis M. Ahern,Aaron Clouse,Richard Turner.CMMI Distilled Third Edition.P46.

[3]Scott Berkun.Making Things Happen Mastering Project Management.P30,P31.

[4]the Software Engineering Institute,Carnegie Mellon University.Capability Maturity Model Integration,V1.3.

软件个人工作计划范文5

【关键词】CMMI;软件项目策划;WBS分解

0 引言

随着信息技术的飞速发展,软件产品规模日趋庞大,传统软件研制过程中重技术、轻管理的思想已经落伍。“软件发展的主要问题是管理问题。而不是技术问题”,作为现代软件管理模式的代表,CMMI(Capability Maturity Model Intergation)即“软件能力成熟度模型集成”在大型软件项目管理活动中得到了广泛的应用[1]。

项目策划是CMMI中的一个重要部分,对软件项目的有效管理取决于对项目的合理策划,计划的合理性与准确性往往直接关系着项目的成败。

1 软件项目策划在CMMI中的地位和作用

1.1 CMMI概述

CMMI(Capability Maturity Model Intergation),即“软件能力成熟度模型集成”共包括5个级别,分别是初始级、已管理级、已定量管理级、优化级。所有级别共包括24个过程域。CMMI的目的是帮助软件组织改进其过程,在对软件产品或服务的开发、采购以及维护的能力中提供指导。

1.2 CMMI中项目策划的地位和作用

项目策划是CMMI中的一个重要过程域,策划工作涉及到项目中的各个环节,包括定义件项目的规模和目标,确定需交付的工作产品及交付时间、完成研制所需的资源、制定合理的研制进度、对项目生命周期中可能遇到的风险进行标识和评估等等。

软件项目的管理者按照策划确定的内容对软件项目的开发成本、开发进度、产品性能和产品质量进行管理和控制,才能得以保证软件项目顺利地实施。

2 基于CMMI的软件项目策划实施

对软件项目进行策划通常在项目的早期进行,并在项目进展过程中,根据项目实际进展情况进行策划的调整。

2.1 项目已定义过程

项目已定义过程的建立是软件项目策划工作的基础,它以已确定的用户需求为基础,以组织内部的软件标准为依据,并以组织内部类似项目的成功经验作为参考,决定了项目策划其余工作的开展。

策划负责人分析软件项目的实际情况,选择适用本项目的软件生命周期模型。为使得软件开发周期模型更贴合项目实际应用,应在组织标准允许范围内、用户实际要求的基础上,对项目进展各阶段需生成的工作产品以及相应所需进行的各类管理、支持类活动进行裁减,从而完成项目已定义过程。

2.2 WBS分解

WBS分解即工作分解结构,是将目标逐步细化分解,最底层的任务活动可直接分派到个人去完成,每个任务原则上要求分解到不能再细分为止。

项目已定义过程决定了项目进展过程中的两大重要内容:工作产品和各类管理、支持类活动,软件项目的最终完成,就是这两大重要内容的完成。项目策划中,需要将工作产品和各类活动进行WBS分解,通过分解后的任务活动在估计中确定完成所需的工作量,并将在项目进度中确定相应的完成时间节点和责任人员。

2.3 工作量估计

软件估计的目的是对WBS分解后任务的量化过程,通过对工作产品的规模、各类活动工作量的估计,能够确定软件项目进度、成本、关键计算机资源等内容。

若WBS分解后的任务目标是生成工作产品,如文档、代码,则先进行工作产品的规模估计,可从文档的页数、代码行数、测试用例个数等方面入手,结合组织资产库中对应工作产品的生产率,可计算出完成任务所需的时间长度,即工作量。

若WBS分解后的任务目标是项目的管理、支持类活动,则可直接进行工作量的估计。管理、支持类活动的估计通常结合组织资产库中的经验数据,或者是与工作产品工作量的经验比值得到。

2.4 项目进度

策划负责人以工作量估计结果为基础,将WBS分解的各项任务根据合理的次序进行排列,确定各任务可能的完成时间。考虑参与人员、任务优先机级别等因素,可采用关键路径法确定项目进度。

关键路径是项目计划中最长的路线。它决定了项目的总实耗时间。关键路径上的任何活动的推迟将使整个项目推迟。所以在进行项目操作的时候确定关键路径并进行有效的管理是至关重要的。

在项目的实际进展过程中,单独依靠估计的工作量来确定关键路径上的任务时长是有很大风险的,会导致项目实际进行中计划的不断调整,增加策划的工作量。一般应结合考虑可能影响任务进展的因素,如涉及任务人员间的沟通情况、任务允许的缓冲时间等,在本任务的估计工作量基础上增加适量的冗余时间。

2.5 编制软件项目计划

软件项目策划的最终实物体现为软件项目计划,结合已完成的项目已定义过程、WBS分解、软件估计和项目进度,在与项目涉及人员共同商议并达成统一意见后,在软件项目计划中确定以下内容:

1)进度计划,包括任务完成节点,阶段完成节点,里程碑节点等;

2)风险计划,对项目进展过程中可能发生的风险进行识别、分析,从而确定缓解措施、应对措施,以及风险跟踪时间;

3)评审计划,明确软件项目需要进行的工作产品评审和管理评审,并明确各评审的评审对象和输入材料、评审组长和其他评审人员、评审级别、评审方式等;

4)数据管理计划,明确项目过程中需进行管理的项目数据名称、所属记录类型标识、提供人员、存储方式及时间;

5)测量与分析计划,明确项目的测量目标,并基于测量目标确定基本测量项、导出测量项、项目参数的偏差控制阈值,同时明确测量量数据采集、存储、分析和报告的要求;

6)利益相关方计划,分析并识别项目的利益相关方及其参与的活动及时间;

7)关键依赖关系计划, 标识受影响的利益相关方一起协商关键依赖项、接收方、提交方和提交相应工作产品的时间;

8)人力资源计划,确定软件项目的组织机构,明确项目组成员及其角色和职责、参加项目的时段;

9)培训计划,确定项目组成员尚未具备的知识技能,确定培训时间;

10)设施与工作环境计划,包括资源提供的责任人及到位时间/时机、工作环境建立的责任人及时间/时机;

11)质量保证计划,包括项目进展过程中各类工作产品审核、活动审核开展时机等;

12)配置管理计划,包括项目进展中各类工作产品的入库时间、基线的建立时间、配置审核时机等。

根据项目实现周期及任务特点,软件项目计划的制定可采取不同的方法。若软件项目实现周期很短,任务明确,可在计划中就明确直至任务交付的详细计划;若项目实现周期很长,任务需求有待继续明确,则在软件项目计划中只对最近阶段的任务计划进行确定,后期可根据前一阶段任务完成情况再对任务实现计划进行逐步确定、细化。

2.6 软件项目计划的维护

软件项目计划应根据项目实际进展情况,即项目监控的结果出发,进行必要的维护工作,特别是出现关键路径偏离超出计划阈值、项目需求变化等情况时,就应进行计划调整。必要时,还需重新进行项目定义、WBS分别、工作量估计等工作。

3 结束语

本文从软件项目策划在项目中的实际应用出发,详细介绍了软件项目策划的实施过程。在实践过程中,我们也深刻体会到,软件项目策划实施的重要性和必要性。软件策划工作实施的基础,是以往项目的经验数据,只有组织不断的收集对经验收据并进行调整,包括适合本单位研发工作实际的软件生命周期模型确定,才能使得策划工作真正为项目进展提供有力支撑。

软件个人工作计划范文6

一、系统计划:它包括系统定义及分析、可行性研究和实施计划报告的编写。1、系统定义是制定软件计划的第一步,它应决定所开发软件的总目标,其任务包括首先是确定所开发软件的总体要求和适用范围,描述所开发软件与外界接口的关系;其次是确定所需硬件和软件的支持,对开发的进度和成本作初步估计;第三是分析系统的可行性是否确定所开发软件与原软件的兼容性或其它关系;最后是确定所开发软件的性能与其内部复杂性之间的折中关系。2、可行性研究它包括技术可行性、经济可行性及社会可行性方面。技术可行性是研究应弄清现有技术条件能否顺利完成开发工作,对参加开发工作的人员应有哪些技术方面的要求。硬件配置能否满足开发的需要,估计的进度是否恰当以及对用户的技术方面的要求是否合理等等;经济可行性研究的目的是希望以最小的开发成本取得最佳的经济效益的软件产品;社会可行性研究则是指所开发的软件项目是否涉及到版权纠纷等法律问题,这样的软件产品投入运行后,对生产、管理或经营体制带来有什么社会影响。3、实施计划报告的编写是开发进度、人员投入计划、人员的组织及其资源的利用作个计划报告提纲。

二、系统需求分析:需求分析的任务在于完全地弄清用户对软件系统的确切需求,它具有三大特点:准确性和一致性;清晰性和没有二义性;直观、易读和易于修改。比如,你首先要知道做这个项目是为了解决什么问题;测试案例中应该输入什么数据等等,为了清楚地知道这些需求,你经常要和客户、项目经理交流等。需求分析的步骤:1、通过对现实环境的调查研究,获得当前系统的具体模型;2、去掉具体模型中的非本质因素,抽象于当前系统的逻辑模型;3、分析当前系统与目标的差别,建立目标系统的逻辑模型;4、对目标系统进行完善和补充,并写出完整的需求说明;5、对需求说明进行复审,直到确认文档齐全,并且符合用户的全部需求为止。

三、系统设计:主要分成两步即概要设计(总体设计或结构设计)和详细设计。概要设计阶段应着重解决实现需求的程序模块设计问题,如何把被开发软件系统划分成若干模块,并决定模块的接口,模块间的相互关系以及模块之间传递的信息。详细设计则是要决定每个模块内部的具体算法。经概要设计和详细设计完成后,需要进行必要的阶段评审,其目的在于使设计发生问题能够及时发现并得到及时的解决。实际上软件设计的主要任务是就是将软件分解成模块,该模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元。

四、系统编码:系统编码即编程序是软件开发的最终目标,是产生能在计算机执行的程序,其目的是使用选定的程序设计语言,把模块的过程性描述翻译为用该语言书定的源程序。实质上,软件=程序+文档。编码的目的是产生程序,其余阶段是产生文档。软件编码是指把软件设计转换成计算机可接受的程序,写成以某一程序设计语言表示的“源程序清单”。能充分了解软件开发语言、工具特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。

五、系统测试:包括测试的方法与技术和测试步骤。测试在软件生命期中占重要地位,不仅是因为测试阶段占的时间、花费的人力和成本占软件开发的比重很大,而且它直接影响着软件的质量。程序中许多细微的地方要求绝对正确无误,不能半点马虎。软件开发工作在测试以前已经历了制定计划、需求分析、设计和编码等许多阶段,每一个人的思维不可能绝对周密,而不可能不出现差错,更不用说,在大中型软件开发项目中,系统内各部分之间、各种数据之间、各种人员之间存在着复杂的关系,因而目前可采用的开发方法都不能完全避免发生差错。1、测试的方法与技术主要是机器测试与人工测试和白盒测试与黑盒测试。机器测试是在设定的测试数据上执行被测程序的过程,又称为动态测试。人工测试并不是可有可无的,为了节约计算机机时采取的权宜措施。它是机器测试的准备,也是程序测试中不可缺少的环节。而白盒法和黑盒法主要依据是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部、外部借口、资源管理、集成化以及系统错误。2、测试步骤。分单元测试(模块测试)、综合测试、确认测试和系统测试四部分组成。它是整个计算机系统(包括软件与硬件)的测试,可与系统的安装和验收结合进行。测试的目的是让你知道,什么时候算是完成了,这样可以及时知道你是否真的完成。

测试是软件开发时期最繁重的任务,也是保证软件可靠性最主要的手段,测试的目的是发现程序的错误,而不是证明程序没有错误,软件的测试通常分散在3个阶段进行。编码阶段完成单元测试,包括静态分析与动态测试。