软件项目管理课程课件-清华

上传人:灯火****19 文档编号:125085750 上传时间:2020-03-15 格式:PPT 页数:452 大小:4.11MB
返回 下载 相关 举报
软件项目管理课程课件-清华_第1页
第1页 / 共452页
软件项目管理课程课件-清华_第2页
第2页 / 共452页
软件项目管理课程课件-清华_第3页
第3页 / 共452页
软件项目管理课程课件-清华_第4页
第4页 / 共452页
软件项目管理课程课件-清华_第5页
第5页 / 共452页
点击查看更多>>
资源描述

《软件项目管理课程课件-清华》由会员分享,可在线阅读,更多相关《软件项目管理课程课件-清华(452页珍藏版)》请在金锄头文库上搜索。

1、教材 教材 软件项目管理软件项目管理 覃征覃征 等等 编著编著 软件项目管理 软件项目管理 第第 1 1 章章 导导 论论 1 11 1软件工程软件工程 一 软件工程定义一 软件工程定义 软件 是与一个系统 特别是一个计 算机系统有关的程序 过程和有关文档 的完整集合 工程 是科学和数学的应用 通过这 一应用 使得自然界的物质和能源的特 性通过各种结构 机器 产品 系统和 过程成为对人类有用的东西 软件工程的定义有多种说法软件工程的定义有多种说法 lFritz Bauer NAV69 在NATO会议上给出 的定义 l 软件工程是建立和使用一套合 理的工程原则 从而经济地获得可靠的 和能在实际机

2、器上高效运行的软件 lIEEE IEEE93 给出了一个更加综合的定 义 将系统化的 规范的 可度量的方 法应用于软件的开发 运行和维护的过 程 即将工程化应用于软件中 中所述方法的研究 l本书给出的定义 软件工程是一类求解软件的工程 它应 用计算机科学 数学以及管理科学等原 理 借鉴传统工程的原则 方法 创建 软件以达到提高软件质量 降低成本 按时按量交付的目的 l计算机科学 数学用于构造模型和算法 l工程科学用于制定规范 设计模式 评 估成本及确定权衡 l管理科学用于计划 资源 质量 成本 等管理 二 软件工程框架二 软件工程框架 l软件工程目标 l软件工程活动 l软件工程原则 软件工程框

3、架软件工程框架 软件工程目标软件工程目标 l正确性 软件产品达到预期功能的程 度 l可用性 软件基本结构 实现 文档 为用户可用的程度 l合算性 具有经济效益 即开发 运 行的开销满足用户要求的程度 软件工程活动软件工程活动 生产软件步骤生产软件步骤 l问题定义 明确要解决的问题 l可行性分析 即定义的问题是否有解决的办 法 l需求分析 为解决问题 目标系统必须具备 哪些功能 l设计 总体设计 详细设计 l实现 编写程序代码 l确认 测试 l支持 软件维护 软件工程原则软件工程原则 l选取适宜的开发模型 l采用合适的设计方法 l提供高质量的工程支持 l重视开发过程的管理 三 软件工程模型三 软

4、件工程模型 l所有软件工程的活动都必须进行管理 l软件项目管理贯穿于软件工程的演化过程 l软件工程的演化过程 三 软件工程模型三 软件工程模型 l软件工程模型 组织软件工程活动 的方法 称为软件工程模型 l软件工程模型是用一定的流程将各个活 动连接起来 并可用规范的方式操作全 过程 如同工厂的生产线 l常见模型有线性 快速原型 螺旋 渐 增式等模型 常见的软件工程模型常见的软件工程模型 l线性模型 也称 瀑布模型 顺序模型 常用的软件工程模型常用的软件工程模型 l螺旋模型 可看成是连接的线性模型 常用的软件工程模型常用的软件工程模型 l渐增式模型 增量模型 常用的软件工程模型常用的软件工程模型

5、 l渐增式模型首先构建系统的基本轮询回 路 1 21 2项目管理项目管理 一 一 项目与项目管理项目与项目管理 项目的概念及特点 项目 是指在一定约束条件下具有特定目标的一 项一次性任务 共同特点 一次性 又称为单件性 目标的明确性 成果性目标 功能性要求 约束性目标 作为管理对象的整体性 2 2 项目的生命周期 项目的生命周期 项目的生命周期 项目启动阶段 进行可行性分析 若接 受项目进行需求确认 项目立项 项目计划阶段 建立解决问题方案 向 客户提交各种计划书 项目实施阶段 执行解决方案 实现项 目的目标 工作结束阶段 正式验收项目 另一书中对项目周期阶段的划分另一书中对项目周期阶段的划分

6、 生命周期阶段 工程阶段 初始阶段 细化阶段 生产阶段 构造阶段 移交阶段 各阶段特点各阶段特点 l工程阶段 使计划 需求和构架同时进化 并解 决开发风险 这个阶段以一个可执行构 架基线结束 即工程阶段进行设计和综 合活动 l生产阶段 进行构造 测试和实施活动 各阶段特点各阶段特点 l借助提高功能的演示使系统能力得以进 化 l各种活动同时进化 每个阶段都包括一 次或多次迭代 一次迭代表示一个活动 序列 这些活动有明确的中间事件 里 程碑 各阶段特点各阶段特点 l主里程碑 使用正式版本的评价标准和发布说明 书 一个阶段结束产生一个主里程碑 l次里程碑 使用非正式版本 一次迭代结束产生 一个次里程

7、碑 各阶段特点各阶段特点 l为实现整个项目的某个特定状态 每个阶段都要进 行足够次数迭代 l各阶段的工作产品 制品 文档等 同时进化产 生 但每个阶段都有一个主要焦点 初始阶段 需求 生命周期目标里程碑 细化阶段 设计 生命周期构架里程碑 构造阶段 实现 初始的可操作能力里程碑 移交阶段 实施 产品发布里程碑 这里的模型是渐增式 增量式 项目管理 项目管理 l项目管理定义 PMI Project Management Institute 定义 在项目活动中运用一系列的知识 技能 工具 和技术 以满足或超过相关利益者对项目的要 求 项目管理又可定义为 在一个确定的时间范围内 为了完成一个既定的目

8、标 通过特殊形式的 临时性组织运行机制 经有效的计划 组织 领导和控制 充分利用既定有限资源的一种系 统管理方法 l项目管理特点 综合性 创造性 时间性 项目管理的要素 项目管理的要素 l范围 时间 成本 质量 组织 客户 满意度 二 项目管理知识体系二 项目管理知识体系 1 集成管理 2 范围管理 3 时间管理 4 成本管理 5 质量管理 6 人力资源管理 7 沟通管理 8 采购管理 9 风险管理 三 项目管理学科的发展三 项目管理学科的发展 l项目管理学科发展的特点 全球化发展 多元化发展 专业化发展 l项目管理学科在双向探索中前进 各学科领域的理论 方法应用于项目管理 项目 管理的理论

9、方法应用于各学科领域 l项目学发展的趋势 1 微观项目管理 即单一项目的管理 2 PMBOK是当前项目管理学科发展的重要内容 3 项目学是知识创新与市场相结合的综合化发展 4 项目学是科学 技术和艺术的综合 软件项目管理 软件项目管理 一 软件项目产品的特点一 软件项目产品的特点 1 抽象性 2 缺陷检测的困难性 3 高度的复杂性 4 缺乏统一规则 二 软件项目失控的原因二 软件项目失控的原因 l软件失控项目 p15 16 是指软件项目在进行时遇到困难 导 致大大超出可控制范围的项目 l软件项目失控的原因 七方面原因 需求不明确 计划不充 分和过于乐观的估计 采用新技术 管 理方法缺乏或不恰当

10、 性能问题 团队 组织不当 人际因素 三 软件项目管理的内容三 软件项目管理的内容 l软件项目管理的定义 p19 l软件项目管理的过程 p19 l软件项目管理的内容 p19 20 软件项目管理的定义软件项目管理的定义 lPMI对项目管理定义 在项目活动中运用 一系列的知识 技能 工具和技术 以 满足或超过相关利益者对项目的要求 l软件项目管理的定义 在软件项目活动 中运用一系列的知识 技能 工具和技 术 以满足软件需求方的整体要求 软件项目管理的过程软件项目管理的过程 1 启动软件项目 2 制定项目计划 3 跟踪及控制项目计划 4 评审项目计划 5 编写管理文档 软件项目管理的内容软件项目管理

11、的内容 1 软件项目需求管理 2 软件项目估算与进度管理 3 软件项目配置管理 4 软件项目风险管理 5 软件项目质量管理 6 软件项目资源管理 第 章第 章 软件项目需求管理软件项目需求管理 软件需求 软件需求 一一 软件需求概念软件需求概念 1 1 定义定义 l简单地说 软件需求就是确定系统需要 做什么 l严格意义上 软件需求是系统或软件必 须达到的目标与能力 定义软件需求的五项内容定义软件需求的五项内容 1 系统的输入 2 系统的输出 3 系统的功能 4 系统的属性 5 系统环境的属性 2 2 软件需求在软件项目的作用软件需求在软件项目的作用 l软件需求与其他软件过程的关系 二二软件需求

12、类别软件需求类别 1 1 软件需求的抽象层次软件需求的抽象层次 软件需求分成四个抽象层次 1 原始问题描述 2 用户需求 3 系统需求 4 软件设计描述 软件需求的抽象层次软件需求的抽象层次 1 原始问题描述是对要解决问题的叙 述 2 用户需求是用自然语言和图表给出的 关于系统需要提供的服务及系统的操作 约束 3 系统需求用详细的术语给出系统要提 供的服务及受到的约束 因而系统需求 文档也称为功能描述 4 软件设计描述是在系统需求的基础上 加入更详细的内容构成的 它作为软件 详细设计和实现的基础 是对软件设计 活动的概要描述 l原始问题描述和用户需求的抽象层次比 较高 能帮助我们在较高的抽象层

13、次上 进行交流 便于用户和软件开发人员之 间的理解和沟通 l系统需求和软件设计描述则是具体的 可以根据它们来进行编码实现 l通常情况下 经常提到的是用户需求和 系统需求 2 2 用户需求用户需求 l用户需求从用户的角度描述系统的需求 以便没有专业技术背景的用户能看懂 它只描述系统的外部行为 尽量避免 涉及系统内部的设计特性 因而用户需 求就不可能使用任何实现模型来描述 而只能通过自然语言 图表 图形等来 叙述 使用自然语言可能出现如下问题使用自然语言可能出现如下问题 l描述困难 l需求混乱 因此写需求文档应遵守一些简单原则 l标准的格式 l使用一致的语言 l使用特殊文本 l尽量避免专业术语 3

14、 3 系统需求系统需求 l系统需求是比用户需求更为详细和专业 的需求描述 是系统实现的依据 一个 完整且一致的系统需求描述 是软件设 计的起点 l系统需求描述通常采用结构化语言和过 程设计语言PDL 系统需求的描述语言系统需求的描述语言 名称 说明 优点 缺点 结构 化语 言 是对自然语言格式化 依赖于定义标准格式或 模板来表达需求描述 表现能力强 易于理解 一 致性约束 控 制结构 图形 化显示 仍然有一定程 度的二义性 细致程度欠缺 PDL 源于像Java或Ada这样的 程序设计语言 包含附 加的 更抽象的构造来 提高其表达能力 可通过软件工 具进行语法和 语义检查 表达系统功能 的能力不

15、足 使用的符号只 有具有程序设 计背景的人才 能理解 4 4 系统需求的分类 系统需求的分类 l分为三类 功能需求 非功能需求 领域需求 1 功能需求 功能需求描述系统所应提供的功能和服务 包括系统应该提供的服务 对输入如何响应 及特定条件下系统行为的描述 系统的功能需求应该具备全面性和一致性 要做到全面和一致几乎是不可能的 原因有 二 其一是系统本身固有的复杂性 其二是用 户和开发人员站在不同的立场上 导致他们对 需求的理解有偏颇 甚至出现矛盾 为保证软件项目的成功 无论在哪个阶段 只要发现问题 都必须修正需求文档 2 非功能需求 非功能需求是指那些不直接与系统的具 体功能相关的一类需求 但

16、它们与系统的总体 特性相关 如可靠性 响应时间 存储空间等 非功能需求定义了对系统提供的服务或 功能的约束 包括时间约束 空间约束 开发 过程约束及应遵循的标准等 l按照非功能需求的起源 可将其分为三大类 产品需求 机构需求 外部需求 l产品需求对产品的行为进行描述 机构需求 描述用户与开发人员所在机构的政策和规定 外部需求范围比较广 包括系统的所有外 部因素和开发过程 表表2 2 2 2 非功能需求的类别非功能需求的类别 非 功 能 需 求 产品需 求 可用性需求 效率需求 性能需求 空间需求 可靠性需求 可移植性需求 机构需 求 交付需求 实现需求 标准需求 外部需 求 互操作需求 道德需求 立法需求 隐私需求安全性需求 3 领域需求 领域需求的来源不是系统的用户 而是系统应用的领域 反应了该领域的 特点 领域需求可能是功能需求 也可能 是非功能需 其确定需要领域知识 三 软件需求文档三 软件需求文档 软件需求文档是对软件系统要求的陈述 包括 用户需求 系统需求 三 软件需求文档三 软件需求文档 1 1 需求文档的编制与作用需求文档的编制与作用 编写需求文档时 以下几点是应该注意的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号