需求工程方法与技术总结

202220294029TZY 2022-11-01 15:45:58

需求工程的范畴

软件需求工程包括需求开发和需求管理两个过程域。需求开发时收集、分析、整理、编写、验证需求的全过程,重点在于开发出高质量的需求规格说明。需求管理是对需求的实现、变化进行追踪的全过程,重点在于确保开发的软件满足这些需求。需求工程的唯一目的是找出要做什么。

各阶段方法

需求获取方法

1.访谈

       分析人员直接与用户沟通,通过问答形式获知用户的需求,是一种最基本的需求获取手段。

2.问卷调查

       通过精心设计要问的问题,将问卷发给相关人员,让他们填写,再从所填写的内容中获取系统的需求信息。缺点是缺乏灵活性,而且可能存在受调查人员不能很好表述自己想法的限制。

3.现场调查

       许多复杂的流程和系统无法通过几个问题或者三言两语说清楚。为了能够对系统的需求获得全面的了解,实际观察用户的操作过程是一种非常有效的方法。现场调查就是直接到客户的工作场所,通过客户的讲解并且观察客户的实际工作流程,这样可以使分析人员对客户的需求有更加直观的理解。

4.文档分析

       检查现有文档,从中发现潜在的软件需求。最有用的文档包括需求规范说明、业务过程、课程学习总结以及现有或者类似程序的用户手册。

5.辅助分析

     由于知识层面的不重合性,用户和需求分析员可能存在难以沟通的情况,用户提供的需求信息,在系统分析员看来可能是零散和片面甚至无法理解的。因此,为了能够减少交流上的问题,引入领域专家来帮助进行沟通,进行辅助分析。

6.原型法

       尽可能快地建造一个能够运行起来的系统,这系统实现了目标系统的全部或大部分功能,但是这个系统可能在可靠性、界面的友好性或其他方面上存在缺陷。在需求模糊的不确定性较大的情况下,使用原型方法来进行需求信息的获取尤其有效。

7.模型驱动

       模型驱动方法是一类以定义明确的模型为理论基础,依据模型指导和组织活动开展的需求获取方法。这些方法的模型定义确定了所要收集的信息类型,模型的建立和完善的过程就是进行需求获取的过程。常见的模型驱动方法有面向目标的方法(Goal—Oriented Methods)、基于场景的方法(Scenario—Based Methods)和基于用例模型的方法(Use Case—Based Methods)。

 

需求分析方法

1.功能分解方法

将系统作为多功能模块的组合,各功能又可分解为若干子功能及接口,子功能再继续分解。

常用树形结构图对系统功能进行划分。

2.结构化分析方法

常用流程图,用例图,数据流图,数据字典

3.信息建模方法

从数据角度对现实世界建立模型

常用E-R图

4.面向对象的分析方法

常用类图



需求定义方法

1.严格定义法

按照瀑布模型定义。

①所有需求都能够被预先定义。

②开发人员与用户之间能够准确而清晰地交流。

③采用图形/文字可以充分体现最终系统

缺陷:文档量大且灵活性差

2.原型法

以一种与严格定义法完全不同的观点看点问题。原型法的需求定义过程是一个与客户反复确认,通力合作的过程。从一个能满足用户基本需求的原型系统开始,允许用户在开发过程中提出更好的要求,根据用户的要求不断地对系统进行完善,它实质上是一种迭代的循环型的开发方式。

 

需求验证方法

1.需求审查

通过由作者之外的人组成检查小组,检查需求文档中的错误、对相关标准的违反和其他问题。

2.原型与模拟

3.开发测试用例

4.用户手册编制

5.利用跟踪方法

6.自动化分析

 

需求管理方法

常用工具:PingCode,TARD,Gitee,禅道等

...全文
49 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-01-13
  • 打赏
  • 举报
回复
您可以前往 CSDN问答-软件工程 发布问题, 以便更快地解决您的疑问

32

社区成员

发帖
与我相关
我的任务
社区描述
高级软件工程教学社区
软件工程 高校
社区管理员
  • 皇爷驾到
  • Weinberg right here
  • 婷婷要努力学习吖
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧