驾校管理系统设计毕业论文
随着高校学生规模不断的扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量,需要相应的管理系统来提高学生管理工作的效率,做到信息的规范管理、科学统计和快速查询,以减少管理方面的工作量。本课题拟开发适合学院实际的高校学生信息管理系统。
根据需求分析,本管理系统的设计及功能描述如下:
(1)汽车管理:
(2)学员管理:
(3)职工管理:
(4)缴费管理:
(5)学员学习情况管理:
(6)信息查询:
图1 功能框图
根据需求分析,通过统一的共享型数据信息系统、规范信息的唯一性、准确性和及时性,并可以在功能上适应管理工作需要的功能模块图。
图2简单业务流程图
图3 学员管理子系统数据流程图
二、教练管理子系统:
图4、教练子系统数据流程图
(1)数据流的描述
数据流编号: D001
数据流名称: 学员信息
简述:报考驾校的学员信息
数据流来源:学员
数据流去向:学员信息判断
数据流组成:学号+姓名+档案号+培训期数+申请车型等
数据流量:100/期
高峰流量:500/期
数据流编号: D002
数据流名称: 禁止报名提示
简述:体检或报名条件不合格时的提示信息
数据流来源:学员信息判断
数据流去向:学员
数据流组成:学号+姓名+档案号+培训期数+申请车型等
数据流量:100/期
高峰流量:500/期
数据流编号: D003
数据流名称: 退学提示
简述:学员中途退出培训
数据流来源:中途退学
数据流去向:学员
数据流组成:学号+姓名+档案号+培训期数+申请车型等等
数据流量:100/期
高峰流量:500/期
数据流编号: D004
数据流名称: 缴费信息
简述:学员的缴费金额及标记
数据流来源:学员缴费
数据流去向:缴费表
数据流组成:学号+学员名+档案号+缴费金额等
数据流量:100/期
高峰流量:500/期
数据流编号: D005
数据流名称: 成绩信息
简述:学员学习后考试的成绩说明
数据流来源:理论考试
数据流去向:成绩判断
数据流组成:学号+学员名+档案号+成绩等
数据流量:100/期
高峰流量:500/期
(2)处理逻辑的描述
处理逻辑编号:P001
处理逻辑名称:学员信息判断
简述:判断学员的体检和报名条件是否合格
输入的数据流:D001学员信息
处理描述: 根据学员信息信息判断处理方向,如果是新学员则执行新学员缴费处理,补考学员就执行补考学员的缴费处理,如果是退学,则执行中途退学管理。
输出的数据流: D002禁止报名提示信息
处理频率: 100次/期
处理逻辑编号:P002
处理逻辑名称:新学员缴费信息
简述:查询、标记新学员的缴费信息
输入的数据流:新学员
处理描述:根据学员信息,进行缴费管理处理。
输出的数据流:D004缴费信息
处理频率: 500次/期
处理逻辑编号:P003
处理逻辑名称:补考学员缴费信息
简述:查询、标记补考学员的缴费信息
输入的数据流:补考学员
处理描述:根据学员信息,进行补考缴费管理处理。
输出的数据流: D004缴费信息
处理频率: 100次/期
处理逻辑编号:P004
处理逻辑名称:中途退学
简述:中途学员退学管理
输入的数据流:退学信息
处理描述:根据学员退学信息,到数据库中查找到该学员并删除相应的学员信息。
输出的数据流: D003学员查阅信息
处理频率: 100次/天
处理逻辑编号:P005
处理逻辑名称:学员学习
简述:学员的理论学习及上路学习的信息
输入的数据流:缴费信息
处理描述:根据学员缴费信息,到数据库中查找到该学员并安排相应的教练和车号。
输出的数据流: D001 学员学习信息
处理频率: 100次/天
处理逻辑编号:P006
处理逻辑名称:理论考试信息
简述:学员理论考试的成绩管理
输入的数据流:D001 学员成绩
处理描述:根据学员理论考试成绩信息,到数据库中查找到该学员添加相应的学员的考试成绩。
输出的数据流: D005成绩信息
处理频率: 100次/天
处理逻辑编号:P007
处理逻辑名称:成绩判断
简述:根据理论成绩判断数据去向
输入的数据流:D005 成绩信息
处理描述:根据学员理论成绩信息,若合格则进行上车学习,如果不及格安排补考。
输出的数据流: D001学员信息
处理频率: 100次/天
处理逻辑编号:P008
处理逻辑名称:上车学习
简述:学员进行上车学习
输入的数据流:D001 学员信息
处理描述:根据学员成绩信息,安排相应的上车教练和车号。
输出的数据流: D005上车成绩信息
处理频率: 100次/天
(3)数据存储的描述
数据存储编号:F001
数据存储名称:学员信息表
简述:学员的基本信息
数据存储组成:学号+姓名+档案号+培训期数+申请车型等
关键字:学号
相关联的处理:P001,P008
数据存储编号:F002
数据存储名称:缴费信息
简述:学员的缴费信息
数据存储组成:学号+学员名+档案号+缴费金额等
关键字:学号
相关联的处理:P002,P003,P005
数据存储编号:F003
数据存储名称:驾照信息
简述:学员的成绩和驾照管理
数据存储组成:驾照号+档案号+学号+成绩
关键字:学号+驾照号
相关联的处理:P008
(4)外部实体的描述
外部实体名称:学员
简 述:学员的基本信息
属性 组成:学号+姓名+档案号+培训期数+申请车型等
外部实体名称:成绩
简 述:对学员成绩的判定
属性 组成:理论成绩+上车成绩
外部实体名称:费用
简 述:对学员费用的描述
属性 组成:费用名+费用数目
(1)数据流的描述
数据流编号: D001
数据流名称: 教练信息
简述:本驾校的教练招聘与解聘信息
数据流来源:教练
数据流去向:教练信息判断
数据流组成:员工号+姓名+在职情况+驾照型号+工龄+职务等
数据流量:50/期
高峰流量:100/期
数据流编号: D002
数据流名称: 教练调整信息
简述:招聘与解聘完成后对教练表的修改信息
数据流来源:辞职
数据流去向:教练在职信息
数据流组成:员工号+姓名+在职情况+驾照型号+工龄+职务等
数据流量:50/期
高峰流量:100/期
数据流编号: D003
数据流名称: 求职信息
简述:教练的求职信息
数据流来源:教练信息判断
数据流去向:分配学员、车号
数据流组成:简历号+姓名+驾照型号等
数据流量:50/期
高峰流量:100/期
数据流编号: D004
数据流名称: 辞职信息
简述:教练的辞职信息
数据流来源:教练信息判断
数据流去向:教练在职信息
数据流组成:员工号+姓名+在职情况+职务等
数据流量:50/期
高峰流量:100/期
(2)处理逻辑的描述
处理逻辑编号:P001
处理逻辑名称:教练信息判断
简述:判断教练的申请情况
输入的数据流:D001教练信息
处理描述: 根据教练的申请情况,如果是求职就执行求职管理,如果辞职就执行辞职管理
输出的数据流: D003求职信息D003辞职信息
处理频率: 50次/期
处理逻辑编号:P002
处理逻辑名称:分配学员、车号
简述:为教练分配学员、车号
输入的数据流:求职信息
处理描述:根据教练的求职信息分配学员和车号。
输出的数据流:D001教练信息
处理频率: 50次/期
处理逻辑编号:P003
处理逻辑名称:教练在职信息
简述:查询、标记教练的基本信息
输入的数据流:D001 教练分配信息 D002 教练调整信息
处理描述:根据教练的分配信息和教练的调整信息调整教练在职信息表。
输出的数据流: D001教练信息
处理频率: 100次/期
(3)数据存储的描述
数据存储编号:F001
数据存储名称:教练信息表
简述:教练的基本信息
数据存储组成:员工号+姓名+在职情况+驾照型号+工龄+职务等
关键字:员工号
相关联的处理:P001,P003
(4)外部实体的描述
外部实体名称:教练
简 述:教练的基本信息
属性 组成: 员工号+姓名+在职情况+驾照型号+工龄+职务等
外部实体名称:辞职
简 述:教练的辞职信息
属性 组成: 职务等
外部实体名称:求职
简 述:教练的求职信息
属性 组成: 职务+学员、车号分配等
根据系统数据流图和数据字典,得出系统的E----R模图及子E----R模图 如图5、6、7 (下图)所示。
图5:学员子E-R图
图6:教练子E-R图
图7:总E-R图
word/media/image1_1.png
把数据库概念结构转化为数据库的逻辑结构,由CDM图生成的PDM图如下所示:
word/media/image2_1.png
根据系统的总体概念设计模型、E-R图向关系模式的转化规则和数据库的范式理论,得到系统优化后的逻辑模型,如表1~表6所示。
表1 学员信息表
表2 成绩信息表
表3 教练信息表
表4缴费信息表
表5 求职信息表
表6 辞职信息表
得到系统逻辑模型后,就该进行数据库的物理设计和实施数据库了,物理设计主要是要确定数据库的存储路径、存储结构以及如何建立索引等,可以采用系统的默认设置。数据库实施主要包括在具体的DBMS中创建数据库和表的过程,有关创建数据库和关系表的SQL语句如下所示:
通过转换的规则,得出了关系模式。为了提高数据的可修改性,完整性和一致性,采用了关系数据的方法,尽可能简化数据存储的数据结构。
对关系模式进行关系规范化后得出以下表及相关字段:
/*==============================================================*/
/* DBMS name: Sybase AS Anywhere 9 */
/* Created on: 2008-4-17 19:55:57 */
/*==============================================================*/
/*==============================================================*/
/* Table: chengjibiao */
/*==============================================================*/
create table chengjibiao
(
lilunchengji integer,
shangchechengji integer,
jiazhao integer,
xuhao integer not null,
constraint PK_CHENGJIBIAO primary key (xuhao)
);
/*==============================================================*/
/* Index: chengjibiao_PK */
/*==============================================================*/
create unique index chengjibiao_PK on chengjibiao (
xuhao ASC
);
/*==============================================================*/
/* Table: cizhi */
/*==============================================================*/
create table cizhi
(
zhiwu char(10),
cizhibianhao integer not null,
constraint PK_CIZHI primary key (cizhibianhao)
);
/*==============================================================*/
/* Index: cizhi_PK */
/*==============================================================*/
create unique index cizhi_PK on cizhi (
cizhibianhao ASC
);
/*==============================================================*/
/* Table: cizhishu */
/*==============================================================*/
create table cizhishu
(
yuangonghao integer not null,
cizhibianhao integer not null,
constraint PK_CIZHISHU primary key clustered (yuangonghao, cizhibianhao)
);
/*==============================================================*/
/* Index: cizhishu_PK */
/*==============================================================*/
create unique index cizhishu_PK on cizhishu (
yuangonghao ASC,
cizhibianhao ASC
);
/*==============================================================*/
/* Index: cizhishu_FK */
/*==============================================================*/
create index cizhishu_FK on cizhishu (
yuangonghao ASC
);
/*==============================================================*/
/* Index: cizhishu2_FK */
/*==============================================================*/
create index cizhishu2_FK on cizhishu (
cizhibianhao ASC
);
/*==============================================================*/
/* Table: feiyong */
/*==============================================================*/
create table feiyong
(
bukaofei integer,
baomingfei integer,
jiluhao integer not null,
constraint PK_FEIYONG primary key (jiluhao)
);
/*==============================================================*/
/* Index: feiyong_PK */
/*==============================================================*/
create unique index feiyong_PK on feiyong (
jiluhao ASC
);
/*==============================================================*/
/* Table: jianli */
/*==============================================================*/
create table jianli
(
yuangonghao integer not null,
qiuzhibianhao integer not null,
constraint PK_JIANLI primary key clustered (yuangonghao, qiuzhibianhao)
);
/*==============================================================*/
/* Index: jianli_PK */
/*==============================================================*/
create unique index jianli_PK on jianli (
yuangonghao ASC,
qiuzhibianhao ASC
);
/*==============================================================*/
/* Index: jianli_FK */
/*==============================================================*/
create index jianli_FK on jianli (
yuangonghao ASC
);
/*==============================================================*/
/* Index: jianli2_FK */
/*==============================================================*/
create index jianli2_FK on jianli (
qiuzhibianhao ASC
);
/*==============================================================*/
/* Table: "jiao 、lian" */
/*==============================================================*/
create table "jiao 、lian"
(
xuehao integer not null,
yuangonghao integer not null,
constraint "PK_JIAO 、LIAN" primary key clustered (xuehao, yuangonghao)
);
/*==============================================================*/
/* Index: "jiao 、lian_PK" */
/*==============================================================*/
create unique index "jiao 、lian_PK" on "jiao 、lian" (
xuehao ASC,
yuangonghao ASC
);
/*==============================================================*/
/* Index: "jiao 、lian_FK" */
/*==============================================================*/
create index "jiao 、lian_FK" on "jiao 、lian" (
xuehao ASC
);
/*==============================================================*/
/* Index: "jiao 、lian2_FK" */
/*==============================================================*/
create index "jiao 、lian2_FK" on "jiao 、lian" (
yuangonghao ASC
);
/*==============================================================*/
/* Table: jiaofei */
/*==============================================================*/
create table jiaofei
(
xuehao integer not null,
jiluhao integer not null,
constraint PK_JIAOFEI primary key clustered (xuehao, jiluhao)
);
/*==============================================================*/
/* Index: jiaofei_PK */
/*==============================================================*/
create unique index jiaofei_PK on jiaofei (
xuehao ASC,
jiluhao ASC
);
/*==============================================================*/
/* Index: jiaofei_FK */
/*==============================================================*/
create index jiaofei_FK on jiaofei (
xuehao ASC
);
/*==============================================================*/
/* Index: jiaofei2_FK */
/*==============================================================*/
create index jiaofei2_FK on jiaofei (
jiluhao ASC
);
/*==============================================================*/
/* Table: jiaolian */
/*==============================================================*/
create table jiaolian
(
name char(8),
yuangonghao integer not null,
jiazhaoxinghao char(2),
gongling integer,
zhigongzhiwu char(10),
zaizhiqingkuang char(10),
constraint PK_JIAOLIAN primary key (yuangonghao)
);
/*==============================================================*/
/* Index: jiaolian_PK */
/*==============================================================*/
create unique index jiaolian_PK on jiaolian (
yuangonghao ASC
);
/*==============================================================*/
/* Table: kaoshi */
/*==============================================================*/
create table kaoshi
(
xuehao integer not null,
xuhao integer not null,
constraint PK_KAOSHI primary key clustered (xuehao, xuhao)
);
/*==============================================================*/
/* Index: kaoshi_PK */
/*==============================================================*/
create unique index kaoshi_PK on kaoshi (
xuehao ASC,
xuhao ASC
);
/*==============================================================*/
/* Index: kaoshi_FK */
/*==============================================================*/
create index kaoshi_FK on kaoshi (
xuehao ASC
);
/*==============================================================*/
/* Index: kaoshi2_FK */
/*==============================================================*/
create index kaoshi2_FK on kaoshi (
xuhao ASC
);
/*==============================================================*/
/* Table: qiuzhi */
/*==============================================================*/
create table qiuzhi
(
qiuzhibianhao integer not null,
zhiwu1 char(10),
xueyuanchehaofenpei char(20),
constraint PK_QIUZHI primary key (qiuzhibianhao)
);
/*==============================================================*/
/* Index: qiuzhi_PK */
/*==============================================================*/
create unique index qiuzhi_PK on qiuzhi (
qiuzhibianhao ASC
);
/*==============================================================*/
/* Table: xueyuan */
/*==============================================================*/
create table xueyuan
(
xuehao integer not null,
danganhao integer,
xingming char(8),
peixunqishu integer,
shenqingchexing char(4),
constraint PK_XUEYUAN primary key (xuehao)
);
/*==============================================================*/
/* Index: xueyuan_PK */
/*==============================================================*/
create unique index xueyuan_PK on xueyuan (
xuehao ASC
);
刘聪超的总结:
在做此次课程设计的过程中,遇到了许多以前都从未遇到的问题,比如E-R图到底是什么?实体到底是什么?他们之间到底靠什么关系联系的?以前我只是盲目的盲从书本上的知识,以为都是些没用的东西,到实践的时候自然就会了,用不了这些知识,可是现在我才知道自己错了,这次的设计让我感觉自己又重新学习了一遍数据库的知识!同时我发现团队精神是不可或缺的,只有发挥了团队精神,才能够在这个基础上进一步完成,靠自己的力量是跟本完不成的。还有,多谢老师在这次设计过程中的悉心教导,在您的教导下我克服了很多困难,少走了不少弯路,虽然完成的有些晚,但是毕竟还是完成了。谢谢老师!
本文来源:https://www.2haoxitong.net/k/doc/a5cb021632687e21af45b307e87101f69e31fb87.html
文档为doc格式