需求分析 订阅
需求分析也称为软件需求分析、系统需求分析或需求分析工程等,是开发人员经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统必须做什么的过程。 [1] 展开全文
需求分析也称为软件需求分析、系统需求分析或需求分析工程等,是开发人员经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统必须做什么的过程。 [1]
信息
别    称
软件需求分析
定    义
通过分析,确定系统功能的过程
方    法
功能分析法等
中文名
需求分析
所属学科
软件工程
外文名
requirement analysis
需求分析目标
需求分析是软件计划阶段的重要活动,也是软件生存周期中的一个重要环节,该阶段是分析系统在功能上需要“实现什么”,而不是考虑如何去“实现”。需求分析的目标是把用户对待开发软件提出的“要求”或“需要”进行分析与整理,确认后形成描述完整、清晰与规范的文档,确定软件需要实现哪些功能,完成哪些工作。此外,软件的一些非功能性需求(如软件性能、可靠性、响应时间、可扩展性等),软件设计的约束条件,运行时与其他软件的关系等也是软件需求分析的目标。 [2] 
收起全文
精华内容
参与话题
问答
  • 需求分析

    千次阅读 2019-06-19 11:03:02
    需求分析概括就是:需求分析主要是确定待开发软件的功能、性能、数据、界面等要求。需求分析的实现步骤通常包括:获取当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统 的逻辑模型三个部分。 需求分析...

     

    需求分类

    需求分析概括就是:需求分析主要是确定待开发软件的功能、性能、数据、界面等要求。需求分析的实现步骤通常包括:获取当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统 的逻辑模型三个部分。

    需求分析阶段的工作可以分成 4 个方面:

    (1)问题识别:用于发现需求、描述需求,主要包括功能需求、性能需求、环境需求、 可靠性需求、安全保密需求、用户界面需求、资源使用需求、软件成本消耗与开发进度需求, 以此来预先估计以后系统可能达到的目标。

    (2)分析与综合:也就是对问题进行分析,然后在此基础上整合出解决方案。

    常用的方法有面向数据流的结构化分析方法(Structured Analysis, SA),面向数据结构的 Jackson 方法,面向对象的分析方法(Object Oriented Analysis, OOA),以及用于建立动态模型的状态迁移图和 Petri 网。

    (3)编制需求分析的文档:也就是对已经确定的需求进行文档化描述,该文档通常称为“需求规格说明书”。

    (4)需求分析与评审:它是需求分析工作的最后一步,主要是对功能的正确性、完整性和清晰性,以及其他需求给予评价。

    需求分类:软件需求包括功能需求、非功能需求和设计约束三方面内容。

    功能需求:是指系统必须完成的那些事,即为了向它的用户提供有用的功能,产品必须执行的动作。

    非功能需求:是指产品必须具备的属性或品质,如性能、响应时间、可靠性、容错性、扩展性等。

    设计约束:也称为限制条件、补充规约,这通常是对解决方案的一些约束说明,例如必须采用国有自主知识版权的数据库系统,必须在 UNIX 操作系统之下运行等。

    业务需求、用户需求、系统需求这三个处于不同层面的概念。

    业务需求(Business Requirement):是指反映组织机构或客户对系统、产品高层次的目标要求,通常问题定义本身就是业务需求。

    用户需求(User Requirement):是指描述用户使用产品必须要完成什么任务,怎么完成的需求,通常是在问题定义的基础上进行用户访谈、调查,对用户使用的场景进行整理,从而建立从用户角度出发的需求。

    系统需求(System Requirement):是从系统的角度来说明软件的需求,它包括用特性说明的功能需求、质量属性、非功能需求及设计约束。

    需求工程

    需求工程就是包括创建和维护系统需求文档所必需的一切活动的过程,主要包括需求开发和需求管理两大工作。

    (1)需求开发:包括需求捕获、需求分析、编写规格说明书和需求验证 4 个阶段。

    (2)需求管理:通常包括定义需求基线、处理需求变更、需求跟踪等方面的工作。

    需求开发是主线,是目标;需求管理是支持,是保障。

    需求分析方法

    (1)结构化分析方法:

    使用标准化的方法,开发和推出各种名为“结构化分析”的方法论,而 Tom DeMacro 则是这个领域最有代表性和权威性的专家。

    (2)软系统方法:这是一个过渡性的方法论,并未真正流行过。因为结构化分析方法采用的相对形式化的模型不仅与社会观格格不入,而且在解决“不确定性”时显得十分无力。最有代表性的软系统方法是 Checklan方法。

    (3)面向对象分析方法:在 20 世纪 90 年代,结构化方法的不足在面对多变的商业世界时,显得更加苍白无力,这就催使了 OOA 的迅速发展。

    (4)面向问题域的分析(Problem Domain Oriented Analysis, PDOA):现在又发现面向对象分析方法也存在着很多的不足,应运而生了一些新的方法论, PDOA 就是其中一种。不过现在还在研究阶段,并未广泛应用。

    展开全文
  • 如何做需求分析

    万次阅读 多人点赞 2018-01-31 16:32:26
    那么软件需求说明书到底是怎么来的,软件的需求分析到底怎么做?今天我就针对这个话题结合我自己的一些理解和经历来梳理一下。  需求分析的目标是将产品的需求功能梳理,并且用通俗易懂的文字描述,为开发人员和...

           通常,软件开发工程师和软件测试工程师的工作都开始于软件需求说明书成型的基础上。那么软件需求说明书到底是怎么来的,软件的需求分析到底怎么做?今天我就针对这个话题结合我自己的一些理解和经历来梳理一下。

          需求分析的目标是将产品的需求功能梳理,并且用通俗易懂的文字描述,为开发人员和测试人员提供依据。那么需求的分析梳理细化,直至成文这个过程,就是需求分析师的主要工作内容了。

    需求一般分为四种需求:原始需求、用户需求、产品需求、个性需求

         原始需求:就是最原始的,未经加工的需求,可能是客户提出的,也可能是行业共性(有可能是监管机构提出的)。

          用户需求:使用系统的人提出的需求,可以根据用户角色,用户类型划分来归类。提取用户群需求的共性,找出用户需求的矛盾点,进行综合分析处理。

          产品需求:从产品层面出发,对产品未来发展方向有益的,对产品的迭代有帮助的,有益于产品的用户体验,有益于市场认同和提高竞争力的需求。

          个性需求:用户提出的个性化需求,并不一定适用于所有客户。

     

    需求分析一般分为几步走:

     

    1.    获取需求:了解所有用户类型,包括潜在用户类型,以确定整体目标和方向

           a) 对用户进行访谈和调研,对各个角色的需求进行归纳整理分析

           b)业务需求,模拟业务场景,对业务逻辑业务流程进行梳理,整理出业务需求

     

     

    2.    分析需求: 

          a)根据业务逻辑和业务流程画出流程图,分析需求以及业务走向(数据流图DFD:Data flow Define,实体关系图ERD,用户用例use case)

           b)挖掘每个需求点的产生原因(知道为什么,)

           c)挖掘每个需求点的隐含需求

           d)挖掘每个需求的必要性

    3.    需求确认: 整理分析阶段的所有需求,确保需求一致
           a)整理不清晰的需求

           b)分别将以上需求点与对应用户进行确认,保证需求的一致性和清晰性

    4.    编写需求文档:使用自然语言,通俗易懂的方式展现,可以添加图形来增强阅读力
          a)应该包含功能需求和非功能需求
          b)最好把原始需求加入到需求文档中,单独列出一章节


    展开全文
  • 软件需求分析——非功能性需求

    万次阅读 多人点赞 2019-05-07 18:28:24
    前言:需求分为功能需求和非功能性需求,常常会因为注重功能需求而忽略了非功能性需求,以下是对常见几类非功能性需求的小小总结,以后再慢慢补充。 非功能性需求 1、定义:软件产品为满足用户业务需求而必须具有...

     前言:需求分为功能需求和非功能性需求,常常会因为注重功能需求而忽略了非功能性需求,以下是对常见几类非功能性需求的小小总结,以后再慢慢补充。

    非功能性需求

    1、定义:软件产品为满足用户业务需求而必须具有且除功能需求以外的特性。

    2、影响:影响着产品是否能够持续稳定并高效的提供服务。

    3、常见类别:

    • 性能需求:响应时间、吞吐量、资源利用率;
    • 安全性:保密性、防泄漏、权限控制、防攻击;
    • 可维护性与可扩展性:模块性、可复用性、易分析性;
    • 可靠性:易恢复性、容错性、成熟性;
    • 易用性:易学习性、易操作性、用户错误防御机制、用户界面美观;
    非功能性需求1.0

     

    展开全文
  • 软件需求分析

    千次阅读 2018-08-23 17:24:00
    软件需求分析:是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件的最后一步,是确定系统必须完成哪些工作,也是对目标系统提出完整、准确、清晰、具体...

    定义

    软件需求分析:是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件的最后一步,是确定系统必须完成哪些工作,也是对目标系统提出完整、准确、清晰、具体的要求。

    任务

    需求分析是软件定义时期的最后一个阶段,它的基本任务是准确回答“系统必须做什么?”这个问题,具体的任务如下:

    1、深入描述软件的功能和性能

    2、确定软件设计的约束和软件同其他系统元素的接口细节

    3、定义软件的其他有效性需求
    这里写图片描述

    内容

    功能需求

    性能需求

    环境需求

    可靠性需求

    安全保密要求

    用户界面需求

    资源使用需求

    成本消耗需求

    开发进度需求

    预先估计以后系统可能达到的目标

    过程

    一、问题识别
    1、从系统角度来理解软件并评审软件的范围是否恰当
    2、确定对目标系统的综合要求,即软件的需求
    3、提出这些要求时限条件,以及需求应达到的标准

    二、分析与综合
    从信息流和信息结构出发,逐步细化所有的软件功能,找出系统各元素之间的联系、接口特性和设计上的约束,分析他们是否满足功能要求,是否合理。

    三、编制需求分析阶段的文档
    1、软件需求说明书
    2、数据要求说明书
    3、初步的用户手册
    4、修改、完善与确定软件开发实施计划

    四、需求分析评审
    1、系统定义的目标是否与用户的要求一致
    2、系统需求分析阶段提供的文档资料是否齐备
    3、文档中的所有描述是否完整、清晰、准确反映用户的要求
    4、与所有其他系统成分的重要接口是否都已经描述
    这里写图片描述

    分析原则

    1、在开始建立分析模型前,先理解问题
    2、开发原型,使得用户能够了解将如何发生人机交互
    3、记录每个需求的起源和原因
    4、使用多个需求视图
    5、给需求赋予优先级
    6、努力删除含糊性

    方法

    1、动态分析方法(状态迁移图)

    2、结构化分析方法
    面向数据流进行需求分析的方法,结构化分析方法适合于数据处理类型软件的需求分析。

    3、原型化方法
    在开发初期,要想得到一个完整准确的规格说明不是一件容易的事,用户往往对系统只有一个模糊的想法,很难完全准确的表达对系统的全面要求。在软件开发中,原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。

    展开全文
  • 斗地主算法需求分析

    千次阅读 2018-11-01 11:04:07
    数据定义清晰之后,我们要对整体的斗地主逻辑做一个需求分析。 以下基本上就是斗地主算法的所有内容。 牌的排序 排序可以让算法变得更简单。 牌的统计 所有的单牌 所有的对子 所有的三条 所有的炸弹 ...
  • 如何做好软件开发项目的需求分析

    千次阅读 2019-07-06 13:34:55
    通过几年软件开发项目的管理,对需求分析的重要性和如何开展有了一些认识,其实,对于其他的工程和项目来说,需求分析都是必须的,比如对于市场销售,前期就是市场调研。  需求分析是介于系统分析和软件设计阶段...
  • 需求分析学习指导目录:https://blog.csdn.net/weixin_42562514/article/details/90572761 功能需求:描述软件应具备的功能,有时也被称为能力(capabilities),对系统提供的服务、功能以及系统在特定条件下的行为...
  • 医院管理系统需求分析

    千次下载 热门讨论 2006-07-25 00:00:00
    医院管理系统需求分析 一. 药库管理系统 系统 包括 重新登陆(责任追查)、修改密码、退出 数据维护包括药典维护(表)、供应商维护(表) 库房工作 包括药品入库...
  • 基于图书管理系统的需求分析 之 可行性分析&安全需求分析&系统需求分析 1.可行性分析 本次可行性分析是按照规范步骤进行,即按复查项目目标和规模,研究本系统,导出新系统的高层逻辑模型,重新定义问题...
  • 电商项目需求分析

    千次阅读 2019-07-08 17:14:41
    电商项目需求分析 1.电商项目 1 面向对象设计项目的实体模型 2 Java中的集合框架,使用集合框架构建醒目数据底层 3 使用函数/方法复用代码,实现功能的回调,完成项目的业务逻辑开发 4 使用Java IO流实现购物清单...
  • 产品需求分析

    千次阅读 2019-01-11 23:03:52
    产品需求分析,先要知道这在产品实现过程中处于哪个环节。无论是新产品还是迭代产品,首先由想法产生需求,然后需求汇集并分析,放弃掉不需要的,暂缓不紧急的,然后整理出需要下一步执行的,最终形成产品需求文档并...
  • 需求分析——需求分析的步骤

    万次阅读 2019-05-27 21:52:33
    需求分析学习指导目录:...(2)需求分析和协商:与甲方讨论需求,明确需求。 (3)需求建模:use-case建模、静态模型、动态模型。 (4)形成需求文档:形成标准的软件需求规格说明书。 (5)需求确认:与用户...
  • 需求分析概述

    千次阅读 2004-02-29 13:22:00
    在具体的研究需求分析之前,我们先了解一下软件工程这个概念。软件工程分为三个层次,过程层、方法层、工具层。在最基础的过程层,最重要的就是一组被称为关键过程区域(KPAs)的框架(KPA的概念在讨论CMM的书中有...
  • 需求分析——需求分析的困难

    万次阅读 2019-05-26 08:48:04
    需求分析学习指导目录:https://blog.csdn.net/weixin_42562514/article/details/90572761 (1)应用领域:参与的人员来自不同的应用领域,对需求的理解不同。 (2)沟通上,不同的知识背景:很多专业名词、专业...
  • 需求分析——什么是需求分析

    万次阅读 2019-05-26 07:41:10
    需求分析学习目录:https://blog.csdn.net/weixin_42562514/article/details/90572761 一个用户解决一个问题或实现一个目标所需的条件或能力 为了满足一个合同、标准、规范、或其它正是文档要求,一个系统或系统...

空空如也

1 2 3 4 5 ... 20
收藏数 106,022
精华内容 42,408
关键字:

需求分析