版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、如何制定和编写软件工程计划软件工程计划(Software Project Planning)是一个软件项 目进入系统实施的启动阶段,主要进行的工作包括:确定详细 的工程实施范围、定义递交的工作成果、评估实施过程中主 要的风险、制定工程实施的时间计划、本钱和预算计划、人 力资源计划等。在软件工程管理过程中,一个关键的活动是制定工程计 划,这是软件开发的第一步。工程的目标是为工程负责人提 供一个框架,使他能够合理地估计软件工程开发所需的资 源、资金和开发进度,并控制软件工程开发过程按照这个计 划进行。做规划的时候,一定要预估工程的人力、工期、成 本。这些估计大局部是参照以前的费用作出的。软件工程计
2、 划包括两项任务:研究和评估。即通过研究确定软件工程的主 要功能、性能和系统接口。文章包含以下知识点:软件工程计划内容 制定软件工程规范软件开发本钱估算U!风险分析五、软件工程进度安排六、软件质量保证七、如何制定软件工程计划.运用过程化的思想指导开发 软件工程计划是CMM2级的一个KPA。可用软件过程化的思想 指导计划的编制与实施。CMM2共有6个KPA,它们是:需求管理、软件工程计划、工程跟踪和监控、软件转包合同管理、软件质量保证、软件配 置管理。一个软件组织如果到达了 CMM2的各个过程方面的全 部目标,就说明这个组织的软件能力到达了第2级成熟度等 级。这也可以是一个工程。通常需要根据工程
3、的进展修改工程 计划,以应对需求和承诺的变化、不准确的估计、纠正措施 和过程变更等。规划和重新规划所涉及的活动都包括在这个 过程中。.利用成熟的工程管理工具Microsoft Project 2000 (或更高的版本)是一款公认的功 能强大、操作方便的工程管理工具软件。它自带了一个叫做“软件开发”的模板,可以用它来生成大体的框架,再作细 节方面的改动,也可以自己制作一个符合自己公司软件工程 运作流程的模板。Microsoft Project 2000的操作面版中可以安排任务,并设 置开始时间、结束时间、前置任务、资源名称等参数,它能 自动生成Gantt图、Pert图,找出工程中的关键路径。.结
4、束语 软件工程计划分为高级计划、二次计划、三级计划和低级计 划,制订软件工程计划应注意及时与客户沟通,该详细的详 细,该简略的就简略,制出来的计划要是现实的,可以运用CMM2的思想指导计划的制订,Microsoft Project是倍受推荐的工程计划软件工具。愿我们多做出高质量的软件计划, 从而打造软件精品。参考文献11 (美)凯西.施瓦贝乐著,王金玉时 郴译,IT工程管理,机械工业出版社,2002年1月第1 版。 2韩万江姜立新著,软件开发工程管理,机械工业出版社,20XX年1月第1版。 3杨一平等 著,软件能力成熟度模型CMM方法及应用,人民邮电出 版社,2 0 0 1年4月第1版。(作者
5、介绍:邓子云,长沙环 保学 院计算机系,湖南凌科远信科技高级工程经 理,硕士研究生,高级程序员,工程师,主要研究方向为“软 件工程管理、企业信息化”, :湖南省长沙市井湾 子长沙环保学院计算机系,联系 , 410004, E-mail是) 九、软件工程计划编制方针软件工程计划的目的是为实施软件工程和管理软件工程制 定合理的计划。软件工程规划的重点是估计要实现的工作, 建立必要的承诺和定义工作计划。包括以下要点:1.记录用于准备软件工程计划和跟踪软件工程的工作。2. 对软件工程的实现采用文档化的承诺。3.相关机构或个人认 可其对软件工程的承诺。4.指定软件工程负责人,负责落实 软件工程的承诺,制
6、定工程的软件开发计划。5.确保软件项 目有一份记录在案的公认的工作说明书。6.软件开发计划应 该指定人员的角色和职责。7.规划软件工程所需的适当资源 和资金。8.培训软件工程负责人、软件工程师以及其他与软 件工程规划相关的与其职责相适应的人员。9.成立相关软件 工程小组和相关方案论证小组。10.软件工程团队和相关方案 论证团队将在整个工程生命周期内参与所有的工程筹划工作。11 .根据书面程序,与高级管理人员或外部组织的软件项 目承诺一起评审。12 .软件生命周期被清晰地划分为预定义的 和可管理的阶段。13.根据书面流程制定工程的软件开发计 划。14 .记录软件工程计划。15 .确定需要为软件工
7、程建立和 维护的软件产品。16.根据书面过程获得软件产品规模的估计 (或软件产品规模的变更)。17.根据编写的过程获得软件工程 的工作量和本钱的估计。18.根据书面流程获得工程所需的关 键计算机资源的估计值。19.根据书面流程获取工程的软件开 发进度。20.识别、评估和记录与工程本钱、资源、进度和技 术方面相关的软件风险。21.准备工程的软件工程机制和支持 工具的计划。22.记录软件规划数据。23.开发和使用度量方 法来确定软件规划活动的状态。24.定期与高级经理一起评审 软件工程的计划活动。25.在定期和事件驱动的基础上,与软 件工程经理一起评审软件工程的计划活动。26.与软件质量保 证人员
8、一起评审和审计软件工程的计划活动和工作产品,并 记录结果。十、软件工程计划模板 工程开发计划编写目的 本文档是 (开发单位名称)根据 工程的初步需求,并对 工程的各项需 求进行全面分析之后,做出的软件开发计划,可供支持工程 组内部及信息技术部内部的研发工作。工程背景系统名称:列出系统名称英文名称:列出系统英文名称产品代号:列出系统产品代号委托单位:列出委托单位开发单位:列出开发单位开发日期:开始时间一一预计收尾完工时间版权信息:Version X. X定义 列出本文件中用到的专门术语的定义和外文首 字母组词的原词组。参考资料逐条列出所参考的文档名称与作者。2.工程过程定义.1软件开发生命周期模
9、型 列出采用的软件开发生命周 期模型,并说明采用的理由。2.2开发工具与平台列出采用的开发工具、操作系统及平台软件。.计划资源计划 逐项列出工程开发过程中所需的各种资 源。关键计算机资源估计逐条列出所需各种计算机资源的类型、配置及数量等内容。.工程管理人员与角色 逐项列出工程组的角色分配及已可供调 配的人员。人员计划 逐条列出本工程所需各种角色人员的起始 与结束时间,人数,技能方面的要求等内容。风险管理计划 逐条列出各项风险的影响因素、发生 概率、严重性、负责人、预期日期、预防及补救方案等内 容。培训计划 逐条列出主题(技能、领域、工具、方 法)、人数、计划日期、提供者等内容。本钱估计 逐条列
10、出本钱的类型及金额,并计算估计 的总本。.进度跟踪工程会议 列出工程会议组织的方法。工程里程碑 列出工程里程碑,即工程进度的关键点。进度表 给出工程进度表。人员任务分配 给出人员任务分配表,包括了任务内 容、开始时间、完成时间、工时估计等内容。八、制订软件工程计划的方法与策略九、软件工程计划编制 方针 十、软件工程计划模板一、软件工程计划内容软件工程计划内容如下:L范围。对该软件工程的综合描述,定义起所要做的工作以及性能限制,它包括:(1)工程目标。(2)主要功能。(3)性能限制。 (4)系统接口。特殊要求。(6)开发概述。2.资源。(1)人员资源。 (2)硬件资源。(3)软件资源。(4)其他
11、。3.进度安排。 进度安排的好坏往往会影响整个工程的按期完 成,因此这一环节是十分重要的。制定软件进度与其他工程没 有很大的区别,其方法主要有: (1)工程网络图。(2)Gantt图。 (3)任务资源表。(4)本钱估算。(5)培训计划。二、制定软件工程规范对于软件工程管理来说,软件工程规范的制定和实施是必 不可少的,它和软件工程规划一样重要。软件规范可以从各 种现成的规范中选择,也可以自己制定。目前,软件工程规 范可以分为三个层次:(1)国家标准和国际标准。(2)行业标准 和工业部门标准。(3)企业级标准和开发团队级标准。三、软件开发本钱估算为了使开发工程能在规定的时间内完成,而且不超过预算,
12、 本钱预算和管理控制是关键。1.本钱估算方法 (1)自顶向下估算方法。估算人员参照以前完成的工程所耗费的总 本钱,来推算将要开发的软件的总本钱,然后把它们按阶 段、步骤和工作单元进行分配,这种方法称为自顶向下估算 方法。它的优点是对系统级工作的重视,所以估算中不会遗漏系统级的诸如集成、用户手册和配置管理之类的事 务的本钱估算,且估算工作量小、速度快。它的缺点是往往 不清楚低级别上的技术性困难问题,而往往这些困难将会使本钱上升。(2)自底向上估算方法。自底向上估算方法是将待开发的软件细分,分别估算每一个子任务所需要的开 发工作量,然后将它们加起来,得到软件的总开发量。这种 方法的优点是对每个局部
13、的估算工作交给负责该局部工作的 人来做,所以估算较为准确。其缺点是其估算往往缺少与软 件开发有关的系统工作级工作量,所以估算往往偏低。(3)差异估算方法。差异估算是将开发工程与一个或多个已完成的类似工程进行比拟,找到与某个相类似工程的假设干不同 之处,并估算每个不同之处对本钱的影响,导出开发工程的 总本钱。该方法的优点是可以提高估算的准确度,缺点是不 容易明确“差异”的界限。除上三种还有:(1)专家估算法。(2)类推估算法。(3)算式估算法。2.本钱估算模型(l)COCOMO估算模型。机构性本钱模型COCOMO (Constructive Cost Mode)是最精确、最易于使用 的本钱估算方
14、法之一。该模型分为:基本C0C0M0模型,是一个静态单变量模型,它是对整个软件系统进行估算;中 级C0C0M0模型,是一个静态多变量模型;详细C0C0M0模 型,将软件系统模型分为系统、子系统和模块三个层次。 基本C0C0M0模型估算公式: E=ab (KLOC) exp (bb) D=cb(E)exp(db) 式中E为开发所需的人力(人/月)。D为 所需的开发时间(月)。KL0C为估计提交的代码行。ab、bb、cb和db是指不同软件开发方式的值。中级C0C0M0 模型。 其估算公式为:E=ai(KLOC)exp(bi)X乘法因子,ai, bi(2)Putnam本钱估算经验模型。Putnam估
15、算模型是一种动杰多变模型,它是假设在软件开发的整个生存期 中工作量的分布。如下列图:根据曲线导出关于提交的代码行数L,人力K (人/年)和 时间td (年)之间估算公式: 式中Ck是技术状况有关的常数,它的典型值如下: 对于 差的开发环境Ck=2500 对于好的开发环境Ck=10000 对 于有的开发环境Ck=12500 由上述公式可以得到所需开发 工作量的公式:、风险分析风险分析对软件工程管理至关重要。但是,还是有很多名 不考虑风险的去做。五、软件工程进度安排软件工程的进度安排与任何一个工程的进度安排没有实质上 的不同。首先识别一组工程任务,建立任务间的相互关联, 然后估计各个任务的工作量,
16、分配人力和其他资源,指定进 参加时,多个开发者的活动将并行进行。2.Gantt图 Gantt图常用水平线段来描述把任务分解成子任务,以及每个 子任务的进度按排,该图表示方法简单易懂,一目了然,动 态反映软件开发进度情况。如下表: 进程计划时间表度时序。1.软件开发任务的并行性 假设软件工程有多人3.工程网络图工程网络图是一种有向图,其中一个圆圈代 表事件,一个有向弧或一个箭头代表子任务的进度,箭头上 的数字称为权重,代表这个子任务的持续时间,箭头下面括 号中的数字代表这个任务的机动时间,图中的圆圈代表一个 事件从子任务开始或结束的时间点。如下列图:六。软件质量保 证软件质量保证是软件工程管理的
17、重要内容,软件质量保证应作好以下几个方面的工作:作好以下几个方面的工作:(1)采用技术手段和工具。(2)组织正式技术评审。(3)加强软件测试。(4)推行软件工程规范(标准)。(5)对软件的变更进行控制。(6)对软件质量进行度量。七、如何制定软件工程计划 工程计划详细说明了所需软件工作及如何实现。它定义了每 一个主要任务,并估算其所需时间和资源,同时为管理层的 评估和控制提供了一个框架。工程计划也提供了一种很有效 的学习途径。如果能合理建档,它便是一个与实际运行效能 比拟的基准。这种比拟可以使计划者看到他们的估算误差, 从而提高其估算精确度。我们强调工程规模和资源的估算,因为低质量的工程资源 估
18、算必然导致资源短缺、进度延迟和预算超支。由于工程资 源估算直接来源于软件规模估算,低质量的规模估算是许多 软件工程问题的根源。工程计划应在工程开始时制定,并随着工程的进展不断完 善。起初,由于软件需求通常是模糊和不完整的,我们的工 作应该集中在说明这个工程需要哪些领域的知识,以及如何 获取这些知识。如果不遵循这个指导原那么,程序员通常会积 极投身于工作中的局部,而把未知的局部留给未来。这 种工作方式通常会引发很多问题,因为未知局部的风险系数 最高。软件工程计划的逻辑如下:由于软件需求在初始阶段是模糊的和不完整的,质量计划 只能建立在对客户需求粗略但不精确的理解上。因此,工程 计划应该从找出模糊
19、和不精确的软件需求与精确和适当的软 件需求之间的映射关系开始。然后建立概念设计。初始工程架构的建立要非常谨慎,因 为它通常会划定产品模块的分界线,描述这些模块实现的功 能以及所有模块之间的关系。这为工程规划和工程实施提供 了组织框架,因此低质量的概念设计无法满足要求。在每一次后续的需求精化时,也应同时精化资源映射,工程 规模估算和工程进度。Ao制定软件工程计划的方法和策略制定软件工程计划的目的是为软件工程的各种活动建立和维护计划。软件工程计 划实际上是一个文档,用于协调软件工程中的所有其他计 划,并指导工程团队实施和监控工程。一个好的软件工程计 划可以为工程的成功实施打下坚实的基础。软件有其特
20、殊性,不确定因素很多,工作量很难估计。项 目前期很难做出科学合理的工程方案。我主持和参与过大大 小小十多个软件工程。现在和大家提供一下我做软件工程计 划的经验。.注重工程计划的层次性软件工程计划的层次结构及其关系如下列图所示。高级计划,是工程的早期计划。高级计划应当是粗粒度的, 主要是进行工程的阶段划分,确定重大的里程碑,所需相关 的资源,包括人力资源、设备资源、资金资源,即所谓的 人、财、物三个要素。在大的阶段变化之前,我们要对下一阶段做一个详细的计 划,我们称之为第二阶段计划。该计划应规定每项任务的负 责人、开始时间、结束时间、任务之间的依赖关系、设备资 源和小事件点(即里程碑)。如果工程
21、规模比拟大,可以有多层次的规划。比方一个项 目团队可能会分成几个开发团队,二级计划就是每个开发团 队适合自己团队的计划。如果把开发团队分成小组,可以有 小组的三级计划。开发人员的个人计划是低级计划,由开发人员根据自己的任 务自行制定,要把任务细化到人日。一般情况下,软件工程计划最多有四个层次就足够了,过 多的层次会导致效率的瓶颈。大工程不一定要有大量的组织 和人员支持。合理划分小组,减少组织层级,有利于工程计 划的制定和实施。对于较小的软件工程,由于建设周期短, 人员少,有两级计划(高层计划和低层计划)是可行的。.重视与客户的沟通与客户的沟通很重要。不要怕客户知道我们的开展计划, 尤其是工程的
22、进展。他们应该与客户提供这些信息。首先,客户会提出一些对工程时间、进度、效果上的要求, 这个指标往往经不起推敲,有的还带有较强的政策性。如: 在我主持的一个某单位人事MIS系统的开发中就发现,客户 方对时间上的约束是有成形的文件的,是他们单位领导们开 会的决定。客户给出的从工程启动到验收的时间只有三个 月,但是,经过我们认真的需求调研,做出工程进度的粗计 划和局部的二级计划后,发现三个月的时间是难于实现的。 我们把做出的调研文档和工程计划摆出来和和客户讨论,最 终使工程的开发时间延长为六个月。站在为了科学地分析和 解决问题的立场上来看,工程组和客户的目的是一致的,所 以对于合理的工程进度客户是
23、会理解与支持的。其次,我们有义务让客户了解工程的计划。只有这样,客 户和用户才能积极参与工程,实现工程的最终目标。让工程得到双方的签字认可是一个好习惯。客户可能不想签正式的 文件,在文件封面签上双方负责人的名字和联系方式就可以 To虽然是非正式的,但是留下了工程工作的痕迹。有必要 想方法让客户明白签字是什么意思。这意味着双方有了约 定,既让用户放心,也让自己的工程团队有了责任感,有了监督和促进的作用。3.该详细的详细,该简略的就简略软件工程计划就如同软件工程本身一样有它特殊性,一个三UiUi五个人花两三个月就可以完工的小工程,可能工程计划就I 五页纸,包括一个WBS (工作分解结构)和一个Gantee图(甘特图)。一个需要五六十个人甚至上百人,要花上半年 或更长时间的大型软件工程那么会有更多的工程计划内容。我 们得按照工程的的特定情况量体裁衣。如下表1所示,这是我主持的一个高校教务处信息系统项 目的风险管理计划表。工程很小,我们只用了两个月就完成 了开发并通过验收。为此,我们在工程计划中大量使用这种 形式来制定人员计划、培训计划、风险计划、本钱估算、文 档大小估算和进度计划。责任在人,一目了然,效果和效益 显而易见。工程的工作安排一定要对人负责,要详细。如果任务是多 人共同完成的,要指定一个主要负责人,否那么开发
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026-江苏文物保护中心消防安全管理员招聘考试参考题库-含答案
- 2026-福建交通局宣传新媒体专员招聘考试参考题库-含答案
- 2026年丰林县教师招聘笔试备考题库及答案解析
- 2026重庆市环卫集团有限公司招聘18人考试参考题库及答案解析
- 2026年田东县教师招聘笔试备考题库及答案解析
- 2026福建新华发行集团龙岩辖区下半年招聘工作人员若干人笔试模拟试题及答案解析
- 中国联通北京市分公司2027届校园招聘考试备考试题及答案解析
- 2026年骆驼饲养行业产业洞察报告及未来五至十年需求升级与结构演变
- 2026年陕西海川医药有限公司招聘(40人)考试模拟试题及答案解析
- 2026年信息技术咨询服务行业竞争格局研究报告及未来五至十年风险挑战与应对策略
- 2026年高考化学全国I卷真题含解析及答案
- 生物制药与基因编辑技术
- RTK测量教程培训城市管理与执法探索
- 宠物解剖生理讲解
- 中级财务会计试题以及答案
- 烟囱课件教学课件
- 水稻全程机械化栽培技术
- T∕CSTM 00162-2020 透射电子显微镜校准方法
- key-hole经皮内镜颈椎间盘摘除术治疗神经根型颈椎病后路2
- 室内装修拆除合同
- 【课件】北师大版九年级下册21二次函数课件(25张)
评论
0/150
提交评论