软件项目管理笔记day9
 软件项目配置管理计划
 软件配置管理基本概念
记录软件产品的演化过程
得到精确的产品配置
最终保证软件产品的完整性,一致性,追溯性,可控性
 主要功能
版本管理
变更管理
其他
 配置项 (SCI)
是受控于软件配置管理的细目,是配置管理的最小单位,即管理的最小文件,需求规格可能是一个文件也可能是多个文件,因此需求规格可以是一个配置项,也可能是多个配置项而且每个配置项也需要定义一个标识符,即文件名
 基线
基线提供了软件生存期中各个开发阶段的一个特定点,标志开发过程一个阶段的结束或者里程碑
一个配置项形成并通过审核形成基线
基线修改需要按照正式的程序执行
 软件配置控制委员会(SCCB)
评估变更
批准变更申请
在生存期内规范变更申请流程
对变更进行反馈
与项目管理层沟通
 软件项目配置管理过程
配置项标示与跟踪过程
配置管理环境建立过程
基线变更管理过程
配置管理审计过程
配置状态统计过程
配置管理计划过程
 敏捷配置管理计划
敏捷的一个重要特征是持续交付,配置管理是重要的要素
敏捷需要全面配置管理
全面配置管理的基本要求
代码和编译构建产物 ...
软件项目管理笔记day8
 软件项目质量计划
 软件质量基本概念
软件质量是软件满足明确的说明或者隐含的需求的程度
质量模型:人们通常把影响软件质量的特征用软件质量模型来描述
质量的形成: 质量是在开发的过程当中形成的。软件项目的质量在需求阶段 设计阶段 编码阶段已经确定了。后期的检测 修复不能直接提高质量,只是一种打补丁行为或者是一种评估行为
质量成本:
预防成本:前期质量成本
缺陷成本:后期质量成本
 软件项目质量活动
软件质量管理
软件质量保证
软件质量控制
管理的对象
过程的质量
产品的质量
质量保证(QA)后期 管理行为
将审核的主体与为该主体以前建立的一组规程和标准进行比较
通过评价项目整体绩效,建立对质量要求的信任
提供项目和产品可视化管理报告
QA不能直接提高本次产品的质量
软件项目质量保证的具体活动
项目执行过程的审计
项目产品审计
质量控制(QC)前期 检查职能
确定项目结果与质量标准是否相符,同时,确定不符合的原因和消除方法
控制产品的质量,及时纠正缺陷
例如代码评审,单元测试
is it right done?
直接提高这个产品的质量
一 ...
软件项目管理笔记day7
 进度管理
 基本概念
任务定义:为完成项目的各个交付成果所必须进行的多项具体活动
任务关系(拓扑关系):项目各项任务之间存在一定的关联关系,根据这些关系安排任务之间的顺序
任务之间的关联关系依据
强制性依赖关系
软逻辑关系
外部依赖关系
内部依赖关系
进度管理图示
网络图
PDM优先图法:结点表示任务,箭线表示之间的逻辑关系
方便表示任务之间的各种关系
ADM箭线法(双代号网络图):箭线表示任务,两个号唯一确定一个任务
虚活动:表示逻辑关系,不需要消耗资源,为了确保两个标号之间只有一个任务
甘特图:方便查看任务的工期,开始和结束时间以及资源的信息
里程碑图:展示项目中重大工作的完成情况
资源图:项目紧张中资源的情况
燃尽图(敏捷):还有多少任务没有完成
燃起图(敏捷):已经完成了多少任务
 传统历时估算
计算任务、路径、项目的持续时间
 传统方法
定额估算
T=Q/(R∗S)T=Q/(R*S)T=Q/(R∗S)
T:活动历时
Q:任务工作量
R:人力数量
S:工作效率(贡献率):1正常
经验导出模型:根据项目数据统计 ...
软件项目管理笔记day6
 软件项目成本计划
软件项目规模:工作量,例如:软件规划,软件管理,需求分析,系统设计,编码,测试,以及后期维护等任务
软件项目成本:
完成软件规模相应付出的代价
待开发的软件项目需要的资金
人的劳动的消耗所需要的代价是软件产品的主要成本
货币单位
 代码行估算法(不常用)
从软件程序量的角度定义项目规模
与具体的编程语言有关
功能分解足够详细
有一定的经验数据
容易计算,但没有标准
 功能点估算(Albrecht适用于信息系统)
与实现的语言和技术无关
用系统的功能数量来测量其规模
通过评估,加权,量化得出功能点
功能点=UFC未调整功能点计数*TCF技术复杂度因子
 UFC-未调整功能点计数
 UTC
外部输入
穿越外部边界进入系统内部
外部输出
经过内部逻辑的处理提供面向应用的分析
外部查询
一个输入引出一个及时的简单输出
没有处理过程
外部接口文件
用接口将信息传送给另一个系统
提供的数据之能被引用
内部逻辑文件
系统边界内的文件
通过外界输入来维护
根据IFPUG功能点得出五项UTC的定级,再与组件复杂度相乘后得到UF ...
软件项目管理笔记day5
 Day5
 任务分解基本概念
 任务分解过程
将一个项目分解为根多的工作细目或者子项目,是项目变得更小,更易管理,更易操作
 任务分解结果
形成一个任务分解结构(WBS)
 WBS
wbs是对项目由粗到细的分解过程
面向交付成果的
wbs组织并定义了整个项目范围
wbs的最低层次的可交付成果为工作包
	工作包应当由唯一的主体负责
 WBS字典
对工作包的阐述
 任务分解方法
模版参照方法 根据标准或半标准的WBS当作模版
类比方法 项目具有相同的周期和因此而形成的相同或相似的工作细目要求
自顶向下方法 采用演绎推理,从一般到特殊,从项目的大局着手,然后逐步分解子项目,将项目变为更细、更完善的部分
自下而上,有利于观察和研究任务之间的关系,很少使用
 建议
最低层是可控的和可管理的,但是不必要的过细
每个工作包必须有一个提交物
定义任务的完成的标准
有利于责任分配
推荐任务分解到40小时以内,敏捷项目分解到小时
 敏捷项目的任务分解
用户故事的分解过程
Epic故事由许多较大的不确定的需求组成
具有低优先级,需要划分为较小的用户故事
针对每个Epic故事确定包含的特性及 ...
软件项目管理笔记day2
 软件项目确立
 项目立项
项目启动
客户的需求
提交给客户
不是所有需求都可实现(只有立项的可以)
项目立项
对一个项目目标、时间、成本的认可
项目招投标
甲方招标书
乙方新项目分析
需求分析
技术方案
项目规模结算
用户评估
可行性分析
项目风险分析
项目初步实施规划
乙方招标与竞标
公开招标-所有
有限招标-几个潜在的合格供应商
多方洽谈-不发明确的招标信息,选择几个供应商洽谈
直接谈判-直接与一家谈判
签署合同
项目期限
双方义务
产权归属
价格
项目章程
项目目标
完成标准
预期的工作流程
项目经理是领导团队的个人
开发计划
组织实施
项目控制
能力
技术项目管理能力
领导力
战略和商务管理
软件项目管理笔记day1
 项目管理
 什么是项目
项目是为了在一段时期里创建一个唯一的产品
项目要有明确的目标
项目之间的活动有相关性
限定的周期
特定性
资源成本的约束性
项目的不确定性
* 是伴随着项目的进行而进行的,确保满足成本,成功等。他是软件工程的一部分。
* 每个项目都是不同的,没有两个完全相同的项目
* 需求变更是必然的事情,控制需求在承受范围之内
* 使用新技术并不是完全成熟的,可能会导致出现问题
成本问题
* 沟通成本,每个人想的不同
* 进度和质量
开发混乱
* 没有好的管理者,每个人做的都很乱
用户变更
* 甲方的代理更换,对软件的要求非常不同
 软件项目的特殊性
系统的独特性
需求变更
逻辑实体
渐近细明
 PMBOK与软件项目管理知识体系
 项目管理知识体系指南-PMBOK
4-5年更新一个版本
具体项目可以有适合自己项目的过程
 5个过程组
启动过程
规划过程
执行过程
监控过程
收尾过程
 10个知识域
范围管理
进度管理
成本管理
质量管理
资源管理
沟通管理
风险管理
采购管理
干系人管理
集成管理
软件测试作业day329
根据如图所示程序流程图,分别用最少的测试用例完成基本路径覆盖、条件/判定覆盖的测试设计
 存在的组合示例
组合编号
1(x > 0)3(x < -10)
2(y > 10)4(y < 0)
判定条件取值
判定/条件组合
1
T1
T2
M=T
x > 0,y > 10,M取真
2
T1
F2
M=F
x > 0,y <= 10,M取假
3
F1
T2
M=F
x <= 0,y > 10,M取假
4
F1
F2
M=F
x <= 0,y <= 10,M取假
5
T3
T4
N=T
x < -10,y < 0,N取真
6
T3
F4
N=T
x < -10,y >= 0,N取真
7
F3
T4
N=T
x >= -10,y < 0,N取真
8
F3
F4
N=F
x >= -10,y >= 0,N取假
 条件/判定覆盖
让所有的判定结果至少出现一次,即覆盖组合存在1-8所有
if(x > 0 && y ...
软件测试作业day322
根据如图所示程序流程图,分别用最少的测试用例完成语句覆盖、判定覆盖的测试设计
if(x > 0 && y > 10){  y=y/x;}if(x < -10 || y < 0){  y=-(y + x)}
x=1 y=11 的情况
满足第一个分支 y=11
不满足第二个分支
x=-11 y=1 的情况
不满足第一个分支
满足第二个分支 y=10
上边这两条测试用例就可以做到语句覆盖,我没有找到一条覆盖所有的用例
并且上边这两条测试用例也可以做到判定覆盖
软件测试作业day315
对于YMD三个参数,NEXT函数应该是得出他的下一天
假设年在2000到2022有效
输入
有效等价类
无效等价类
Y
1. [2000-2022]之间的整数
2. (-∞,2000)的整数 3. (2022,+∞)的整数 4. 小数字母等无效输入
D
5. [1-28]的整数6. 297. 308. 31
9. (-∞,1)的整数10. (31,+∞)的整数11. 2912. 3013. 31 14. 小数字母等无效输入
M
15. [1-12]的整数
16. (-∞,1)的整数17. (12,+∞)的整数18. 小数字母等无效输入
无效
Y
D
M
异常
1.
1999
1
1
Y2. (-∞,2000)的整数
2.
2023
1
1
Y3. (2022,+∞)的整数
3.
Abcd
1
1
Y4. 小数字母等无效输入
4.
2000
0
1
D9. (-∞,1)的整数
5.
2000
32
1
D10. (31,+∞)的整数
6.
2021(不是闰年)
29
2
D11. 29
7.
2021(不是闰年)
30
 ...


