uml - UML 序列图的形式语言

标签 uml requirements

是否有一种形式语言可用于将 UML 序列图中存在的信息捕获为人类易于理解的文本格式?

在我们这里,软件需求通常是根据复杂的序列图来指定的,这些序列图很难审查、验证正确性并进行更改。另外,恕我直言,程序员更喜欢从需求的明确文本表示来实现,而不是从庞大的多页图表来实现。

最佳答案

(1) 是的,有一种专有的几乎正式的文本格式语言,能够在程序员可以理解的 UML 序列图中表达信息(也可能是其他一些人可以理解的)人类)。

我所说的语言是由 Steve Hanov 设计和实现的,完整的示例列表可以在 https://www.websequencediagrams.com/examples.html 处找到,我强调了下面的示例之一,以便您了解可读性:

enter image description here

(2) 但是, 请注意,您(或其他人)可能会用任何语言(文本或图形)编写糟糕的、不可读的代码,并且更改语言不会自动改变您(或其他人)其他人的)习惯是让代码自动变得更好、更可读、更可维护

(2.1) 写下“需求的明确文本表示”,例如以客户批准的用例的形式进行开发既不是一件容易做的事情,也不是一件容易学习的事情,仅仅改变语言不会有太大改善。 (例如,请参阅 Stack Overflow: From user stories to sequence diagram 了解更多指针)

(2.2) UML 序列图的目标受众(读者)不仅是程序员,而且还有技术含量较低的利益相关者,对他们来说一张图片可能胜过数千字。在我看来,给程序员 Java 伪代码,如果需要的话,甚至可以通过工具将其逆向工程为 UML 序列图(请参阅 Stack Overflow: how to generate sequence diagram from Java source code 或 Google:“java 序列图”以获取更多指针)比试图找到/发明一个更好序列图特定语言

(2.3) 当然有一些工具可以通过使用缩放、超链接、折叠/展开 block 、调整显示的细节级别等技巧来帮助阅读大型 UML 设计,并且有像 A3 or A2 这样的纸张尺寸可以将典型的多页图变成单页图

<小时/>

根据您的描述,您的位置似乎存在流程问题,您最好在 https://softwareengineering.stackexchange.com/help/on-topic 处提问

What topics can I ask about here?

Programmers Stack Exchange is a Q&A site for professionals and students in software development and related fields who are interested in getting expert answers on conceptual questions about software development.

If you have a question about...

  • software requirements
  • software architecture and design
  • ...
  • development methodologies and processes
  • software engineering management
  • ...

关于uml - UML 序列图的形式语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26727682/

相关文章:

java - 复合图案的正确使用

scalability - 是否可以将可扩展性量化为需求?

php - symfony fatal error : require_once() bin/./SymfonyRequirements.php

tfs - 用什么工具接收客户需求

python - 亚马逊贤者。 SKlearn 估计器与 Tensorflow 估计器 - 为什么其中之一中不存在requirements_file?

java - 根据条件要求,用户输入的错误输出

architecture - Enterprise Architect 中的导入/导出

c++ - 如何在 UML 中建模 1 到 0..* 聚合

c# - 可以直接从代码生成类图的程序

java - 组合与继承?