您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 创业/孵化 > IT项目管理教程之二
上海交通大学计算机系1第一讲概述上海交通大学计算机系2主要内容软件的社会角色计算机和软件的历史观什么是软件软件危机项目的概念项目管理基本概念IT软件项目特征IT软件项目面临的问题上海交通大学计算机系31.软件的角色软件在社会上扮演了双重角色它本身是一种产品将计算机硬件的计算能力发挥出来同时,它也是一种传递产品的工具软件传递了我们这个时代最重要的产品:信息上海交通大学计算机系42.计算机和软件的历史观70年代和80年代“新的工业革命”“工业社会将转变为信息社会”……90年代“知识的民主化将改变旧的权力结构”21世纪初“Y2K定时炸弹”“无所不在的计算”上海交通大学计算机系53.什么是软件指令:使计算机提供功能和性能数据结构:使程序能够操纵信息文档:记录程序的产生,功能与使用上海交通大学计算机系6软件特征(1)最根本的:软件是一种逻辑元素而不是物理元素软件是开发出来的,而不是用传统的方法制造出来的软件不会被用坏时间失败概率一般产品的浴盆曲线上海交通大学计算机系7软件特征(2)时间失败概率软件失败概率实际曲线软件失败概率理想曲线上海交通大学计算机系8软件特征(3)工业界已经走向了标准化装配时代,然而绝大多数软件还是定制出来的。科学计算函数库(60年代)重用数据结构重用组件上海交通大学计算机系9软件分类系统软件实时软件商务软件工程和科学软件嵌入式软件个人计算机软件基于Web的软件人工智能软件……上海交通大学计算机系104.软件危机“软件危机”是1958年在NATO会议上作为一个正式的议题被提出来软件项目不成功的例子比比即是:1999年10月,耗资1.25亿美元的NASA的火星气象卫星失踪,据信这是由于简单的数据转换错误所导致的。人们发现卫星软件中,有些数据使用英制,它们应被转换成公制。这个卫星应当充当另一项任务中的火星极地着陆项目的通信转发器,那个任务也失败了,原因不明。上海交通大学计算机系11软件危机美国IBM公司在1963年至1966年开发的IBM360机的操作系统。这一项目花了5000人一年的工作量,最多时有1000人投入开发工作,写出了近100万行源程序。......据统计,这个操作系统每次发行的新版本都是从前一版本中找出1000个程序错误而修正的结果。......这个项目的负责人F.D.Brooks事后总结了他在组织开发过程中的沉痛教训时说:“......正像一只逃亡的野兽落到泥潭中做垂死的挣扎,越是挣扎,陷得越深,最后无法逃脱灭顶的灾难。......程序设计工作正像这样一个泥潭,......一批批程序员被迫在泥潭中拼命挣扎,......谁也没有料到问题竟会陷入这样的困境......”。IBM360操作系统的历史教训成为软件开发项目的典型事例为人们所记取。上海交通大学计算机系12软件危机1999年8月,在一个大型的商业高速数据网络里,软件的缺陷影响了70000个商业用户,时间长达八天。在受到影响的客户中,有美国最大的远期交易电子贸易系统,该系统中断服务长达一周1998年4月,美国的一个重要的数据通讯网络出现了长达24小时的故障,使大部分美国的信用卡管理系统交易受到影响。受到影响的还一些大银行、零售商、和政府的数据系统。最后查出也是软件故障所致。上海交通大学计算机系13软件危机据报道,1997年8月,美国一家最主要的消费信用卡报告公司的新网站刚开启两天,就因为软件问题而关闭了。这个新站点允许浏览者直接访问,只收取很少的费用就可以查询自己的信用卡使用情况。但是,最初的用户所看到的是别人的账单,而不是他们自己的。发怒的顾客使这件事流传全国。最后问题被归结为:“…未曾预料到的大量的客户需求,再加上导致把文件送到错误的计算机的软件毛病。”美国航空公司失败的机票预订系统CONFIRM美国机动车协会新泽西分部的4GL灾难;几乎摧毁了客户关系的NCR库房管理系统……上海交通大学计算机系14上海交通大学计算机系15上海交通大学计算机系16软件危机一些数据:大约70%的软件开发项目超出了估算的时间,大型项目平均超出计划交付时间20%到50%,90%以上的软件项目开发费用超出预算,并且项目越大,超出项目计划的程度越高美国政府审计局:只有不到2%的合同定购软件在发布时具有可用性——98%以上的项目都失败了上海交通大学计算机系17软件危机相关术语“两难境地(CrunchMode)”:处于两难境地的项目面临着无法达到最初目标的威胁(费用、进度表、功能性等等),而项目团队在努力想要跨越该困境。“我们正处于两难境地,在半夜之前是不会回家的”“死亡行军(DeathMarch)”:用来描述其进度表几乎不可能完成的项目。“这是一个死亡行军项目,我希望自己不要参与进去”上海交通大学计算机系18软件危机软件危机的另一种看法“人类只能够在第二级追求中获得成功,比如说,成为百万富翁或者总理,赢得战争,飞跃同温层或者登陆月球。第一级追求,不可避免地要涉及到努力去理解生命的意义以及努力去转化这种理解,这就不可避免地会导致失败感的产生。拿破仑、邱吉尔、罗斯福式的人物可以感受自己的成功感,但苏格拉底式的人物永远不会有这种感觉。对生命意义的理解永远是遥不可及的事情。”——美国播音员MalcolmMuggeridge上海交通大学计算机系19软件危机软件项目超出费用和进度表目标普遍存在的原因是:目标本身完全是错误的。为什么有那么多人喊着软件危机呢?因为有利可图:某些经销商叫喊危机是为了卖出他们声称能够提供对策的产品或者服务;某些研究者叫喊危机是为了获得他们声称同样将提供对策的研究项目的经费;某些学术界人士叫喊危机是为了促使人们接受并阅读他们提出对策的专业论文。——《softwarerunaways》上海交通大学计算机系20软件危机更准确的说法:慢性痛苦(chronicaffliction)SuggestedbyProf.DanielTiechrow,UniversityofMichigan尽管忍受痛苦,但是软件依然在我们这个世界起着越来越重要的作用,但是如果能够医治痛苦,那么软件业将发展得更加健康。如何医治这种软件业的慢性痛苦?上海交通大学计算机系215.什么是项目项目是什么没有例行的任务需要计划特定的目标需要满足或者特定的产品需要生成项目有一个预定义的时间范围工作不仅仅是为自己,也是为他人工作中有些特性工作分为若干阶段项目完成需要资源项目是大型的或者复杂的上海交通大学计算机系22练习考虑下面事情哪些更像一个项目出版一份报纸结婚为金融部门的计算机系统处理2000年问题对什么是好的人机接口形式的研究对用户使用计算机系统出现问题的调查为一个新计算机写一个操作系统为一个机构安装新的Word版本造一个跨海隧道上海交通大学计算机系23什么是项目管理项目管理是在项目活动中应用知识,技能,工具和技术来满足项目需求的过程,它通过初始化,计划,执行,控制和结束等活动来完成。上海交通大学计算机系24上海交通大学计算机系25上海交通大学计算机系26项目管理的发展项目管理的发展50年代后期发展起来的一种计划管理方法,它主要从开始生产大型、高费用、进度要求严的复杂系统的需要中发展起来的在60年代只有航空、航天、国防和建筑工业才愿意采用项目管理70年代项目管理在新产品开发领域中扩展到了复杂性略低、变化迅速、环境比较稳定的中型企业中80年代开始,项目管理已经被公认为是一种有生命力并能实现复杂的企业目标的良好方法上海交通大学计算机系27项目管理框架ScopeMgt.TimeMgt.CostMgt.QualityMgt.HRMgt.CommMgt.RiskMgt.ProcureMgt.SuccessStakeholders’needsandexpectationsToolsandtechniques9KnowledgeAreasCoreFunctionsProjectIntegrationManagementFacilitatingFunctions上海交通大学计算机系28项目管理涉及的知识上海交通大学计算机系29项目阶段项目阶段每一个项目阶段的标记是一个或几个可交付的物件(deliverable)。Deliverable是一个具体的可验证的工作产品,如可行性研究,详细设计或者一个工作原型。项目阶段的结束是由关键交付物或者项目性能作标记的,以确定项目是否能够继续进行下一阶段或者检测和修正错误。阶段结束的检查经常被称为phaseexits,stagegates,killpoints.上海交通大学计算机系30上海交通大学计算机系31项目生命周期项目生命周期定义了一个项目的开始与结束。项目生命周期定义的阶段顺序通常包括某些技术转移或“握手”(handoff),如从需求到设计,从构造到运行,但是在风险允许下,也可以下一阶段提前进行,这种重叠的阶段被称为快速跟踪(fasttracking)。项目生命周期通常定义:各个阶段需要完成的技术工作;每个阶段需要涉及的人。上海交通大学计算机系32项目生命周期绝大多数项目生命周期有一些共同的特点,如成本和人员消耗的变化曲线。项目生命周期与产品生命周期是不同的。上海交通大学计算机系33项目生命周期上海交通大学计算机系34软件项目特征:不可见复杂性(以每一单位货币来看)灵活性:软件去适应人或组织而不是相反上海交通大学计算机系35IT软件项目管理技术的发展软件项目管理的发展软件项目管理最早源于70年代中期。当时美国国防部曾立题专门研究软件项目做不好的原因,发现70%的项目是由于管理不善引起的,而并不是因为技术实力不够,进而得出一个结论,即管理是影响软件研发项目全局的因素,而技术只影响局部。到了90年代中期,软件项目管理不善的问题仍然存在。据美国软件工程实施现状的调查,软件研发的情况仍然很难预测,大约只有10%的项目能够在预定的费用和进度下交付。目前,软件项目管理许多技术还很不成熟。但一些大型软件公司多采用一定的标准规范如CMM和ISO9000,以及一些软件项目管理辅助工具进行软件项目管理,并取得了较好的效果。上海交通大学计算机系36软件项目包含的活动需求分析描述设计编码校验安装维护支持上海交通大学计算机系37练习某一学院原来属于政府管辖,现在独立办学,但是工资单仍然由政府的计算机中心生成,而政府对这一服务进行收费。因而学校考虑是否自行采用一个现成的系统来管理这些数据。该项目包含哪些阶段?项目评估,计划,需求描述,设计/编码,验证上海交通大学计算机系38软件项目分类按软件类别信息系统:与组织接口嵌入式系统:接口是机器操作系统是一个信息系统还是嵌入式系统?有些项目是为了生成某一产品,而某些项目的进行是为了达到某些目标。许多软件项目分为两个阶段,第一阶段是目标驱动,第二阶段再生成真正的软件产品。学院所需要的独立的工资系统是一个目标驱动的项目还是一个产品驱动的项目?上海交通大学计算机系39从系统的角度看软件项目一个项目关注于生成一个系统和/或将一个旧系统转换为一个新系统系统,子系统和环境确定学院工资系统的子系统,工资系统的环境中的重要实体是什么?上海交通大学计算机系40工资系统上海交通大学计算机系41环境中主要实体税务部门养老金通过EDI支付的银行工会软件供应商硬件供应商其它办公设备供应商外部审计学院管理人员站点管理人员员工上海交通大学计算机系42从系统的角度看软件项目开放和封闭系统项目失败的一个原因是技术人员不能够开放系统和立即接受外界的变化。部分优化例如:可能很高效,但是难于修改社会技术系统软件项目属于此类上海交通大学计算机系43软件项目目标目标:项目的目标必须清晰定义,以确定成功的关键。每一个项目必须有一个项目权威(authority),该权威经常被称为项目指导委员会(steeringc
本文标题:IT项目管理教程之二
链接地址:https://www.777doc.com/doc-6165651 .html