制定计划的软件.docx
《制定计划的软件.docx》由会员分享,可在线阅读,更多相关《制定计划的软件.docx(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、制定计划的软件 制定安排的软件 篇1:如何制定和编写软件项目安排 如何制定和编写软件项目安排 软件项目安排(Software Project Planning)是一个软件项目进入系统实施的启动阶段,主要进行的工作包括:确定具体的项目实施范围、定义递交的工作成果、评估实施过程中主要的风险、制定项目实施的时间安排、成本和预算安排、人力资源安排等。 在软件项目管理过程中一个关键的活动是制定项目安排,它是软件开发工作的第一步。 项目安排的目标是为项目负责人供应一个框架,使之能合理地估算软件项目开发所需的资源、经费和开发进度,并限制软件项目开发过程按此安排进行。 在做安排时,必需就须要的人力、项目持续时
2、间及成本作出估算。这种估算大多是参考 以前的花费作出的。软件项目安排包括二个任务:探讨和估算。即通过探讨确定该软件 项目的主要功能、性能和系统界面。 一、软件项目安排内容 软件项目安排内容如下: 1.范围。对该软件项目的综合描述,定义起所要做的工作以及性能限制,它包括: (1)项目目标。 (2)主要功能。 (3)性能限制。 (4)系统接口。 (5)特别要求。 (6)开发概述。 2.资源。 (1)人员资源。 (2)硬件资源。 (3)软件资源。 (4)其他。 3.进度支配。 进度支配的好坏往往会影响整个项目的按期完成,因此这一环节是非常重要的。制定软件进度与其他工程没有很大的区分 ,其方法主要有:
3、 (1)工程网络图。 (2)Gantt图。 (3)任务资源表。 (4)成本估算。 (5)培训安排。 二、制定软件工程规范 对软件工程管理来说,软件工程规范的制定和实施是不行少的,它与软件项目安排一样重要 。软件工程规范可选用现成的各种规范,也可自己制定。目前软件工程规范可分为三级: (1)国家标准与国际标准。 (2)行业标准与工业部门标准。 (3)企业级标准与开发小组级标准。 三、软件开发成本估算 为了使开发项目能在规定的时间内完成,而且不超过预算,成本预算和管理限制是关键。 1.成本估算方法 (1)自顶向下估算方法。 估算人员参照以前完成的项目所耗费的总成本,来推算将要开发的软件的总成本,然
4、后把它们按阶段、步骤和工作单元进行 安排,这种方法称为自顶向下估算方法。 它的优点是对系统级工作的重视,所以估算中不会遗漏系统级的诸如集成、用户手册和配置管理之类的事务的成本估算,且估算工作量小、速度快。它的缺点是往往不清晰低级别上的技术性困难问题,而往往这些困难将会使成本上升。 (2)自底向上估算方法。 自底向上估算方法是将待开发的软件细分,分别估算每一个子任务所须要的开发工作量,然后将它们加起来 ,得到软件的总开发量。这种方法的优点是对每个部分的估算工作交给负责该部分工作的人来做,所以估算 较为精确。其缺点是其估算往往缺少与软件开发有关的系统工作级工作量,所以估算往往偏低。 (3)差别估算
5、方法。 差别估算是将开发项目与一个或多个已完成的类似项目进行比较,找到与某个相类似项目的若干 不同之处,并估算每个不同之处对成本的影响,导出开发项目的总成本。该方法的优点是可以提高估算的精确度, 缺点是不简单明确“差别”的界限。 除上三种还有: (1)专家估算法。 (2)类推估算法。 (3)算式估算法。 2.成本估算模型 (1)COCOMO估算模型。 机构性成本模型COCOMO(Constructive Cost Mode)是最精确、最易于运用的成本估算方法之一。 该模型分为:基本COCOMO模型,是一个静态单变量模型,它是对整个软件系统进行估算;中级COCOMO模型,是一个静态多变量模型;具
6、体COCOMO模型,将软件系统模型分为系统、子系统和模块三个层次。 基本COCOMO模型估算公式: E=ab(KLOC)exp(bb) D=cb(E)exp(db) 式中E为开发所需的人力(人/月)。D为所需的开发时间(月)。KLOC为估计提交的代码行。ab、bb、cb和db是指不同软件开发方式的值。 中级COCOMO模型。 其估算公式为:E=ai(KLOC)exp(bi)乘法因子,ai,bi (2)Putnam成本估算阅历模型。 Putnam估算模型是一种动态多变模型,它是假设在软件开发的整个生存期中工作量的分布。如下图: 依据曲线导出关于提交的代码行数L,人力K(人/年)和时间td(年)之
7、间估算公式: 式中Ck是技术状况有关的常数,它的典型值如下: 对于差的开发环境 Ck=2500 对于好的开发环境 Ck=10000 对于有的开发环境 Ck=12500 由上述公式可以得到所需开发工作量的公式: 四、风险分析 风险分析对于软件项目管理是确定性的,然而现在还是有许多姓名不考虑风险就着手进行。 五、软件项目进度支配 软件项目的进度支配与任何一个工程的进度支配没有实质上的不同。首先识别一组项目任务,建立任务间的相互关联,然后估计各个任 务的工作量,安排人力和其他资源,指定进度时序。 1.软件开发任务的并行性 若软件项目有多人参与时,多个开发者的活动将并行进行。 2.Gantt图 Gan
8、tt图常用水平线段来描述把任务分解成子任务,以及每个子任务的进度按排,该图表示方法简洁易懂, 一目了然,动态反映软件开发进度状况。如下表: 进程安排时辰表 3.工程网络图 工程网络图是一种有向图,该图中用圆表示事务,有向弧或箭头表示子任务的进行,箭头上的数字称为权,该权表示此子任务的持续时间,箭头下面括号中的数字表示该任务的机动时间,图中的圆表示与某个子任务起先或结束事务的时间点。如下图: 六、软件质量保证 软件质量保证是软件工程管理的重要内容,软件质量保证应作好以下几个方面的工作: (1)采纳技术手段和工具。 (2)组织正式技术评审。 (3)加强软件测试。 (4)推行软件工程规范(标准)。
9、(5)对软件的变更进行限制。 (6)对软件质量进行度量。 七、如何制定软件项目安排 项目安排具体说明白所需软件工作及如何实现。它定义了每一个主要任务,并估算其所需时间和资源,同时为管理层的评估和限制供应了一个框架。项目安排也供应了一种很有效的学习途径。假如能合理建档,它便是一个与实际运行效能比较的基准。这种比较可以使安排者看到他们的估算误差,从而提高其估算精确度。 我们着重强调对项目规模和资源的估算,是因为低质量的项目资源估算将不行避开地造成资源短缺,进度延迟和预算超支。又由于项目资源估算是从软件规模估算中干脆衍生出来的,所以低质量的规模估算是造成很多软件项目问题的根本缘由。 项目安排应在项目
10、起先初期制定出,并随着工程的进展不断地加以精化。起初,由于软件需求通常是模糊而又不完整的,我们的工作重点应在于明确该项目须要哪些领域的学问,并且如何获得这些学问。假如不遵循这一指导原则,程序员们通常会主动地投入到那部分已知的工作中去,而把未知部分留滞到以后。这种工作方式通常会产生许多问题,因为未知部分具有最高的风险系数。软件项目安排的逻辑如下所述 : 由于软件需求在初始阶段是模糊而又不完整的,质量安排只能建立在对客户需求的大致而不准确的理解之上。因此,项目安排应当从找出模糊不准确与精确恰当的软件需求间的映射关系入手。 接着建立一种概念设计。项目初始架构的建立要非常谨慎,因为它通常标定了产品模块
11、的分割线,同时描述了这些模块所实现的功能及全部模块间的关系。这就为项目安排和项目实施供应了组织框架,因此一个低质量的概念设计是不能满意要求的。 在每一次后续的需求精化时,也应同时精化资源映射,项目规模估算和工程进度。 八、制订软件项目安排的方法与策略 制订软件项目安排的目的在于建立并维护软件项目各项活动的安排,软件项目安排其实就是一个用来协调软件项目中其它全部安排,指导项目组对项目进行执行和监控的文件。一个好的软件项目安排可为项目的胜利实施打下坚实的基础。 篇2:制订软件项目安排的方法与策略 制订软件项目安排的方法与策略 制订软件项目安排的目的在于建立并维护软件项目各项活动的安排,软件项目安排
12、其实就是一个用来协调软件项目中其它全部安排,指导项目组对项目进行执行和监控的文件。一个好的软件项目安排可为项目的胜利实施打下坚实的基础。 软件项目有其特别性,不确定因素多,工作量估计困难,项目初期难于制定一个科学、合理的项目安排。我曾主持和参加过大大小小的软件项目十余项,下面我将把我制订软件项目安排的阅历共享给大家。 1.注意项目安排的层次性 软件项目安排的层次及其关系如下图所示。 高级安排,是项目的早期安排。高级安排应当是粗粒度的,主要是进行项目的阶段划分,确定重大的里程碑,所需相关的资源,包括人力资源、设备资源、资金资源,即所谓的人、财、物三个要素。 大的阶段交替之前,应做好下一阶段的具体
13、安排,我们称之为二级安排。具体安排要确定各项任务的负责人,起先时间,结束时间,任务之间的依靠关系,设备资源,小的事务点(即里程碑)。 假如项目规模相对较大,可以有多级的安排,比如说,一个项目组可能分为几个开发组,二级安排是各开发组制订的适合的自己小组的安排。假如开发组还分了小组,可以有小组的三级安排。 开发人员的个人安排是低级安排,由开发人员依据自己的任务自行制定,要把任务细化到人日。 一般的,软件项目安排至多有四级就够了,过多的等级将会引发效率的瓶颈。大的项目不见得要有浩大的组织和人员数量来支撑,合理的划分小组,削减组织的层次,有利于项目安排的制 订和实施。较小的软件项目由于工期不长,人员较
14、少,有二级安排(高级安排与低级安排)也是可行的。 2.重视与客户的沟通 与客户的沟通是很重要的。不必胆怯客户知道我们的开发安排,特殊是项目进度状况,应当和客户共享这些信息。 首先,客户会提出一些对项目时间、进度、效果上的要求,这个指标往往经不起推敲,有的还带有较强的政策性。如:在我主持的一个某单位人事MIS系统的开发中就发觉,客户方对时间上的约束是有成形的文件的,是他们单位领导们开会的确定。客户给出的从项目启动到验收的时间只有三个月,但是,经过我们仔细的需求调研,做出项目进度的粗安排和部分的二级安排后,发觉三个月的时间是难于实现的。我们把做出的调研文档和项目安排摆出来和和客户探讨,最终使项目的
15、开发时间延长为六个月。站在为了科学地分析和解决问题的立场上来看,项目组和客户的目的是一样的,所以对于合理的项目进度客户是会理解与支持的。 其次,我们有义务要让客户知道项目的安排。这样才能让客户和用户主动、主动参加项目,达到项目的最终目标。项目安排取得双方签字认可是一种好的习惯。客户可能不情愿签正式的文件,那么在文档的封面上签上双方负责人的姓名、联系方式也行,虽然是非正式的,但留下了项目工作的痕迹。有必要想方法让客户清晰签字意味着什么。这就意味说双方有了一个约定,既让用户感觉心里踏实,也让自己的项目组有了责任感,有一种督促和促进的作用。 3.该具体的具体,该简略的就简略 软件项目安排就犹如软件项
16、目本身一样有它特别性,一个三五个人花两三个月就可以完工的小项目,可能项目安排就四五页纸,包括一个WBS(工作分解结构)和一个Gantee图(甘特图)。一个须要五六十个人甚至上百人,要花上半年或更长时间的大型软件项目则会有更多的项目安排内容。我们得根据项目的的特定状况量体裁衣。 如下表表1所示,这是我主持的一个某高校教务办公信息系统项目的风险管理安排表。项目较小,我们只用了两个月的时间就开发完工,通过验收。正因如此,我们在项目安排中大量的采纳了这种表格来制订人员安排、培训安排、风险安排、成本估计、文档大小估计、进度安排,一目了然,责任到人,其效果和效益是很明显的。 项目的工作支配肯定要责任到人,
17、这点是要具体的。假如是多个人共同完成的任务也要指定一位主要负责人,否则开发人员会操作不便,甚至相互推卸责任。 4.制订的项目安排要现实 软件项目中的项目经理和系统分析员大都是从程序员成长起来的,我亦是如此,担当项目经理之前我写了五年的VB、Java和数据库SQL代码。项目经理和系统分析员做出来的项目安排最终要能够被项目组成员所实现。 制订项目安排仅靠“个人阅历”是不够的,不行能四平八稳,不要期希望于“个人阅历”。解决的方法有两个方面。 一是充分激励、主动接纳项目干系人(包括客户、公司高层领导、项目组成员)来参加项目安排的制定。 可以邀请客户和公司高层领导来共同探讨高级安排的制订。客户会乐意参加
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 制定 计划 软件
限制150内