1、目录一、绪论21.1 开发背景21.2 开发工具21.3 任务与分析21.4本文主要内容2二、需求分析22.1 总体需求分析22.2 系统设计流程3三、总体设计33.1 系统功能结构图33.2 安全设计4四、数据库设计44.1 数据库分析44.2 概念结构设计54.3 逻辑结构设计64.4 物理结构设计7五、编码8六、测试9七、总结11一、 绪论1.1 开发背景 高校教室管理是一项繁琐、细致、工作量大工作,它是高等学校教育工作一项关键内容,是整个学校教学系统能够正常运行基础。同时,教室管理工作关系到高校教学秩序稳定和教学资源合理利用,关系到高校发展和入才培养,教室管理在高校中占有相当关键地位。
2、1.2 开发工具 1、Oracle 11g; 2、Oracle SQL Developer1.3 任务和分析 这个系统关键是开发一个大学教室系统,用户有四类类,学生,老师,教室管理员、排课人员。学生、老师能够选择个人信息录入,纠正,查询;学生成绩信息查询;课程信息查询。教室管理员能够对教室钥匙发放信息管理。排课人员能够进行添加、查询,修改,删除教室信息等功效。不一样用户登陆系统时有不一样权限。1.4本文关键内容本文关键对大学教室管理系统整体设计做一个具体介绍,包含数据库创建(需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护等)和大学教室管理系统编辑、编译、运行、
3、调试、维护等一系列具体设计步骤。二、 需求分析2.1 总体需求分析大学教室管理系统,即对大学学生排课后对教室资源合理管理和利用,确保了大学教学任务有序高效进行。经过调查和分析一款优异大学教室管理系统应该实现实现以下功效:【1】排课人员能够对教室信息添加、查询,修改操作【2】老师,学生能够对教室信息等信息进行查询,但给予老师学生不一样权限【3】教室管理员能够依据教室信息对教室钥匙信息管理2.2 系统设计步骤经过对教室管理过程研究和分析,在设计时系统应实现以下目标:【1】实现不一样用户登录系统含有不一样权限【2】实现合理排课【3】实现老师和学生息录入后能够查询和纠正,用户能对教室信息查询;学生能够
4、对自己成绩信息查询;课程信息查询等功效【4】实现教室钥匙合理管理三、 总体设计3.1 系统功效结构图系统功效结构以下: 大学教室管理系统用户信息管理课程和教室管理修改管理查询管理学生信息管理管理员信息管理教室修改管理教室信息管理教室钥匙管理学生信息修改管理课程安排管理老师信息管理学生信息查询3.2 安全设计安全设计这里有两方面,一是数据库安全,数据库安全我们经过添加用户及设置用户权限和用户密码来确保用户安全登录到数据库,另外我们能够创建视图来确保数据库安全性,让不一样权限用户看到数据库不一样内容并对数据进行不一样权限操作。其次是系统安全性,这里我们经过授予用户登录权限用户才能够登陆并操作此系统
5、。四、 数据库设计4.1 数据库分析“大学教室管理系统”,在数据库中设计以下各表图1 AC表AC表用于排课人员对课程安排。图2 CLASSROOM表CLASSROOM表是用于排课人员对教室信息增删改功效实现。图3 CLASSROOM_LOG表CLASSROOM_LOG统计排课人员对CLASSROOM表改动统计和监事。4.2 概念结构设计依据对系统功效分析和功效设计,计划出本系统使用数据库实体,下面介绍多个关键实体,分别是:学生信息实体、老师信息实体、排课人员实体、管理员实体、课程信息实体、教室信息实体。(其它实体在此不在叙述)学生信息实体包含:(学号、姓名、性别、年纪、班级、状态)老师信息实体
6、包含:(老师号、姓名,性别、状态、电话)排课人员实体包含:(编号、姓名、性别、电话)管理员实体包含:(编号、姓名、性别、教室编号)课程信息实体包含;(课程号、课程名、学分、课时、类型、考评方法)教室信息管理包含;(教室编号、类型,状态、钥匙、容量) 对应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
7、(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数据字典实体属性描述数据类型和长度是否为空是否为主键学生学生学号学生姓名学生性别学生年纪学生班级学生状
8、态学生学号学生姓名学生类别学生年纪学生班级学生状态Varchar2(20)Varchar2(20)Varchar2(2)NumberVarchar2(20)Number否否否否否否是否否否否否老师编号姓名性别状态电话老师编号老师名字老师性别老师状态老师电话Varchar2(20)Varchar2(20)Varchar2(2)Varchar2(20)Varchar2(20)否否否否否是否否否否课程课程编号课程名学分课时类型考评方法课程编号课程名字课程学分课程课时课程类型课程考评方法Varchar2(20)Varchar2(20)Varchar2(2)Varchar2(20)Varchar2(20
9、)Varchar2(20)否否否否否否是否否否否否教室教室编号教室类型教室状态教室钥匙教室标号教室大小教室状态教室开或关NumberVarchar2(20)Varchar2(24)Number否否否否是否否否排课人员编号姓名性别电话排课人编号排课人姓名排课人性别排课人电话NumberVarchar2(20)Varchar2(2)Varchar2(20)是否否否是是否否教室管理员编号姓名性别电话教室号管理员编号管理员姓名管理员性别管理员电话管理员管理教室NumberVarchar2(20)Varchar2(2)Varchar2(20)Number是否否否否是否否否否五、 编码我负责部分是排课人员
10、对教室增删改和对排课表处理情况。所以我写了两个程序包和两个触发器。具体代码见以下各图: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表操作全部要统计在它日志表CL
11、ASSROOM_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
12、利用。即使在做课程设计过程中碰到很多问题,不过我们经过团体合作客服了一个又一个问题,最终使得本课设能正常完成。不过,在此次课程设计中,我也找到了很多问题。比如,我负责模块是排课人员安排课程和教室,我只是完成最基础功效,全部全部是基础、书上有内容,没有一点延伸和对问题愈加深入思索,尤其是逻辑上思索基础是没有。所以,总来说不是很好。我会总结这次问题而且吸收教训,争取在接下来试验或其它事务中能有自己想法,主动去思索问题、处理问题。参考文件1、 崔巍 王晓敏. 数据库系统开发教程M. 北京:清华大学出版社,6月2、 俞俊甫. 数据库原理应用教程 M. 北京:北京邮电大学出版社7月 3、张凤荔 王瑛 Oracle 11g数据库基础教程 M. 人民邮电出版社 9月