Uml 为项目设计初始类图的常见做法是什么?

Uml 为项目设计初始类图的常见做法是什么?,uml,Uml,我目前正在学习一门介绍项目规划的课程。它主要是关于如何绘制UML图(blegh),但也有一些其他主题 特别是有一部分一直困扰着我。在课程中,他们描述了一个从一组需求到初始类图的方法,但是关于这个方法的每一件事都让我觉得这绝对不是一个好办法。在继续之前,让我先举一个例子 我们考虑一个管理温室公司的系统。公司有多个温室,每个员工都被分配到自己的温室。温室有一个位置和一种植物生长在那里。员工有姓名和电话号码 根据课程的方法,类图如下所示: 对我来说,这看起来像是一个适合代码的数据库布局。当我着手设计

我目前正在学习一门介绍项目规划的课程。它主要是关于如何绘制UML图(blegh),但也有一些其他主题

特别是有一部分一直困扰着我。在课程中,他们描述了一个从一组需求到初始类图的方法,但是关于这个方法的每一件事都让我觉得这绝对不是一个好办法。在继续之前,让我先举一个例子

我们考虑一个管理温室公司的系统。公司有多个温室,每个员工都被分配到自己的温室。温室有一个位置和一种植物生长在那里。员工有姓名和电话号码

根据课程的方法,类图如下所示:

对我来说,这看起来像是一个适合代码的数据库布局。当我着手设计一个程序时,我会试图识别主要的抽象概念。与所有与数据库交互的代码或负责GUI的代码一样,它们都是系统的不同部分。这就是我认为的最初的类图。

我简直无法想象,这是开始设计项目架构的常用方法。这些类看起来很难看,因为如果你举一个稍大一点的例子,这些类将被大量的责任所淹没。对我来说,它们看起来像是数据对象,具有它们不应该具有的功能。它并没有给我一个线索,告诉我如何从这里继续,并让一个通用的架构继续运行。关于它的一切似乎都过时了

我想知道的是,是否有人能告诉我,这是否是一种常见的方法,可以在纸上得到一级图表,原因我忽略了

当我着手设计一个程序时,我试图确定主要的 抽象


UML中的原理也是一样的。您可以表示抽象及其关系,并且由于现有的可视化工具,您可以向涉众演示系统,甚至可以从您的设计中自动生成存根

我认为从一个没有实现约束的逻辑模型开始是合理的。该逻辑模型不一定涉及物理实现细节(例如,是否使用数据库、数据库类型、操作系统/用户界面选择等),因此只表示“真实”的业务域对象和流程。对于这个简单的例子来说,与潜在数据库实现的相似性并不令人惊讶

通过理解您的业务领域(通过您开始构建的逻辑模型),您将能够更好地识别,例如,哪些体系结构模式是合适的,需要构建哪些屏幕,以及需要设计的数据库元素。在这个阶段,课程的另一部分可能会对你有所帮助


在实践中,您通常会知道,您打算使用MVC和后端数据库来实现(比如)基于web的应用程序,并且可能希望与业务项并行地对实现类进行建模。对于你的课程来说,使用一种强调逻辑和物理阶段区别的方法听起来并不是不合理的

那么你是说用数据及其关系开始建模确实很奇怪吗?不,我说的正好相反。你使用
UML
作为一种工具来表示所有更高层次的抽象,并进行越来越低的抽象。它为您提供了表示设计(也向第三方)的标准方法和加快工作速度的工具