首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >形式化需求分析

形式化需求分析
EN

Software Engineering用户
提问于 2011-08-22 22:01:28
回答 3查看 841关注 0票数 2

我在大学里做了一个需求分析模块。我们讨论了各种形式的需求,如UML、用例图、序列图和合同。我不得不问--这些东西在现实世界中有任何价值吗?我见过的唯一的用例图可以用简单的英语(甚至用您选择的合理语言编写的代码)更简洁和易懂的方式来概括,我提到的其他事情也是如此。

EN

回答 3

Software Engineering用户

回答已采纳

发布于 2011-08-22 23:17:02

需求分析是一个使用UML图表等工具的过程。

图表有助于交流,有时还可以用来生成代码(例如,下面的1和2)。它们还有助于在解决方案中添加一个可视层,以帮助最终用户和开发人员(例如,下面的4、5)。

用例图表示交互的高级视图,而不替换文本的案例描述。

显示需求和设计的一些非常重要的图表有: 1.实体关系图2.类图3.序列图4. BPM -业务流程模型5.页流程图6.用例

需求分析是一个很大的课题,也可以使用其他图表。重要的是,您捕获并向开发人员和最终用户传达关于系统需求的知识。

有一套工具可以验证上述一些图表(例如,1,2)。有些工具可以自动从(1或4)构建web应用程序。

是的,这些图表很重要,并且在一些项目中使用。

票数 1
EN

Software Engineering用户

发布于 2011-08-22 22:30:55

学校的问题为了学习过于简单化了。所以你不能根据它们对现实世界中的效用做出任何价值判断。其次,大多数进行需求分析的人都不是程序员,当然也不能用代码来表达需求。第三,在从事大型复杂项目时,这些方法最有用,因此,从事小型工作的人的经验可能表明,在从事航天飞机类项目的人的经验可能不同的情况下,它们的用处不大。

我参与的上一个大型项目有一个800多页的信息需求文档(到最后它变得更大了),有时有一个图表可以更容易地理解书面单词。它还有助于让人们了解需要创建的过程,并有助于防止愚蠢,比如要求软件获得经理的批准,批准一个超过100万美元的项目的预算支出,但没有要求告诉您如果拒绝该项目该怎么办。当您使用结构化方法时,您更有可能看到我认为的所有部分。

这些技术是否总是适用于所有项目,当然不是。敏捷项目一开始就倾向于采用一种不那么复杂的方法,而这些技术可能会被视为浪费时间。从您所写的内容来看,我会怀疑您是一个对敏捷方法更放心的人,因此可能不会使用这些技术,也不会在您所从事的项目中看到它们。对你来说,学习它们的关键可能更多的是去做它们的分析性思维过程,而不是实际的图表本身。

票数 0
EN

Software Engineering用户

发布于 2011-08-23 03:52:43

是的,这些东西在现实世界中有价值。

您并不总是使用它们,也不总是完美地完善它们,但是它们都是对问题域建模并确保构建正确解决方案的有用工具。

这些工件的存在都是因为它们比纯文本更好地记录正在发生的事情。如果简单的英语更好的话,我们就会用它。(如果简单的英语效果更好,我们就会使用文本要求!)

不要被学习环境中这些事情的简单性所愚弄。在现实世界中,它们会变得相当复杂。或者,有时它们并不复杂--从而成为传达理解的简单方式。

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/102955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档