软件需求分析步骤方法

简介: 如果将需求分析阶段的工作归结为编写需求规格说明书,这种简化的做法往往是导致项目后期层出不穷问题的罪魁祸首。建议采用以下步骤形成软件需求:获取用户需求→分析用户需求→编写需求文档→评审需求文档→管理需求。
+关注继续查看

如果将需求分析阶段的工作归结为编写需求规格说明书,这种简化的做法往往是导致项目后期层出不穷问题的罪魁祸首。建议采用以下步骤形成软件需求:获取用户需求→分析用户需求→编写需求文档→评审需求文档→管理需求。下面我们先来讨论前两个步骤(获取用户需求、分析用户需求)的做法。

获取用户需求

这是该阶段的一个最重要的任务。以下为获取用户需求需要执行的活动(如图1所示)。

● 了解客户方的所有用户类型以及潜在的类型。然后,根据他们的要求来确定系统的整体目标和系统的工作范围。

● 对用户进行访谈和调研。交流的方式可以是会议、电话、电子邮件、小组讨论、模拟演示等不同形式。需要注意的是,每一次交流一定要有记录,对于交流的结果还可以进行分类,便于后续的分析活动。例如,可以将需求细分为功能需求、非功能需求(如响应时间、平均无故障工作时间、自动恢复时间等)、环境限制、设计约束等类型。

● 需求分析人员对收集到的用户需求做进一步的分析和整理。下面是几条常见的准则:

⑴对于用户提出的每个需求都要知道“为什么”,并判断用户提出的需求是否有充足的理由;

⑵将那种以“如何实现”的表述方式转换为“实现什么”的方式,因为需求分析阶段关注的目标是“做什么”,而不是“怎么做”;

⑶分析由用户需求衍生出的隐含需求,并识别用户没有明确提出来的隐含需求(有可能是实现用户需求的前提条件),这一点往往容易忽略掉,经常因为对隐含需求考虑得不够充分而引起需求变更。

● 需求分析人员将调研的用户需求以适当的方式呈交给用户方和开发方的相关人员。大家共同确认需求分析人员所提交的结果是否真实地反映了用户的意图。需求分析人员在这个任务中需要执行下述活动:

⑴明确标识出那些未确定的需求项(在需求分析初期往往有很多这样的待定项);

⑵使需求符合系统的整体目标;

⑶保证需求项之间的一致性,解决需求项之间可能存在的冲突。

分析用户需求

在很多情形下,分析用户需求是与获取用户需求并行的,主要通过建立模型的方式来描述用户的需求,为客户、用户、开发方等不同参与方提供一个交流的渠道。这些模型是对需求的抽象,以可视化的方式提供一个易于沟通的桥梁。用户需求的分析与获取用户需求有着相似的步骤,区别在于分析用户需求时使用模型来描述,以获取用户更明确的需求。分析用户需求需要执行下列活动:

● 以图形表示的方式描述系统的整体结构,包括系统的边界与接口;

● 通过原型、页面流或其它方式向用户提供可视化的界面,用户可以对需求做出自己的评价;

● 系统可行性分析,需求实现的技术可行性、环境分析、费用分析、时间分析等;

● 以模型描述系统的功能项、数据实体、外部实体、实体之间的关系、实体之间的状态转换等方面的内容。

用于需求建模的方法有很多种,最常用的包括数据流图(DFD)、实体关系图(ERD)和用例图(Use Case)三种方式。DFD作为结构化系统分析与设计的主要方法,已经得到了广泛的应用,DFD尤其适用于MIS系统的表述。DFD使用四种基本元素来描述系统的行为,过程、实体、数据流和数据存储。DFD方法直观易懂,使用者可以方便地得到系统的逻辑模型和物理模型,但是从DFD图中无法判断活动的时序关系。图2描述的是某个项目的DFD示意图。

ERD方法用于描述系统实体间的对应关系,需求分析阶段使用ERD描述系统中实体的逻辑关系,在设计阶段则使用ERD描述物理表之间的关系。需求分析阶段使用ERD来描述现实世界中的对象。ERD只关注系统中数据间的关系,而缺乏对系统功能的描述。如果将ERD与DF

D两种方法相结合,则可以更准确地描述系统的需求。

在面向对象分析的方法中通常使用Use Case来获取软件的需求。Use Case通过描述“系统”和“活动者”之间的交互来描述系统的行为。通过分解系统目标,Use Case描述活动者为了实现这些目标而执行的所有步骤。Use Case方法最主要的优点,在于它是用户导向的,用户可以根据自己所对应的Use Case来不断细化自己的需求。此外,使用Use Case还可以方便地得到系统功能的测试用例。

原文链接:http://www.leadge.com/news_list/89030.html

目录
相关文章
|
9天前
|
安全
交易所系统开发详细项目丨案例规则丨方案设计丨步骤需求丨逻辑功能丨源码程序
Requirement analysis and planning: Collaborate with customers to clarify the requirements and goals of the coin exchange system. Understand the customer's business model, target user group, and currencies to be supported by the exchange, and develop a detailed demand plan.
|
1月前
|
安全
交易所系统开发规则案例丨需求分析丨功能设计丨详细步骤丨源码逻辑
Before developing a digital currency exchange system, a detailed requirement analysis is required. Firstly, it is necessary to clarify the types of digital currencies and trading varieties that the system needs to support. Secondly, it is necessary to determine the user roles and permission manageme
|
4月前
|
测试技术
测试一个项目的流程
测试一个项目的流程
|
7月前
|
Java 测试技术 数据库
软件自动化测试的步骤
软件自动化测试的步骤
97 0
软件自动化测试的步骤
|
10月前
|
存储 运维 Kubernetes
环境管理3阶段:从说明书到命令到说明式|学习笔记
快速学习环境管理3阶段:从说明书到命令到说明式
68 0
环境管理3阶段:从说明书到命令到说明式|学习笔记
|
10月前
分体式测斜探头安装注意要点
分体式测斜探头采用高端 MEMS 技术的双轴高精度倾角仪,主要用于坝体、边坡、路基、基坑、岩体滑坡及大型建筑倾斜、土体内部水平位移变形测量。该仪器可重复使用,并可方便地实现倾斜测量的自动化监测。产品安装方便、使用简单、抗外界电磁干扰、承受振动冲击能力强,是军工装备、工业自动化、测量测绘等行业倾角测量的最佳选择。
分体式测斜探头安装注意要点
|
测试技术
测试工作基本流程
测试工作基本流程包括四个基本活动、即测试需求分析、测试设计、测试执行、测试分析与总结,关键成果包括《测试需求分析》、《测试方案》、《测试记录》、《测试报告》。在实际测试工作中,会出现若干环节的迭代循环,也会出现要求弱化,或者要求强化。只要是实现测试目标的必要调整,都可以按需进行。
380 0
测试工作基本流程
推荐文章
更多