清华软件工程课件第14章 软件项目管理
合集下载
软件项目管理

An example of Work Breakdown Structure
2005 ~ 2008 Copyright @ Tsinghua University Page 21
1 ACME Housing Corporation 1.1 New Home Construction 1.1.1 Concrete 1.1.1.1 Pour Foundation 1.1.1.2 Install Patio 1.1.1.3 Pour Stairway 1.1.2 Framing 1.1.2.1 Frame Exterior Walls 1.1.2.2 Frame Interior Walls 1.1.2.3 Install Roofing Trusses 1.1.3 Plumbing 1.1.3.1 Install Water Lines 1.1.3.2 Install Gas Lines 1.1.3.3 Install B/K Fixtures 1.1.4 Electrical 1.1.4.1 Install Wiring 1.1.4.2 Install Outlets/Switches 1.1.4.3 Install Fixtures 1.1.5 Interior 1.1.5.1 Install Drywall 1.1.5.2 Install Carpets 1.1.5.3 Install Painting 1.1.6 Roofing 1.1.6.1 Install Felt 1.1.6.2 Install Shingles 1.1.6.3 Install Vents
–
Divide and conquer
Scheduling
2005 ~ 2008
Copyright @ Tsinghua University
软件工程课件(全)

03
识别项目中的关键路径,确保项目按计划进 行
04
及时调整项目计划,应对项目变更和不确定 性
风险管理策略制定
识别项目中的潜在风险, 包括技术风险、市场风险、 资源风险等
制定相应的风险应对策略 和措施,如风险规避、减 轻、转移和接受等
评估风险的概率和影响程 度,制定风险优先级列表
监控风险状态,及时调整 风险管理计划
质量改进
根据质量评估结果,制定相应的改进措施, 如优化性能、增强安全性等。
经验教训总结
对测试过程中遇到的问题进行总结,形成经 验教训,为后续项目提供参考。
06
项目管理与团队协作
项目计划制定与监控
01 制定详细的项目计划,包括项目目标、范围 、时间表、资源需求、成本估算等
02 设立项目里程碑,对项目进度进行阶段性监 控
开发方向。
持续集成和测试
03
迭代增量模型强调持续集成和测试的重要性,以确保每个迭代
周期都能交付高质量的软件产品。
03
需求分析与管理
需求获取与整理
确定需求来源
与客户、利益相关者、业务领 域专家等进行沟通,收集原始
需求。
需求分类
将收集到的需求按照功能、性 能、安全、易用性等方面进行 分类。
需求筛选
去除重复、模糊、不切实际的 需求,确保需求的准确性和可 行性。
处理变更请求
根据实际情况,决定是否接受变更请求,并 制定相应的实施计划。
跟踪和验证变更
对实施的变更进行跟踪和验证,确保变更的 正确性和完整性。
04
系统设计与实现
系统架构设计
分层架构
将系统划分为表示层、业务逻辑层和数据访问层,实现高内聚、 低耦合的设计。
软件项目管理课程PPT80页

36
10
155 60 8
5
对该方法的有效性有争议:
支持:易计算,很多软件估算模型以它为关键的输入。 反对:LOC依赖于语言,不适用于非过程化语言,在 分析与设计完成之前难以估算。
六盘水师范学院 孙新杰
27
(2)面向功能的度量
“功能”不能直接测量,利用其他的测量数据间接 地导出。 Albrecht提出来的一种称为功能点的度量。用 下表计算5个信息域的值:
另外,可根据文档的页数、评审的时间、功能点及 源代码行数来度量软件的生产率。
六盘水师范学院 孙新杰
23
项目度量可在项目进行的基础上评估产品的质量, 以指导在必要时修改技术方法以改进质量。
软件项目度量建议每个项目都应该测量: • 输入:完成工作所需要的资源(如人员、环境); • 输出:软件工程过程中产生的工作产品; • 结果:最终产品的有效性。 项目度量集成起来产生对整个软件组织公用的过程 度量。
六盘水师范学院 孙新杰
6
⑴列出需要澄清问题的清单
⑵安排与用户进行讨论的会议 ⑶评审用户要求及范围的陈述 ⑷研究推荐的解决方案 ⑸为正式的会议准备工作文档 ⑹共同制订能反映软件的数据、功能和行为特
征的规约,形成软件范围的文档 ⑺评审文档 ⑻根据需求修改文档 …… 庇护性活动贯穿于整个过程。
六盘水师范学院 孙新杰
2名在转换期间数据输入人员
$960
(40小时/名,12美元/小时)
六盘水师范学院 孙新杰
16
培训: 三天的开发人员内部培训课程 30个用户,三天的内部培训课程
复印 磁盘、纸张等消耗品 购买硬件、软件:
20台工作站Windows软件 20台工作站内存升级 网络软件 20台工作站办公软件产品
软件项目管理课程PPT113页

计算程序控制结构的V(G)值
E = 4 E = 3 N = 4 N = 3 V = 2 V = 2
计算程序控制结构的V(G)值
E = 6 N = 5 V = 3
例3.1 计算如图所示程序控制结构图的V(G)值。 (a) e=1,n=2,v=1; (b) e=3,n=3,v=2; (c) e=4,n=4,v=2; (d) e=3,n=3,v=2; (e) e=6,n=5,v=3.
过程的内部属性 工作量 计划和进度 一段时间内某类事件发生的次数 过程的外部属性 成本 可控制性 可观察性 稳定性 资源的内部属性 人 软硬件环境 方法 经验 资源的外部属性 成本 时间
3.1.1.2 面向规模的度量
代码行数 LOC或KLOC 生产率 Pl=L/E 其中 L 软件项目代码行数 E 软件项目工作量(人月 PM) Pl 软件项目生产率(LOC/PM) 代码出错率 EQRl=Ne/L 其中 Ne 软件项目的代码错误数 EQRl 每千行代码的错误数
每行代码平均成本 Cl=S/L 其中 S 软件项目总开销(元/美元) Cl软件项目每行代码的平均成本 文档与代码比 Dl=Pd/L 其中 Pd 软件项目文档页数 Dl 每千行代码的平均文档数
软件的外部属性和内部属性 外部属性 软件产品、过程、资源与环境的关系 如,成本、效益、劳动生产率、可靠性、可维护性 内部属性 软件产品、过程、资源、环境自身的属性 如,产品结构、模块化程度、复杂性、程序长度等。
产品-过程-资源
产品的内部属性 程序代码长度 程序功能 模块化 重用性 控制流 数据流 模块耦合度与内聚度 产品的外部属性 程序的可靠性 可用性 可维护性 软件的可理解性 有效性 可移植性
例3.1计算程序控制结构的V(G)值
软件工程经典教程(清华大学用).ppt共48页

角色
岗位职责
PM
1、跟踪单元测试计划和用例的编写、编码和单元测试活动执行的进展情
况,并协调资源。
2、组织专家评审单元测试计划和用例。
3、组织专家评审代码。
4、组织归档。
5、汇总TL的缺陷数据,输出单元测试报告。
TL
1、编写单元测试计划,编写并评审单元测试用例。
2、分配编码工作,控制编码和单元测试进度。
3、协调组员完成编码、代码走读、测试数据准备与管理、单元测试、问 题的修改工作。
4、组织单元测试工作,
5、执行单元测试用例,记录、修改、验证单元测试中发现的缺陷,汇总 模块单元测试缺陷数据和原因分析给PM。
开发人员
1、编写并评审单元测试用例。 2、编码,走读代码,修改代码。 3、执行单元测试用例,记录、修改、验证单元测试中发现的缺陷 。
参加对产品需求、系统规格说明书/架构设计说明书,数据库设计说明书, 接口文档的评审工作。
参加对产品需求、系统规格说明书/架构设计说明书,数据库设计说明书, 接口文档的评审工作。
参加对产品需求、系统规格说明书/架构设计说明书,数据库设计说明书, 接口文档的评审工作。
参加对产品需求、系统规格说明书/架构设计说明书,数据库设计说明书, 接口文档的评审工作。
参加对产品需求、系统规格说明书/架构设计说明书,数据库设计说明书, 接口文档的评审工作。
三)需求分析★
需求变更流程
角色分配
角色
PM
岗位职责
组织项目组成员对需求文挡的评审。发生需求变更时,组织项目组成员对 项目变更进行实施。
SE
TL 开发人员
TC 测试人员
CCB 评审专家
组织开发人员和测试人员理解需求,提供技术支持,维护需求问题跟踪单 和需求矩阵,识别需求和其他工作产品及计划间的不一致。 和PM一同分 析需求变更,评定严重级别。 编写需求文档,组织预审、内审、外审,以及输出评审表 编写需求文档,参加评审 理解需求,参加评审 理解需求,参加评审 评估需求变更,对变更做出决策 评审需求文挡
新编文档软件配置管理课程清华大学精品文档PPT课件

8
一个问题例子
软件出问题了…
我马上解决这个问题 (忘了变更登记)
2020/7/31
清华大学软件学院软件项目管理课件研制组
9
结果…
仍然有问题…
我已经改过了>_<
2020/7/31
清华大学软件学院软件项目管理课件研制组
10
另一些可能的情况
问题
现象
找不到软件 我知道我已经写好了,但是不知道放哪儿了
丢失连接 原来还是好好的,但是现在它指向的代码已 经不见了
软件集成测试 待交付的产品
验收测试 交付的产品
维护
2020/7/31
清华大学软件学院软件项目管理课件研制组
在软件开发早期:
规模: 1000机器代码行以内 人员: 1个程序员 时间: 很少超过一个月 花费: <= $5000 开发地点: 1处
2020/7/31
清华大学软件学院软件项目管理课件研制组
13
软件开发中的一系列普遍问题
缺乏可视性
缺乏可跟踪性
缺乏控制
缺少监控
配置管理
不受控的变更
2020/7/31
清华大学软件学院软件项目管理课件研制组
好处
提高软件开发生产率
降低软件维护费用 确保构建正确的系统
更好的质量保证
问题
为配置管理设置专 门的智能人员,并 且要有一些软硬件 环境支持,都增加 了开发的成本
减少缺陷
对于简单系统的开
发没有实际的意义
使软件开发依赖于过程而不是依赖于人
2020/7/31
清华大学软件学院软件项目管理课件研制组
17
课程内容
应做 什么
?
?
?
软件工程项目管理ppt

Enter your main title
Disruptive technologies such as artificial intelligence and big data are changing the world of work. Retail jobs are
项目团队建设
标题内容
标题内容
单击此处可编辑内容,根据您的需要自由拉伸文本框大小
单击此处可编辑内容,根据您的需要自由拉伸文本框大小
单击此处可编辑内容,根据您的需要自由拉伸文本框大小
单击此处可编辑内容,根据您的需要自由拉伸文本框大小
项目成本控制
单击此处添加文字阐述添加简短问题说明文字,单击此处添加文字阐述添加简短问题说明文字
标题内容
There is one kind of job though, that is both indispensable and
TEXT HERE
There is one kind of job though, that is both indispensable and
信息传递流程
There is one kind of job though, that is both indispensable and
项目质量控制
单击此处添加文字阐述,添加简短问题说明文字,具体添加文字
单击此处添加文字阐述,添加简短问题说明文字,具体添加文字
单击此处添加文字阐述,添加简短问题说明文字,具体添加文字
TEXT HERE
There is one kind of job though, that is both indispensable and
Disruptive technologies such as artificial intelligence and big data are changing the world of work. Retail jobs are disappearing in the US while the online sellers supplanting them fill their warehouses with robots instead of human workers.
软件项目管理ppt课件

15
IT项目管理-项目风险管理-14
Q期望货币值
. 期望货币值(EMV)是风险事件概率和风险 事件货币值的乘积
. 用于组织决定应该从事什么项目
10/12/2023
16
IT项目管理-项目风险管理-15
期望货币值(EMV)示例
10/12/2023
17
IT项目管理-项目风险管理-16
Q计算风险因子
. 计算风险因子——代表各种具体事件的整体 风险的数字(基于其发生的概率和对项目造 成的影响)
– 成本加成本百分比合同
– 买方向卖方支付容许的完成任务的成本,加上事先约 定的总成本的一定百分比。
. 单价合同
– 要求买方向卖方按单位服务的预定金额支付的合 同
10/12/2023
36
IT项目管理-项目采购管理-11
高
CPPC成 本加成 本百分 比合同
买方的风险
CPFF成 本加固 定费合
Q应急储备
. 是项目发起人为了应付项目范围或质量上可 能发生的变更而持有的预备资金
10/12/2023
22
IT项目管理-项目风险管理-21
Q风险应对控制
. 包括执行风险管理过程和风险管理计划,以 应对风险事件
. 执行风险管理过程是指确保风险意识是一项 在整个项目过程中、有全体项目团队成员执 行的不间断的活动
. 成本补偿合同
– 指向卖方支付直接和间接实际成本 – 成本加奖励费合同
– 买方向卖方支付容许的完成任务的成本以及事先决定 的费用和激励奖金
10/12/2023
35
IT项目管理-项目采购管理-10
– 成本加固定费合同
– 买方向卖方支付容许的完成任务的成本,加上按估算 成本一定百分比计算的固定费用。