0

开发现有软件/应用程序的高级设计的标准或建议是什么?是否有任何可以遵循的参考指南来构建高级设计?以便所有利益相关者以相同的方式理解设计。

4

2 回答 2

1

据我了解,问题是关于开发和表示现有应用程序的高级设计。假设利益相关者来自不同的背景,而不仅仅是技术人员,那么可以有多种方式来表示设计。我将从以下内容开始:

用例图- 任何系统通常都会有参与者以及参与者与系统交互的各种场景。用例图有助于布置系统的不同场景 - 例如 - 对于购物应用程序 - 用户浏览产品、用户搜索产品、用户查看产品详细信息、用户进行购买等。这样我们可以捕获系统提供的所有功能以及不同参与者如何与系统交互。为了保持高水平,可以包括重要的场景并排除不重要的场景。

流程图- 虽然是一种非常传统的图表,但流程图对于传达大量信息仍然非常有效。数据或过程的流动可以用流程图来表示。一个系统可以有许多顺序和/或并行的活动在进行。许多系统有一个开始(触发)点,而一些系统是循环的(有一个循环)。此外,系统可以根据条件具有备用路径。这些决策点和替代路径可以很好地用流程图表示。

ER 图——任何系统通常都有一些实体,并且这些实体以某种方式与其他实体相关联。例如,客户实体与订单实体相关联并且具有一对多关系。流程图和用例图关注数据/流程的流动和交互,而 ER 图关注实体之间的关系。它提供了一种很好的方式来了解系统中涉及的高级实体以及它们之间的关系。通常这些关系是持久的,它们不会随着数据流或流程的变化而频繁变化。

部署图- 另一个提供不同类型信息的图是系统的部署图。然而,这更具技术性,可能不需要高水平,但我认为它提供了很大的价值。基本上,在部署图中,我们指定了系统的部署方式。例如,在在线购物应用程序中,该图可以显示一个代表浏览器的矩形框,然后显示当请求第一次到达服务器时将首先联系的负载均衡器,然后显示处理请求的应用程序服务器,包括缓存服务器,显示数据库,队列机制,如 Kafka 等。通过对部署进行建模,某人可以对涉及哪些计算机系统以使整个系统正常运行有一个高层次的概述。

希望这个答案有意义,并为您的问题提供一些指导。

于 2019-04-16T20:54:30.310 回答
0

您可以从域开始。领域是利益相关者(业务)和开发之间的共同语言。很好地解释和理解领域是高级架构的第一部分。

于 2019-04-16T20:23:44.990 回答