一、软件研发流程
1.软件产品 (了解)
软件 = 程序+数据+文档(安装手册,帮助手册)
2.软件研发中的过程文档(了解)
- 产品部门:用户需求、产品需求、需求规格说明书、原型文档
- 开发部门:概要设计方案、详细设计方案、接口文档
- 测试部门:测试计划、测试方案、测试用例、缺陷单、测试报告
过程文档也是测试的内容:测试方法是评审。
3.软件工程(了解)
1993年IEEE进一步给出了一个更全面的定义。 软件工程是: ① 把系统化的、规范的、可度量的途径应用于软件开发、运行和维护的过程.也就是把工程化应用于软件中; ② 研究①中提到的途径。
4.软件开发模型
①瀑布模型(理解,画图)
特点:
- 线性化模型结构
- 各阶段具有里程碑特征
- 基于文档的驱动
- 严格的阶段评审机制
瀑布模型的优缺点(理解)
- 优点:提供了软件开发的基本框架;有利于大型软件开发过程的人员组织和管理;提高了软件的质量和效率。
- 缺点:不适应需求变更
②V模型(理解,画图)
- 优点:强调了在整个软件项目开发中需要经历的若干个测试级别,并与每一个开发级别对应。
- 缺点:不适应需求变更。
③V&V模型(理解,画图)
- 优点:测试的活动与软件开发同步进行;测试的对象不仅仅是程序,还包括需求和设计;尽早发现软件缺陷可降低软件开发的成本。
- 缺点:不适应需求的变更;过程太完美,实现很困难。
④敏捷模型
拥抱需求变更,迭代周期短; 每个迭代周期内:采用和瀑布相似的过程。
- 短周期开发,提供及早的、具体的、持续的反馈。
- 增量开发。迅速地提出总体计划,并在项目生命周期中不断演化。
- 灵活安排功能地实现,以对变化的业务需求作出反应。
- 通过口头沟通、测试和源代码来交流系统的结构和意图。
- 渐进式的设计过程贯穿整个系统生命周期。
- 依赖于能力普通但能积极参与的程序员之间的紧密协作。
5.软件生命周期
6.软件研发的流程(理解)
7.软件测试的流程(理解,背诵)
- 测试需求分析:根据需求规格说明书设计测试点
- 测试计划:测试负责人
- 测试方案:专项测试,比如性能测试方案
- 测试用例:覆盖需求以及测试点
- 测试执行:执行已经设计好的测试用例并且提交和跟踪缺陷。
- 测试报告
8.软件项目成员
- 项目经理:驱动整个项目的运转,负责制定计划,安排人力,管理进度,协调团队,进行重大决策。
- 架构师 / 系统工程师:技术专家,经验丰富,负责整个系统的体系架构的设计以及关键模块的设计。
- 程序员 / 开发人员:设计、编写软件,并修复软件中的缺陷。
- 测试工程师:负责找出软件产品存在的问题并报告。
- 资料工程师:负责编写软件产品附带的文件和联机帮助文档。
- 配置管理员:负责管理程序员写的代码和资料工程师写的文档资料,并组合成一个软件包。
- QA:质量监管人员。
|