当前位置:文档之家› 教务管理系统

教务管理系统

河南理工大学计算机科学与技术学院课程设计报告2013— 2014学年第一学期课程名称数据库设计题目教务管理系统姓名王宏利学号311109040326专业班级网络l103指导教师贾慧娟2013 年12 月25日目录第一章现状1.1背景1.2目标1.3意义第二章需求分析2.1需求分析的任务2.2需求分析的过程2.3数据流图2.4数据字典2.5 需求分析注意点第三章概念结构设计3.1概念结构设计的方法与步骤3.2局部视图设计3.3视图集成第四章逻辑结构设计4.1 E-R图向关系模型转换4.2 数据模型的优化4.3设计用户子模式第五章数据库的物理设计5.1数据库物理设计内容5.2关系存取方法选择5.3确定数据库的存储结构5.4 评价物理结构第六章数据库的实施6.1 实现系统主要代码6.2数据的载入及应用程序的调试第七章数据库的运行和维护第八章致谢第九章参考文献第一章现状1.1 背景随着教育体制的改革,提高全民素质,高校招生名额每年以30%的速度递增。

而各个高校在原有的硬件,软件条件下,学生人数都不同程度的按比例增加,为了保证教学质量,最大程度的发挥软硬件作用,有必要开发一个高效的基于网络的教务管理系统。

与此同时,河南理工大学的发展速度不断加快,办学规模越来越大,急切需要借助计算机与网络来完成大量、烦琐的教务工作。

经过对河南理工大学教务工作全面的调查和研究,结合河南理工大学学年学分制的教务管理的实际要求,来设计出这一种教务管理系统。

1.2目标学校能够建立高效的教务管理系统,对学生的选课、查询等操作及流程进行规范化管理,简化业务流程,提高工作效率并防止中间的漏洞;迅速、准确地捕捉用户要求,并加以高效回应。

同时需要不断完善系统,增加模块,更好的满足用户需求,简化教务人员的管理工作,尽量做到一切信息化。

1.3 意义对于学校教务处而言,最主要的是管理学生的学籍、管理教师的课程教授。

如果使用一般的方法来管理,会比较繁琐,管理起来也很有可能出错。

为了方便教务人员的管理工作,提高工作效率,同时为了更好地为学生、教师提供服务,有必要开发教务管理系统,使学校的教务管理走上信息化之路,克服人为的种种弊端。

教务管理系统的开发不仅可以减少人力、物力和财力资源的浪费,更重要的是有助于提高教务管理的效率。

教务管理人员管理学生学籍、管理教师课程教授时是一项复杂的组织工作,这种复杂性不仅仅指学生学籍变更快,变更人数众多,更突出地表现在教务管理主要对象(即学生)的数据量大,管理起来带来不便,所以开发一个实用、高效的教务管理信息系统是很有必要的。

第二章需求分析2.1需求分析的任务由于教务处处理教务,教研,实践,评估等各方面的事务,牵涉到全校教师以及学生,信息处理非常巨大,同时在处理事务过程中各种各样的人为因素,导致效率极其低下,为此需要开发教务综合管理系统使得教务处整个办公过程(特别是内部)大部分市县计算机管理,实现无纸化办公。

本系统需要实现与学生,教师,课程及持久等相关的各种信息处理的系统化,规范化,和自动化。

2.2 需求分析过程本系统实现的主要功能有:1学生信息管理,管理学生的基本档案和成绩,可以浏览,增加,修改和删除学生档案信息和成绩信息。

2 教师信息管理,管理教师的基本信息以及教师的授课信息,可以浏览,增加,修改和删除教师信息和其相应的信息。

3 选课信息管理,管理课程信息录入,学生选课信息录入以及学生选课信息查询。

2.3数据流图1 用户登录2学生信息管理3 教师信息管理4选课信息管理2.4数据字典学生档案表学生成绩表课程名表学生选课信息表教师档案表教师授课信息表2.5需求分析注意点确定用户需求是一件很困难的事情。

这是因为:第一,应用部门的业务人员常常缺少计算机的专业知识,而数据库设计人员又常常缺乏应用领域的业务知识,因此互相的沟通往往比较困难。

第二,不少业务人员往往对开发计算机系统有不同程度的抵触情绪。

有的认为需求调查影响了他们的工作,给他们造成了负担:特别是系统的建设常常伴随企业管理的改革,这会遇到不同部门不同程度的抵触。

第三,应用需求常常在不断改变,导致系统设计业常常要进行调整甚至有重大的改变。

面对这些困难,设计人员特别应该注意:1用户参与的重要性首先认识到在整个需求分析以及设计系统过程中,特别是对大型数据库系统用户的积极参与数据库是是十分重要的。

设计人员要以自己热情的工作,诚恳的态度,取得用户的信任,帮助不熟悉的计算机的用户建立数据库环境下的新的概念。

2用原型法来帮助用户确定他们的需求先给用户一个比较简单,以调整的但是真实的原型系统,让用户依据他来验证和调整自己的需求,用户提出新的需求后再调整原型,以此帮助用户确定他们的需求。

设计人员要与用户同心协力共同完成设计工作,并对最后结果承担共同的责任。

3预测系统的未来改变设计人员还应特别考虑应用可能发生的变化,充分考虑系统可能的扩充和变动,是数据库系统具有较高的适应性,易于改动,以减少系统维护的代价。

明确把需求手机和需求分析座位数据库设计的第一阶段是十分重要的。

这一阶段收集到的基础数据和一组数据流程图是下一步进行概念设计的基础。

第三章概念结构设计3.1 概念结构设计的方法与步骤(1)方法概念设计阶段采用自底向上的方法,就是自顶向下的进行需求分析,然后在自底向上的进行概念结构设计。

设计的方法有自顶向下,自底向上,逐步扩张,混合策略。

(2)步骤第一步是进行局部视图设计:由于高层的数据流图只能反映系统的概貌,中层流图能较好的反应系统中各局部应用的子系统组成。

因此要逐一的设计分E-R 图。

第二部是进形势图的集成;各子系统的E-R 图设计好之后,下一步就是要将所有得分E-R 图合成一个系统的总E-R 图,一般有两个方式,多个分E-R 图一次继承。

另一种是一次集成两个分E-R 图。

采用一次继承两个分E-R 图的。

3.2 局部视图设计 界面E-R 图实体关系图学生教师课程3视图集成第四章逻辑结构设计4.1 E-R图向关系模型转换1 教师(教师编号,姓名,性别,工作时间,政治面貌,学历,职称,联系电话)2 学生(学号,姓名,性别,出生日期,班级编号,政治面貌,毕业学校)3 课程(课程编号,课程名,课程类别,学分)4 成绩(成绩ID,学号,学年,学期,课程编号,成绩)5 授课(授课ID,课程编号,教师编号,班级编号,学年,学期,学时,时间,地点)6 选课(选课ID,课程编号,学号)4.2 数据模型的优化将关系模式进行优化,最终达到第三范式教师(教师编号,姓名,性别,工作时间,政治面貌,学历,职称,联系电话)教师编号姓名,教师编号性别,教师编号工作时间,教师学历选课(选课ID,课程编号,学号)选课ID 课程编号,选课ID 学号授课(授课ID,课程编号,教师编号,班级编号,学年,学期,学时,时间,地点)授课ID 课程编号,授课ID 教师编号,授课ID 班级编号学生(学号,姓名,性别,出生日期,班级编号,政治面貌,毕业学校)学号姓名,学号班级编号课程(课程编号,课程名,课程类别,学分)课程编号课程名,课程编号课程类别,课程编号成绩(成绩ID,学号,学年,学期,课程编号,成绩)成绩ID 学号,成绩ID 成绩,成绩ID 课程编号4.3 设计用户子模式用户子模式编号用户子模式名称定义作用1student—view 学生信息视图方便用户查询2teacher_view 教师信息视图方便用户查询3clsaa_view 授课信息视图方便用户查询4grade_view 成绩信息查询方便用户查第五章数据库的物理设计5.1数据库物理设计内容通常对关系数据库物理设计的内容主要包括:1为关系选择存取方法,建立存取路径;2 确定数据库存储结构,即是确定关系,索引,聚簇,日志,备份等数据的存储安排和存储结构;3 确定系统配置。

5.2 关系存取方法选择1存取方法的概述常用的存取方法有索引方法,hash方法,聚簇方法等索引方法有多种,常用的有B+树索引,基于函数的索引,反向索引,位映射索引等;Hash方法是用hash函数来存储和存取关系记录的方法。

具体就是指定某个关系上的一个属性A座位hash码,然后对该hash码定义一个函数,关系记录的存储地址有hash来决定;聚簇方法为了提高某个属性的查询速度,把这个或这些属性上具有相同值得元祖级和中存放在连续的物理块中称为聚簇。

2 存取方法选择1 索引存取方法的选择所谓选择索引存取方法实际上就是根据应用要求确定对关系的那些属性列建立索引,哪些属性列建立组合索引,哪些索引要设计为唯一索引等如果一个属性经常在查询条件中出现,或者经常作为最大值和最小值等聚集函数的参数,或者经常在连接操作的连接条件中出现,则考虑在这个书向上建立索引。

关系上定义的索引数并不是越多越好,系统为维护索引要付出代价,查找索引也要付出代价。

2 hash存取方法的选择有些rdbms提供了hash存取方法。

选择hash存取方法的一般原则是,如果一个关系的属性主要出现在等连接条件中或者主要出现在相等比较选择条件中,而且一个关系的大小可预知且变化不大,则此关系可以选择hash存取方法。

3 聚簇存取方法的选择选择聚簇存取方法,即确定需要建立多少个聚簇,每个聚簇中包括哪些关系。

必须强调的是,当通过聚簇码进行访问或链接是该关系的主要应用,与聚簇无关的其他访问很少或者是次要的时,可以使用聚簇。

尤其当SQL语句中包含有与聚簇码有关的order by,group by,union,distinct等子句或短语时,使用聚簇特别有利,可以省去或结果集的排序操作。

否则很可能会适得其反。

而且维护聚簇的开销是相当大的。

对已有关系建立聚簇,将导致关系中元组物理存储位置的移动,并使此关系上原有的索引无效,必须重建。

当一个元组的聚簇码值改变时,该元组的存储位置也要做相应移动。

5.3 确定数据库的存储结构1确定数据的存放位置存放在C盘,并且分配2M的空间,而且文件的存储空间可以随着数据库的增大而增大,即文件增长不受限制。

文件的增长按百分比进行,增长百分比为10% 2 确定系统配置数据库可以公共访问,可以打开任意个数据库对象,内存分配高于2M的内存空间。

5.4评价物理结构数据物理设计过程中需要对时间效率,空间效率,维护代价和各种用户要求进行权衡,其结果可以产生多种方案,数据库设计人员必须对这些方案进行细致的评价,从中选择一个较为优秀的方案作为数据库的物理结构。

评价物理数据库的方法完全依赖于所选用的rdbms产品,主要是估计各种方案的存储空间,存取空间和维护代价,对估计结果进行权衡,比较,选择出一个较优的合理的物理结构。

第六章数据库的实施6.1 实现系统主要代码protected void Button1_Click(object sender, EventArgs e){string txtcc = Request["txtcc"].ToLower();string checkcode = Convert.ToString(Session["CheckCode"]);//判断验证码if (txtcc == checkcode){string username = Request["yh"];string userpsw = Request["ps"];string Tclass = this.RadioButtonList1.SelectedValue.ToString();//if(Tclass=="2")//{// userpsw = FormsAuthentication.HashPasswordForStoringInConfigFile(userpsw, "MD5");//}SqlDAL sql = new SqlDAL();bool isuser=sql.ValidUser(username, userpsw,Tclass);if (Tclass == "3"){isuser = sql.ValidS_User(username,userpsw);}if (isuser){string strUserId = this.yh.Text;ArrayList list = Application.Get("GLOBAL_USER_LIST") as ArrayList;if (list == null){list = new ArrayList();}for (int i = 0; i < list.Count; i++){if (strUserId == (list[i] as string)){//已经登录了,提示错误信息Response.Write("<script>window.alert('该用户已经登录!')</script>");return;}}list.Add(strUserId);Application.Add("GLOBAL_USER_LIST", list);//登录成功,保存教师编号if (Tclass == "1"){SqlDataReader dr = sql.GetLogin_Departid(username, userpsw, Tclass);dr.Read();Session["id"] = dr["Departid"].ToString();dr.Close();}else{Session["id"] = username;}Session["Tclass"] = Tclass;//定位到主页面Response.Redirect("crm_admin_main.htm");}else{Response.Write("<script>window.alert('登录失败!')</script>");this.txtcc.Text = "";}}else{Response.Write("<script>window.alert('验证码不正确!')</script>");this.txtcc.Text = "";6.2数据的载入和应用程序的调试添加记录的代码如下:取消按钮的代码如下:退出按钮的代码如下:保存按钮的代码如下:退出窗体的按钮代码如下:确定按钮的代码如下:第八章致谢短短的两周毕业设计是我们对大学三年的计算机知识的整体总结,也是理论与实践的结合,在这段时间内使我又一次对整个大学四年所学过的知识做了总结。

相关主题