一、URP模块的命名原则

1.1 模块命名规则

整个urp系统采用模块式的布局进行构建。由于涉及到教务、学籍、教学质量等众多的业务方面,因此如何这些模块,防止命名冲突,以及增强可维护性等都带来了挑战。虽然整个urp系统可以碎片化部署,但是整体上代码会更多的考虑兼容性。因此不会选择随机的字符串作为每个模块的名称,而是给每个模块在固定的命名空间下,一个固定的不冲突的名称。这样的思路在restful service url设计和数据库schema规划上会更好的遵循。

1.2 数据库对象命名

  • 所有urp的数据库表采用英文复数命名。以学生学籍表为例为students,没有特殊的划分不许要增加_T或者T_之类的前后缀。
  • 所有数据库对象的命名使用为小写字母。
  • 所有数据库对象命名长度一般不能超过30字符。

二、具体的模块命名

每个模块下需要设置一个基础模块base,该模块是将整个业务的基础部分进行归纳和精简,其他业务依赖该业务时,大多依赖的公约数部分。

采用大尺度划分为7业务范围,以下列举这些业务的命名空间规范:

  • code 表示国标和行业标准
  • base 表示基础模块(人员、场所、校历、公共代码标准)
  • edu(education) 表示教学教务、学生培养、学生教育相关的业务
  • std(student) 表示学生服务相关业务
  • hr(human resource) 表示人事相关数据
  • qos(qos) 表示教学质量
  • prac(practice) 表示实践教学

2.1 教学(Edu)下的模块命名

  • clazz 表示排课、选课
  • exam 表示考务
  • program 表示培养方案
  • exam 表示考务
  • attance 表示考勤
  • project 表示教学项目管理
  • … 其他(离校、毕业、迎新、就业等相关事务)

2.2 学生信息(Std)下的模块命名

  • alter 表示学籍异动
  • award 表示综合评定、奖学金、助学金业务
  • exhcnage 表示校外学习
  • fee 表示收费信息
  • graduation 表示毕业信息
  • info 表示学生信息
  • register 表示注册报到
  • transfer 表示转专业

2.3 教学质量(QoS)下的模块命名

  • evaluation 表示课程评价

2.4 实践教学(Prac)下的模块命名

  • innovation 表示大学生创新创业

2.5 人事相关(Hr)下的模块命名

  • base 表示基础部分
  • workload 表示教学工作量

三、模块依赖

一般遵循以下原则

  • 针对每个大业务的基础模块,不能依赖其他业务的非基础模块
  • 大业务中的模块可以引用其他业务的模块

四、数据库shema设计

每个业务范围一个单独的schema。

以下给出几个例子:

  • prac 表示实践教学
  • edu 表示教务
  • std 表示学生学籍