软件六性研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件的六性研究
1.可靠性
要求在进行模块设计的时候,要本着自顶向下、逐步求精的原则进行设计,各模块之间的接口明确。
软件需提供完善的备份恢复机制,在服务程序恢复运行后,本系统仍能继续运行。
在现有软件环境和硬件条件下、在满足当前需求的条件下、在没有出现错误操作的情况下,所有软件模块必须能稳定无故障运行。
软件可靠性设计贯穿技术方案设计阶段、系统设计和代码开发阶段、系统测试阶段和系统部署和验收阶段。
在技术方案设计阶段要进行软件可靠性参数与指标的确定;在系统设计和代码开发阶段要进行软件可靠性分析与设计、软件可靠性早期预计,在系统测试阶段进行软件可靠性测试与验证、软件可靠性预计和估计;在系统部署和验收阶段进行软件交付与使用管理。
可靠性设计主要从避错设计、查错设计、改错设计和容错设计四方面考虑。
软件避错从开发方法、工具等多处着手避免需求错误、选择好的开发方法,遵循软件可靠性和安全性设计准则,如避错设计准则:模块化与模块独立、抽象和逐步求精、信息隐蔽和局部化;查错设计采取被动式错误监测、主动式错误检测;改错设计采用故障隔离技术;容错设计从时间容错、结构容错、信息容错三方面进行。
2.维修性
软件的维修性设计从正确性维护、适应性维护和完善性维护三方面设计,以保证具有可维修性。
正确性维护即当软件出现故障时,就要对软件进行正确性维护,正确性维护的目的是改正在软件开发阶段产生、在测试阶段又没有发现的错误;适应性维护即当软件的外界环境发生变化时,需要对软件进行适应性维护,外界环境的变化主要是指计算机硬件或软件的替换、更新;完善性维护是指对现有软件系统增加在系统说明书中没有规定的功能和性能特性。
3.保障性
保障性泛指设备的设计特性和计划的保障资源应满足平时战备和战时使用要求的能力,用提高和改进设计特性来实现可保障性。
软件设计要符合软件工程要求,尽量采用成熟的、合法的正版软件,采用排错设计和容错设计,采用如下几个定量指标要求:平均故障间隔时间MTBF,固有可使用度,平均故障修复时间、任务准备时间。
设备保障性设计考虑硬件资源保障、软件资源保障。
本产品保障性设计要求为:
●系统提供产品说明书及操作使用手册;
●对所有功能模块提供技术支持。
4.测试性
遵循软件设计的强内聚、松耦合、接口明确、意图明晰的原则,软件的可测试性特征主要表现是设立观察点、控制点、观察装置、驱动装置、隔离装置。
需要注意的是可测试性设计时必须要保证不能对软件系统的任何功能有影响,不能产生附加的活动或者附加的测试,采取合适的设计模式对软件进行设计。
1.坚持测试驱动设计(测试先行)的方法。
2.尽量做到每个操作对应一个函数,使函数小型化。
3.数据的显示与控制分离。
4.可控制性设计
●全局变量的可控制性设计
●接口的可控制性设计
●模块的可控制性设计
●业务流程的可控制性设计
●场景的可测试性设计
5.可分解性设计
●业务流程的可分解性设计
●场景的可分解性设计
6.易理解性设计
●设计文档的易理解性
●接口的易理解性
●业务的易理解性
●场景的易理解性
7.可观察性设计
●业务执行状态和过程可观察性设计
●异常情况可观察性设计
8.测试驱动和桩的设置:为单个测试接口、测试业务、测试场景
预留测试驱动和桩的接入点。
9.适合增量式开发的可测试性设计:在增量式开发过程中必须优
先考虑测试桩和测试驱动实现的难易程度和真实性。
10.要求系统功能性测试或诊断程序能将故障定位到现场可更换
部件;系统配套软件能通过黑盒和白盒测试。
5.安全性
只有合法用户才能登录使用系统,对每个用户都有权限设置,保证数据结构和系统结构上保证数据在生成、传输、存储、使用过程中的安全。
对登录名、密码、以及用户重要信息进行加密,保证账号信息安全。