业务领域建模Domain Modeling
参考简书https://www.jianshu.com/p/19da6e09b0f2
一、领域建模与面向对象
(1)定义用例
需求分析可能包括人们如何使用应用的情节或场景,这些情节或场景可以被编写成用例。
(2)定义领域模型
面向对象分析关注从对象的角度创建领域描述,需要鉴别重要的概念,属性和关联,面向对象分析的结果可以表示为领域模型,在领域模型中展示重要的领域概念和对象。需要注意的是,领域模型并不是对软件对象的描述,而是真实世界领域中概念的描述。
(3)分配对象职责并绘制交互图
面向对象设计关注软件对象的职责和协作,顺序图是描述协作的常见表示法,它展示出软件对象之间的消息流,和由消息引起的方法调用。
(4)定义设计类图
除了在交互图中显示对象协作的动态视图外,还可以用设计类图来有效的表示类定义的静态视图,这样可以描述类的属性和方法。领域模型表示的是真实世界的类,设计类图表示的是软件类。
(1)寻找概念类
(2)将概念类绘制成UML类图中的类
(3)添加关联和属性
二、领域建模示例
我们组的工程实践项目为对特定领域设计一个文本摘要提取系统,通过获取大段文本信息的关键词语获取关键信息,以协助对文本内容进行主题概括。以下针对此领域建模:
领域分析:
主体功能需求有:
①数据获取 ②数据预处理 ③提取文本主题
数据获取:即获取有标记的训练集测试集验证集数据,一般选取数据集: LCSTS中文数据集,其中包含大量短文本和摘要对以及部分人工评价后的摘要数据集。
数据预处理:从LCSTS数据集获取到的是XML格式数据,需要处理获取数据集、测试集、验证集的短文本与手工标记的摘要。
提取文本主题:利用包含编码器和解码器的seq2seq模型,编码器是一个双向LSTM,包含上下文两个方向的信息。解码器是一个单向LSTM,读取输入的词并逐字生成摘要,并将目标的词汇表映射到高维空间中。引入attention机制考虑全文为得到的字词打分排序,以帮助得到有效语义的摘要。
以UML可视化如下: