赞同 2
分享
刷新

【系统分析与设计】软件需求分析的概念

简介:掌握软件需求分析的基本概念,能更全面、更有条理、更科学的捋清楚系统设计的需求。
  2024.04.15
  Bug Man
  2
  27
  172.17.0.1
  中国.上海
 
 

分层需求

掌握软件需求分析的基本概念,需求是多层次的,包括业务需求、用户需求和系统需求,这三个不同层次从目标到具体,从整体到局部从概念到细节。

  1. (1)业务需求。业务需求是指反映企业或客户对系统高层次的目标要求,通常来自项目投资人、购买产品的客户、客户单位的管理人员、市场营销部门或产品策划部门等。通过业务需求可以确定项目视图和范围,项目视图和范围文档把业务需求集中在一个简单、紧凑的文档中,该文档为以后的开发工作奠定了基础。

  2. (2)用户需求。用户需求描述的是用户的具体目标或用户要求系统必须能完成的任务。也就是说,用户需求描述了用户能使用系统来做些什么。通常采取用户访谈和问卷调查等方式,对用户使用的场景(scenarios)进行整理,从而建立用户需求。

  3. (3)系统需求。系统需求是从系统的角度来说明软件的需求,包括功能需求、非功能需求和设计约束等。功能需求也称为行为需求,它规定了开发人员必须在系统中实现的软件功能,用户利用这些功能来完成任务,满足业务需要。功能需求通常是通过系统特性的描述表现出来的,所谓特性,是指一组逻辑上相关的功能需求,表示系统为用户提供某项功能(服务)使用户的业务目标得以满足;非功能需求是指系统必须具备的属性或品质,又可细分为软件质量属性(例如,可维护性、效率等)和其他非功能需求。

分类需求

质量功能部署(Quality Function Deployment,QFD)是一种将用户要求转化成软件需求的技术,其目的是最大限度地提升软件工程过程中用户的满意度,为了达到这个目标,QFD将软件需求分为三类,分别是常规需求、期望需求和意外需求。

  1. (1)常规需求。用户认为系统应该做到的功能或性能,实现越多用户会越满意。

  2. (2)期望需求。用户想当然认为系统应具备的功能或性能,但并不能正确描述自己想要得到的这些功能或性能需求。如果期望需求没有得到实现,会让用户感到不满意。

  3. (3)意外需求。意外需求也称为兴奋需求,是用户要求范围外的功能或性能(但通常是软件开发人员很乐意赋予系统的技术特性),实现这些需求用户会更高兴,但不实现也不影响其购买的决策。意外需求是控制在开发人员手中的,开发人员可以选择实现更多的意外需求,以便得到高满意、高忠诚度的用户,也可以(出于成本或项目周期的考虑)选择不实现任何意外需求。

习题:

某软件公司承担了某金融公司财务管理系统的建设在需求分析阶段,公司分析人员整理出一些相关的系统需求,

其中“登陆用户的密码,30天需要修改一次而且不能使用最近5次的密码,以提高系统的安全性属于(1),

“要求采用国有自主知识产权的数据库属于(2),”

“在凭证录入时对往来款项进行详细的信息录入“属于(3),

“用户在凭证录入界面录入信息后,点击保存按钮后,客户认为一般能在3秒钟内保存到数据库中”属于(4)。

(1)非功能需求;

(2)设计约束;

(3)用户需求;

(4)期望需求。


待续,未完...