资源描述
目录
一、 绪论 2
1.1 开发背景 2
1.2 开发工具 2
1.3 任务与分析 2
1.4本文主要内容 2
二、 需求分析 2
2.1 总体需求分析 2
2.2 系统设计流程 3
三、 总体设计 3
3.1 系统功能结构图 3
3.2 安全设计 4
四、 数据库设计 4
4.1 数据库分析 4
4.2 概念结构设计 5
4.3 逻辑结构设计 6
4.4 物理结构设计 7
五、 编码 8
六、 测试 9
七、 总结 11
一、 绪论
1.1 开发背景
高校教室管理是一项繁琐、细致、工作量大工作,它是高等学校教育工作一项关键内容,是整个学校教学系统能够正常运行基础。同时,教室管理工作关系到高校教学秩序稳定和教学资源合理利用,关系到高校发展和入才培养,教室管理在高校中占有相当关键地位。
1.2 开发工具
1、Oracle 11g;
2、Oracle SQL Developer
1.3 任务和分析
这个系统关键是开发一个大学教室系统,用户有四类类,学生,老师,教室管理员、排课人员。学生、老师能够选择个人信息录入,纠正,查询;学生成绩信息查询;课程信息查询。教室管理员能够对教室钥匙发放信息管理。排课人员能够进行添加、查询,修改,删除教室信息等功效。不一样用户登陆系统时有不一样权限。
1.4本文关键内容
本文关键对大学教室管理系统整体设计做一个具体介绍,包含数据库创建(需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护等)和大学教室管理系统编辑、编译、运行、调试、维护等一系列具体设计步骤。
二、 需求分析
2.1 总体需求分析
大学教室管理系统,即对大学学生排课后对教室资源合理管理和利用,确保了大学教学任务有序高效进行。经过调查和分析一款优异大学教室管理系统应该实现实现以下功效:
【1】排课人员能够对教室信息添加、查询,修改操作
【2】老师,学生能够对教室信息等信息进行查询,但给予老师学生不一样权限
【3】教室管理员能够依据教室信息对教室钥匙信息管理
2.2 系统设计步骤
经过对教室管理过程研究和分析,在设计时系统应实现以下目标:
【1】实现不一样用户登录系统含有不一样权限
【2】实现合理排课
【3】实现老师和学生息录入后能够查询和纠正,用户能对教室信息查询;学生能够对自己成绩信息查询;课程信息查询等功效
【4】实现教室钥匙合理管理
三、 总体设计
3.1 系统功效结构图
系统功效结构以下:
大学教室管理系统
用户信息管理
课程和教室管理
修改管理
查询管理
学生信息管理
管理员信息管理
教室修改管理
教室信息管理
教室钥匙管理
学生信息修改管理
课程安排管理
老师信息管理
学生信息查询
3.2 安全设计
安全设计这里有两方面,一是数据库安全,数据库安全我们经过添加用户及设置用户权限和用户密码来确保用户安全登录到数据库,另外我们能够创建视图来确保数据库安全性,让不一样权限用户看到数据库不一样内容并对数据进行不一样权限操作。其次是系统安全性,这里我们经过授予用户登录权限用户才能够登陆并操作此系统。
四、 数据库设计
4.1 数据库分析
“大学教室管理系统”,在数据库中设计以下各表
图1 AC表
AC表用于排课人员对课程安排。
图2 CLASSROOM表
CLASSROOM表是用于排课人员对教室信息增删改功效实现。
图3 CLASSROOM_LOG表
CLASSROOM_LOG统计排课人员对CLASSROOM表改动统计和监事。
4.2 概念结构设计
依据对系统功效分析和功效设计,计划出本系统使用数据库实体,下面介绍多个关键实体,分别是:学生信息实体、老师信息实体、排课人员实体、管理员实体、课程信息实体、教室信息实体。(其它实体在此不在叙述)
学生信息实体包含:(学号、姓名、性别、年纪、班级、状态)
老师信息实体包含:(老师号、姓名,性别、状态、电话)
排课人员实体包含:(编号、姓名、性别、电话)
管理员实体包含:(编号、姓名、性别、教室编号)
课程信息实体包含;(课程号、课程名、学分、课时、类型、考评方法)
教室信息管理包含;(教室编号、类型,状态、钥匙、容量)
对应E-R图为:
图4 大学教室管理系统E-R图
4.3 逻辑结构设计
依据以上实体E-R关系图在数据库中创建数据表,下面分别介绍关键实体逻辑结构
关系模型:
STUDENT(sno,sname,sex,sage,deptno,class,status)
TEACHER(tno,tname,sex,descruption,phone,status)
COURSE(cno,cname,credit,cono,cype,ccheck)
CLASSROOM(clno,type,stasus,clasize,key)
ARRANGER(arno,arname,sex,phone)
ADMIN(ano,aname,sex,phone,clno)
实体和关系表:
表1 实体图关系表
实体
多样性
关系
多样性
实体
学生
1..1
属于
1..*
专业
学生
0..*
选修
1..*
图书
老师
0..*
教授
1..*
课程
排课人员
1..1
安排
1..*
课程
管理员
0..*
管理
1..1
教室
4.4 物理结构设计
数据字典以下所表示:
表2数据字典
实体
属性
描述
数据类型和长度
是否为空
是否为主键
学生
学生学号
学生姓名学生性别
学生年纪
学生班级
学生状态
学生学号
学生姓名
学生类别
学生年纪
学生班级
学生状态
Varchar2(20)
Varchar2(20)
Varchar2(2)
Number
Varchar2(20)
Number
否
否
否
否
否
否
是
否
否
否
否
否
老师
编号
姓名
性别
状态
电话
老师编号
老师名字
老师性别
老师状态
老师电话
Varchar2(20)
Varchar2(20)
Varchar2(2)
Varchar2(20)
Varchar2(20)
否
否
否
否
否
是
否
否
否
否
课程
课程编号
课程名
学分
课时
类型
考评方法
课程编号
课程名字
课程学分
课程课时
课程类型
课程考评方法
Varchar2(20)
Varchar2(20)
Varchar2(2)
Varchar2(20)
Varchar2(20)
Varchar2(20)
否
否
否
否
否
否
是
否
否
否
否
否
教室
教室编号
教室类型
教室状态
教室钥匙
教室标号
教室大小
教室状态
教室开或关
Number
Varchar2(20)
Varchar2(24)
Number
否
否
否
否
是
否
否
否
排课人员
编号
姓名
性别
电话
排课人编号
排课人姓名
排课人性别
排课人电话
Number
Varchar2(20)
Varchar2(2)
Varchar2(20)
是
否
否
否
是
是
否
否
教室管理员
编号
姓名
性别
电话
教室号
管理员编号
管理员姓名
管理员性别
管理员电话
管理员管理教室
Number
Varchar2(20)
Varchar2(2)
Varchar2(20)
Number
是
否
否
否
否
是
否
否
否
否
五、 编码
我负责部分是排课人员对教室增删改和对排课表处理情况。所以我写了两个程序包和两个触发器。具体代码见以下各图:
1、包AC_PACKAGE,包涵存放过程add_ac,delete_ac,update_days,update_jieci。
图5 AC_PACKAGE包头代码
2、包CLASSROOM_PACKAGE,包涵存放过程add_classroom,delete_classroom,update_status和函数get_status。
图6 CLASSROOM_PACKAGE包头代码
3、触发器CLASSROOM_DML_TRG,该触发器是对CLASSROOM表监控,一切对CLASSROOM表操作全部要统计在它日志表CLASSROOM_LOG中,增加其安全性。
图7 CLASSROOM_DML_TRG触发器
4、触发器AC_DML_ROWTRG,该触发器是行级触发器。作用是限制新增排课表节次不得超出5,即天天上课节次全部是在4以内(包含4)。
图8 AC_DML_ROWTRG触发器
六、 测试
图9 授权图
首先要先创建角色,给角色对包权限。
图10 测试图1
举其中一例,得到教室表编号1状态信息,输出为“空”。
图11 测试图2
当输入教室号不存在时会报错。
图13 测试图3
该过程是对过程AC_PACKAGE.update_jieci调用。
七、 总结
经过此次课程设计,我不仅对数据库有了更深了解,还学习和数据库相关软件Oracle利用。即使在做课程设计过程中碰到很多问题,不过我们经过团体合作客服了一个又一个问题,最终使得本课设能正常完成。
不过,在此次课程设计中,我也找到了很多问题。比如,我负责模块是排课人员安排课程和教室,我只是完成最基础功效,全部全部是基础、书上有内容,没有一点延伸和对问题愈加深入思索,尤其是逻辑上思索基础是没有。所以,总来说不是很好。
我会总结这次问题而且吸收教训,争取在接下来试验或其它事务中能有自己想法,主动去思索问题、处理问题。
参考文件
1、 崔巍 王晓敏. 数据库系统开发教程[M]. 北京:清华大学出版社,6月
2、 俞俊甫. 数据库原理应用教程 [M]. 北京:北京邮电大学出版社7月
3、张凤荔 王瑛 Oracle 11g数据库基础教程 [M]. 人民邮电出版社 9月
展开阅读全文