1.1 软件开发基本概念
- 软件是计算机系统中与硬件相互依存的另一部分,它的组成结构可写作:软件=程序+数据+文档:
- 程序:程序是按事先设计好的功能和性能要求执行的指令序列;
- 数据:数据是指程序能正常处理信息的数据和数据结构;
- 文档:文档是与程序运行和维护有关的图文资料。
- 软件特征:抽象、无明显制造过程、无备件、手工制作、成本昂贵。
- 软件分类:微型、小型、中型……
- 软件危机:
- 用户需求不明确、变更过多
- 软件成本日益增长
- 开发进度难以控制
- 软件质量差,可靠性不保证
- 软件维护困难
- 软件生存周期:软件计划(问题定义、可行性研究、需求分析)、软件开发(概要设计、详细设计、软件实现、综合测试)、软件运行与给维护(运行与维护),从面向对象角度来看,可分为系统分析、系统设计、系统实现与系统维护。
软件开发模型:瀑布模型、迭代模型、螺旋模型。
测试目的
- 软件测试是为了发现错误而执行程序的过程;
- 测试是为了证明程序有错误,而不是证明程序无错误;
- 一个好的测试用例在于它能发现至今未发现的错误;
- 一个成功的测试是发现至今未发现的错误的测试。
- 测试方法:白盒测试法、黑盒测试法和灰盒测试法。
1.6 维护
维护三步骤:分析和理解程序 、修改程序 、重新验证程序。1.7 风险分析
1.需求风险:指项目的目标是否满足用户的需求方面所存在的风险。
2.技术风险:指所选的技术方案是否可行方面存在的风险。
3.技能风险:指项目实施者的素质是否满足项目要求方面存在的风险。
4.政策风险:考虑是否存在将会影响项目进行的一些政策性因素。