当前位置:首页 > 工作计划 >

如何制定和编写软件项目计划(2022年)

时间:2022-07-12 17:40:02 来源:网友投稿

下面是小编为大家整理的如何制定和编写软件项目计划(2022年),供大家参考。

如何制定和编写软件项目计划(2022年)

 

 如何制定和编写软件项目计划

 软件项目计划( Software Project Planning )是一个软件项目进入系统实施的启动阶段, , 主要进行的工作包括: : 确定详细的项目实施范围、定义递交的工作成果、评估实施过程中主要的风险、制定项目实施的时间计划、成本和预算计划、人力资源计划等。

 在软件项目管理过程中,一个关键的活动是制定项目计划,这是软件开发的第一步。项目的目标是为项目负责人提供一个框架,使他能够合理地估计软件项目开发所需的资源、资金和开发进度,并控制软件项目开发过程按照这个计划进行。做规划的时候,一定要预估项目的人力、工期、成本。这些估计大部分是参照以前的费用作出的。软件项目计划包括两项任务: : 研究和评估。即通过研究确定软件项目的主要功能、性能和系统接口。

 文章包含以下知识点:

 一、软件项目计划内容

 二、制定软件工程规范

 三、软件开发成本估算

 四、风险分析

 五、软件项目进度安排

 六、软件质量保证

 七、如何制定软件项目计划

 八、制订软件项目计划的方法与策略

 九、软件项目计划编制方针

 十、软件项目计划模板

 一、软件项目计划内容

 软件项目计划内容如下:

 1. 范围。对该软件项目的综合描述, , 定义起所要做的工作以及性能限制, , 它包括 :

  (1) 项目目标。

 (2) 主要功能。

 (3) 性能限制。

 (4) 系统接口。

 (5) 特殊要求。

 (6) 开发概述。

 2. 资源。

 (1) 人员资源。

 (2) 硬件资源。

 (3) 软件资源。

 (4) 其他。

 3.进度安排。

 进度安排的好坏往往会影响整个项 目的按期完成, , 因此这一环节是十分重要的。制定软件进度与其他工程没有很大的区别

 ,其方法主要有:

 (1) 工程网络图。

 t (2)Gantt 图。

 (3) 任务资源表。

 (4) 成本估算。

 (5)培训计划。

 二、制定软件工程规范

 对于软件工程管理来说,软件工程规范的制定和实施是必不可少的,它和软件项目规划一样重要。软件规范可以从各种现成的规范中选择,也可以自己制定。目前,软件工程规范可以分为三个层次 :(1) 国家标准和国际标准。

 (2) 行业标准和工业部门标准。

 (3) 企业级标准和开发团队级标准。

 三、软件开发成 本估算

 为了使开发项目能在规定的时间内完成,而且不超过预算,成本预算和管理控制是关键。

 1. 成本估算方法

 (1) 自顶向下估算方法。

 估算人员参照以前完成的项目所耗费的总成本,来推算将要开发的软件的总成本,然后把它们按阶段、步骤和工作单元进行

 分配,这种方法称为自顶向下估算方法。

 它的优点是对系统级工作的重视,所以估算中

 不会遗漏系统级的诸如集成、用户手册和配置管理之类的事务的成本估算,且估算工作量小、

 速度快。它的缺点是往往不清楚低级别上的技术性困难问题,而往往这些困难将会使成本上升。

 (2) 自底向上估算方法。

 自底向上估算方法是将待开发的软件细分,分别估算每一个子任务所需要的开发工作量,然后将它们加起来

 ,得到软件的总开发量。这种方法的优点是对每个部分的估算工作交给负责该部分工作的人来做,所以估算

 较为准确。其缺点是其估算往往缺少与软件开发有关的系统工作级工作量,所以估算往往偏低。

 (3)差别估算方法。

 差别估算是将开发项目与一个或多个已完成的类似项目进行比较,找到与某个相类似项目的若干

 不同之处,并估算每个不同之处对成本的影响,导出开发项目的总成本。该方法的优点是可以提高估算的准确度,

 缺点是不容易明确 “ 差别 ” 的界限。

 除上三种还有:

 (1) 专家估算法。

 (2) 类推估算法。

 (3) 算式估算法。

 2. 成本估算模型

 O (1)COCOMO 估算模型。

 机构性成本模型COCOMO ( Constructive Cost Mode )是最精确、最易于使用的成本估算方法之一。

 该模型分为:基本 O COCOMO 模型,是一个静态单变量模型,它是对整个软件系统进行估算;中级 级 O COCOMO 模型,是一个静态多变量模型;详细 O COCOMO 模型,将软件系统模型分为系统、子系统和模块三个层次。

 ① 基本 COCOMO O 模型估算公式:

 E=ab(KLOC)exp(bb)

  D=cb(E)exp(db)

  式中 E E 为开发所需的人力(人/ / 月)。D D 为所需的开发时间(月)。C KLOC 为估计提交的代码行。

 ab 、bb 、b cb 和 和 b db 是指不同软件开发方式的值。

 ② 中级 COCOMO模型。

 其估算公式为:

 E=ai(KLOC)exp(bi)× 乘法因子,ai , bi

  m (2)Putnam 成本估算经验模型。

 m Putnam 估算模型是一种动态多变模型,它是假设在软件开发的整个生存期中工作量的分布。如下图:

 根据曲线导出关于提交的代码行数 L L ,人力 K K ( 人/ / 年)和时间 td (年)之间估算公式:

 式中 k Ck 是技术状况有关的常数,它的典型值如下:

 对于差的开发环境

 Ck=2500

  对于好的开发环境

 Ck=10000

  对于有的开发环境

 Ck=12500

  由上述公式可以得到所需开发工作量的公式:

 四、风险分析

 风险分析对软件项目管理至关重要。但是,还是有很多名不考虑风险的去做。

 五、软件项目进度安排

 软件项目的进度安排与任何一个工程的进度安排没有实质上的不同。首先识别一组项目任务,建立任务间的相互关联,然后估计各个任

 务的工作量,分配人力和其他资源,指定 进度时序。

 1. 软件开发任务的并行性

 若软件项目有多人参加时,多个开发者的活动将并行进行。

 t 2.Gantt 图

 t Gantt 图常用水平线段来描述把任务分解成子任务,以及每个子任务的进度按排,该图表示方法简单易懂,

 一目了然,动态反映软件开发进度情况。如下表:

 进程计划时间表

 3. 工程网络图工程网络图是一种有向图,其中一个圆圈代表事件,一个有向弧或一个箭头代表子任务的进度,箭头上的数字称为权重,代表这个子任务的持续时间,箭头下面括号中的数字代表这个任务的机动时间,图中的圆圈代表一个事件从子任务开始或 结束的时间点。如下图: : 六。软件质量保证

 软件质量保证是软件工程管理的重要内容,软件质量保证应作好以下几个方面的工作:

 (1) 采用技术手段和工具。

 (2) 组织正式技术评审。

 (3) 加强软件测试。

 (4) 推行软件工程规范(标准)。

 (5) 对软件的变更进行控制。

 (6)对软件质量进行度量。

 七、如何制定软件项目计划

 项目计划详细说明了所需软件工作及如何实现。它定义了每一个主要任务,并估算其所需时间和资源,同时为管理层的评估和控制提供了一个框架。项目计划也提供了一种很有效的学习 途径。如果能合理建档,它便是一个与实际运行效能比较的基准。这种比较可以使计划者看到他们的估算误差,从而提高其估算精确度。

 我们强调项目规模和资源的估算,因为低质量的项目资源估算必然导致资源短缺、进度延迟和预算超支。由于项目资源估算直接来源于软件规模估算,低质量的规模估算是许多软件项目问题的根源。

 项目计划应在项目开始时制定,并随着项目的进展不断完善。起初,由于软件需求通常是模糊和不完整的,我们的工作应该集中在阐明这个项目需要哪些领域的知识,以及如何获取这些知识。如果不遵循这个指导原则,程序员通常 会积极投身于工作中已知的部分,而把未知的部分留给未来。这种工作方式通常会引发很多问题,因为未知部分的风险系数最高。软件项目计划的逻辑如下: :

 由于软件需求在初始阶段是模糊的和不完整的,质量计划只能建立在对客户需求粗略但不精确的理解上。因此,项目计划应该从找出模糊和不精确的软件需求与精确和适当的软件需求之间的映射关系开始。

 然后建立概念设计。初始项目架构的建立要非常谨慎,因为它通常会划定产品模块的分界线,描述这些模块实现的功能以及所有模块之间的关系。这为项目规划和项目实施提供了组织框架,因此低质量的 概念设计无法满足要求。

 在每一次后续的需求精化时,也应同时精化资源映射,项目规模估算和工程进度。

 八。制定软件项目计划的方法和策略制定软件项目计划的目的是为软件项目的各种活动建立和维护计划。软件项目计划实际上是一个文档,用于协调软件项目中的所有其他计划,并指导项目团队实施和监控项目。一个好的软件项目计划可以为项目的成功实施打下坚实的基础。

 软件有其特殊性,不确定因素很多,工作量很难估计。项目前期很难做出科学合理的项目方案。我主持和参与过大大小小十多个软件项目。现在和大家分享一下我做软件项目计划的 经验。

 1. 注重项目计划的层次性

 软件项目计划的层次结构及其关系如下图所示。

 高级计划,是项目的早期计划。高级计划应当是粗粒度的,主要是进行项目的阶段划分,确定重大的里程碑,所需相关的资源,包括人力资源、设备资源、资金资源,即所谓的人、财、物三个要素。

 在大的阶段变化之前,我们要对下一阶段做一个详细的计划,我们称之为第二阶段计划。该计划应规定每项任务的负责人、开始时间、结束时间、任务之间的依赖关系、设备资源和小事件点( ( 即里程碑) ) 。

 如果项目规模比较大,可以有多层次的规划。比如一个项目团队可 能会分成几个开发团队,二级计划就是每个开发团队适合自己团队的计划。如果把开发团队分成小组,可以有小组的三级计划。

 开发人员的个人计划是低级计划,由开发人员根据自己的任务自行制定,要把任务细化到人 · 日。

 一般情况下,软件项目计划最多有四个层次就足够了,过多的层次会导致效率的瓶颈。大项目不一定要有大量的组织和人员支持。合理划分小组,减少组织层级,有利于项目计划的制定和实施。对于较小的软件项目,由于建设周期短,人员少,有两级计划( ( 高层计划和低层计划) ) 是可行的。

 2. 重视与客户的沟通

 与客户的沟通很重要 。不要怕客户知道我们的发展计划,尤其是项目的进展。他们应该与客户分享这些信息。

 首先,客户会提出一些对项目时间、进度、效果上的要求,这个指标往往经不起推敲,有的还带有较强的政策性。如:在我主持的一个某单位人事 S MIS 系统的开发中就发现,客户方对时间上的约束是有成形的文件的,是他们单位领导们开会的决定。客户给出的从项目启动到验收的时间只有三个月,但是,经过我们认真的需求调研,做出项目进度的粗计划和部分的二级计划后,发现三个月的时间是难于实现的。我们把做出的调研文档和项目计划摆出来和和客户讨论,最终使项目的开发时 间延长为六个月。站在为了科学地分析和解决问题的立场上来看,项目组和客户的目的是一致的,所以对于合理的项目进度客户是会理解与支持的。

 其次,我们有义务让客户了解项目的计划。只有这样,客户和用户才能积极参与项目,实现项目的最终目标。让项目

 得到双方的签字认可是一个好习惯。客户可能不想签正式的文件,在文件封面签上双方负责人的名字和联系方式就可以了。虽然是非正式的,但是留下了项目工作的痕迹。有必要想办法让客户明白签字是什么意思。这意味着双方有了约定,既让用户放心,也让自己的项目团队有了责任感,有了监督和促进的作 用。

 3. 该详细的详细,该简略的就简略

 软件项目计划就如同软件项目本身一样有它特殊性,一个三五个人花两三个月就可以完工的小项目,可能项目计划就四五页纸,包括一个 WBS (工作分解结构)和一个 e Gantee 图(甘特图)。一个需要五六十个人甚至上百人,要花上半年或更长时间的大型软件项目则会有更多的项目计划内容。我们得按照项目的的特定情况量体裁衣。

 如下表 1 1 所示,这是我主持的一个高校教务处信息系统项目的风险管理计划表。项目很小,我们只用了两个月就完成了开发并通过验收。为此,我们在项目计划中大量使用这种形式来制定 人员计划、培训计划、风险计划、成本估算、文档大小估算和进度计划。责任在人,一目了然,效果和效益显而易见。

 项目的工作安排一定要对人负责,要详细。如果任务是多人共同完成的,要指定一个主要负责人,否则开发人员操作不便,甚至会推卸责任。

 4. 制订的项目计划要现实

 软件项目中的项目经理和系统分析员大都是从程序员成长起来的,我亦是如此,担任项目经理之前我写了五年的 VB 、a Java 和数据库 L SQL 代码。项目经理和系统分析员做出来的项目计划最终要能够被项目组成员所实现。

 制订项目计划仅靠 “ 个人经验 ” 是不够 的,不可能面面俱到,不要期希望于 “ 个人经验 ” 。解决的办法有两个方面。

 首先,充分鼓励并积极接受项目利益相关者( ( 包括客户、公司高层领导和项目团队成员) ) 参与项目计划的制定。

 可以邀请客户和公司高层领导一起讨论高级计划的制定。客户会乐于参与,因为追求项目的成功是我们共同的目标。公司高层领导的支持是项目组的坚强后盾。项目组需要获得必要的资源,及时批准特殊项目,并在领导事务上得到适当的指导和帮助。有时候,有些事情需要公司高层领导的参与才能解决,比如合同款的及时支付。

 通过与项目团队成员互动,制定第二和第三级项目计划。当一个计划由一个人制定,由另一个人执行时,如果项目没有按时完成,会让他们怀疑项目计划的可行性,影响开发人员的士气。与项目组内部人员的沟通也很重要。软件程序员通常内向而冷漠。作为项目经理,要学会调整工作氛围,在轻松的氛围中融入开发人员的意见。

 可以...

推荐访问:如何制定和编写软件项目计划 编写 制定 计划