数据库教务管理系统设计方案.doc_第1页
数据库教务管理系统设计方案.doc_第2页
数据库教务管理系统设计方案.doc_第3页
数据库教务管理系统设计方案.doc_第4页
数据库教务管理系统设计方案.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库教务管理系统设计方案1.1背景伴随着网络的不断发展,便捷化,高效化的办公需求不断的摆在我们的面前,而教务管理也不例外,传统的手工式的操作已经远远不能满足日益增强的操作需求,所以步入20世纪以来,随着网络化的普及,开发出一款适用于校园办公的网络化办公软件一直是人们所致力于研究的产品,当然在这么多年的摸索与实践中教务管理系统也日趋成熟,似乎教务管理也无需完善,然而,网络应用不同于传统的手工应用,网络应用的宗旨是:满足于客户。所以我选择了教务管理这一课题,希望能在前人的肩膀上对教务管理进行进一步的完善。通过查阅资料以及到同类型的高校网站去浏览访问,我发现了一个问题,就是高校的教务管理系统强调的是其办公的便捷性而往往忽略了办公的趣味性以及资源平台的共享性,这在许多高校网站中是存在,当然,我们不否认办公的高效性与便捷性是一个教务管理系统最主要的功能实现,然而我们也不能否认一款网络应用最能吸引人眼球的是其趣味性的存在。当然有人会怀疑作为一款办公性的软件其实用性往往要比他的趣味性重要,当然,这点也是不能否认的,可是我所说的趣味性指的是用户的参与度,我们不能把教务管理系统做成一款学生与学校之间的平台,而要做成一款联系学生与学校之间的纽带,让学生真正参与进教务管理这一项工作里来。该套系统的主要功能包括:学籍管理、课程管理、成绩管理、教学管理以及“学”“校”易通等功能,能够最大程度上满足学生与学校以及学校对学生的管理。1.2功能概述使用该系统可以使用一下的功能浏览校园热点信息;用户登录与注销;对自身信息的修改;留言;各类权限的网站操作;用户在使用时需要进行登录,如果不需要使用此功能,用户可以进行登出的操作,登出的用户不影响网页的使用。1.3用户环境 硬件环境处理器:Pentium3以上;内存:大于512MB;硬盘:大于40G; 软件环境操作系统:windows xp及以上;数据库:MySQL;Web容器:Tomcat 6.0; 开发环境:Myeclipse 8.5 + JDK 1.7 + MySQL + Firefox + PhotoShop第二章 概要设计及数据库设计确立一个系统的主要功能主要根据客户提出的要求进行设计,分析其主要需要实现的功能结构确定整体的设计方案,可以实现其流程方案图。再通过各个模块的分析确定数据库的实现。完成各功能之间的流图以及数据表之间的各种关联关系。2.1网站的功能结构设计通过对系统的分析,以及对各高校的教务管理系统的了解,可以分析得出以下的系统功能实现图,该系统的主要功能实现将围绕该系统功能实现图进行设计图2-1 功能结构图2.2网站数据库设计2.2.1数据库介绍本系统采用的是MySQL的数据库,改数据库的优点在于其轻量级的数据库操作,其高度的非过程化以及面向集合的操作方式使其广泛的应用于Internet的中小型网站上,他的体积小,速度快成本低让他成了大多数网络应用所亲睐的一款数据库产品,并且语言简单易学易用,也成了许多初学者使用的一款不错的数据库产品。与oracle、db2等一些大型数据库相比他的不能自定义的数据类型使得产品性能大打折扣,以及对存储过程和触发器的支持不够良好是一些大型公司摒弃他的主要原因。考虑到成本以及易用性、操作的简洁性,该套系统还是采用了MySQL作为数据的媒介,整套系统的数据库开发基于MySQL完成。2.2.2数据库需求分析通过对本系统的分析,我们不难得出系统的数据模型,在数据模型的基础上可以简单的分析出数据流图。通过建立E-R图可以分析出数据库的逻辑结构设计以及实现数据库。各实体间存在着一对一、一对多、多对一、多对多的关系,分析出他们的关系是实现某一系统比不可少的步骤,通过对前人所完成的教务管理系统的研究以及结合自身的需求发现本系统需要实现前台界面以及后台管理界面。通过流程的分析不难得出该系统功能流程图如下图所示:图2-2 管理员流程图对各个系统模块进行分析,我们可以不断的细化到每一个子模块的功能实现,然后确定每一个子模块所需要的用例,得到子模块的E-R图,根据分析,该系统主要需要以下的实体图2-3 学生信息实体图 图2-4 教师信息实体图图2-5 用户实体图图2-6 院系信息实体图 图2-7 班级信息实体图图2-8 课程信息实体图图2-9 专业信息实体图 图2-10 选课信息实体图图2-11 留言实体图根据这些独立的实体图可以得到各个实体图的对应关系,分析他们之间的联系,我们可以得到他的实体关系图,我们可以看出管理员与用户,以及管理员与本系统之间的关系,一个专业可以对应多个专业方向,一个专业也可以在多个院系之间开展。一个院系有多个年级,一个年级也有多个自然班级。培养计划与课程之间存在着多对多的关系。某一教师可以对应的多个班级的教学。一个自然班也对应了多个学生。通过分析我们可以得出以下的实体关系图 图2-12 实体关系图2.2.3数据库表设计对上述E-R图的分析不断的对细节的完善我们可以在数据库中建立以下的一些表结构:管理后台管理员的表:管理员表admin(如表2-1所示)该表用来保存管理员的信息,其中管理员的编号是用来唯一标识管理员的存在,该字段为表的主键,其中的字段有管理员的用户名,密码等;表 2-1后台管理员表(admin)列名数据类型长度可否为空说明IdInt4否主键IDnamevarchar20否用户名pwdVarchar100否用户密码保存学生信息的表:学生信息表student(如表2-2所示)用来保存学生的信息,其中有学号,学生姓名,学生性别,所在院系编号等。学号作为该表的主键student_ID,实现自增;表2-2 学生信息表(student)列名数据类型长度可否为空说明student_idInt4否主键IDstudent_nameVarchar50否类型名称Student_sexvarchar20是学生性别Student_departIdvarchar4否外键关联Student_phonevarchar20是联系方式birthdayvarchar20是生日addressvarchar100是现居地保存教师信息的表:教师信息表teacher(如表2-3所示)用来保存教师的信息,其中有工号,教师姓名,教师性别,所在院系编号等。工号作为该表的主键teacher_ID,实现自增;表2-3 教师信息表(news)列名数据类型长度可否为空说明teacher_idInt4否主键IDteacher_nameVarchar50否教师姓名teacher_sexVarchar4可以教师性别teacher_postvarchar20可以职务teacher_positionalvarchar20否职称Teacher_phonevarchar20可以联系方式保存院系的表:院系信息表institute(如表2-4所示)用来保存学院的信息,其中包括学院代码,学院名称,学院负责人,院系地址,学院联系方式等。其中学院代码设置为主键,实现自增;表2-4学院信息表(institute)列名数据类型长度可否为空说明institute_idIint4否主键IDinstitute _nameVarchar50否学院名称institute_Managevarchar16否院系管理人institute_addrvarchar1000可以院系地址institute_phonevarchar20可以联系方式institute_introduceVarchar10000可以院系介绍bzvarchar10000可以备注保存留言的表:表guest为留言表(如表2-5所示)用来保存师生之间留言互动的信息内容,主要包括编号,留言的内容,留言的编号唯一标识留言表的内容,实现自增;表2-5留言板(guest)列名数据类型长度可否为空说明userIDint4否主键IDuserNamevarchar300否用户名userFromvarchar300否家乡sexvarchar30可以性别QQvarchar30可以QQEmailvarchar30可以Contentvarchar2000否留言内容Replyvarchar2000可以管理员回复imageAddressvarchar50可以头像posttimedatetime8可以留言时间replytimedatetime8可以回复时间保存专业信息的表:专业表major(如表2-6所示)用来保存院校专业的信息,主要包括专业代码,专业名称等,该表的主键为major_id,并且该主键为自增;表2-6专业信息(major)列名数据类型长度可否为空说明major_idint4否主键IDmajor_namevarchar300可以专业名称major_deptIDint4可以所属院系major_xkmlvarchar500可以学科门类major_timevarchar500可以形成时间major_pyjhvarchar500可以培养计划major_jysIdvarchar50可以教研室编号保存课程信息:课程信息表course(如表2-7所示)用来保存选课课程的信息,包括课程编号,课程名,该表的主键设为course_id,自增;表2-7课程信息(course)列名数据类型长度可否为空说明course_idint4否主键IDcourse_namevarchar300可以course_placevarchar500可以course_timevarchar500可以考试时间course_pscjvarchar500可以平时成绩course_kscjvarchar500可以考试成绩course_zpcjvarchar500可以总评成绩bzvarchar500可以备注第三章 系统的功能实现与详细设计3.1 实现功能3.1.1系统用例图本系统用户分为三类,第一类为:普通用户,可以浏览系统的一些信息。包括校内公告,校园动态等一系列公共新闻。第二类为:学生,作为学生登录,则拥有对自身信息的查询修改,以及查询成绩,查询学分,选择课程,师生互动等操作。第三类为:老师,老师的登陆则可以对本人本课程的成绩学分进行一些相应的操作。网上解决学生问题等等。下图3-1表示了一个用户的用例图:图3-1 用户用例图作为本系统的管理员,拥有以下的权限,首先管理员登录该系统的后台功能,身份验证成功后可以根据管理员所拥有的权限对该系统进行操作,作为本系统的超级管理员,拥有以下的所有权限,对学籍信息的操作;对管理员信息的操作;对课程的操作;对留言的操作;对教务的操作;退出该系统等。另外,作为该系统的拥有不同权限的管理员只能对各自所拥有的权限进行操作,并且不能越过自己的权限。下图3-2所示为管理员的用例图:图3-2 管理员用例图3.1.2 系统功能清单表3-1 系统功能清单功能编号功能名称文中标题编号备注01登录、注册注册新用户为管理员操作02退出03浏览校务信息04浏览校园动态05浏览留言信息06自身权限操作学分,学籍(查询、修改)等07留言08信息修改 3.2 时序说明3.2.1登录用户打开浏览器,通过访问网站的域名来使用本系统,由于本次操作是在测试环境进行的,在浏览器中输入http:/localhost:8080/JWGLWebapp进入本系统,首先系统会进入index.html的界面,显示网站的各种新闻的信息,用户在使用该系统的时候选择登录按钮登陆到到该系统,此时后台将进入login.html的页面进行会员登录的验证。用户在输入框输入学号(工号),密码,前台js将调用ajax进行用户名密码的验证,通过方法checkUser()进行验证,如果成功则进入下一页面。如果不成功,则返回上一级菜单继续验证,即回到login.html准备再次验证信息,如下图3-3所示,为用户的一次登录的时序图图3-3 用户登录时序图3.2.2退出会员在成功登录后,如果不需要进行操作也可以选择点击退出按钮进行安全退出,当用户点击退出按钮时,系统加载logout.js进行注销,系统在注销的同时完成对本次操作的信息保存,以防用户的误操作下进行下一次登录的记录。图3-4表示了用户在注销时所实现过程的时序图图3-4 用户注销时序图3.2.3注册使用本系统的用户为本校的学生与老师以及拥有权限的管理员,本系统用户名默认为学号且不可更改,用户可以根据喜好修改个人昵称,系统的密码默认为身份证后六位,用户可以在个人信息中修改自己的密码。3.2.4留言系统用户通过本系统进入留言界面,可以对老师以及学生进行留言的操作,也可以对本系统的提供的一些新闻等进行交流。老师通过即时更新完成对学生问题反馈等一系列操作。下图3-5表示了一次留言过程中的时序图图3-5 留言系统时序图第四章 系统界面设计4.1 前台界面设计4.1.1登录模块图4-1 登录界面用户首次进入网站后,可以进行网站基本信息的浏览,校园热点新闻的预览等,是否需要使用一些特殊功能取决于用户自身的需求,学生登录成功后:能对学生自身做一些操作,包括成绩查询、学分查询、选择课程、留言管理等操作。教师登录登陆成功后:可以对本人本学年所教的课程进行测评成绩的评定,以及方便快捷的联系到学生等。管理员登录则可以拥有更高的操作权限。存在的真实的用户将根据系统所规定的权限的不同完成不同的操作。以下代码为用来判断用户是否真实public IUser publicCheck(String username, String password, String verifycode,RequestContext rc)/ 判断对应的用户名是否存在int v_count = DBHelper.queryForScalar(select count(*) from user_info where phone=?, Integer.class, username);if (v_count = 0) throw new RuntimeException(学号不存在或密码不正确);String userPassword = DBHelper.queryForScalar(select password from user_info where phone = ?, String.class, username);password = CryptUtils.encrypt(password + Constants.PASSWORD_STRDICT);if (!StringUtils.equals(password, userPassword) throw new RuntimeException(学号不存在或密码不正确);return DBHelper.queryForBean(select phone as id, phone as username, cust_name as chsname from user_info where phone = ?, User.class, username);登陆成功的用户将实现不同功能的展示,如图4-2、4-3所示: 图4-2 学生登录 图4-3 管理员登录4.1.2新闻模块新闻模块主要是给一些想了解我校信息的社会人士提供一个便捷的渠道,同时新闻模块也会发布一些校园的信息切实关系到学生的一些社会类的实践活动等,学生可以通过新闻模块报名参加。后台管理人员可以方便快捷的对新闻进行增加,修改,删除的操作。1.校园新闻分析校园新闻模块主要包含以下的内容:校园新闻的展示、新闻的浏览、新闻的发布、新闻管理2.校园新闻实现想要实现对校园新闻的编写,首先需要分析需要实现的功能,对于用户来说浏览网站是最主要的需求,所以首先要在前台界面实现浏览的功能,对于后台管理员,需要实现校园新闻的展示,对某条校园的新闻进行增加、修改、删除的操作 图4-4 新闻浏览4.1.3留言模块留言模块主要是为了提供师生之间的交流与互动,老师能及时了解学生的动态,学生也能及时的解决学习生活中遇到的难题。本系统的留言模块主要是一对一的针对性的聊天1.留言模块分析留言模块最主要的功能为:留言的展示,留言的管理2.留言模块实现实现该功能需要考虑数据库中的用户表与留言表之间所存在的关系,所以在留言表中需要保存的是发起留言的人的id以及对该留言进行恢复的人的id,一般的我们在留言表中常常设置一个关联到本表自身的字段,实现留言表的内关联,下图4-5为留言模块的功能实现:图4-5 留言模块4.2后台管理界面后台管理是主要是用来实现管理员的登陆使用的,管理员在登陆后需要对系统做一系列的操作。例如对用户的管理、校园新闻的管理、学生成绩的报表分析、对留言的管理、公告的管理等一系列的管理操作,其实一个后台的管理功能就是管理员通过后台的一些操作实现系统与数据库,系统与前台展示页面之间的联系。通过不同权限进入的用户执行不一样的操作,本系统设立超级管理员,超级管理员拥有该系统的所有的权限。另外教务管理员可以实现对教学事项的管理,而一些其他的权限,如新闻的修改、公告的修改等则由另外相应权限的进行修改,下图4-6为本系统的后台管理的主界面:图4-6 后台管理主界面管理员通过使用该系统可以对某一条记录进行相应的数据库的操作,以管理员对某一用户进行增加与修改为例,管理员通过点击新增或者修改按钮可以对一个该系统的数据库进行添加或者修改,下图4-7、图4-8即为管理员对本系统的用户进行管理的操作: 图4-7 用户新增图4-8 用户修改第五章 系统测试系统测试的目的是为了在程序开发的初期通过最小的人力物力去对系统进行优化,在不断的测试与优化过程中完成一个系统的开发。系统的测试期必须贯穿于整个系统的开发周期之中。根据开发周期中不同的测试需求来设计测试的流程以及测试用例。使用设计的测试用例来参与整个流程,避免代码编写过程中出现的错误与缺陷。使得系统趋于完善。5.1 系统测试原则一个完整的系统测试应当包括硬件的测试、网络的测试以及软件的测试。而硬件测试与软件测试往往是一些外在的不可控制的测试内容,我们一般可以通过所提供的性能指标来进行一个大概意义上的测试,一般在软件开发过程中所说的测试是指软件的测试。系统测试需要贯穿于整个的测试过程之中,而非在系统完成之后进行测试。测试的工作也需要尽量避免为系统的开发人员进行测试。由于开发人员思维的局限性在测试过程往往不能发现问题,导致一些问题并不能及时快速的解决,所以一个专业的独立的测试人员,往往能使得测试更加客观与可靠。一个规范的测试过程应该包括以下几点:测试计划的拟定:在系统开发的前期我们即可编写好测试进度、测试环境、测试安排等一系列的准备工作。测试大纲的编写:在系统开发的过程中可以根据系统编写的进度,对照测试大纲对系统的功能进行一步一步的测试。实施过程:在系统完成阶段,开发人员根据大纲对系统进行全面化的测试。测试报告的生成:所有测试过程完成后,生成相应的测试报告并对系统提出一些可行性的测试建议。5.2 系统测试结果本系统的主要测试工作量在网站前台的应用测试以及后台操作数据库里的数据是否能保持一致。网站前台展示主要包括查询的信息是否准确,各个操作人员对应的权限是否正确,以及网站功能的完全性。后台操作主要检测数据的一致性。管理员在管理界面进行的一系列的增删改查是否在数据库中有相应的改变。通过测试可以得到以下结论:5.2.1 网站前台页面该系统的前台展示页面是由JSP以及JavaScript完成,几乎每一级的页面都是通过上级页面的跳转而来,所以在编写的过程中每一次页面上的修改都要进行测试,其中测试的内容包括页面值得传递,页面格式,编码等等,通过测试修改,页面上的问题已经解决,前台用户的基本功能也都实现。5.2.2 网站后台管理后台管理测试主要是检测数据的唯一性,通过测试发现管理员对新闻、留言、学籍、课程、教室、学生的新建与修改、增加的同时数据库也进行了相应的修改。本次测试主要以学生转专业为例进行了案例的测试本次测试的浏览器环境选用了ie9,在ie9的内核下本系统运行良好,页面跳转与数据交互正常。5.2.3 系统测试案列表5-1 测试案列操作步骤操作描述数据期望结果实际结果测试状态(P/F)步骤1点击学务管理查询学籍信息进入查询页面正常步骤2输入查询条件查询学生信息列出查询结果正常步骤3选择需要查看学生转学的记录弹出查询页面 ,如果有多条转学生记录,按时间降序排列正常步骤1输入学生姓名或学号查询学生信息张三系统列出查询结果正常步骤2选择申请的学生,点转专业按钮张三 学籍:在籍系统弹出转专业页面正常成绩清单弹出学生成绩清单列出学生成绩正常点击打印打印学生成绩单正常点击关闭关闭学生成绩单页面步骤3转专业相关信息审批通过同批次修改学生专业为新专业,修改学生学制、学籍等相关信息保留学生选课、成绩同步学生信息;正常同年份不同批次修改学生专业为新专业,修改学制学籍;修改学生批次保留学生成绩同步学生信息正常不同入学年份修改学生的专业为新专业,学制同步学生信息正常学院意见过长提示文字超过最长限度学习中心意见过长提示文字超过最长限度正常教育部意见过长字提示文字超过最长限度正常步骤4学务管理员填写完页面关闭正常步骤5 学生信息记录学生当前的专业,以便回退到申请前,学籍卡上记录如下:*年*月*日申请从*转到*正常步骤6查询学生转专业信息查询到学生的信息,在此学习中心给学生录入成绩等。正常第六章 论文小结6.1 网站特点及功能该系统是一款基于B/S模式下的教务管理系统,将办公性与互动性结为一体的网络应用,使用本系统将能大大的提高学校管理管理的效率并且也能调动学生参与学校管理的积极性,是一款在教务管理的基础上极力的实现学生、老师、学校之间的沟通与互联。整个系统的除了包括学籍管理、课程管理、成绩管理、教学管理等这一类传统教务管理网站的基本功能外,还有“学”“校”易通等一些用来实现学校跟学生,学生跟老师之间的即时通讯的功能,能够最大程度上满足学生与老师的学术交流以及学校对学生的管理。6.2 网站的改进方向该系统的从构思到编写都是由一个人开发,缺少一个团队,所以在开发中难免会形成局限性的思维,在设计的时候往往是以理想化的思维去建立模型,所以难免会使得网站在实际额使用过程中出现一些意想不到的漏洞。另外在数据库的实现方面也没有考虑到面面俱到,虽然有桥表的应用,但由于教务管理系统数据结构的繁杂以及各个数据表之间的关联性较强,所以实际的使用过程中数据库的结构往往不会像想象中的那么简单,这就导致了在数据库的建立有了许多的冗余字段需要修改。6.3 开发感想由于是第一次独立的开发一个综合性的系统,在网站的开发过程中对系统的稳定性没有做很多的考虑,另外在功能方面只是大体上实现了功能,在页面的优化以及代码的优化上几乎没有花费太多的功夫,这就导致网站整体效果看起来略显粗糙。然而,通过这一次的代码编写我也学习到了很多的知识,在平时课堂的积累以及课外的自学过程中掌握的知识是这一次系统开发的基本前提。通过这次系统的编写加深了我对JSP的理解与应用,JSP的9大内置对象的使用使得代码的编写变得更加的灵活,而使用JSP也很大程度上使得用户体验更加的好。在JSP使用的同时也穿插着使用了一些JavaScript的知识,js的使用使得页面更加的生动,其中ajax实现的局部刷新技术以及使用ajax与后台进行通信极大的减轻了服务器的压力,最大程度的减少了冗余请求。另外使用json格式存放无限极树使得菜单使用起来更加的方便。在网站页面的编排上面采用了css样式这使得页面更加的定义自如。通过本次系统的编写使得自己在思维上也有了一个很大的提升,其中java的面向对象的思维给了我很大的启发,一切皆为对象不仅仅是应用在代码中,在生活中也一样的使用。最后我也感受到了科技给人们的生活带来的巨大的变化,互联网的发展给了我们很大的帮助,也给我提供了很多的便利,每当我在代码的编写过程中遇到难题的时候,网络总能给我带来满意的答案,所以在本次系统的编写过程中除了老师同学以外,还有网络给我带来很大的帮助,我也将会把使用网络解决问题带到将来的工作生活中去参考文献1 张晶.基于校园网的高校教务信息

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论