我有一份学校作业,我必须创建一个特定电子商务网站的域模型,该网站可以将完整的食品袋送到人们的家中。 (http://www.linasmatkasse.se/)
这是非常基本的。选择一个包,创建帐户(有信息),付费。
我的问题是,究竟应该在模型中包含哪些内容(在一般中)?换句话说,域的行在哪里结束?例如,是否应包括交付和供应商?它们在技术上并不是网站本身的一部分,仍然起着作用。
提前致谢!
答案 0 :(得分:3)
让我们来看一些主题/主题。它可能是杂货店送货,卫星,燕子观察,任何东西。我们将此主题命名为“AAA”
用于AAA 的域模型是用于的模型的“profi IT”字。就这样。
您在模型中设置的特定于AAA的所有元素都属于域。我不知道,为什么不使用旧的好词主题。很可惜。但这个词已经被接受了。
因此,交付和供应商都在您的域中。还有更具体的词语属于杂货店。还有包包。对于人们的家园 - 地址,进出方式 - 与您的主题相关的一切。
域名设置您的词汇量。而且这一点非常重要 - 您应该使用客户使用的词汇而不是发明新词,例如“主题”的“域”: - )
首先,您应该定义用例图,稍后 - 状态机图,部署图,组件图,通信图,序列/活动/时间/交互概述图,最后 - < strong> class ,对象和复合结构图。你不需要全部制作,但有些是必要的。
答案 1 :(得分:2)
现实中为实体建模的每个实体都是域的一部分。在您的示例中, delivery 和供应商应该是域模型的一部分。基本上任何具有已定义行为的实体都应该建模为域的一部分。很多时候,域模型组件似乎不是网站的一部分,这实际上是正常的,前端是查看域模型的一种方式,它不需要暴露域内的所有内容。 我通常会发现很容易想到现实世界中哪些实体是业务模型的逻辑组件,如果我发现它是冗余的,不必要的或者可以封装在另一个实体中,我只会删除一个。
答案 2 :(得分:1)
不要忽视纯粹的人类操作。反之。把它们放在这里,只有它们的用例不是连接演员 - (子)系统,而是连接演员 - 演员。看到它们对于更好地规划整个系统非常有用。忽略它们时,不可能为用户创建一个好的系统。 IT系统是大型系统不可或缺的组成部分,我们正在创建更大的系统,并计划支持,流程,信息交换,部门和依赖关系。
对于那些对IT系统边界无知的程序员来说,我常常遇到问题。而且往往不可能让他们从这些边界出发思考。结果,系统也对用户的实际需求视而不见。所以我们对用户讨厌的软件感到悲伤。
开始从IT系统之外的实体开始研究问题/域/主题,并首先创建图表,将IT系统视为众多块中的一个,这非常有用。