业务领域建模Domain Modeling

1) Collect application domain information

focus on the functional requirements

also consider other requirements and documents

 

2) Brainstorming

listing important application domain concepts

listing their properties/attributes

listing their relationships to each other

 

3) Classifying the domain concepts into:

classes

attributes / attribute values

relationships:association, inheritance, aggregation

 

4) Document result using UML class diagram

 

 

1

基本需求:

用户可以在链上编写智能合约并提交链上达成共识;

用户可以调用智能合约,实现转账,投票等功能;

用户可以参与到账本的维护中。

其他需求:

用户编写智能合约时可以对历史数据进行溯源。

 

2

首先从应用层来说,要有账户(account)的概念(借鉴以太坊和hyperledger),账户拥有地址(addrerss),每个地址唯一标识一个账户。用户(node)的账户作为普通账户,合约(contract)的账户作为合约账户,账户可以有余额(balance)等信息。

其次到存储层面,直接存储合约执行信息的是transaction,记账节点收集客户端节点提交的transaction后打包成block,通过共识算法接至链上并进行广播。

 

 

3

总结上述内容,将概念内容转化为类内容:

 

类名:node

属性:account

关联:继承account;与blockhas-a关系;与contractassociation关系

 

类名:contract

属性:account

关联:继承account;与nodeassociation关系

 

类名:account

属性:balance,address

关联:被nodecontract继承

 

类名:block

属性:preBlkHash,timeStamp,merkleRoot,blkId

关联:与transactionhas-a关系;作为node的数据成员

 

类名:transaction

属性:srcAddress,desAddress,tranId

关联:作为block的数据成员

 

 

你可能感兴趣的:(业务领域建模Domain Modeling)