软件工程
CMM(能力成熟度模型)
CMMI(能力成熟度模型集成)
瀑布模型
适用于需求明确的,
V模型(质量保证)
增量模型
一开始的需求划分为增量然后不断加入增量迭代
演化模型(迭代更新)
不断地收集客户需求
演化模型可以分为原型模型和螺旋模型
增量就是是有较为明确需求,演化模型是一步步确定需求
原型模型
原型就是只开发出一个原型 不需要详细设计
螺旋模型(风险分析)
喷泉模型
统一过程(UP)模型
敏捷方法
软件需求
需求分析
系统设计
系统测试
单元测试
集成测试![在这里插入图片描述](https://img-blog.csdnimg.cn/ac0d5fc643554502a1d503cb0b8f6cee.png)
向上或向下都是需要编写最后边的的那个模块
测试完修改后还要重新测试
测试方法
静态测试,也就是编译阶段,动态测试,也就是运行阶段
黑盒测试
把被测试的结果当作一个黑盒子,里面什么都看不见
McCabe度量法
m是箭头,n是圆圈abc…
求复杂度一个是可以用公式,还有一个是可以看有几个封闭的环然后加1
黑盒测试
逻辑覆盖
判定覆盖
设置判定用例来保障真和假的结果都可以取到
条件覆盖
判断覆盖看到是菱形中的条件true和false,条件覆盖就是把菱形中的条件拆开看每一个判断,覆盖true和false
判定条件覆盖
条件组合覆盖
路径覆盖
伪代码+白盒测试=McCabe度量法
需要先把伪代码转为程序流程图才能用
36
系统可维护性评价指标
系统维护概述
系统文档进行维护,用户文档进行测试
可维护性,不属于开发阶段,但是开发阶段就需要保证软件具有可维护性的特点
软件文档
高质量文档对于软件产品的效益又重要的意义
软件维护内容
软件的可靠性,可用性,可维护性
沟通路径
每个人都和剩下的人有一条沟通路径
公式是首相加尾箱乘以项数除以2
篮圈里的是普通程序员每个人都需要和主程序员进行沟通,但是普通程序员之间不需要进行沟通
软件项目估算
进度管理
Gantt图(甘特图)
项目活动图重要,甘特图和项目计划评审技术做了解
PERT图![在这里插入图片描述](https://img-blog.csdnimg.cn/de4c5f7ad8a642eb9f50ad22e22bcf0f.png)
可以有多个开始结点,但只能有一个结束节点
前一个节点的最早时刻算法:用钱一个节点的最早时刻加一个持续时间
PERT 图最早时刻
被两个任务所指向的话,取最大值
PERT 图最迟时刻![在这里插入图片描述](https://img-blog.csdnimg.cn/a0c8c630d33248c2bd246f7a81dfc2e7.png)
从该时刻出发的任务最迟从此时刻开始
最迟时刻从后往前推,最迟时刻减去持续时间
**最迟时刻遇到分解点取最小值 **
PERT图松弛时间和关键路径
也就是说松弛时间=最迟时刻-上一个结点的最早时刻
松弛时间对于有两个多个分支,需要进行分别讨论
关键路径就是最迟时刻减去最早时刻等于0
项目活动图
**结束节点的最早时刻就是关键路径长度 **
画项目活动图
a2的前驱是a1表示a1在a2前