为什么 class 图表不包括所有 classes?
Why do class diagrams don't include all classes?
我见过的大多数 UML class 图几乎就是 ER 图,并且缺少 class 已编程的图。
如果我对基于网络的应用感兴趣。这些有 class 访问 REST 资源的元素(我认为这就像边界元素),它们还包含 class 提供服务或执行操作的元素(可能是控制元素),最后 class es 表示数据库中的内容(我想是实体元素)。所以我看到的大多数 UML 示例都只绘制了实体元素的图表。这是为什么?放置其他 class 是不是太详细了?
例如:执行这 2 个用户故事的应用。
- 客户端从网页执行登录。
- 登录的客户请求订单。
我会模拟以下 classes:
- A REST class 从应用程序的前端接收信息。
- A Login class 执行搜索和验证 REST class 收到的信息的操作,然后使用信息。
- A 用户 class 具有请求订单的方法。
- 一个订单class。
那么为什么所有这些 class 都没有在 class 图表中建模?
我猜这正是你或你在 preffers 工作的公司。
在我看来,只有 "entity" 类 才是真正重要的,因为它们展示了应用程序的真实设计和结构。如果您必须对应用程序进行编程,您实际上并不关心如何从外部 database/api 收集日期。但是,你需要知道实体之间的关系是怎样的,否则你将无法在项目上工作。
只使用您或您的团队可以接受的内容,并确保每个人都了解应用程序的结构。在我看来,这个案子没有真正的对错。
UML 不是关于图表,而是关于创建模型。图表是模型的特定视图。该视图包含当前视图应突出显示的内容。如果有需要,就把所有东西都放进去。但要获得图片,您需要将域切割成子域并分别突出显示每个子域。
问题域的分析对于软件和数据库系统至关重要。不分析问题域,就无法理解系统需求,就无法正确实现系统。匆忙进入解决方案领域往往是项目失败的根源。
类 应该是一种比日新月异的技术或框架更持久的组织信息和相关代码片段的方式。随着时间的推移,人们应该能够用 新 技术替换问题域 class 的 实现 以满足非功能性需求。如果您从 "REST" class 开始,您就失去了耐用性,因为 REST 将在几年后成为另一回事。如果您创建 "Login" class,您也会失去耐久度。当某些近场技术使输入密码完全无关紧要时会发生什么?您可能是 "logging" 用户,但我敢打赌,执行过程将完全错误。问题领域的变化往往比技术变化慢得多。比如"trade"的域名自古以来就没怎么变过
UML 对于思考问题域特别有用。有些人更喜欢用它来绘制草图,但其他人已经将 UML 分析模型编译成代码已有一段时间了。 (有关更多信息,请参阅 Mellor 和 Balcer 的书,Executable UML: A Foundation for Model-Driven Architecture, or H. S. Lahman's book, Model-Based Development: Applications。)听到一些真正的大公司一直将其用于关键任务软件,您可能会感到惊讶。
UML 的分析适用性是您倾向于看到看起来更像 ER 图的 UML class 图的原因之一。 UML和ER都是分析问题域的方法; UML 可以使它走得更远。您不会看到很多设计模型的另一个原因是大多数开发人员宁愿实施而不是设计。
我见过的大多数 UML class 图几乎就是 ER 图,并且缺少 class 已编程的图。
如果我对基于网络的应用感兴趣。这些有 class 访问 REST 资源的元素(我认为这就像边界元素),它们还包含 class 提供服务或执行操作的元素(可能是控制元素),最后 class es 表示数据库中的内容(我想是实体元素)。所以我看到的大多数 UML 示例都只绘制了实体元素的图表。这是为什么?放置其他 class 是不是太详细了?
例如:执行这 2 个用户故事的应用。
- 客户端从网页执行登录。
- 登录的客户请求订单。
我会模拟以下 classes:
- A REST class 从应用程序的前端接收信息。
- A Login class 执行搜索和验证 REST class 收到的信息的操作,然后使用信息。
- A 用户 class 具有请求订单的方法。
- 一个订单class。
那么为什么所有这些 class 都没有在 class 图表中建模?
我猜这正是你或你在 preffers 工作的公司。
在我看来,只有 "entity" 类 才是真正重要的,因为它们展示了应用程序的真实设计和结构。如果您必须对应用程序进行编程,您实际上并不关心如何从外部 database/api 收集日期。但是,你需要知道实体之间的关系是怎样的,否则你将无法在项目上工作。
只使用您或您的团队可以接受的内容,并确保每个人都了解应用程序的结构。在我看来,这个案子没有真正的对错。
UML 不是关于图表,而是关于创建模型。图表是模型的特定视图。该视图包含当前视图应突出显示的内容。如果有需要,就把所有东西都放进去。但要获得图片,您需要将域切割成子域并分别突出显示每个子域。
问题域的分析对于软件和数据库系统至关重要。不分析问题域,就无法理解系统需求,就无法正确实现系统。匆忙进入解决方案领域往往是项目失败的根源。
类 应该是一种比日新月异的技术或框架更持久的组织信息和相关代码片段的方式。随着时间的推移,人们应该能够用 新 技术替换问题域 class 的 实现 以满足非功能性需求。如果您从 "REST" class 开始,您就失去了耐用性,因为 REST 将在几年后成为另一回事。如果您创建 "Login" class,您也会失去耐久度。当某些近场技术使输入密码完全无关紧要时会发生什么?您可能是 "logging" 用户,但我敢打赌,执行过程将完全错误。问题领域的变化往往比技术变化慢得多。比如"trade"的域名自古以来就没怎么变过
UML 对于思考问题域特别有用。有些人更喜欢用它来绘制草图,但其他人已经将 UML 分析模型编译成代码已有一段时间了。 (有关更多信息,请参阅 Mellor 和 Balcer 的书,Executable UML: A Foundation for Model-Driven Architecture, or H. S. Lahman's book, Model-Based Development: Applications。)听到一些真正的大公司一直将其用于关键任务软件,您可能会感到惊讶。
UML 的分析适用性是您倾向于看到看起来更像 ER 图的 UML class 图的原因之一。 UML和ER都是分析问题域的方法; UML 可以使它走得更远。您不会看到很多设计模型的另一个原因是大多数开发人员宁愿实施而不是设计。