0项目管理概述.ppt
- 文档编号:18702546
- 上传时间:2023-10-08
- 格式:PPT
- 页数:63
- 大小:477.50KB
0项目管理概述.ppt
《0项目管理概述.ppt》由会员分享,可在线阅读,更多相关《0项目管理概述.ppt(63页珍藏版)》请在冰点文库上搜索。
0,chapter_0,软件开发项目管理,chapter_0,1,软件市场与软件产业,软件=+程序=+例子:
电话号码查询问题,chapter_0,2,软件市场与软件产业,世界软件销售额正以每年17%的速度增长软件市场容量巨大软件业对人才的需求呈“金字塔形”结构,而我国软件人才结构呈“纺锤型”:
位于产业上层的软件架构师、系统设计师严重短缺,同时属于产业基础的软件蓝领也非常稀少,“一边是大量找不到工作的软件专业毕业生,一边是众多找不到合适人才的软件企业”。
chapter_0,3,中国软件外包的现状和未来发展趋势,中国直到2003年前后才开始出现快速发展的局面。
根据咨询机构IDC(国际数据公司)发布的最新报告中国软件外包市场:
十大主要软件外包公司介绍显示,在求过于供的市场状况下,2004年中国软件外包市场以49.9%的速度增长,达到了5.99亿美元的市场规模。
在未来几年内将会保持50.9%的高速增长率。
chapter_0,4,中国软件外包的现状和未来发展趋势,我国软件企业规模还比较小。
微软、IBM、Oracle等研发人员规模基本都在3000-5000人左右。
我国研发型软件企业一般都只处于1000人以下,很难开展战略性的长期基础研发项目。
即便是企业规模发展十分迅猛的纯粹软件外包企业中,出现中讯、文思、博彦等一批员工达到3000人左右、出口超过千万美元的企业,但是相对印度的TCS、Infosys等员工超过5万人、经营规模达到5亿美元的大型外包企业而言,中国外包企业规模还是比较小,难以承接到大型软件外包项目。
chapter_0,5,中国软件外包的现状和未来发展趋势,企业能够提供相应产品质量保证,chapter_0,6,例子,招聘印度人,给应聘者出了一份与国内差不多的试卷,有基础概念和编程题目。
等到他们完成后,我们这些中国的自认高手惊呆了!
他们的编程题目简直象是抄袭的?
程序结构,注释,变量命名就不说了吧,全部都是极其类似!
chapter_0,7,印度软件水平,是强在软件工程和项目管理的水平上整个体系架构非常清晰,按照客户的要求实现了全部功能,而且相当稳定。
并得到相当好的设计文档。
chapter_0,8,软件技术的总体发展趋势,平台网络化方法对象化系统构件化产品家族化开发工程化过程规范化生产规模化竞争国际化,chapter_0,9,项目管理的历史阶段,古代。
其代表作如我国的长城、埃及的金字塔、古罗马的供水渠这样不朽的伟大工程的修建管理。
我国汴梁古城的复建也是项目管理的典型例子。
近代.在20世纪60年代由42万人参加,耗资400亿美元的“阿波罗”载人登月计划中应用,并取得巨大成功。
此时,项目管理才有了科学的系统方法.现代项目管理的传播和推广。
20世纪70-80代项目管理迅速传遍世界各国.,chapter_0,10,关于项目的定义,其范围是广义的,大到青藏铁路工程、北京申办2008年奥运会,小到出一趟差、办一个联欢会都是项目。
我国每年建设项目数量多达16万个以上。
比如,我国目前最大的跨世纪项目长江三峡水利枢纽工程,投资1000亿2000亿元人民币,工期17年;20世纪世界最大的私人投资基础设施项目英吉利海峡隧道,投资100亿英镑,工期8年;联想集团的企业资源规划(ERP)项目投资3000万人民币。
chapter_0,11,项目定义,项目是为了创造一个唯一的产品或提供一个唯一的服务而进行的一次性的努力。
chapter_0,12,哪些活动是项目?
上课野餐活动集体婚礼社区保安开发微软的操作系统每天的卫生保洁神州飞船计划,chapter_0,13,项目的特征,不同的项目都具有以下相似的特性有明确的目标项目实施的一次性有独特性资源成本的约束性项目的不确定性成果的不可挽回性,chapter_0,14,项目与日常运作的区别,日常运作是重复进行的,日常运作是通过效率和有效性体现的,日常运作是职能式的线性管理;日常运作则基本保持连贯性的。
chapter_0,15,项目与日常运作,上课野餐活动集体婚礼社区保安开发操作系统每天的卫生保洁神州飞船计划,日常运作,项目,chapter_0,16,软件项目的特殊性,抽象性-逻辑实体缺陷检测的困难性高度的复杂性缺乏统一的规则,chapter_0,17,软件项目的失控,大桥通常能够按时、在预算内建造起来,而且通常不会倒塌,但是,软件几乎从来不按时,或者不在预算内完成。
Standish集团的研究显示,大概有31.1%的IT项目在完成前就被取消了,大概有52.7%的IT项目花费是原计划的189%。
美国的企业和政府将为这些取消了的软件项目花费了810亿美金。
chapter_0,18,造成IT项目失败率高的最主要原因是什么?
需求不明确不充分的计划和过于乐观的评估采用新技术管理方法缺乏性能问题团队组织不当人际因素,chapter_0,19,项目管理定义,项目管理是一系列的伴随着项目的进行而进行的、目的是为了确保项目能够达到期望的结果的一系列管理行为。
chapter_0,20,项目管理的6要素,范围时间成本质量组织客户满意度,chapter_0,21,项目管理过程,项目生命周期,chapter_0,22,项目初始,chapter_0,23,项目计划,chapter_0,24,项目执行控制,项目结束,项目执行控制,项目计划,项目初始,chapter_0,25,项目结束,chapter_0,26,项目管理内容,目前有两大项目管理的研究体系,即:
以欧洲为首的国际项目管理协会(IPMA)体系,和以美国为首的美国项目管理协会(PMI)体系。
PMI开发了现在的项目管理知识体系,简称为PMBOK(ProjectManagementBodyofKnowledge)。
在这个知识体系指南中,把项目管理划分为9个知识领域,即:
范围管理、时间管理、成本管理、质量管理、人力资源管理、沟通管理、采购管理、风险管理和综合管理。
chapter_0,27,软件项目管理定义,软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。
chapter_0,28,软件项目管理过程,启动软件项目制定项目计划跟踪及控制项目计划评审项目计划编写管理文档,chapter_0,29,软件项目管理内容,软件项目需求管理-估算与进度管理配置管理风险管理质量管理资源管理,chapter_0,30,小结,项目、项目的特征项目管理知识体系软件项目管理过程,chapter_0,31,实验一,良好的项目管理并不能保证每个项目一定成功,但不良的项目管理却会是失败的成因之一。
MicrosoftOfficeProject2007应是最常用的工具之一还有Primavera公司的P3、Artemis公司ArtemisViewer、NIKU公司的OpenWorkBench、Welcom公司的OpenPlan等软件,这些软件适合大型、复杂项目的项目管理工作;,chapter_0,32,MicrosoftOfficeProject2007系列产品,MicrosoftOfficeProjectStandard2007用于项目管理的基于Windows的桌面应用程序。
此版本为单一项目管理人员设计,并且不能与ProjectServer交互。
MicrosoftOfficeProjectProfessional2007基于Windows的桌面应用程序,包括Standard版的完整特性集,还有使用ProjectServer时需要的项目团队计划和通信功能。
ProjectProfessional加上ProjectServer是Microsoft的企业项目管理(EnterpriseProjectManagement,EPM)产品的代表。
chapter_0,33,MicrosoftOfficeProjectServer2007基于内联网的解决方案。
结合ProjectProfessional使用时支持企业级的项目合作、时间表报表和状态报表。
MicrosoftOfficeProjectWebAccess2007使用ProjectServer时所用的基于InternetExplorer的界面。
chapter_0,34,Subversion版本控制系统它可以记录每一次文件和目录的修改情况。
这样就可以籍此将数据恢复到以前的版本,并可以查看数据的更改细节。
Subversion的核心是版本库,版本库非常像普通的文件服务器.TortoiseSVN是Subversion版本控制系统的一个免费开源客户端,chapter_0,35,chapter_0,36,建立版本库(Repository),运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如:
svnadmincreated:
svndemorepository就会在目录d:
svndemorepository下创建一个版本库。
我们也可以使用TortoiseSVN图形化的完成这一步:
在目录D:
svndemorepository下右键-TortoiseSVN-CreateRepositoryhere.“,然后可以选择版本库模式,这里使用默认即可,然后就创建了一系列目录和文件。
chapter_0,37,运行独立服务器,在任意目录下运行:
svnserve-d-rc:
svndemorepository我们的服务器程序就已经启动了。
-d表示后台运行-r表示把c:
svndemorepository目录作为根目录,chapter_0,38,配置用户和权限,来到E:
svndemorepositoryconf目录,修改svnserve.conf:
#general#password-db=passwd(指定账号文件)改为:
generalpassword-db=passwd(去掉#和空格)然后修改同目录的passwd文件,去掉下面三行的注释:
#users#harry=harryssecret#sally=sallyssecret最后变成:
usersharry=harryssecretsally=sallyssecret,chapter_0,39,修改版本库的权限控制文件,在最后添加/用户名=rw(权限),chapter_0,40,导入数据到Repository,来到我们想要导入的项目根目录,在这个例子里是E:
svndemoinitproject,目录下有一个readme.txt文件:
右键-TortoiseSVN-Import.在URLofrepository输入“svn:
/localhost/trunk”在ImportMessage中输入你的日志信息完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。
chapter_0,41,导入单个文件到版本库,chapter_0,42,检出工作副本,如果版本库中不存在指定的子目录,导入命令将会自动创建它们。
检出深度全递归检出完整的目录树,包含所有的文件或子目录。
直接节点,包含目录。
检出目录,包含其中的文件或子目录,但是不递归展开子目录。
文件子节电检出指定目录,包含所有文件,但是不检出任何子目录。
仅此项。
只检出目录。
不包含其中的文件或子目录。
工作副本保持工作副本指定的深度。
此选项不用于检出对话框,但它是其它所有含有深度配置对话框的默认配置。
排除对于已经创建好的工作副本,可以使用此选项来缩减文件夹的深度。
这个选项只在更新至版本对话框中可用。
chapter_0,43,如果你检出了一个稀疏的工作副本(例如,在签出时选择的签出深度不是全递归),你可以使用版本库浏览器或检查修改对话框来获得其它子文件夹。
改变工作副本深度右键菜单更新项目至版本在检查修改对话框中,首先点击检查版本库按钮。
对话框会将你未检出,但是位于版本库中的文件和文件夹显示为远程加入。
右键单击你需要加入工作副本的文件夹,选择右键菜单更新。
chapter_0,44,忽略文件和目录加入忽略列表全局忽略列表-设置setting忽略已经版本控制的文件?
chapter_0,45,日志,对于每次进行修改和提交,你应该有针对性地留下日志信息。
这样,你就可以在以后方便地看到你都做了什么,为什么这么做。
TortoiseSVN无法显示日志anon-access=noneanon-access:
定义非授权用户的访问权限,有三种方式:
none、read、write,设置为none限制访问,read为只读,write为具有读写权限,默认为read。
auth-access:
定义授权用户的访问权限,有三种方式:
none、read、write,设置为none限制访问,read为只读,write为具有读写权限,默认为write。
chapter_0,46,SVN删除恢复文件,一、本地删除SVN删除文件中的本地删除,指的是在客户端delete了一个文件,但还没有commit,使用revert来撤销删除。
二、服务器删除1.通过本地删除后提交服务器a)Update一下b)通过showLog,找到被删的项,选中,点击右键-Revertchangesfromthisrevision;,chapter_0,47,Revertchangesfromthisrevision譬如有个文件,假定版本号有1,2,3,4,5。
如果是在版本3这里点击“Revertchangesfromthisrevision”,表示版本3这个历史事件被抹杀了,只剩下除版本3外的4个历史事件了。
如果是在版本3这里点击“Reverttothisrevision”,表示4、5的修改全部作废,历史倒退到了版本3那个年代。
chapter_0,48,在Repo-Browser中删除a)本地项目还存在,点击右键-TortoiseSVN-UpdateToRevision,输入被删时的Revision,确定,然后再Import上去即可。
b)本地项目也不在了点击右键-subversionExport.,ExportDirectory填写要备份的路径;Revision一项,默认是HeadRevision,但是这里不能选这项。
因为项目已经被delete了,HeadRevision只对现存的项目有效,你最好是记住了删除前的版本。
如果实在忘记了,一个个看,直到找到你需要的版本。
chapter_0,49,SVN版本冲突解决详解,文件冲突当两名(或更多)开发人员修改了同一个文件中相邻或相同的行时就会发生文件冲突。
树冲突当一名开发人员移动、重命名、删除一个文件或文件夹,而另一名开发人员也对它们进行了移动、重命名、删除或者仅仅是修改时就会发生树冲突。
chapter_0,50,SVN版本冲突解决详解,版本冲突原因:
假设A、B两个用户都在版本号为100的时候,更新了kingtuns.txt这个文件,A用户在修改完成之后提交kingtuns.txt到服务器,这个时候提交成功,这个时候kingtuns.txt文件的版本号已经变成101了。
同时B用户在版本号为100的kingtuns.txt文件上作修改,修改完成之后提交到服务器时,由于不是在当前最新的101版本上作的修改,所以导致提交失败。
chapter_0,51,冲突发生时,冲突发生时,在当前目录下执行“update”(更新)操作subversion会在当前工作目录中保存所有的目标文件版本上次更新版本、当前获取的版本(即别人提交的版本)、自己更新的版本、目标文件。
假设文件名是kingtuns.txt对应的文件名分别是:
kingtuns.txt.r101目标文件版本上次更新版本kingtuns.txt.r102当前获取的版本(即别人提交的版本)kingtuns.txt.mine自己更新的版本kingtuns.txt。
目标文件,同时在目标文件中标记来自不同用户的更改。
chapter_0,52,其中.r18之间是版本服务器上的版本,chapter_0,53,解决冲突,解决冲突有三种选择:
a.手工合并SVN冲突文件(检查和修改文件中的冲突标志)。
b.用一个临时文件(三个中的一个)覆盖你的工作文件。
c.运行revert来放弃所有的修改。
chapter_0,54,手工合并SVN冲突,在冲突的文件上(选中文件-右键菜单TortoiseSVNEditconflicts(解决冲突)Theirs窗口为服务器上当前最新版本Mine窗口为本地修改后的版本Merged窗口为合并后的文件内容显示如果要使用服务器版本,在Theirs窗口选中差异内容,右键,选择Usethistextblock(使用这段文本块)或者工具栏向右箭头。
同理如果要使用本地版本,在协商后,在Mine窗口右键,选择Usethistextblock(使用这段文本块),chapter_0,55,树冲突,树冲突,指的是由于目录(文件)树的改变,造成内容修改修改不能匹配在同一对象(目录/文件)上有很多种不同的情形可以导致树冲突,而且不同的情形需要不同的步骤来解决冲突。
使用检查修改对话框来获得编辑冲突选项。
本地删除,当更新时有更改进入开发人员A修改Foo.c并将其提交至版本库中开发人员B同时在他的工作副本中将文件Foo.c改名为Bar.c,或者仅仅是删除了Foo.c或它的父文件夹。
更新开发人员B的工作副本会导致树冲突:
chapter_0,56,在更改文件名的案例中,他可以将Foo.c的更改合并到改名后的文件Bar.c中去。
对于删除文件或文件夹的案例中,他可以选择保留包含开发人员A更改内容的项目并放弃删除操作。
revert直接将冲突标记为已解决,那样他实际上丢弃了开发人员A的更改。
chapter_0,57,本地更改,当更新时有删除进入,开发人员A将文件Foo.c改名为Bar.c并将其提交至版本库中。
开发人员B在他的工作副本中修改文件Foo.c。
或者在一个文件夹改名的案例中.开发人员A将父文件夹FooFolder改名为BarFolder并将其提交至版本库中开发人员B在他的工作副本中修改文件Foo.c。
更新开发人员B的工作副本会导致树冲突。
对于一个简单的文件冲突Bar.c被当作一个正常文件添加到工作副本中。
Foo.c被标记为添加(包括其历史记录)并且产生树冲突。
对于一个文件夹冲突BarFolder被当作一个正常文件夹添加到工作副本中FooFolder被标记为添加(包括其历史记录)并且产生树冲突。
Foo.c被标记为已修改。
chapter_0,58,本地缺少,当合并时有更改进入,开发人员A在主干上工作,修改Foo.c并将其提交至版本库中开发人员B在分支上工作,将Foo.c改名为Bar.c并将其提交至版本库中,chapter_0,59,如何降低冲突解决的复杂度:
1、当文档编辑完成后,尽快提交,频繁的提交/更新可以降低在冲突发生的概率,以及发生时解决冲突的复杂度2、在提交时,写上明确的message,方便以后查找用户更新的原因,毕竟随着时间的推移,对当初更新的原因有可能会遗忘3、养成良好的使用习惯,使用SVN时每次都是先提交,后更新。
每天早上打开后,首先要从版本库获取最新版本。
每天下班前必须将已经编辑过的文档都提交到版本库。
如果你的二进制文件有冲突,Subversion不会试图合并文件。
2023/10/8,60,chapter_0,61,用sccreate-创建一个服务,把svnserve服务加到系统服务中。
命令:
sccreateSVNServerbinpath=C:
ProgramFilesSubversionbinsvnserve.exe-service-rD:
svndemodisplayname=SVNServerdepend=Tcpipstart=auto注意:
上面命令的每一个等号后面都有空格,否则会创建失败。
sc是windows自带的服务配置程序若要卸载svn服务,则执行scdeleteSVNServer即可。
chapter_0,62,右键单击批处理文件选择以“管理员方式运行”即可。
启动服务netstartSVNServer,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 项目 管理 概述