软件需求的三个层次
一、理解
今天在课堂上被老师提问到软件需求的三个层次分别是什么,但是自己并不是很了解,于是就查阅了相关资料并进行了以下总结。
需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后他们才能够分析和寻求新系统的解决方法。
软件需求包括三个不同的层次——业务需求、用户需求和功能需求,当然也包括也包括非功能需求。
(一)概念
1、 业务需求( Business requirement )
-
描述组织或客户高层次的目标。业务需求就是系统目标,它必须是业务导向、可度量、合理、可行的。
-
业务需求通常来自项目投资人、购买产品的客户、实际用户的管理者、市场营销部门或产品策划部门。
-
业务需求描述了组织为什么要开发一个系统(why),即组织希望达到的目标。一般使用前景和范围( vision and scope )文档来记录业务需求,这份文档有时也被称作项目轮廓图或市场需求( project charter 或 market requirement )文档。
-
组织愿景是一个组织对将使用的软件系统所要达成的目标的预期期望。这些最高级别的需求数量很少(2-5条)。
2、用户需求( user requirement )
-
描述的是用户的目标,或用户要求系统必须能完成的任务。
-
通常是在问题定义的基础上进行用户访谈、调查,对用户使用的场景进行整理,从而建立从用户角度的需求。用例、用户故事、场景描述和事件等都是表达用户需求的有效途径。
-
用户需求必须能够体现软件系统将给用户带来的业务价值,并能够描述了用户能使用系统来做些什么(what)。
3、功能需求( functional requirement )
-
规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求。
-
功能需求有时也被称作行为需求( behavioral requirement ),因为习惯上总是用“应该”对其进行描述:“系统应该发送电子邮件来通知用户已接受其预定”。
-
功能需求是需求的主体,它描述的是开发人员如何设计具体的解决方案来实现这些需求(how),其数量往往比用户需求高一个数量级。
-
这些需求记录在软件需求规格说明(Software Requirments Specification)中。 功能需求描述是开发人员需要实现什么。
4、补充
-
软件需求规格说明还应包括非功能需求,它描述了系统展现给用户的行为和执行的操作等。它包括产品必须遵从的标准、规范和合约;外部界面的具体细节;性能要求;设计或实现的约束条件及质量属性。
-
所谓约束是指对开发人员在软件产品设计和构造上的限制。质量属性是通过多种角度对产品的特点进行描述,从而反映产品功能。多角度描述产品对用户和开发人员都极为重要。
-
需求并未包括设计细节、实现细节、项目计划信息或测试信息。需求与这些没有关系,它关注的是充分说明你究竟想开发什么。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统