4系统设计
4.1系统概要设计
本文通过B/S结构(Browser/Server,浏览器/服务器结构)开发的该高校办公室行政事务管理系统,B/S结构的优点很多,例如:开发容易、强的共享性、便于维护等,只要有网络,用户可以随时随地进行使用。
系统工作原理如图4-1所示。
图4-1 系统工作原理图
4.2系统结构设计
系统结构设计就像一个树状结构一样,一个树干有很多分支,大任务相当于树干,小任务相当于树枝,只有需求分析信息弄清楚之后,才能保证每个小任务都能实现目标,对初步设计好的系统再进行不断优化,最终得到一个具体现实的系统结构。
管理员功能模块和用户功能模块是该高校办公室行政事务管理系统的两大部分,系统结构如图4-2所示。
图4-2 系统结构图
4.3 数据库设计
开发一个系统也需要提前设计数据库。这里的数据库是相关数据的集合,存储在一起的这些数据也是按照一定的组织方式进行的。目前,数据库能够服务于多种应用程序,则是源于它存储方式最佳,具备数据冗余率低的优势。虽然数据库为程序提供信息存储服务,但它与程序之间也可以保持较高的独立性。总而言之,数据库经历了很长一段时间的发展,从最初的不为人知,到现在的人尽皆知,其相关技术也越发成熟,同时也拥有着坚实的理论基础。
4.3.1 数据库概念设计
这部分内容需要借助数据库关系图来完成,也需要使用专门绘制数据库关系图的工具,比如Visio工具就可以设计E-R图(数据库关系图)。设计数据库,也需要按照设计的流程进行,首先还是要根据需求完成实体的确定,分析实体具有的特征,还有对实体间的关联关系进行确定。最后才是使用E-R模型的表示方法,绘制本系统的E-R图。不管是使用亿图软件,还是Visio工具,对于E-R模型的表示符号都一样,通常矩形代表实体,实体间存在的关系用菱形符号表示,实体的属性也就是实体的特征用符号椭圆表示。最后使用直线将矩形,菱形和椭圆等符号连接起来。接下来就开始对本系统的E-R图进行绘制。
(1)下图是会议室申请实体和其具备的属性。
图4.1 会议室申请实体属性图
(2)下图是教师实体和其具备的属性。
图4.2 教师实体属性图
(3)下图是字典表实体和其具备的属性。
图4.3 字典表实体属性图
(4)下图是办公物资实体和其具备的属性。
图4.4 办公物资实体属性图
(5)下图是办公物资申请实体和其具备的属性。
图4.5 办公物资申请实体属性图
(6)下图是会议室实体和其具备的属性。
图4.6 会议室实体属性图
(7)下图是请假申请实体和其具备的属性。
图4.7 请假申请实体属性图
(8)下图是离职申请实体和其具备的属性。
图4.8 离职申请实体属性图
(9)下图是办公室实体和其具备的属性。
图4.9 办公室实体属性图
(10)下图是办公室申请实体和其具备的属性。
图4.10 办公室申请实体属性图
(11)下图是印章实体和其具备的属性。
图4.11 印章实体属性图
(12)下图是印章添加申请实体和其具备的属性。
图4.12 印章添加申请实体属性图
(13)下图是用户表实体和其具备的属性。
图4.13 用户表实体属性图
(14)下图是印章申请实体和其具备的属性。
图4.14 印章申请实体属性图
4.2.1数据库表设计
采用MYSQL数据库对该高校办公室行政事务管理系统的数据进行存储,数据库中所包括的各个数据库表的详细信息如下所示:
表4.1办公室表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 bangongshi_name String 办公室房间号 是
3 bangongshi_address String 详细地址 是
4 jiaoshi_id Integer 使用教师 是
5 create_time Date 创建时间 是
表4.2办公室申请表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 jiaoshi_id Integer 申请教师 是
3 bangongshi_id Integer 申请办公室 是
4 insert_time Date 申请时间 是
5 bangongshi_shenqing_yesno_types Integer 申请结果 是
6 create_time Date 创建时间 是
表4.3办公物资表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 bangongwuzi_uuid_number String 物资编号 是
3 bangongwuzi_name String 物资名称 是
4 bangongwuzi_types Integer 物资类型 是
5 jiaoshi_id Integer 使用教师 是
6 create_time Date 创建时间 是
表4.4办公物资申请表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 jiaoshi_id Integer 申请教师 是
3 bangongshi_id Integer 申请办公物资 是
4 insert_time Date 申请时间 是
5 bangongwuzi_shenqing_yesno_types Integer 申请结果 是
6 create_time Date 创建时间 是
表4.5字典表表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 dic_code String 字段 是
3 dic_name String 字段名 是
4 code_index Integer 编码 是
5 index_name String 编码名字 是
6 super_id Integer 父字段id 是
7 beizhu String 备注 是
8 create_time Date 创建时间 是
表4.6会议室表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 huiyishi_uuid_number String 会议室编号 是
3 huiyishi_address String 会议室地址 是
4 huiyishi_size String 会议室大小 是
5 huiyishi_types Integer 会议室类型 是
6 zhuangtai_types Integer 会议室状态 是
7 create_time Date 创建时间 是
表4.7会议室申请表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 jiaoshi_id Integer 申请教师 是
3 huiyishi_id Integer 申请办公物资 是
4 insert_time Date 申请时间 是
5 huiyishi_shenqing_yesno_types Integer 申请结果 是
6 create_time Date 创建时间 是
表4.8教师表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 jiaoshi_name String 教师姓名 是
3 jiaoshi_id_number String 身份证号 是
4 jiaoshi_phone String 手机号 是
5 jiaoshi_photo String 照片 是
6 jiaoshi_delete Integer 假删 是
7 create_time Date 创建时间 是
表4.9离职申请表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 jiaoshi_id Integer 申请教师 是
3 insert_time Date 离职申请时间 是
4 lizhi_content String 离职原因 是
5 jiaoshi_lizhi_yesno_types Integer 审核结果 是
6 create_time Date 创建时间 是
表4.10请假申请表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 jiaoshi_id Integer 申请教师 是
3 insert_time Date 请假时间 是
4 qingjia_time Date 请假结束时间 是
5 jiaoshi_qingjia_yesno_types Integer 审核结果 是
6 qingjia_content String 请假原因 是
7 create_time Date 创建时间 是
表4.11印章表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yinzhang_uuid_number String 印章编号 是
3 yinzhang_name String 印章名称 是
4 create_time Date 创建时间 是
表4.12印章申请表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 jiaoshi_id Integer 申请教师 是
3 yinzhang_id Integer 申请办公物资 是
4 insert_time Date 申请时间 是
5 yinzhang_shenqing_yesno_types Integer 申请结果 是
6 create_time Date 创建时间 是
表4.13印章添加申请表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 jiaoshi_id Integer 申请教师 是
3 yinzhang_name String 印章名称 是
4 yinzhang_file String 材料 是
5 insert_time Date 申请时间 是
6 yinzhangadd_shenqing_yesno_types Integer 申请结果 是
7 yinzhang_shenqing_content String 添加原因 是
8 create_time Date 创建时间 是
表4.14用户表表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 username String 用户名 是
3 password String 密码 是
4 role String 角色 是
5 addtime Date 新增时间 是
6系统测试
6.1测试定义
系统能否进行正常工作,功能模块能否实现,程序代码是否有错误,这些都需要通过系统测试来进行判断,测试是程序开发中必不可少的步骤,就算系统一步不差的被开发出来了,但进行测试时总能发现一个之前从没遇到过的问题[26]。
在系统开发的整个过程当中都需要不断进行系统测试,根据经验发现,前期的一个小问题,将会酿成后期的一个大问题,所以越早发现,越早解决,才能保证后续的编码、测试和设计能够顺利进行。目前,系统测试所使用的方法主要是黑盒测试,系统测试的目的包括:根据客户的需求来设计用户界面;在满足设计标准的同时,对设计接口不断创新,形成独特的审美特征[27]。
6.2测试目的
系统测试的目的重点放于系统的稳定和可操作性,系统测试是开发软件过程中必不可少的步骤。在开发软件的整个过程中,对于每一个小的单独的功能都要进行测试,确保前边的每一步都是没问题的,这样在进行后续的融合工作过程中,才能保证软件的正确性,即使出现问题,也能够很可快速的发现并解决。
每一个系统发开完成之后,都需要进行测试,该高校办公室行政事务管理系统也不例外,进行系统测试是为了发现该系统是否还存在问题,保障该系统的质量是过关的,让用户使用起来比较安心。在进行测试过程中,需要测试的内容有:系统界面是否清晰明了,颜色搭配是否顺眼,功能布局是否合理,一旦发现上述内容不达标,开发人员就需要及时进行修改,以达到满足用户的需求。系统测试的方法有很多,但是该高校办公室行政事务管理系统所使用的测试方法是黑盒测试方法[28]。
6.3测试方法
在开发软件过程中,黑盒测试和白盒测试是比较常用的两种测试方法。
白盒测试的大概思路是:将程序当做一个透明盒子,程序中的各个结构都需要弄清楚,之后对程序内部的逻辑结构进行测试,对程序中的每条通路都进行检查,看下每条通路是否能够按预期进行工作[29]。
黑盒测试是需要在测试程序接口之前,对程序的功能和需求进行检查,对程序的输入输出数据进行检查,对整个系统结构的完整性进行检查[30]。
6.4测试分析
对系统进行测试是测试系统是否还存在问题,并对问题进行解决,让用户能够用的放心,当然测试也不能把系统当中的所有问题都暴露完全,但测试能够将问题降到最低,所以进行系统测试还是非常必要的[31]。
该高校办公室行政事务管理系统经过上述的一系列测试之后,得出的测试结果是:各项要求都达标,基本功能均可实现,容易操作,运行流畅[32]。