我开始使用UML和软件进行分析,我不明白UML和图表如何影响编码和软件架构,而我们可以直接构建代码及其数据库而无需图表。 我阅读了很多关于该主题的教程,但还不足以理解UML在编码中的实用性。 我理解everey图及其作用。这不是我的问题,但在分析和设计阶段之后我还不了解他们的角色。 那么UML在软件编码阶段的作用是什么? 谢谢。
答案 0 :(得分:1)
@xmojmr的评论已经说得对。 UML创建系统的模型(因此是UML中的M)。模型将系统的信息减少到一个级别,因此它是a)可管理的和b)完整的。人类的大脑不是计算机,你需要一种通信手段,系统是什么。您可以将其作为纯代码,纸质文档和UML模型来实现。所有这些的组合并不罕见。只要您拥有微型系统,您就可以使用诸如Doxygen之类的纯代码和工具。但是一旦开始变得复杂,你需要一些手柄。 UML为最终用户,架构师,测试人员,开发人员,经理等提供了这些功能。除了UML,您还需要一种方法。 UML提供了如何记录系统的语法。但是你需要上面的一些结构来写一本好看的小说。
答案 1 :(得分:0)
基于UML的模型在 基于模型 (或模型驱动)中编码/实现软件系统起着至关重要的作用强> 发展 即可。基本的想法是,您开始创建问题域的模型( 域模型 ),然后从中派生出与平台无关的 设计模型 ,可以转换为特定于平台的 实现模型 (例如,基于Java或C#的平台),最终编码为目标语言。
基于模型的开发中最突出的部分是基于从信息设计模型派生的数据模型(UML类模型)对模型类进行编码(在应用程序的MVC架构中形成模型层) ,它是从域信息模型中获得的(其中所有这些信息/数据模型都是UML类模型)。
您可以在我的教程书Engineering Front-End Web Apps with Plain JavaScript中找到基于模型的开发的一个有启发性的示例。
答案 2 :(得分:0)
在我看来,这是that other question的副本。它无法被标记,因为没有可接受的答案。 related question on meta stackexchange没有为这种情况提供明确的解决方案。
我认为我的personal answer是相关的,适用于当前的问题。
合成,Martin Fowler considers current uses of UML。我认为他描述了当前的做法。也许这些会演变吗?
也许最初的问题是正确的讨论地点?