软件项目管理课程介绍及要求周剑zjian811@126.com~zhoujian软件工程系409教研室13814948247软件项目管理课程之©CopyrightJianZhou2009软件项目管理课程介绍和要求2讲授内容产生背景教师课件教学目标内容组织讲解方式先导要求学习要求考核方式参考文献©CopyrightJianZhou2009软件项目管理课程介绍和要求3问题你是否参加过软件项目的开发你是否组织过软件项目的开发有哪些印象深刻的成功和失败案例你认为软件开发中最具有挑战性的问题是什么你认为自己能否胜任以下职位–程序员、设计师、项目经理、开发顾问你希望将来在IT企业中充当什么角色?如何达到这一角色©CopyrightJianZhou2009软件项目管理课程介绍和要求41.产生背景什么是软件危机软件危机的表现产生软件危机的根源解决危机的技术途径解决危机的管理途径©CopyrightJianZhou2009软件项目管理课程介绍和要求5什么是软件危机软件在开发和维护过程中遇到的一系列问题–困扰学术界和工业界–用户对软件开发缺乏信心–软件开发的高投入和高风险©CopyrightJianZhou2009软件项目管理课程介绍和要求6软件危机的表现(1of3)成本高–IBM360OS,5000多人年,耗时4年(1963-1966),花费2亿多美元–美国空军:1955年软件占总费用(计算机系统)的18%,70年60%,85年达到85%–美国全球军事指挥控制系统,硬件1亿美元,软件高达7.2亿美元计算机软件和硬件费用比010203040506070809060年代80年代计算机软件计算机硬件©CopyrightJianZhou2009软件项目管理课程介绍和要求7软件危机的表现(2of3)软件质量得不到保证–软件应用面的扩大:科学计算、军事、航空航天、工业控制、企业管理、办公、家庭–软件越来越多的应用于安全犹关(safetycritical)的系统,对软件质量提出更高的要求–80年代欧洲亚丽安娜火箭的发射失败,原因是软件错误–美国阿托拉斯火箭的发射失败,原因是软件故障–英国1986年开发的办公室信息系统Folios经4年,因性能达不到要求,1989年取消–日本第5代机因为软件问题在投入50亿美元后于1993年下马由于软件质量问题导致失败的软件项目非常多©CopyrightJianZhou2009软件项目管理课程介绍和要求8软件危机的表现(3of3)进度难以控制–项目延期比比皆是–由于进度问题而取消的软件项目较常见–只有一小部分的项目能够按期完成维护非常困难–软件维护的多样性–软件维护的复杂性–软件维护的副作用©CopyrightJianZhou2009软件项目管理课程介绍和要求9产生软件危机的根源逻辑产品,不同于物理产品复杂性高–逻辑产品,逻辑复杂性,远高于硬件复杂性–软件的复杂性随规模呈指数级上升规模大–应用扩大,代码量,1000万行,仍在不断膨胀影响软件生产率和质量的因素比较复杂–人员的能力和水平–团队合作缺乏有效、系统原理、原则、方法和工具的指导和辅助©CopyrightJianZhou2009软件项目管理课程介绍和要求10解决危机的技术途径20世纪60年代爆发,然而实际上软件危机随着计算机软件的产生而产生,只是在此之前其问题的严重性没有引起人们的关注和重视提出有效的方法和工具支持软件开发–1968年提出软件工程概念和思想–20世纪70年代的结构化软件开发方法–20世纪80年代的面向对象的软件开发方法–新的技术:软件重用、快速原型、需求工程–典型技术:COM,Java,C++,J2EE,.Net,….–支撑工具和环境:Jbuilder,VisualStudio,WebLogic,…©CopyrightJianZhou2009软件项目管理课程介绍和要求11技术手段不能完全解决软件危机到了20世纪90年代,软件危机依然存在,甚至更为严重–应用牵引技术的发展瀑布模型结构化软件开发方法OO软件开发方法–技术推动应用的深化应用的扩大和深入–应用变得越来越大和复杂,技术变得更加力不从心–错误的观念“只要有好的软件开发方法和工具就能高效率地开发出高质量的软件”©CopyrightJianZhou2009软件项目管理课程介绍和要求12解决危机的管理途径问题出在哪里?20世纪80年代末,美国DoD和工业界开始认识到管理的重要性–美国DoD的一项研究表明,70%的项目由于管理不善导致难以控制进步、成本和质量;–进一步的研究发现:管理是影响软件项目成功开发的全局性因素,而技术只影响局部–如果软件开发组织不能对软件项目进行有效管理,就不能充分发挥软件开发方法和工具的潜力,也就不能高效率地开发出高质量的软件产品©CopyrightJianZhou2009软件项目管理课程介绍和要求13重视管理管理是影响软件项目成败的第一要素–学术界和工业界开始研究和探索针对软件企业以及软件开发所需的管理机制和措施–提高企业的过程管理和控制能力ISO9000系列-强调质量CMM、CMMI-强调企业的过程管理和控制的能力–强化软件项目的管理需求、质量、风险、成本、版本等的管理©CopyrightJianZhou2009软件项目管理课程介绍和要求14软件项目管理的本质对象–人员、成本、产品主线–过程目标–在成本和进度范围内开发出高质量的软件产品©CopyrightJianZhou2009软件项目管理课程介绍和要求15软件项目管理的研究和应用研究–针对不同的技术–针对不同的机构规模和特点–探索新的途径应用–越来越多的企业关注管理问题,管理出效益、加强质量、降低风险–尝试寻找适合于自身特点的管理措施©CopyrightJianZhou2009软件项目管理课程介绍和要求162.教师和课件教师–周剑,软件工程系409教研室–Tel:13814948247–Email:zjian811@126.com课件下载–Homepage:~zhoujian©CopyrightJianZhou2009软件项目管理课程介绍和要求173.教学目标理解掌握运用©CopyrightJianZhou2009软件项目管理课程介绍和要求18理解什么是软件项目管理?为什么需要对软件项目进行管理?软件项目管理涉及那些方面?软件项目管理需要解决那些问题?软件项目管理有关的标准和规范软件项目管理的有关概念©CopyrightJianZhou2009软件项目管理课程介绍和要求19掌握解决问题的具体方法和措施–问题–过程–方法–结果辅助软件解决的各种工具–CASE工具©CopyrightJianZhou2009软件项目管理课程介绍和要求20运用增进组织在软件项目管理方面的能力推动组织的软件项目管理制定满足标准和规范的有关规程针对企业和机构的特点,在实际的项目开发过程中运用所学的知识促进软件项目管理©CopyrightJianZhou2009软件项目管理课程介绍和要求214.内容组织过程定义和剪裁软件度量项目计划跟踪监督过程管理风险管理需求管理产品管理配置管理质量保证课程介绍软件项目管理概述前言团队管理人员管理©CopyrightJianZhou2009软件项目管理课程介绍和要求225.讲解方式案例引入,分析问题和提出问题What,Why,How支持管理的CASE工具针对案例解决问题小结©CopyrightJianZhou2009软件项目管理课程介绍和要求236.先导要求软件工程软件开发经验软件开发方法程序设计语言©CopyrightJianZhou2009软件项目管理课程介绍和要求247.学习要求学习和掌握先导课程理解知识点和思想–无需死记硬背–大胆提出你的想法和意见掌握方法和工具运用解决实际问题,实践,课程实习阅读相关资料©CopyrightJianZhou2009软件项目管理课程介绍和要求258.考核方式课程实习(约60%)考试(约40%)©CopyrightJianZhou2009软件项目管理课程介绍和要求26课程实习要求(1/2)内容–相关课堂内容讲解完成之后时间–2-3周之内方式–电子文档评价–完整性、合理性、规范性©CopyrightJianZhou2009软件项目管理课程介绍和要求27课程实习要求(2/2)分组–以小组为单位,2-3人一组为宜报告–正规的文档,按阶段递交和打分讲解–10个学时讲解、How&Why讨论–课堂讨论©CopyrightJianZhou2009软件项目管理课程介绍和要求289.参考文献(1/3)《管理软件开发项目-通向成功的最佳实践》,[美]尼尔·怀特,电子工业出版社,2002年软件项目管理案例教程,韩万江,姜立新,机械工业出版社,2005软件工程实践导论--有关方法、设计、实现、管理之三十六计,金尊和,清华大学出版社,2005.《软件开发的科学与艺术》,微软亚洲研究院,电子工业出版社,2002年©CopyrightJianZhou2009软件项目管理课程介绍和要求29参考文献(2/3)软件项目管理实践,PankajJalote,清华大学出版社,2003《软件工程-实践者的研究方法》,RS.Pressman,机械工业出版社《超越混沌—有效管理软件开发项目》,[美]里·康斯坦丁著,雷明等译,电子工业出版社,2002年《软件项目管理:一个统一的框架》,WalkerRoyce,中信出版社,2002年《领导软件开发团队》,Whitehead,电子工业出版社,2002年©CopyrightJianZhou2009软件项目管理课程介绍和要求30参考文献(3/3)《从技术主管到项目经理》,PatriciaEnsworth,电子工业出版社,2002年3月《快速软件开发---有效控制与完成进度计划》,斯蒂夫迈克康奈尔著,电子工业出版社,2002年1月《软件开发的滑铁卢》,罗伯特.格拉斯,电子工业出版社©CopyrightJianZhou2009软件项目管理课程介绍和要求31几点思考工程问题–理论指导?、实践及其重要性管理问题–最佳?、摸索、应人而异©CopyrightJianZhou2009软件项目管理课程介绍和要求32讨论和要求谈谈你的–想法–期望–建议–……zjian811@126.com©CopyrightJianZhou2009软件项目管理课程介绍和要求33Q&ASoftwareProjectManagementPractice,Practice,andPractice