一、软件生命周期(Boehm)
计划时期
- 问题定义
- 可行性研究
甲方要乙方开发项目: 要求甲方的用户、系统分析师参与乙方的项目负责人参与
开发时期
- 需求分析(明确信息系统的模块数量,实现什么功能,界面,等等)(用户、系统分析师、项目负责人)
- 总体设计(模块化)(系统分析师、软件设计师)
- 详细设计(针对单个模块进行设计)(软件设计师、程序员)
- 编码(把单个模块代码化)(程序员)
- 测试(测试)(测试工程师)
运行时期
- 维护(错误修改、适应性维护)
二、软件开发模型
瀑布模型
瀑布模型有利于大型项目中人员的管理 关键:精准把握用户需求的话 缺陷:前期的错误没被发现会影响整个开发失败。比如需求分析后,用户不再参与,不能精准把握用户需求的话,就失败了。
喷泉模型
强调各个模型之间没有明显界限,提高效率,不利于人员组织管理和文件管理
原型化模型
搞一个捡漏的界面,来捕获用户需求
演化模型
不强调每一次发布可操作模型
增量模型
强调每一次发布可操作模型
V模型
拔高测试的地位
在搞需求分析的时候,做好系统测试(是否满足用户需求)的计划 在概要设计的时候,做好集成测试(模块之间的协作性)的计划 在详细设计的时候,做好单元测试的计划 验收测试(是否满足合同) 以上内容测试出来问题,解决问题之后需要进行回归测试。
螺旋模型(原型化方法+瀑布模型)
每次经过一个瀑布模型,生成一个原型。 主要加入了风险分析
三、软件开发和测试
划分软件系统模块要做到高内聚,低耦合。 动态测试(上机)
- 黑盒测试法:只关心输入输入。如:边界值分析法。
- 白盒测试法:关心程序实现细节。又称为逻辑驱动测试、路径测试、结构测试。
- 灰盒测试法:介于两者之间,但是没白盒那么仔细。
静态测试 代码审查、程序员自查。
四、软件测试
五、项目管理
甘特图(Gantt)
作用:时间管理 缺陷:不能看清楚不同的工作之间的依赖关系
计划评审图(PERT)
最短工期:关键路径(开始到结束历时最长的路径) 松弛时间:最晚开工时间-最早开工时间
|