(1)功能需求:是最主要的需求,即说明软件应做什么,它列出了软件在功能上必须完成的任务。
(2)性能需求:软件的技术性能指标,如存储容量、远行时间、安全保密等。
(3)环境需求:对软件可能运行的环境的描述,比如必须采用什么支持系统运行的系统软件,操作人员必须达到什么样的技术水平等。
(4)安全保密要求:软件运行在不同的环境中,对安全保密的要求是不同的,对那些保密性安全性要求高的数据.需要在软件开发中进行严格的设计。如银行系统中,人们储蓄的金额,企业贷款的金额.木能随便给人查看、修改,否则就乱套了,会给银行带来灾难性的损失。至于需要达到什么样的安全保密度,安全保密要求必须对这方面做出恰当的规定.使软件的安全保密性能得到保证。
(5)用户界面需求:以人为本的思想在现代社会中越来越受到人们的重视。在软件开发行业中,具有友好界面的软件能使它具有很强的竞争力,所以在用户界面需求中必须对用户界面做细致的规定,以达到客户满意的程度。试想,用户会不会选择一个界面很粗糙的、布局很不合理的软件来使用。
事实上,软件的需求有功能性需求和非功能性需求。功能性的需求,它描述了系统所应提供的功能和服务,而对于非功能性的需求也不能忽视;非功能性需求反映了软件的特性,包括产品的易用程度,响应时间,异常处理等。这些特性被称为质量属性或质量因数:按照用途,可分为3大类:操作、修改、转移。