※范畴
□实体
○属性
○□集合属性
◇联系
■实体实例(字)
●属性实例
●■集合属性实例
◆联系实例
//或/*……*/注释
程序文档分三部份构成:
1.实体联系架构--目录大纲
2.实体实例和联系规则----叙事方式和要素
3.应用流程----相当于文章组织形式
///////////////////////////实体联系架构//////////////////////////
//长方形实体定义
□长方形
○长
○宽
○□面积
//集合属性定义
○□面积
○长
○宽
◇乘
//长方形实体定义特殊化
□长方形□扩展长方形
○□边长
//集合属性定义
○□边长
○长
○宽
◇加
◇乘
○2
//输出定义
□输出界面
○打印
/////////////////////////////////实体实例和联系规则/////////////////////////////////
◇乘◆*/长 宽 *
◇加◆+/长 宽 + //也可以实例化为下两种形式:◇加◆相加/a + b 或 ◇加◆和/a b +
□长方形○□面积■我的长方形面积 //说明“我的长方形面积”为一实体
○长
□扩展长方形○□边长■我的长方形●■边长//表示为一实体属性
□输出界面○打印■屏幕●打印
/////////////////////////////////应用流程//////////////////////////
//程序输入1
■屏幕●打印 \□输出界面○打印
■我的长方形面积 \□长方形○□面积
●10●5◆* //这是一个短句,由属性字和联系字构成,根据实例部份定义的规则将按下列顺序进行处理:
/*
●10\10
●5\5,10
◆50
*/
//程序输入2
//也可以写成的长句形式
■屏幕●打印■我的长方形面积●10●5◆*
//程序输入3
//以下是把实体实例和联系规则和应用流程写在一起的形式。
//实例和联系规则从以下文字中抽取出来。
□输出界面○打印■屏幕●打印□长方形○□面积■我的长方形面积长●10○宽●5◇乘◆*○
□扩展长方形○□边长■我的长方形●■边长○长●长○宽●5◇加◆相加○2●2◇乘◆*
//程序输入4
//利用E-R模型“普遍化”原理,实体联系架构,也可以不单独列出来。这份文档包含程序组织的所有内容。
//实体联系架构和实例、联系规则从下述程序中独立出来。
■屏幕●打印□输出界面○打印■我的长方形面积□长方形○□面积●10○长●5○宽◆*◇乘
■我的长方形●■边长□扩展长方形○□边长●长○长●5○宽◆相加◇加●2○2 ◆*◇乘
//程序的输入方式:
//上述有如此多的程序输入形式,我们应该采取哪一种输入呢?其实采用程序输入2的方式就可以了。实体联系架构和实例和联系规则采用类似一种输入法的形式。在单独窗体中动态创建和定义。
//比如:
■屏幕●打印■我的长方形面积●10●5◆*
^[□输出界面○打印]
//又如:
■屏幕●打印■我的长方形面积●10●5◆*
^[◇乘/○长,○宽] //此处“/○长,○宽”告诉解释器该联系实例◆*处理要素和顺序。
//猜想
//解释器首先寻找长句最右端的“联系字”◆*再找到左边的属性字实例。
//forth语言定义的字典,可以视作定义了部分原子实体和联系的具体实例。要想实现面向E-R的程序设计,还需要增加实体联系架构和实例、联系规则
//本文仅提供“实体联系(E-R)模形的一个简单实例猜想和雏形,可能有很多不正确的地方。