目录
系统规划与问题定义
需求工程
软件设计
软件测试
软件维护
软件开发环境与工具
系统规划与问题定义
软件系统的总体规划包括以下阶段:
1.对当前系统进行初步的调查。
2.分析和确定系统目标。
3.分析子系统的组成以及基本功能。
4.拟定系统的实施方案。
5.进行系统的可行性分析。
6.编写可行性报告。
需求工程
需求工程是包括创建和维护系统需求文档所必需的一切活动的过程,可分为需求开发和需求管理两大工作。
需求定义:
需求定义的过程就是形成需求规格说明书的过程,通常有两种需求定义方法:严格定义方法、原型方法。
严格定义方法:严格定义(预先定义)是目前采用较多的一种需求定义方法。在采用严格定义的传统的结构化开发方法中,各个工作阶段排列成一个理想的线性开发序列,在每一工作阶段中,都用上一阶段所提供的完整、严格的文档作为指导文件,因此它本质上是一种顺序型的开发方法。
原型方法:原型化的需求定义过程是一个开发人员与用户通力合作的反复过程。从一个能满足用户基本需求的原型系统开始,允许用户在开发过程中提出更好的要求,根据用户的要求不断地对系统进行完善,它实质上是一种迭代的循环型的开发方式。
软件设计
模块的内聚类型分为7种,根据内聚度从高到低的排序:
模块的耦合类型分为7种,根据耦合度从低到高排序:
软件测试
测试是对软件质量的度量:
1.软件测试是为了发现错误而执行程序的过程。
2.测试是为了证明程序有错,而不是证明程序无错误。
3.一个好的测试用例在于它能发现至今未发现的错误。
4.一个成功的测试是发现了至今未发现的错误的测试。软件测试只是软件质量保证的手段之一,不能单凭测试来保证软件质量。
动态测试指通过运行程序发现错误,分为:
黑盒测试法:黑盒测试又称为功能测试或数据驱动测试。
白盒测试法:又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。
灰盒测试法:灰盒测试是一种介于白盒测试与黑盒测试之间的测试,考虑了用户端、特定的系统知识和操作环境,在系统组件的协同性环境中评价应用软件的设计。
软件维护
软件可维护性是指纠正软件系统出现的错误和缺陷,以及为满足新的要求进行修改、扩充和压缩的容易程度。目前广泛用来衡量程序可维护性的因素:可理解性、可测试性和可修改性等。
软件开发环境与工具
软件开发工具:软件开发工具是指用于辅助软件开发过程活动的各种软件,包括建模工具、分析设计工具、编程工具、测试工具、项目管理工具等。