# 6.4建模工具

建模工具可以描绘软件和需求的功能和/或技术模型，以及问题领域。它们有助于创建和维护(主要是)现实的图形抽象。\
例如，此类工具可以提供支持，从（抽象）业务流程开始，通过逐步细化越来越详细的各自情况表示。

#### &#xD;6.4.1需求和决策标准

• 支持标准化建模方法——例如，UML、SysML、实体关系模型、BPMN、状态图、Petri网等\
• 支持非正式的模型\
• 支持不同的视图/模型类型(图表类型)\
• 支持静态和动态建模\
• 模型检查(验证、合理性检查)\
• 图表和其中包含的对象的分离，特别是为了在其他图表中重用对象\
• 模型和图表的链接或串联。选择（即点击）时自动转发到相关（细化）模型元素或图表。\
• 支持显式的元模型\
• 手动或程序控制修改元模型的能力\
• 能够定义自己的建模语言（领域特定语言，包括图形语言）\
• 与版本管理系统(如Subversion、Git、Mercurial)集成\
• 多用户能力和权限的概念\
• 从模型生成文档（各种格式）。文档布局和结构应可配置和/或可编程。\
• 源代码的逆向工程

#### &#xD;6.4.2建模工具面临的挑战

• 许多当前的图形表示工具(如UML模型、思维导图或自由形式的图表)不能被多个用户同时编辑。这使得图表的合并非常耗时且容易出错。\
• 符号通常不适合非技术利益相关者\
• 通常与软件开发环境的集成不佳或不存在，导致无法被开发人员接受

#### &#xD;6.4.3 示例

• ArgoUML(开源)\
• ARIS (IDS Scheer)\
• Enterprise Architect（SparxSystems Ltd.）\
• Innovator（MID GmbH）\
• MagicDraw（No Magic）\
• PowerDesigner (SAP SE)\
• Rational Software Architect (IBM Rational)\
• StarUML(开源)\
• Visual Paradigm（Visual Paradigm International）
