wbs模板excel.docx
- 文档编号:3948728
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:14
- 大小:23.37KB
wbs模板excel.docx
《wbs模板excel.docx》由会员分享,可在线阅读,更多相关《wbs模板excel.docx(14页珍藏版)》请在冰豆网上搜索。
wbs模板excel
竭诚为您提供优质文档/双击可除
wbs模板excel
篇一:
wbs介绍与说明
一、wbs的定义
wbs(工作分解结构)是workbreakdownstructure的英文缩写,是项目管理重要的专业术语之一。
wbs的基本定义:
以可交付成果为导向对项目要素进行的分组,它归纳和定义了项目的整个工作范围每下降一层代表对项目工作的更详细定义。
无论在项目管理实践中,还是在pmp,ipmp考试中,工作分解结构(wbs)都是最重要的内容之一。
wbs总是处于计划过程的中心,也是制定进度计划、资源需求、成本预算、风险管理计划和采购计划等的重要基础。
wbs同时也是控制项目变更的重要基础。
项目范围是由wbs定义的,所以wbs也是一个项目的综合工具。
wbs是由3个关键元素构成的名词:
工作(work)--可以产生有形结果的工作任务;分解(breakdown)--是一种逐步细分和分类的层级结构;结构(structure)--按照一定的模式组织各部分。
根据这些概念,wbs有相应的构成因子与其对应:
(1)结构化编码
编码是最显著和最关键的wbs构成因子,首先编码用于将wbs彻底的结构化。
通过编码体系,我们可以很容易识别wbs元素的层级关系、分组类别和特性。
并且由于近代计算机技术的发展,编码实际上使wbs信息与组织结构信息、成本数据、进度数据、合同信息、产品数据、报告信息等紧密地联系起来。
(2)工作包
工作包(workpackage)是wbs的最底层元素,一般的工作包是最小的“可交付成果”,这些可交付成果很容易识别出完成它的活动、成本和组织以及资源信息。
例如:
管道安装工作包可能含有管道支架制作和安装、管道连接与安装、严密性检验等几项活动;包含运输/焊接/管道制作人工费用、管道/金属附件材料费等成本;过程中产生的报告/检验结果等等文档;以及被分配的工班组等责任包干信息等等。
正是上述这些组织/成本/进度/绩效信息使工作包乃至wbs成为了项目管理的基础。
基于上述观点,一个用于项目管理的wbs必须被分解到工作包层次才能够使其成为一个有效的管理工具。
(3)wbs元素
wbs元素实际上就是wbs结构上的一个个“节点”,通俗的理解就是“组织机构图”上的一个个“方框”,这些方框代表了独立的、具有隶属关系/汇总关系的“可交付成果”。
经过数十年的总结大多数组织都倾向于wbs结构必须与项目目标有关,必须面向最终产品或可交付成果的,因此wbs元素更适于描述输出产品的名词组成(effictivewbs,gregoryt.haugan)。
其中的道理很明显,不同组织、文化等为完成同一工作所使用的方法、程序和资源不同,但是他们的结果必须相同,必须满足规定的要求。
只有抓住最核心的可交付结果才能最有效的控制和管理项目;另一方面,只有识别出可交付结果才能识别内部/外部组织完成此工作所使用的方法、程序和资源。
工作包是最底层的wbs元素。
(4)wbs字典
管理的规范化、标准化一直是众多公司追求的目标,wbs字典就是这样一种工具。
它用于描述和定义wbs元素中的工作的文档。
字典相当于对某一wbs元素的规范,即wbs元素必须完成的工作以及对工作的详细描述;工作成果的描述和相应规范标准;元素上下级关系以及元素成果输入输出关系等。
同时wbs字典对于清晰的定义项目范围也有着巨大的规范作用,它使得wbs易于理解和被组织以外的参与者(如承包商)接受。
在建筑业,工程量清单规范就是典型的工作包级别的wbs字典。
二、wbs的主要用途
wbs是一个描述思路的规划和设计工具。
它帮助项目经理和项目团队确定和有效地管理项目的工作。
1wbs是一个清晰地表示各项目工作之间的相互联系的结构设计工具。
2wbs是一个展现项目全貌,详细说明为完成项目所必须完成的各项工作的计划工具。
3wbs定义了里程碑事件,可以向高级管理层和客户报告项目完成情况,作为项目状况的报告工具。
4wbs防止遗漏项目的可交付成果。
5wbs帮助项目经理关注项目目标和澄清职责。
6wbs建立可视化的项目可交付成果,以便估算工作量和分配工作。
7wbs帮助改进时间、成本和资源估计的准确度。
8wbs帮助项目团队的建立和获得项目人员的承诺。
9wbs为绩效测量和项目控制定义一个基准。
10wbs辅助沟通清晰的工作责任。
11wbs为其他项目计划的制定建立框架。
12wbs帮助分析项目的最初风险。
三、wbs的创建方法
创建wbs是指将复杂的项目分解为一系列明确定义的项目工作并作为随后计划活动的指导文档。
wbs的创建方法主要有以下两种:
1类比方法。
参考类似项目的wbs创建新项目的wbs。
2自上而下的方法。
从项目的目标开始,逐级分解项目工作,直到参与者满意地认为项目工作已经充分地得到定义。
该方法由于可以将项目工作定义在适当的细节水平,对于项目工期、成本和资源需求的估计可以比较准确。
创建wbs时需要满足以下几点基本要求:
1某项任务应该在wbs中的一个地方且只应该在wbs中的一个地方出现。
2wbs中某项任务的内容是其下所有wbs项的总和。
3一个wbs项只能由一个人负责,即使许多人都可能在其上工作,也只能由一个人负责,其他人只能是参与者。
4wbs必须与实际工作中的执行方式一致。
5应让项目团队成员积极参与创建wbs,以确保wbs的一致性。
6每个wbs项都必须文档化,以确保准确理解已包括和未包括的工作范围。
7wbs必须在根据范围说明书正常地维护项目工作内容的同时,也能适应无法避免的变更。
8wbs的工作包的定义不超过40小时,建议在4-8小时。
9wbs的层次不超过10层,建议在4-6层。
四、wbs的表示方式
wbs可以由树形的层次结构图或者行首缩进的表格表示。
在实际应用中,表格形式的wbs应用比较普遍,特别是在项目管理软件中,具体的模版样式参见wbs模版样式。
五、wbs的分解方式
wbs的分解可以采用以下三种方式进行:
1按产品的物理结构分解。
2按产品或项目的功能分解。
3按照实施过程分解。
六、项目组内创建wbs的过程
项目组内创建wbs的过程非常重要,因为在项目分解过程中,项目经理、项目成员和所有参与项目的部门主任都必须考虑该项目的所有方面。
1项目组内创建wbs的过程是:
2得到范围说明书(scopestatement)或工作说明书(statementofwok,承包子项目时)。
3召集有关人员,集体讨论所有主要项目工作,确定项目工作分解的方式。
4分解项目工作。
如果有现成的模板,应该尽量利用。
5画出wbs的层次结构图。
wbs较高层次上的一些工作可以定义为子项目或子生命周期阶段。
6将主要项目可交付成果细分为更小的、易于管理的组分或工作包。
工作包必须详细到可以对该工作包进行估算(成本和历时)、安排进度、做出预算、分配负责人员或组织单位。
7验证上述分解的正确性。
如果发现较低层次的项没有必要,则修改组成成分。
8建立一个编号系统。
9随着其他计划活动的进行,不断地对wbs更新或修正,直到覆盖所有工作。
七、wbs的检验标准
检验wbs是否定义完全、项目的所有任务是否都被完全分解主要依据以下标准:
1每个任务的状态和完成情况是可以量化的。
2明确定义了每个任务的开始和结束。
3每个任务都有一个可交付成果。
4工期易于估算且在可接受期限内。
5容易估算成本。
6各项任务是独立的。
八、wbs的使用
对wbs需要建立wbs词典(wbsdictionary)来描述各个工作部分。
wbs词典通常包括工作包描述、进度日期、成本预算和人员分配等信息。
对于每个工作包,应尽可能地包括有关工作包的必要的、尽量多的信息。
当wbs与obs综合使用时,要建立账目编码(c(wbs模板excel)odeofaccount)。
账目编码是用于惟一确定项目工作分解结构每一个单元的编码系统。
成本和资源被分配到这一编码结构中。
九、wbs的实践经验
最多使用20个层次,多于20层是过度的。
对于一些较小的项目4-6层一般就足够了。
wbs中的支路没有必要全都分解到同一层次,即不必把结构强制做成对称的。
在任意支路,当达到一个层次时,可以作出所要求准确性的估算,就可以停止了。
编辑本段wbs推广模式
w:
即web网站,企业用于在互联网上展示自身形象和产品宣传的一个平台,凭借网站企业可以让互联网上更多的用户和浏览者了解和认识企业,以便达到更好的宣传,主要面向客户、业界人士或者普通浏览者,以介绍企业的基本资料、帮助树立企业形象为主;也可以适当提供行业内的新闻或者知识信息。
这种类型网站通常也被形象的比喻为企业的"webcatalog"。
是每一个外贸公司对外贸易不可缺少的形象代言。
b:
即b2b电子商务平台,主要面向供应商、客户或者企业产品(服务)的消费群体,以提供某种直属于企业业务范围的服务或交易、或者为业务服务的服务或者交易为主;中国最权威的互联网信息中心统计,目前有20%左右的企业已经意识到电子商务的重要性,其中20xx年做推广的企业有80%左右的都是通过b2b推广的。
alibaba、tradett、globalsource、made-in-china、tradekey、ecVV、ec21、worldbid等国际知名b2b是大多企业主要推广平台。
对于外贸来说,b2b是一个强有力的工具,毕竞并不是所有的人都能碰到一个能让你参加广交会,参加法兰克福展的老板或公司的.那么,使用/利用b2b就将是公司动作过程中一个很重要的部分。
s:
即seo,搜索引擎优化,为近年来较为流行的网络营销方式,企业网站经过特定的方式进行seo之后,可以增加特定关键字的曝光率以增加网站的能见度,提高企业网站在搜索引擎中的排名,从而提高网站访问量,最终提升网站的销售能力或宣传能力的技术。
篇二:
Vc中彻底玩转excel
如今excel是越来越重要了,在我们自己开发的程序中不免要和excel打交道了。
利用automation技术,我们可以在不去了解
数据库的情况下玩转excel,而且你会发现一切竟如此轻松!
好了,咱们开始吧,我不喜欢用长篇累牍的代码来故弄玄虚,所以下面的代码都是切中要害的片段,总体上是个连贯的过程,
包括启动excel,读取数据,写入数据,以及最后的关闭excel,其中还包括了很多人感兴趣的合并单元格的处理。
特别说明以下代码需要mFc的支持,而且工程中还要包含excel2000的定义文件:
excel9.h,excel9.cpp
*****************************************************************************************************************
workbookswbsmybooks;_workbookwbmybook;
worksheetswssmysheets;_worksheetwssmysheet;
Rangerange;Rangeicell;
lpdispatchlpdisp;
coleVariantvResult;
coleVariantcovtrue((short)tRue),covFalse((short)False),
covoptional((long)disp_e_paRamnotFound,Vt_eRRoR);//创建excel2000服务器(启动excel),尽量在初始化中建立excel_app对象//以确保一次只打开一个excel服务器
//if(!
m_excelapp.createdispatch("excel.application"))
//{
//afxmessagebox("无法启动excel服务器!
");
//return;
//}
//app.setVisible(tRue);//使excel可见
//excelapp.setusercontrol(tRue);//允许其它用户控制excel
//打开c:
\\*.xls
wbsmybooks.attachdispatch(m_excelapp.getworkbooks());
lpdisp=wbsmybooks.open(m_strpath,//此处无法打开文档没有问题
covoptional,covoptional,covoptional,covoptional,covoptional,covoptional,covoptional,covoptional,covoptional,covoptional,covoptional,covoptional);
wbmybook.attachdispatch(lpdisp);//得到workbook
wssmysheets.attachdispatch(wbmybook.getworksheets());//得到
worksheets
//得到当前活跃sheet,如果有单元格正处于编辑状态中,此操作不能返回,会一直等待
lpdisp=wbmybook.getactivesheet();
wssmysheet.attachdispatch(lpdisp);
//读取已经使用区域的信息,包括已经使用的行数、列数、起始行、起始列
RangeusedRange;
usedRange.attachdispatch(wssmysheet.getusedRange());
range.attachdispatch(usedRange.getRows());
longiRownum=range.getcount();//已经使用的行数
range.attachdispatch(usedRange.getcolumns());
longicolnum=range.getcount();//已经使用的列数
longistartRow=usedRange.getRow();//已使用区域的起始行,从1开始
longistartcol=usedRange.getcolumn();//已使用区域的起始列,从1开始
//读取第istartRow行,第istartcol列单元格的值
range.attachdispatch(wssmysheet.getcells());
range.attachdispatch(range.getitem(coleVariant(istartRow),coleVariant(istartcol)).pdispVal);
vResult=range.getValue();
cstringstr;
if(vResult.vt==Vt_bstR)//字符串
str=vResult.bstrVal;
elseif(vResult.vt==Vt_R8)//8字节的数字
str.Format("%f",vResult.dblVal);
elseif(vResult.vt==Vt_date)//时间格式
{
systemtimest;
Varianttimetosystemtime(vResult.date,
}
elseif(vResult.vt==Vt_empty)//单元格空的
str="";
//读取第一个单元格的对齐方式,数据类型:
Vt_i4,读取水平对齐方式
range.attachdispatch(wssmysheet.getcells());
icell.attachdispatch((range.getitem(coleVariant(long
(1)),
coleVariant(long
(1)))).pdispVal);
vResult.lVal=0;
vResult=icell.gethorizontalalignment();
if(vResult.lVal!
=0)
{
switch(vResult.lVal)
{
case1:
//默认
break;
case-4108:
//居中
break;
case-4131:
//靠左
break;
case-4152:
//靠右
break;
}
}
//垂直对齐方式
icell.attachdispatch((range.getitem(coleVariant(long
(1)),
coleVariant(long
(1)))).pdispVal);
vResult.lVal=0;
vResult=icell.getVerticalalignment();
if(vResult.lVal!
=0)
{
switch(vResult.lVal)
{
case-4160:
//靠上
break;
case-4108:
//居中
break;
case-4107:
//靠下
break;
}
}
//设置第一个单元格的值"hi,excel!
"
range.setitem(coleVariant(long
(1)),coleVariant(long
(1)),coleVariant("hi,excel!
"));
//设置第一个单元格字体颜色:
红色
//cFontfont;
//range.attachdispatch(wssmysheet.getcells());
//range.attachdispatch((range.getitem(coleVariant(long
(1)),
coleVariant(long
(1)))).pdispVal);
//font(coleVariant((long)0xFF0000));
//合并单元格的处理,包括判断第一个单元格是否为合并单元格,以及将第一个单元格进行合并
RangeunionRange;
range.attachdispatch(wssmysheet.getcells());
unionRange.attachdispatch(range.getitem
(coleVariant((long)1),coleVariant((long)1)).pdispVal);
vResult=unionRange.getmergecells();
if(vResult.boolVal==-1)//是合并的单元格
{
//合并单元格的行数
range.attachdispatch(unionRange.getRows());
longiunionRownum=range.getcount();
//合并单元格的列数
range.attachdispatch(unionRange.getcolumns());
longiunioncolumnnum=range.getcount();
//合并区域的起始行,列
longiunionstartRow=unionRange.getRow();//起始行,从1开始longiunionstartcol=unionRange.getcolumn();//起始列,从1开始}
elseif(vResult.boolVal==0)
{
//不是合并的单元格,将第一个单元格合并成2行,3列
range.attachdispatch(wssmysheet.getcells());
unionRange.attachdispatch(range.getitem(coleVariant((long)1),coleVariant((long)1)).pdispVal);
unionRange.attachdispatch(unionRange.getResize(coleVariant((long)2),coleVariant((long)3)));
unionRange.merge(coleVariant((long)0));//合并单元格
}
//将文件保存为*.xls
m_excelapp.setVisible(tRue);
cstringstrtmp=m_strpath.left(m_strpath.ReverseFind(.))+".xls";
//这里应该确保strtmp为有效路径,否则的话该函数会自己处理异常,导致以后的语句没有执行,没有关闭打开的文档
wbmybook.saveas(coleVariant(strtmp),covoptional,covoptional,
covoptional,covoptional,covoptional,0,
covoptional,covoptional,covoptional,covoptional);
//关闭所有的book,退出excel
wbmybook.close(covoptional,coleVariant(""),covoptional);
wbsmybooks.close();
//m_excelapp.quit();
另外一篇是
在开发软件时,经常要将数据输出到excel2000中,在excel2000中对该数据进行进一步地格式化处理或进行计算处理。
在Visualbasic中处理起来较简单,excel2000的Vb编程帮助中有较为详细的介绍。
在Visualc++中如何进行处理了?
利用excel2000的activexautomate功能,处理起来同Vb中类似。
但要注意以下几点:
对于对象的属性值的读取或赋值,需要用getproperty()或setproperty(newValue)函数,不能象Vb中直接通过属性名称取值或赋值。
例如:
worksheet.getcount(),worksheet.setname(“sheet1”)。
对集合对象中的成员对象的引用,必须使用集合对象的getitem()函数。
例如:
worksheets.getitem(coleVariant((long)1))或
worksheets.getitem(coleVariant(“sheet1”))取得第一个工作表。
在com接口中,时常用到Variant,bstR,safearray数据类型。
Variant数据类型是一个联合,可表示几乎所有的类型的数据,具体用法见msdn中的相关介绍,类_variant_t是对VaRiant数据类型的封装。
在excel2000的Vb编程帮助中,如果提到某函数或属性需要一个值,该值的数据类型通常是Variant,在封装excel2000对象的类定义中,说明了具体需要的数据类型。
bstR是一个包括了字符串和字符串长度的数据结构,类_bstr_t是对bstR数据类型的封装。
在excel2000的Vb编程帮助中提到的字符串通常指bstR。
具体函数参数或属性的数据类型,见封装该对象的类的定义。
safearray是一个包括数组和数组边界的结构,数组边界外的内容不允许访问。
在excel2000的Vb编程帮
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- wbs 模板 excel