这是一个金融投资类的项目。用户操作流程类似于在excel中制作财务报表:打开历史数据;确定运算公式;手工输入或根据公式计算新的数据。

做这个模型设计,是受最近读的《人月神话》和《领域驱动设计》一书的影响。希望能够通过这项工作,明确系统对现实的抽象,降低项目的复杂度。到目前为止来看,项目现有功能都可以用这模型来描述。作为一个系统设计,它应该算及格了。

1. 操作模型

操作模型共包括四种。基本概念模型、展示模型、计算模型、更新模型。

其中基本概念模型是客户端/服务端数据交互的模型,同时也是客户端其它三种模型的基础;其它三种模型都是对基本概念模型进行不同的封装得到的。

 

1) 基本概念模型

基本概念模型中包含元数据和行数据列表两项数据。

元数据包括公司类型、股票代码等数据,是基本概念模型用于标识其数据和结构所需的说明数据。

行数据列表是一个行模型的列表。行模型中包含了一个报表数据项在系统中进行标识、展示、修改、运算等操作时所需要使用的基础数据,如数据单元、预测方法、预测取值等。

 

   

 

2) 展示模型

展示模型是用户界面展示、操作基本概念模型的接口。其基本结构与基本概念模型一致;但是其数据和操作范围受到限制。数据方面,可以读、写基本概念模型的文本,但只能读取其数值;操作方面,可以响应页面的修改预测数据、修改预测取值、修改预测方法三种操作,并将用户操作传递给计算模型。

 

 

3) 计算模型

计算模型是报表数据计算数值、文本的模型。通过该模型,可以读取基本概念模型中的文本,读取、写入其数值和公式,从而借助公式计算服务计算出所需数值。

 

4) 更新模型

更新模型是根据报表字段间的勾稽关系,将各字段用树形结构关联起来,以表示、操作其勾稽和更新关系的模型。更新模型用于响应某一个报表字段的更新,根据该字段与其它字段的勾稽关系,更新与之关联的字段。