1. 软件项目管理
沟通路径
- n个人员的开发小组(无主程序员):n × (n - 1) 条沟通路径
- 主程序员的开发小组:n - 1 条沟通路径
软件项目估算
COCOMO 估算模型
COCOMO(Constructive Cost Model)是一种软件成本估算模型。
COCOMO II 估算模型
COCOMO II 是COCOMO的升级版,适用于更广泛的软件开发环境。
2. 进度管理
甘特图(Gantt图)
甘特图是一种条形图,用于显示项目进度安排:
- 横轴:时间
- 纵轴:任务
- 条形:任务的起止时间
特点:直观显示任务的时间安排和并行关系,但不易显示任务间的依赖关系。
PERT图
PERT(Program Evaluation and Review Technique)图是一种网络图,用于项目计划和进度控制:
- 节点:表示活动/事件
- 有向边:表示活动之间的依赖关系
- 边权:表示活动持续时间
考点:关键路径、关键路径长度、某个顶点(活动)是否在关键路径上。
关键路径
- 关键路径:从项目开始到结束的最长路径
- 关键路径长度:关键路径上所有活动持续时间之和
- 关键活动:关键路径上的活动,延迟会导致整个项目延期
3. 风险管理
风险管理过程
| 阶段 | 说明 |
|---|---|
| 风险识别 | 识别项目中可能存在的风险 |
| 风险预测(风险评估) | 评估风险发生的概率和影响 |
| 风险控制 | 制定应对策略,降低风险影响 |
风险分类
- 项目风险:预算、进度、人员等方面的风险
- 技术风险:设计、实现、接口等方面的风险
- 商业风险:市场、策略等方面的风险
4. 软件配置管理
主要内容
软件配置管理其主要内容包括:
- 软件配置标识
- 变更管理
- 版本控制
- 系统建立
- 配置审核
- 配置状态报告
主要目标
- 变更标识
- 变更控制
- 版本控制
- 确保变更正确的实现
- 变更报告
配置管理内容
- 版本管理
- 配置支持
- 变更支持
- 过程支持
- 团队支持
- 变化报告
- 审计支持
5. 软件质量
ISO/IEC 9126 软件质量模型
ISO/IEC 9126 定义了软件质量的六个特性:
| 特性 | 说明 |
|---|---|
| 功能性 | 软件满足规定和隐含需求的能力 |
| 可靠性 | 软件在规定条件下维持性能水平的能力 |
| 易用性 | 软件被理解、学习、使用的难易程度 |
| 效率 | 软件在规定条件下提供适当性能的能力 |
| 可维护性 | 软件被修改的难易程度 |
| 可移植性 | 软件从一个环境迁移到另一个环境的能力 |
Mc Call 软件质量模型
Mc Call 软件质量模型从三个维度评价软件质量:
- 产品运行:正确性、可靠性、效率、完整性、实用性
- 产品修订:可维护性、灵活性、可测试性
- 产品转移:可移植性、可重用性、互操作性
软件评审
软件评审是对软件工作产品进行系统检查,以发现缺陷和改进机会。
6. 软件可靠性、可用性、可维护性
可靠性
软件在规定条件下、规定时间内无故障运行的概率。
可用性
软件在需要时能够正常使用的概率。
可维护性
软件能够被修改的难易程度。
7. 软件容错技术
软件容错技术通过冗余设计和错误恢复机制来提高系统的可靠性:
- 故障避免:预防故障发生
- 故障检测:及时发现故障
- 故障恢复:从故障中恢复
- 故障屏蔽:隐藏故障影响
8. 软件工具
软件开发过程中使用的工具:
- 需求工具:需求管理、建模工具
- 设计工具:UML建模、原型工具
- 编码工具:IDE、代码编辑器
- 测试工具:自动化测试、性能测试工具
- 维护工具:版本控制、缺陷跟踪工具
评论