ABFrame系统设计开发规范
4.2. 配置目录
配置目录如下: ABFrame. ├─doc
│ ├─0_项目过程 │ │ ├─0_准备 │ │ ├─1_需求 │ │ ├─2_设计
│ │ │ ├─0_设计开发规范 │ │ │ ├─1_总体设计 │ │ │ ├─2_数据库设计 │ │ │ ├─3_详细设计 │ │ │ ├─4_UI设计 │ │ │ └─5_接口设计 │ │ ├─3_开发
│ │ │ ├─开发文档 │ │ │ └─走查记录 │ │ ├─4_测试
│ │ │ ├─功能测试 │ │ │ ├─性能测试 │ │ │ └─集成测试 │ │ ├─5_部署
│ │ │ ├─用户培训 ――培训教程,培训计划等 │ │ │ ├─系统上线 ――上线过程产生的各种文档,如施工日志等 │ │ │ ├─系统安装 ――安装文件、脚本、安装步骤等 │ │ │ └─项目验收 │ │ └─6_运维
│ │ ├─故障处理 │ │ ├─日常维护 │ │ ├─用户文档 │ │ ├─系统巡检 │ │ └─系统档案 │ ├─1_项目管理 │ │ ├─0_管理方案 │ │ ├─1_项目计划 │ │ ├─2_人员管理 │ │ ├─3_项目报告 │ │ │ ├─会议纪要 │ │ │ ├─阶段总结 │ │ │ └─项目周报 │ │ ├─4_变更管理 │ │ ├─5_质量管理
共61页 第11页
ABFrame系统设计开发规范
│ │ ├─6_配置管理 │ │ ├─7_费用管理 │ │ ├─8_启动收尾 │ │ └─9_专业服务表单 │ └─9_参考资料 │ ├─业务资料 │ ├─技术资料 │ ├─模板 │ └─软件补丁 └─src
└─abframe
5. 文档规范
5.1. 文档命名规范
1) 文档名称=系统名称+“_”+中文文档名[+“_”+作者姓名]。(红色为可选) 如:《ABFrame_系统设计说明书.doc》或《ABFrame_系统设计说明书_蔡述尧.doc》 2) 修改者必须在文档中注明修改时间、版本、和大致内容
5.2. 文档编写要求
1) 统一工具列表:
? Word 2003:用于编写文档
? Excel 2003:用于项目中表格信息的整理 ? PowerPoint 2003:用于进行项目汇报
? Visio 2003:用于绘制设计图形,如部署图等 ? Project 2003:用于制定项目计划
? MindManger Pro6:用于绘制思维导图,开会讨论的思维整理 ? Rose 2003:用于进行设计用例、活动图、时序图 ? Powerdesigner 12.5:用于进行数据库设计
2) 对于项目的成果性文档,要求在编写前提供统一的模板,编写和修正过程中,要记
录变更历史
3) 在Word中的插图尽可能使用JPG或GIF以及PNG格式,以降低WORD文档的
大小
4) 所有文档中涉及的图形,要求提供原始文件,并保存到配置库中 5) 文档一旦初步定稿之后,评审者采用修正模式修改文档
6) 如果文档参考了其他资料,需要提供参考资料的出处,如某个文档、网站、书籍
共61页 第12页
ABFrame系统设计开发规范
6. 数据库规范
6.1. 操作规范
1、 在设计期间,确定专门的DBA,在开发期间对数据库的变更都需要通过DBA来实
施,实施的流程如下:
a) 变更经变更小组讨论通过后,填写数据库变更申请
b) 开发人员或设计人员向DBA提出变更要求(最好提供变更的脚本) c) DBA更改数据库设计(PDM文件)
d) DBA提供数据库变更后整体脚本和数据库局部变更脚本 e) DBA使用脚本进行数据库变更,并做好变更记录 f) DBA通知所有相关人员(邮件方式)
2、 系统通过EOS提供的数据实体或命名SQL方式操作数据库,不建议使用其他方式访
问数据库。
3、 数据实体定义时,建议Entity名首字母大写其他为小写字母,Field名称均采用小写
字母,符合java规范,其映射的数据库字段名为大写
4、 应用中需要使用到的查询,如果是比较通用的查询,尽可能建立视图,其次可以建
立命名SQL,尽可能避免在逻辑中拼凑SQL语句。
6.2. 命名规范
6.2.1.数据库对象命名规范
? 表名构成:系统名称缩写+_+模型域前缀+_+对象名称(英文单词或英文缩写),例
如权限控制的某个表名:ABF_AC_FUNCTION ? 表名全部使用大写
? 表名建议不要太长(15个字符以内),如果太长,请使用单词的缩写 ? 对象名称不能使用汉字
? 对象名称不能使用中文拼音或中文拼音的首字母 ? 对象名称尽可能不使用阿拉伯数字
? 必须保证你的对象名称没有和保留词、数据库系统或者常用访问方法冲突 ? 绝对不要在对象名称的字符之间留空格
? 如果对象的名称仅有一个单词,则不使用缩写 对象名称 表 键和索引 主键 外键 索引 视图 对象类别 前缀_对象名 P_对象名 F_父对象名(缩写)_子对象名(缩写) I_对象名_序号 前缀_V_对象名 共61页 第13页
命名规则 示例 OM_EMPLOYEE P_EMPLOYEE F_ORG_EMP I_EMPLOEE_1 OM_V_PERSON
ABFrame系统设计开发规范
包 存储过程 函数 触发器 序号生成器 前缀_PACK_对象名(缩写) 前缀_PROC_对象名(缩写) 前缀_FUNC_对象名(缩写) 前缀_TRI_对象名(缩写) 前缀_SEQ_对象名(缩写) OM_PACK_ORG 6.2.2.字段命名规范
? 字段名全部大写
? 为保持字段名短小,字段不同单词之间不使用任何连接符,如“_”、“-”之类 ? 不同表的同一个业务字段类型、长度、字段名称保持一致,如果表中同时存在多个
业务字段引用,则类型长度保持一致,名称在保留原名称前加2缩写。例如,客户编号可能存在于多个表中,要求采用同样的字段名,并且类型、长度一致。又例如机构表中存在两个字段都是对机构编号ORGID的引用,一是此机构的编号,二是父机构的编号,则父机构编号使用PARENTORGID表示。
? 字段名建议不要太长(15个字符以内),如果太长,请使用单词的缩写 ? 必须保证你的字段名称没有和保留词、数据库系统或者常用访问方法冲突 ? 绝对不要在字段名称的字符之间留空格
? 主键字段统一以ID结尾,并使用numeric类型,如App编号:APPID numeric(10) ? 包含”代码“的字段统一以CODE结尾,如应用代码APPCODE ? “日期”类型的字段统一以DATE结尾,“时间”类型的字段统一以TIME结尾 ? 字段名称建议命名规则(设计期持续更新) 字段分类 主键字段 包含代码 名称 日期 时间 判断字 备注 描述 建议命名规则 以ID结尾 以CODE结尾 以NAME结尾 以DATE结尾 以TIME结尾 以IS结尾 REMARK 以DESC结尾 备注 如:机构编号ORGID 如:机构代码ORGCODE 如:机构名称ORGNAME 如:出生日期BIRTHDATE 如:创建时间CREATETIME 如:是否编辑ISEDITABLE 如:备注REMARK 如: ORGDESC 6.2.3.前缀约定
AC_:表示权限控制部分的数据库对象 OM_:表示组织机构部分的数据库对象
AT_:Application Tools,应用工具类的数据库对象 EOS_:EOS系统表的前缀
共61页 第14页
ABFrame系统设计开发规范
对于此处没有约定的应用数据库前缀,采用应用缩写作为前缀。
6.2.4.属性默认类型定义
属性类别 人的姓名 电话号码 部门 单位/机构名称 地址 判断字 日期 日期时间 类型 Varchar Varchar Varchar Varchar Varchar CHAR DATE 32 32 64 64 128 1 512/1024/2048 8,2? 3,2? 255 长度 0:否 1:是 如登录时间、操作时间等 大于2048请采用CLOB类型 备注 TIMESTAMP 意见、理由、描述、Varchar 简介、备注 CLOB 图片 金额 比例 业务字典类字段 BLOB NUMERIC NUMERIC Varchar 6.3. 设计规范
? 凡是自身存在父子关系的表,均引入一个序列路径的字段,以方便检索形成菜单树,其
规则为:当某记录为根节点时,其序列路径为:“.”+主键值+“.”;当不是根节点时,则为其父节点的序列路径+“.”+主键值+“.”;引入一个子节点数量字段用于统计子节点数量;引入一个字段是否叶子节点字段。
? 在进行数据库表和字段设计时,要求提供对字段或表名的中文名称,对于复杂的字段,
提供comment的描述
? 对于数据增量很大的数据表,需要考虑设计备份表
? 必须考虑数据库访问速度,对于数据量较大的表,一定要加索引
? 一般情况下,表的设计必须满足三个数据库设计范式,对于违反范式的设计,需要提供
理由:
1) 范式一:表结构中不能含有任何重复的数据字段。 违反该范式的例子: 求职人员表:
求职人员编号 求职人员姓名 联系电话1 联系电话2 C001 C002 张三 李四 63179975 64516408 63179976 64516409 问题:若增加一个“联系电话3”则要修改表结构,原来的应用程序也将重新修改。
共61页 第15页