软件开发模型
一、模型
一、瀑布模型
- 定义阶段(软件设计【可行性】、需求分析)
- 开发阶段(软件设计【概要设计、详细设计】、程序编码、软件测试)
- 维护阶段(运行维护)
二、V模型
三、喷泉模型(面向对象)
可以叠代
四、演化模型
二、方法
一、结构化方法(面向数据流)
- 用户至上
- 严格区分工作阶段,每阶段有任务和结果
- 强调系统开发过程的整体性和全局性
- 系统开发工程化,文档资料标准化
- 自顶向下,逐步分解(求精)
二、面向对象方法
- 更好的复用性
- 关键在于建立一个全面的、合理的、统一的模型
- 分析、设计、实现三阶段,界限不明确
三、软件测试
一、黑盒测试法(动态测试)
- 等价类划分
确定无效与有效等价类
设计用例尽可能多的覆盖有效类
设计用例只覆盖一个无效类
- 边界值分析
处理边界情况时最容易出错
- 错误推测
- 因果图
二、白盒测试法(动态测试)
- 语句覆盖
- 判定覆盖
- 条件覆盖
- 条件判定覆盖
- 路径覆盖
三、静态测试
- 桌前检查
- 代码审查
- 代码走查
四、软件维护
一、可维护性因素决定
- 可理解性
- 可测试性
- 可修改性
二、软件维护类型
- 改正性维护
- 适应性维护
- 预防性维护
- 完善性维护
三、文档分类
一、开发文档
- 可行性研究和项目任务书
- 需求规格说明书
- 功能规格说明
- 设计规格说明书
- 开发计划
- 软件集成和测试计划
- 质量博阿正计划、标准、进度
- 安丘和测试信息
二、产品文档
- 培训手册
- 参考手册和用户指南
- 软件支出手册
- 产品手册和信息广告
三、管理文档
- 开发过程的每个阶段的进度
- 软件变更情况记录
- 相对于开发的判定记录
- 职责定义
五、软件质量保证
外部和内部质量
一、功能性
适用性
准确性
互操作性
安全保密性
二、可靠性
成熟性
容错性
三、易用性
四、效率
五、维护性
六、可移植性
六、CMMI
七、面对对象7大原则
单一原则:设计单一类
开放-封闭原则:对扩展开发,对修改封闭
替换原则:子类合理替换父类
依赖倒置原则:依赖抽象,而不是具体实现;针对接口编程,不针对现实
接口隔离原则:使用多个专门的接口比使用单一的总接口要好
组合重用原则:尽量使用组合,而不是继承关系到达重用目的