1 / 77

软件项目管理

软件项目管理. 授课教师:张莹 电子邮件: zying119@yahoo.com.cn. 软件项目管理概述 人员组织与管理 软件项目规划 — 估算软件规模 — 估算软件工作量 — 估算开发时间 — 安排项目开发进度 软件风险管理 软件配置管理. 内容提纲. 软件产品 不可见性 项目 高度 不确定性 软件过程的多变性 软件人员的高流动性. 软件项目的特点. 为了使软件项目能够按照 预定的成本 、 进度 、 质量 顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动. 软件项目管理的定义. 过程 ( P rocess ). 工具

dillon
Download Presentation

软件项目管理

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 软件项目管理 授课教师:张莹 电子邮件:zying119@yahoo.com.cn

  2. 软件项目管理概述 人员组织与管理 软件项目规划 —估算软件规模 —估算软件工作量 —估算开发时间 —安排项目开发进度 软件风险管理 软件配置管理 内容提纲

  3. 软件产品不可见性 项目高度不确定性 软件过程的多变性 软件人员的高流动性 软件项目的特点

  4. 为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动 软件项目管理的定义

  5. 过程 (Process) 工具 (Tools) 人员 (People) 项目 (Project) 产品 (Product) 软件项目管理的“4P” 自动化 模版 参与 结果

  6. 思考:项目与过程之间的关系?

  7. 项目启动 —确定项目范围、组建团队、建立项目环境 项目规划 —确定项目活动、预算成本、制定进度 项目实施 —监控项目执行、管理风险、控制变更 项目收尾 —客户验收、安装软件、总结项目经验 软件项目管理的基本活动

  8. 民主式组织结构 主程序员式组织结构 技术管理式组织结构 思考 项目启动——团队组建与管理

  9. 代码行技术 功能点技术 项目规划——估算软件规模

  10. 概述 —关于软件规模(KLOC或FP)的函数 —单位:人月(pm) —不同类型的软件和开发环境需要不同的工作量估算模型 分类 —静态单变量模型 —动态多变量模型 —COCOMO2模型 项目规划——估算工作量

  11. 举例:估算采用VB编写“工资管理系统”的工作量举例:估算采用VB编写“工资管理系统”的工作量 已知: 1、“工资管理系统”的功能点数=138 2、假设fi=1,则 求:“工资管理系统”的工作量是多少? 步骤1:功能点数转换为代码行数 步骤2:代入公式,计算结果 E=11.47(PM)

  12. 项目规划——估算开发时间 • 公式介绍 单位:月

  13. 成正比关系,即人多力量大 成反比关系,即人少节约成本 存在饱和值,即在一定人员数量下取得高效率 讨论:项目组总生产率和人员数量之间的关系?

  14. 向一个已经延期的项目增加人力,只会 使得它更加延期 ——Brooks规律 项目组规模和项目组总生产率的关系 举例:假设项目组每人L=500LOC/月,项目组一名人 员至少与一个以上人员通信,每次通信造成效 率减少l=50LOC/月,求最佳的项目人数P=? 答案

  15. 定义适合当前项目的任务集合 识别出关键任务 跟踪关键任务的进展状况,以保证能及 时发现拖延进度的情况。 项目规划——进度安排

  16. Gantt图 工程网络 制定进度计划

  17. Gantt图

  18. 轮流法 流水线法 讨论:如何设计上述项目任务的进度安排?

  19. 不能显式地描绘各项作业彼此间的依赖关系 进度计划的关键部分不明确。 计划中有潜力的部分及潜力的大小不明确 Gantt图的缺点

  20. 工程网络

  21. 4 2 0 4 6 3 2 2 0 0 6 1 3 0 2 1 “旧屋翻新”的工程网络图

  22. 完整的工程网络图

  23. 一面 二面 三面 四面 讨论:能否考虑撤销清洁的5个人员 清理 刷漆 刮漆 总共花去23个小时 T

  24. 什么是软件风险管理? 通过主动而系统地对项目风险进行全过程的识别、分析和监控,最大程度降低风险对软件开发的影响 软件风险管理

  25. 软件风险管理的过程 确定项目有哪些风险,包括运用专家判断、 头脑风暴分析风险产生原因,以确定风险 事件及其来源 风险识别 风险分析 比较风险大小,确定风险性质 按照风险大小和性质,制定相应的措施去应 对和响应风险 风险规划 监督、检查风险事件的发生情况以及风险措 施的落实情况 风险监控 软件风险管理

  26. 定义 一种标识、组织和控制修改的技术。 基本概念 软件配置项(SCI):为了配置管理而作为单独实体处理的制品或软件 基线(Baseline):软件配置项经过正式复审而进入受控的状态 版本(Version):记录软件配置项的演化过程 软件配置库:记录与配置有关的所有信息 软件配置管理

  27. 便于配置项的控制和管理,需要将配置项采用分层的方式进行命名。便于配置项的控制和管理,需要将配置项采用分层的方式进行命名。 配置管理活动—SCI标识

  28. 加锁—修改—解锁 配置管理活动—版本控制

  29. 文件版本库 配置管理活动—版本控制 • 拷贝—修改—合并

  30. 把软件组件编译和连接成一个特定目标配置上的运行程序的过程把软件组件编译和连接成一个特定目标配置上的运行程序的过程 配置管理活动—系统构建

  31. 变更请求 变 更 机 制 变更控制机构 变更控制规程 变更许可 变更实施 配置管理活动—变更控制

  32. 目的:评价软件机构的软件过程能力成熟度 的标准 基本思想 指导软件机构确定当前的过程成熟度 识别出对过程改进起关键作用的问题 明确软件过程改进的方向和策略 通过集中开展与过程改进的方向和策略相一致的一组过程改进活动,软件机构的软件过程能力得到循序渐进的提高。 能力成熟度模型CMM

  33. 初始级(1级):随意过程 可重复级(2级):可管理的软件过程 已定义级(3级):在2级基础上,定义执行的步骤标准 已管理级(4级):建立所有阶段性产品明确的度量指标 优化级(5级):通过过程执行的反馈信息持续改善下一步执行 能力成熟度的5个等级

  34. 软件人员的素质和组织管理是保证软件项目成功最为重要的因素软件人员的素质和组织管理是保证软件项目成功最为重要的因素 举例 微软公司的成功经验中,如何得到优秀员工、如何让员工发挥自己的能力是最值得我们研究的。 返回 人员(People)

  35. 为了保证软件产品质量,降低风险,软件项目管理必须解决获取有效需求、管理需求变更的问题为了保证软件产品质量,降低风险,软件项目管理必须解决获取有效需求、管理需求变更的问题 返回 产品(Product)

  36. 软件过程管理中,需要定义整个软件开发经历的活动、所采用的技术方法、每个阶段验收标准和制品等。软件过程管理中,需要定义整个软件开发经历的活动、所采用的技术方法、每个阶段验收标准和制品等。 培训参与人员 在软件项目开发过程中,通过反馈,不断改进过程 返回 过程(Process)

  37. 项目管理者在有限资源的约束下,对软件项目的全过程进行计划、组织、指挥、协调、控制和评价,以实现项目的目标项目管理者在有限资源的约束下,对软件项目的全过程进行计划、组织、指挥、协调、控制和评价,以实现项目的目标 举例 IBM公司项目经理的一天 返回 项目(Project)

  38. 返回“项目” 与“开发人员”的对比

  39. 特点 —成员之间关系平等 —根据每个人的能力和经验适当分配 —通过全体人员协商决定项目工作 优点 —同等项目参与权,可以激发大家的创造力,利于攻克 难关 —适用于小规模、能力强、有共同工作经历的团队 缺点 —缺少权威人士,在意见分歧的情况下很难解决 返回 民主式组织结构

  40. 秘书 主程序员 后备程序员 程序员 程序员 程序员 主程序员式组织结构

  41. 优点 —实现了项目人员分工专业化 —降低了管理的复杂性,提高了工作效率 缺点 —现实社会中,缺乏同时具备高超管理才 能和技术才能的“全才” 返回 主程序员式组织结构的优缺点

  42. 技术管理式组织结构1

  43. 优点 —将“主程序员”的职责专一化 缺点 —“技术组长”与“行政组长”的职责划分不清 —不能适应大规模的项目 技术管理式组织结构优缺点

  44. 能否达到“集思广益”的效果? 技术管理式组织结构2

  45. 返回 改进方案

  46. 思 考 • 1、编译原理课程实践 • 3-5人组成团队,实现scanner的功能 • 请为团队A的组织结构设计适当的方案? • 2、毕业设计实践过程中 • 教师提出项目的需求,学生在教师指导下,按 时保质保量完成 • 请为这个团队B的组织结构设计适当的方案?

  47. 程序员 程序员 秘书 主程序员 后备程序员 程序员 程序员 程序员 程序员 团队A组建方案

  48. 项目经理(教师) 组长 ……… 组长 程序员 程序员 程序员 程序员 程序员 程序员 返回 团队B组建方案

More Related