码迷,mamicode.com
首页 > 其他好文 > 详细

二、类模型-领域类映射

时间:2018-02-17 23:48:42      阅读:319      评论:0      收藏:0      [点我收藏+]

标签:类的属性   交互   字符   需要   blog   image   没有   领域   inf   

第一步,照猫画虎

    首个要解决的问题是:类从哪里来?

    从上一章中总结的领域模型关系图中可以看到,这些领域对象基本上就是我们所需要的类,只是有些映射到软件类后并不是系统真正参与的类,所以要剔除掉。

技术分享图片

    领域类是需求涉及的业务的概念,软件类是软件系统内部的概念。

    以POS机为例,顾客这个领域类可以剔除,因为它不是业务流程中的一个重要参会者,但它不是POS机内部需要实现的一个实体。POS机业务中,顾客甚至不会和POS机直接交互。站在POS机软件系统角度上,顾客和POS机没有任何关系。

    键盘、屏幕、扫码枪这些是硬件组成部分,不是软件组成部分,也可以剔除。假设屏幕显示要求是既可以图形界面,也可以字符界面,那么软件系统就要处理这种逻辑,此时,屏幕就是软件系统的一组成部分,就需要从领域类转换成软件类。

    接下来的工作就是细化了,首先:

        【名称映射】 根据领域类的名称,起个合适的软件类名称。

        【属性映射】 根据领域类的属性来设计软件类的属性,基本上可以理解为照搬。

        【提炼方法】 由于领域类中没有方法,因此根据用例模型中涉及到的“动词”来提炼方法。

        【筛选】我们可以从用例模型中找到很多的方法,找出来后,我们要筛选掉不属于软件类的方法。

        【进阶提炼】例如:我们可以看到方法中有“扫描”、“手动输入条形码”这两个动作。首先用例模型中,这两个动作都是收银员的动作,但提炼到软件类中它俩则不属于收银员,而是属于扫码枪和键盘提供的功能,收银员只是借助这两个工具来实现。另外,这两个的动作虽然不一样,但都是向系统中“增加交易产品”,因此可以提炼出一个动作,就是“增加交易商品”这个动词。提炼这些动词的精确度和完善度是和人员的经验有关的,要加强抽象的思维。

        【分配】将提炼出来的动词,分配到合适的类中。这个也是跟经验很有关系。分配之后的得到如下软件类关系图:

技术分享图片

 

二、类模型-领域类映射

标签:类的属性   交互   字符   需要   blog   image   没有   领域   inf   

原文地址:https://www.cnblogs.com/mysic/p/8452345.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!