教育教学管理系统规范体系构建研究
2015-01-23张海建
□张海建 孙 丹
一、教育教学管理系统构建
根据目前学院ISO9000的运行情况,在构建教育教学质量管理系统时,主要考虑了以下几个方面:第一,如何保证信息系统的随需应变能力,随时适应管理机制的变化。第二,如果某一个业务点产生变化或者调整,是否面要重新编译整个程序,还是进行局部构建。第三,在系统开发过程中,产生的一些公用组件,在学院新建的或现有的业务系统中使用,是否还需要重新来进行开发,如何使用现有的成熟的组件,如何向项目中引用或使用。第四,是否能够形成一个基础平台,在进行新的业务系统开发时,直接在基础平台上建设即可。基于以上四点来考虑教育教学质量管理系统的构建方式。对整个系统的标准规范作了如下定义,以确保系统的建设,能够满足以上的要求。
(一)具体环境规范。应用程序的运行环境采用两台应用服务器和两台数据服务器,进行负载均衡的高可用web 集群运行环境配置,保证应用程序运行的稳定性和运行效率,数据库采用主从备份的方面,用以保证数据的安全性。
(二)总体规范。
1.统一缩写或名词约定。在项目中,对于同一概念如果需要使用缩写,统一使用如下定义:info -信息;doc -文档;src -源码;demo-项目的静态页面原型;fea -功能点;req -需求点;query-查询;add-增加;update -编辑;input -输入;delete -删除;list-结果列表使用的英文名称;impor-导入;export-导出;rtn-返回;success-成功;fault-失败;error -错误;业务字典-与业务相关的代码及对代码的描述,系统提供了对业务字典的管理,通过系统业务字典功能,为系统实现提供的大量组件,方便开发。
2.需求/功能编号定义。需求编号规范:“req”+“-”+一级模块编号+“-”+二级模块编号+“-”+功能点编号。功能点代码编号规范:“fea”+“-”+一级模块编号+“-”+二级模块编号+“-”+功能点编号。在此,“fea”表示功能,“req”表示需求一级模块对应一个包,二级模块对应构件包下的构件,功能点为构件下的具体功能。
3.子系统及程序包规划。一级模块与包命名最后一段一致:小写英文单词组成的业务描述。如:权限管理(auth),功能矩阵样式如下:子系统:um,包中文名:权限管理与控制,包名称:auth,功能中文名称对应的功能名称依次是:认证管理-auth,应用功能管理- function,菜单管理- menu,角色管理-role,操作员管理- operator,数据权限管理- dataright;包中文名:组织机构管理,包名称:organization,功能中文名称对应的功能名称依次是:机构管理-organization,岗位管理-position,人员管理-person,职务管理-duty,工作组管理-workgroup,业务机构管理- busiorg;包中文名:应用基础服务,包名称:common,功能中文名称对应的功能名称依次是:单点登录——sso,业务字典——busidict,业务日志——busilog,元数据管理——metadata,基础构件——comm;包中文名:应用基础工具,包名称:Utility,功能中文名称对应的功能名称依次是:文件上传——fileupload,通用数据选择——datachoose。在进行构建时,包名全部使用英文小写,包名称建议采用长命名空间的方式。
4.应用架构构建。Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于Maven 的缺省构建规则有较高的可重用性,所以常常用两三行Maven 构建脚本就可以构建简单的项目。由于Maven 面向项目的方法,许多Apache Jakarta 项目发布时使用Maven,而且公司项目采用Maven 的比例在持续增长。本应用采用JAVA EE 架构,应用系统的功能开发,将通过Maven 的方式对项目进行构建。应用的总体架构参见图1。
图1 应用总体架构图
以Maven 的方式进行构造,依赖的版本定义在公共模块或子系统中,子(模块)pom 设置<parent >,继承父(项目)pom,设置一个虚拟的总项目,多个实际项目作为总项目的模块。在编码过程中,要求尽量使用公用模块,以减少系统编码、维护工作量,使程序具有良好的结构性。一般定义,超过三个地方使用的相同逻辑的代码主要抽象为公用模块。
(三)配置规范。
1.配置工具。项目的配置工具内部采用SVN 作为配置管理工具,Maven Repository 作为Maven 仓库的定义。
2.配置目录结构。配置目录结构如图2所示。
(四)文档规范。
1.文档命名规范。文档名称=系统名称+“_”+中文文档名[+“_”+作者姓名]。修改者必须在文档中注明修改时间、版本和大致内容。
图2 配置库目录结构
2.文档编写规范。对于项目的成果性文档,要求在编写前提供统一的模板,编写和修正过程中,要记录变更历史。在Word 中的插图尽可能使用JPG 或GIF 以及PNG 格式,以降低Word 文档的大小。所有文档中涉及的图形,要求提供原始文件,并保存到配置库中。文档一旦初步定稿之后,评审者采用修正模式修改文档。如果文档参考了其他资料,需要提供参考资料的出处,如某个文档、网站、书籍。
(五)结构设计开发规范。系统中以包为复用的基本对象,构件包中包含数据访问层、业务层、控制层、页面资源、配置信息等概念。一个项目中可包含多个子项目,按Maven 的体系结构,项目按照功能模块进行划分,力求便于维护和管理。其中“model”为整个系统的显示层,即所有的界面操作及界面逻辑都在些项目中进行构建common 项目为系统的公用项目,所有公用部分的代码在项目中进行构建。model-caculate 为系统中模型算法部分,所有算法在此项目中进行构建其它核心功能模块和辅助功能模块按照规则进行创建,即“项目名称——功能模块名称”。
1.总体规范。
(1)项目路径规划。com.sinocarbon.model.
(2)对于应用中的变量命名,要求遵循如下规范。在数据访问层中,变量名称遵循Java 变量命名规则;业务层中,变量命名和数据访问层的命名规则一致;控制层中,变量名和业务层的命名规则一致。为保证程序逻辑或代码的可追溯性,要求每个文件都保留正确合适的开发人员信息。
(3)针对创建者和部门,按照如下要求进行设置。作者:输入开发环境使用者正式姓名的中文。开发人员的英文名或者系统缺省的用户名。部门:输入开发环境使用者所在公司的名称,例如“信息中心”等。
2.包命名规范。包是项目中基础的业务实现和业务部署单元,其中包含了数据访问、业务逻辑、控制以及一些额外需要的资源,包采用以下方式进行命名:包名称全部使用英文小写;包名称采用长命名空间的方式;包名=系统命名空间+”.”+业务描述的英文单词;包命名在设计期由设计人员确定,不允许开发期确定;显示名称描述为中文信息;包属于一个抽象概念。
3.数据访问层命名规范。数据访问层是进行数据库操作的逻辑层。数据访问层按以下所描述的方式进行命名。包名定义为com.sinocarbon.model. um. dao。实现接口规则com. sinocarbon.model. +子项目名称+模块名称Dao,类规则为com. sinocarbon.model. +子项目名称+模块名称DaoImpl 如用户管理模块的包命名规则为在包com.sinocarbon.model.um,在该包下创建接口和类名称为UserDao.java 和UserDaoImpl.java,首字母大写,与java 类命名一致。接口和类直接建在以构件包为名称的包下,原则上不增加新的包的定义。名称不使用前缀或后缀。接口和类包含一个单一实体管理功能的操作集合,即增、删、改、查等。
4.业务层命名规范。业务层为进行业务逻辑操作的逻辑层。业务层按下面方式进行命名:包名定义为com.sinocarbon.model.um.service。实现接口规则com. sinocarbon. model. + 子项目名称+模块名称Service,类规则为com. sinocarbon. model.+子项目名称+模块名称ServiceImpl 如用户管理模块的包命名规则为在包com.sinocarbon.model.um,在该包下创建接口和类名称为UserService. java 和UserServiceImpl. java,首字母大写,与java 类命名一致。接口和类直接建在以构件包为名称的包下,原则上不增加新的包的定义。名称不使用前缀或后缀。接口和类包含一个单一实体管理功能的操作集合,即增、删、改、查等。
5.页面资源命名规范。一是在web 项目中创建一个文件夹,与模块名称一致文件夹下创建与该模块相关的页面资源,例如user,在页面资源下创建user 目录;二是如果涉及较多的不同页面资源,可以在同名的文件夹下再创建js 和image,并将相应资源放置在目录下;三是页面资源文件一律使用小写字母,命名一般采用主谓格式,各个单词之间使用下划线“_”连接。
6.web 目录规范。WEB 目录是针对整个项目的WEB 配置目录,允许放置对整个应用有效的资源文件,包括公共的js、图片、页面、以及WEB-INF 的配置等。
二、结语
本文描述了教育教学质量管理系统中,项目标准规范的定义。标准规范的制定,为项目的设计提供了依据,为项目的顺利实施提供了保障,为使用基础平台或相关组件的开发人员提供了依据,为后续系统的扩展和在基础平台基础上进行业务系统开发的用户进行了规则的限定,是整个系统顺定实施的基础。
[1]北京信息职业技术学院. 高等职业教育教学质量管理与保障体系——教学管理类工作规程汇编,2012,9