概念:
软件需求包括:功能需求、非功能需求、设计约束
(1) 业务需求:业务需求指反应组织机构或客户对系统、产品高层次的目标要求,通常问题定义本身就是业务需求.通常在项目定义与范围文档中予以说明。
(2) 用户需求:用户需求指描述用户使用产品必须要完成什么任务,如何完成需求。通常是在问题定义的基础上进行用户访谈、调查、对用户使用的场景进行整理,从而建立从用户角度出发的需求.这在使用实例或方案脚本中予以说明。
(3) 系统需求:系统需求是从系统的角度来说明软件的需求,包括用特性说明的功能需求、质量属性,以及其他非功能需求,还有涉及约束;
(4) 功能需求:功能需求指系统必须完成的任务,即为了向其用户提供有用的功能,产品必须执行的动作
(5) 非功能需求:非功能需求指产品必须具备的属性和品质,如可靠性、性能、响应时间、容错性、扩展性等
一、软件可靠性 :
软件可靠性是软件在给定的时间间隔及给定的环境条件下,按设计要求,成功地运行程序的概率;通常用平均无故障时间(MTTF, mean-time to fault)来衡量
第一个层面:软件不出现故障;
第二个层面:软件即使出现故障,也仅对性能有部分影响,而设备的功能不受损失;
第三个层面:软件出现故障并造成部分功能受损失,但是能够很快恢复业务;
第四个层面:软件出现较大故障,并造成大部分功能受损、业务中断或瘫痪,但能够尽快恢复业务(
无论是手工恢复还是自动恢复);
对应于不同的可靠性层次,要求系统有相应的层次设计要求和维护要求,例如:
对于第一个层面:要求系统能够按照充分的规范来进行设计,加强各种异常处理能力和环境适应能力等;
对于第二个层面:要求系统有较高的容错能力,使用冗余技术和备份技术等;
对于第三个层面:要求系统有很好的可测试性,能迅速隔离问题和定位问题等;
对于第四个层面:要求系统有较高的可维护性等。
二、性能需求:
一般包括:
1)列出有各种性能要求的功能,如有并发要求的功能及相应的并发要求、有响应时间要求的功能,
2)数据库容量,或指定时间的业务处理量,
3)系统用户容量的需求,
4)如果有机器配置上的要求,则说明相应的机器配置要求;
5)网络环境,如1MADSL或者512k