软件开发过程的阶段划分
-
需求分析阶段:规定结构和软件组成,明确外部接口和内部接口,给出软件功能要求、性能要求、适应性要求、容量和时间要求、安全要求、保密要求、设计约束、合格性因素等,最终形成软件需求文档,并通过评审
-
软件设计阶段:根据软件需求文档对嵌入式软件进行设计,主要包括软件的总体设计、软件的概要设计和软件的详细设计等
-
编码阶段
-
集成阶段
各阶段主要工作
- 需求分析确定软件要完成的功能及非功能性要求
- 概要设计将需求转化为软件的模块划分,确定模块间的调用关系
- 详细设计将模块进行细化,得到详细的数据结构算法
- 编码根据详细设计进行代码的编写,并进行单元测试
软件测试的基础知识
-
软件测试在软件生存周期中横跨两个阶段,通常,编码与单元测试属于软件生存周期中的统一阶段。对软件系统进行各种综合测试则是测试阶段的主要工作
-
软件开发过程是一个自顶向下,逐步细化的过程,而软件测试过程则是以相反的顺序安排的自底向上逐步集成的过程
-
单元测试需要依据详细设计说明书和源程序清单了解该模块的I/O条件和模块的逻辑结构,主要采用白盒测试的测试用例,辅之以黑盒测试的测试用例
-
集成测试是对由各模块组装而成的系统进行测试,检查各模块间的接口和通信。该测试主要发现设计中的问题,通常采用黑盒测试。它包括渐增式集成和非增式集成
-
确认测试是检查软件的功能、性能及其他特征是否与用户的要求一致,它以软件的需求规格说明书为依据,通常采用黑盒测试
软件需求分析的基础知识
-
任务是确定软件系统的功能、性能、接口等要求,分析软件系统的数据要求,导出系统的逻辑模型,修正项目开发计划。
-
基本原则是:
- 能够表达和理解问题的信息域和功能域
- 以层次化方式对功能进行分解和不断细化
- 清楚定义信息接口
- 给出系统的逻辑视图和物理视图
- 定义系统的抽象模型
-
软件需求分析阶段的输入是软件研制任务书和软件开发计划,工作成果是软件需求规格说明
-
软件需求分析工作是一个不断认识、逐步细化的过程
结构化分析方法的基础知识
-
分层的数据流图是结构化分析方法的重要组成部分