软件构造笔记5 面向正确性与健壮性的软件构造

什么是正确性和健壮性

健壮性:系统在不正常输入或不正常外部环境下仍能够表现正常的程度
正确性:程序按照spec加以执行的能力,是最重要的质量指标!
在这里插入图片描述

怎么衡量正确性和健壮性

外部观察角度

平均故障间隔时间是指系统在运行期间内在故障之间的预计经过时间。
平均故障间隔时间计算为系统的算术平均(平均)故障间隔时间。

对于复杂的、可修复的系统,故障被认为是那些超出设计条件,使系统停止服务,进入维修状态。
在此定义下,可以保留或维持在未修复状态,且不会使系统停止服务的故障不被视为故障。

平均故障间隔时间(Mean time between failures, MTBF)表示可修系统发生两次故障的预期时间,平均故障间隔时间(Mean time to failure, MTTF)表示不可修系统发生故障的预期时间。

在这里插入图片描述

内部观察角度

残余缺陷率指的是软件发布后遗留下来的bug
例如,如果发布了100万行典型的行业源代码(1个缺陷/kloc),这意味着遗漏了1000个bug !

在这里插入图片描述

Java中的错误和异常

java中的Throwable分为两种,一种是Error,一种是Exception
在这里插入图片描述
对于java中的error一般是内部错误,程序员通常无能为力,一旦发生,想办法让程序优雅的结束
而异常是你自己程序导致的问题,可以捕获、可以处理

一些常见的error:用户输入错误,设备错误,物理限制

异常

既然Error捕获了程序员也无能为力,那么就关注那些捕获了可以进行处理的Exception

什么是异常

异常:程序执行中的非正常事件,程序无法再按预想的流程执行,将错误信息传递给上层调用者,并报告“案发现场”的信息,return之外的第二种退出途径,若找不到异常处理程序,整个系统完全退出。

异常的分类

异常分为:运行时异常(RuntimeException)和其他异常,其中运行时异常是由程序员在代码里处理不当造成,而其他异常是由外部原因造成
在这里插入图片描述

怎么检查异常

编译器可帮助检查你的程序是否已抛出或处理了可能的异常
但是若没有对异常进行捕获,那么函数可能直接把异常抛出到控制台,由控制台暂停程序的运行并输出异常信息。
在这里插入图片描述
对于抛出和捕获异常:
throws 本方法可能会发生XX异常
throw 抛出XX异常
try, catch, finally 捕获并处理XX异常

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sg62198458

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值