欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    学位论文—基于web的学生课程与成绩管理系统论文.doc

    • 资源ID:93040288       资源大小:1.35MB        全文页数:45页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    学位论文—基于web的学生课程与成绩管理系统论文.doc

    1 引言本毕业论文是以学校学生管理信息系统建设中的成绩管理系统的开发为背景,论述了管理信息系统的概念、结构及系统开发的基本原理和方法,全文共分为绪论、相关技术介绍、系统分析和系统设计、数据库设计、系统的具体实现、系统测试和总结、结束语、致谢、参考文献、附录等。11 系统的开发背景当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。管理信息系统是进行信息的采集、存储、加工、维护和使用的系统,它是随着管理科学和技术科学的发展而形成的。学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段,对学生来说可以轻松的查阅自己在校的成绩以及信息等。但是一直以来人们都是靠传统人工的方式管理学生成绩,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生成绩管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样的一套成绩管理系统成为很有必要的事情。学生成绩管理系统提供了强大的学生成绩管理管理功能,方便系统管理员对学生成绩等信息的添加、修改、删除、查询等操作,同时一样的方面学生对自己各科成绩查询,学习的交流。12 现有系统存在问题的分析在我国,各大中小学校的各类信息管理系统并非一个新的课题,但也有的学校根本就没有信息任何管理系统,所有的工作几乎还是手工操作来完成。计算机技术在日新月异的发展,但是有的很多学校,特别是在西部贫困地区,学校的种类管理都依然由手工操作来完成,这十分落后,效率极低,成本很大,而且极易出错。随着社会的发展,信息化是社会进程的必然趋势,学校管理只有快、准、精,才能发挥其价值。所以机器代替人力是必然的历史发展趋势,只有领导的重视和支持才能从人工操作改为计算机的自动化系统。人工操作必将被计算机代替。有些学校虽使用了计算机,甚至管理系统,但是仍然存在很多问题,问题一日不解决,效率就一日提不上去。还有,有的系统很不完善到处是漏洞,可以说是千疮百孔,这样极不完善的系统对管理来说是没有任何保障的。13 系统开发的必要性在21世纪的科技时代,科学技术突飞猛进,计算机已经不仅是在科技上应用,而且在生活中也是同样得到了广泛在应用。如今,不管是小学、初中、高中、甚至是很多大学生的学生成绩管理基本上是靠人工进行管理,但随着时间的变化,学校规模的扩大,有关学生成绩管理工作和所涉及到的数据量越来越大越来越多,大多数学校不得不靠增加人力、物力、财力来进行学生成绩管理。但是人工管理成绩档案具有效率低、查找麻烦、可靠性不高、保密性低等因素。因此开发出一个不仅仅是适用于大中专院校以及其它高校通用的学生成绩管理系统是必要的。开发一个学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高了办学效益和现代化水平。为广大教师和学生提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化。现在我国的大中专院校的学生成绩档案管理水平普遍都不是很高,有的还停留在全用纸介质基础上,这种管理方式已不能适应时代的发展,社会的需求,因为它浪费了大量的人力物力,也存在着许多不足的因素。在今天信息时代这种传统的管理方法必然会被计算机为基础的信息管理系统所代替。一个高效的学生成绩管理系统可以存储历届的学生成绩档案,不需要大量的人力,只需要几名专门录入员即可操作系统,节省大量人力,可以迅速查到所需信息、高效、安全,学生在能方便的查看自己的成绩。14 系统开发目标与意义1.4.1 系统开发目标本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:1.系统应具有实用性、可靠性和适用性,同时注意到先进性。2.对各个数据库进行动态管理,防止混乱。3.能够按照用户选择的不同的条件进行简单查询和复合查询。4.能够对查询结果进行分类汇总,实现报表打印。5.注意数据的安全性,具有数据备份和恢复的功能。6.方便用户的操作,尽量减少用户的操作。1.4.2 意义学生成绩管理是学校管理中异常重要的一个环节,作为学校,除了育人,就是育知,学生成绩管理的计算机化是整个学校教务管理中的重要一部分,能否实现这一步关系到学校办学整体效率的高低,介于它的重要性,学生成绩管理系统的开发与应用就逐渐提入议程,并占着越来越重要的份量。运用学生成绩管理系统可以减轻学院教学人员的工作量,缩小开支,提高工作效率与准确率,能够合理安排时间,能够尽快的知道自己的考试成绩,投入新的课程的学习或复习这次没有考过的课程。而学生成绩管理系统的应用也为今天的民办教育在未来市场的竞争力有所提高。从大的方向说,就是为了加速我国四化建设的发展,实现全部的自动化,使我国发展成为通讯网络化,决策科学化,办公自动化的国家。在现代,高科技的飞跃发展,人们工作习惯的改变,特别是电脑的大量普及,人们生活节奏越来越快,怎样提高工作效率是人们首先考虑的问题。学生成绩管理是一个非常繁琐与复杂的一项工作,一个原因就是工作量大,不好管。对于一个学校而言,更应该运用一些本地资源,提高管理的力度,对学生负责,对家长负责。15 可行性分析可行性研究的目的是用最小的代价在尽可能的时间内确定问题是否能够解决。考虑到系统开发时间、资源等因素,在实际开发该计算机系统时,常常要为资源不足和交付日期难以完成而苦恼,因而需要慎重地尽可能早地估价研制课题的可行性。可行性研究包括:经济可行性、技术可行性、操作可行性、不同的方案等等。1.5.1 经济上可行性现在,计算机的价格已经十分低廉,性能却有了长足的进步。而本系统的开发,为学校的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:第一,本系统的运行可以代替人工进行许多繁杂的劳动;第二,本系统的运行可以节省许多资源;第三,本系统的运行可以大大的提高学校的工作效率;第四,本系统可以使敏感文档更加安全,等等。所以,本系统在经济上是可行的。1.5.2 技术上可行性本系统的开发利用Navicat for MySQL作为本系统的数据库,它是一个支持多用户的新型数据库,适用于大中规模的数据量需求。学校校园网的建设也为新系统服务器/客户端的结构提供了硬件的支持。使用java作为系统开发的开发环境,它提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供的保障为开发满足客户要求的系统,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。1.5.3 操作可行性本系统为一个小型的学生信息管理系统,所耗费的资源非常的小,学校的电脑无论是硬件还是软件都能够满足条件,界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规范、可靠;统计准确;制表灵活;适应力强;容易扩充,因此,本系统在操作上是可行的。16 系统设计原则1. 实用性原则:确保系统具有良好的系统性能,友好的用户界面,较高的处理效率,便于使用和维护,并采用成熟的技术。2. 先进性原则:尽量采用先进而且成熟的技术,使系统具有较高的技术水和较长的生命周期3. 开放性、安全性、可靠性及可扩展性原则。4. 兼容性原则:对于所选硬件系统及平台,能很好地适应开发和使用的需要。5. 规范性原则:软件设计过程严格按照“软件工程”的规定,系统编码,文档,操作系统平台以及所采用的开发方法按照相应的国际标准和国家标准。2 相关技术介绍21 MVC模式 MVC是一种架构型模式,它本身并不引入新的功能,只是用来指导我们改善应用程序的架构,使得应用的模型和视图相分离,从而达到更好的开发和维护效率。在MVC模式中,应用程序被划分成模型(Model)、视图(View)和控制器(Controller)三个部分。其中,模型部分包含了应用程序的业务逻辑和业务数据;视图部分封装了应用程序的输出形式(页面、界面);而控制器部分负责协调模型和视图,根据用户请求来选择要调用哪个模型来处理业务,以及最终由哪个视图为用户做出应答。MVC模式的这三个部分的职责非常明确,而且相互分离,每个部分都可以独立的改变而不影响其他部分,大大提高了应用的灵活性和重用性。2.1.1 MVC模式基础在MVC模式中,一个应用被划分成了模型(Model)、视图(View)和控制器(Controller)三个部分。2.1.2 模型、视图、控制器各部分的作用 模型(Model):负责封装应用的状态,并实现应用的功能。通常分为数据模型和业务逻辑模型,数据模型用来存放业务数据,比如订单信息、用户信息等;而业务逻辑模型包含应用的业务操作,比如订单的添加或者修改等。视图(View):用来将模型的内容展现给用户,用户可以通过视图来请求模型进行更新。视图从模型获得要展示的数据,然后用自己的方式展现给用户,相当于提供界面来与用户进行人机交互;用户在界面上操作或者填写完成后,会点击提交按钮或是以其它触发事件的方式,来向控制器发出请求。控制器(Controller):用来控制应用程序的流程和处理视图所发出的请求。当控制器接收到用户的请求后,会将用户的数据和模型的更新相映射,也就是调用模型来实现用户请求的功能;然后控制器会选择用于响应的视图,把模型更新后的数据展示给用户。2.1.3 MVC模式作用在早期开发的时候不遵守MVC模式。结果程序结构划分不明确,各个部分功能混乱,在业务功能发生变更时,无论是业务逻辑修改还是显示形式修改,都要修改很多的类,“牵一发而动全身”,导致软件的开发和维护效率低下,错误百出。而遵循MVC模式来开发系统,就会极大的避免上述问题的出现。MVC模式的核心手段是解耦,MVC模式通过仔细的划分功能,把整个应用程序划分成模型、视图、控制器三个部分,然后严密控制三个部分之间的通信,从而得到一个结构清晰、功能分布合理、可重用、可扩展、可维护的应用程序。因此,使用MVC模式,可以获得以下好处:低耦合性:在MVC模式中,模型和视图是解耦的,模型不会依赖于视图,视图仅仅从模型中获取需要展示的数据,不会与模型的逻辑处理相关联。更低的开发成本:MVC模式帮我们清楚的划分了各部分的职责,让程序员各司其职,Java程序员只关心业务逻辑的实现,也就是模型部分;而界面程序员只关心页面展示,也就是视图部分。 更好的可维护性:MVC模式划分出明晰的模型和视图,并使其解耦,在软件需求发生变更的时候,就可以各自独立的改变而不会相互影响,使得程序更容易维护和扩展。22 轻量级Java EE开发平台:S2SH轻量级JavaEE应用,以传统的JSP作为表现层技术,以系列来源框架作为MVC层、中间层、持久层解决方案,并将这些开源的框架有机地组合在一起,使得javaEE应用具有高度的可扩展性、可维护性。2.2.1 Struts 2Struts2是以Webwork的设计思想为核心的MVC框架。Struts 2 与Struts 1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度上来讲,Struts2没有继承Struts 1的血统,而是继承WebWork的血统。或者说,WebWork衍生出了Struts2,而不是Struts 1衍生了Struts2.因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证。通过对Struts2体系结构的了解,我们发现Struts2对Struts1进行了巨大的改进。主要表现在如下几个方面:(1) 在Action的实现方面:Struts1要求必须统一扩展自Action类,而Struts2中可以是一个普通的POJO。(2) 线程模型方面:Struts1的Action工作在单例模式,一个Action的实例处理所有的请求。Struts2的Action是一个请求对应一个实例。没有线程安全方面的问题。(3) Servlet依赖方面:Struts1的Action依赖于Servlet API,比如Action的execute方法的参数就包括request和response对象。这使程序难于测试。Struts2中的Action不再依赖于Servlet API,有利于测试,并且实现TDD。(4) 封装请求参数:Struts1中强制使用ActionForm对象封装请求的参数。Struts2可以选择使用POJO类来封装请求的参数,或者直接使用Action的属性。(5) 表达式语言方面:Struts1中整合了EL,但是EL对集合和索引的支持不强,Struts2整合了OGNL(Object Graph NavigationLanguage)。(6)绑定值到视图技术:Struts1使用标准的JSP,Struts2使用“ValueStack”技术。(7) 类型转换:Struts1中的ActionForm基本使用String类型的属性。Struts2中使用OGNL进行转换,可以更方便的使用。(8) 数据校验:Struts1中支持覆盖validate方法或者使用Validator框架。Struts2支持重写validate方法或者使用XWork的验证框架。(9) Action执行控制的对比:Struts1支持每一个模块对应一个请求处理,但是模块中的所有Action必须共享相同的生命周期。Struts2支持通过拦截器堆栈为每一个Action创建不同的生命周期。2.2.2 Hibernate传统的Java应用都是采用JDBC来访问数据库的,但传统的JDBC采用的是一种基于SQL的操作方式,这种操作方式与Java语言的面向对象特征不太一致,所以Java EE应用需要一种技术,通过这种技术能让Java以面向对象的方法操作关系数据库。 这种特殊的技术就是ORM (Object Relation Mapping),最早的ORM是Entity EJB(Enterprise JavaBean),EJB就是经典Java EE应用的核心,从EJB l.0到EJB 2.X,许多人觉得EJB非常烦琐,所以导致EJB备受诟病。 在这种背景下,Hibernate框架应运而生,Hibernate框架是一种开源的、轻量级的ORM框架,它允许将普通的、传统的Java对象(POJO)映射成持久化类,允许应用程序以面向对象的方式来操作POJO,而Hibernate框架则负责将这种操作转换成底层的SQL操作。Sun公司引入了JPA规范。JPA规范其实是一种ORM规范,因此它的底层可以使用Hibernate、TopLink等任意一种ORM框架作为实现。很明显,如果应用程序面向JPA编程,将可以让应用程序既可利用Hibernate的持久层技术因为可以用Hibernate作为实现:也可以让应用程序保持较好的可扩展性因为可以在各种ORM技术之间自由切换。2.2.3 Spring 3Spring框架里充满了各种设计模式的应用,如单例模式、工厂模式、抽象工厂模式、命令模式、职责链模式、代理模式等,Spring框架的用法、源码则更是一道丰盛的Java大餐。Spring框架号称Java EE应用的一站式解决方案,Spring本身提供了一个设计优良的MVC框架:SpringMVC,使用Spring框架则可直接使用该MVC框架。但实际上,Spring并未提供完整的持久层框架这可以理解成一种“空”,但这种“空”正是Spring框架的魅力所在-Spring能与大部分持久层框架无缝整合:Hibernate,JPA,iBATIS,TopLink更甚至直接使用JDBC。无论选择哪种持久层框架,Spring都会提供无缝的整合以及极好的简化。Spring框架主要由7个定义良好的、相互独立的模块组件构成。23 Jquery简介jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多JavaScript高手加入其中,包括来自德国的Jrn Zaefferer,罗马尼亚的Stefan Petre等等。jQuery是继Prototype之后又一个优秀的JavaScript框架。其宗旨是WRITE LESS,DO MORE,写更少的代码,做更多的事情。使用jQuery有如下特点:(1) 提供了强大的功能函数:使用jQuery提供的强大的函数库能够帮助我们快速完成各种功能, 而且会让我们的代码异常简洁。(2) 解决浏览器兼容性问题:对于普通的JavaScript脚本往往是不同的浏览器需要编写不同的JavaScript脚本。有了jQuery我们就不需要再重复的编写JavaScript代码了,因为jQuery对于各种浏览器是兼容的,使用jQuery并不需要考虑浏览器兼容性问题。(3) 实现丰富的UI:jQuery为我们提供了界面美观且有兼容各种浏览器的各种UI,使用开发web页面更加容易。(4) 丰富的插件:jQuery为我们提供了各种插件,使我们只要懂得jQuery基本语法就能够编写出漂亮的功能完善的Web页面。3 系统分析和系统设计31 学生成绩管理系统的功能分析该学生成绩管理系统是用java网页编程+ Navicat for MySQL数据库,在系统中分为大的三个方面:一是系统管理员页面、二是教师登录页面、三是学生登录页面。1. 系统管理员进入学生成绩管理系统的主要功能是:实现管理员用户的添加,修改和删除,以及对教师添加、教师修改、教师删除、教师查询、学生的添加、学生的修改、学生的查询、修改、个人信息等基本功能,并且参与开设课程、选择课程的管理,安排教师的任课和学生的选课工作。 2.教师进入学生成绩管理系统的主要功能是:各科教师登录系统后可以查询和修改个人信息、修改自己的账号密码,查询自己的授课课程,实现对选修了自己课程的学生的成绩进行查询、录入和修改,各科老师可以对自己学生选修课程结束后给予分数。3.学生进行学生成绩管理系统的主要功能是:每个学生登录系统后可以查询和修改个人信息、修改自己的账号密码,以及自己所选课程的信息,同时查看个人信息资料。32 系统模块结构图成绩录入教师信息查询 学生成绩管理系统学生信息查询学生信息修改成绩公布教师信息修改任课教师查询成绩查询修改密码任课教师查询教师模块学生模块 图 3. 1 功能系统结构模块图 33 系统业务流程图首先是进入登录界面,如图3.4所示,本页面显示系统名称,密码校验等信息,本系统的用户分为三类:管理员,教师,学生。使用者可以在组合框中选择所要登录的用户的类型,并输入相应的用户名和密码,单击“确定”就会将输入提交给系统以验证用户、密码及身份。如果用户类型及密码正确,就会进入与用户相对应的界面。3.3.1 系统总业务流程图 3. 2 系统总业务流程图3.3.2 登录业务流程图图 3. 3 登录业务流程图34 系统数据流分析3.4.1 数据流分析本学生成绩管理系统的数据流程:首先管理员在开课之前,设定学校的各阶段学生要学习的课程(添加课程模块),输入正确后添加到"课程信息表"即后台数据库中的(course)表,同时添加在校教师员工的基本信息(教师信息添加模块),输入正确后添加到"教师信息表"即后台数据库中的(teacher)表。开学注册后,管理员对新生的基本信息进行输入添加(学生信息添加模块),在输入正确后,数据即可添加到后台的"学生信息表"即数据库中的(student)表中;同时安排教师授课和学生选课考试的工作,输入信息后添加(课程安排模块),判断是否已经存在选课考试和授课的记录,如果不存在,输入正确后添加到"成绩信息表"即数据库中的(grade)表,默认成绩信息表中字段名(分数)的值为空,表示该学生还没参加考试,各科教师在学生考完试后登录系统查看自己授课的科目并录入已完成考试的学生的科目成绩。学生登录系统后查看自己选修科目的成绩,如果科目分数为空,说明还没参加该科目的考试。3.4.2 数据流程图管理 员教师 学生课程成绩数据 录入基础数据 成绩录入数据学生学生成绩管理系统 成绩数据 课程成绩 图 3. 4 顶层数据流程图第 42 页 共 42 页35 系统用户功能操作管理3.5.1 学生操作功能 表 3. 1 学生功能模块功能名称学生管理模块功能描述实现对学生个人信息的查询,修改,以及对选修科目和各科成绩、总分的查询,查看任课老师的个人信息操作流程:1、学生用户进入学生管理模块页面2、学生用户查看,修改个人信息,查看授课老师的资料,和自己成绩的排名情况并提交3、系统显示信息4.1 若操作成功提示成功信息4.2 若操作失败提示失败信息5、返回前台主页面业务流程:1、学生用户进入学生管理申请链接2、系统跳转学生管理主页面。3、用户修改学生个人信息、密码并提交;查看各项信息4、系统检查各项信息的合法性5、若各项信息合法,连接数据库中的学生表中更新一条学生信息;若否,提示失败信息6、注销系统跳转至前台主页面流程图:页面输出成功、失败提示对应方法studentDAO对象findById loadall方法studentDAO对象save方法studentDAO对象update方法studentDAO对象delete方法数据库表student对表操作向student表修改一条记录,对其他表进行查询例外说明必须输入的信息没有输入,系统提示错误信息;数据库插入失败,提示错误。3.5.2 教师操作功能 表 3. 2 教师功能模块功能名称教师管理模块功能描述实现对教师个人信息、密码的查询,修改,对自己授课课程信息查询、分数的录入和修改,同时可以实现单科成绩的优秀人数,及格人数等信息进行统计操作流程:1、教师用户进入教师管理模块主页面2、教师用户查看,修改个人信息,密码,对自己授课课程信息查询、分数的录入和修改,统计及格人数情况并提交3、系统显示信息4.1若操作成功提示成功信息4.2 若操作失败提示失败信息5、返回前台主页面业务流程:1、教师用户进入教师管理主页面申请链接2、系统跳转教师管理主页面。3、用户修改教师个人信息、密码并提交;查看各项信息包括课程,成绩等4、系统检查各项信息的合法性5、若各项信息合法,连接数据库中的教师表中更新一条学生信息;若否,提示失败信息6、注销系统跳转至前台主页面流程图:页面输出成功、失败提示对应方法teacherDAO对象findById loadAll方法teacherDAO对象updata方法teacherDAO对象save方法teacherDAO对象delete方法数据库表teacher, student, grade, course对表操作向teacher表修改一条记录和grade修改一条或多条记录,对其他表进行查询。例外说明必须输入的信息没有输入,系统提示错误信息;数据库插入失败,提示错误。3.5.3 通用功能操作(1)登录每个用户都可以用自己的账号登录系统。(2)修改密码 每个用户第一次登录都用系统管理员设置的默认密码,登录后可以修改自己的密码。4 数据库设计 数据库是此类系统的核心,系统中所有的信息都存储在数据库中,在所有JSP页面中通过JAVA与数据库连接,操作数据库中的数据,从而实现所有需要的功能。数据库软件有很多,如mysql等。本系统中数据库采用Navicat for MySQL作为数据库工具。数据库是网站的核心,数据库设计的合理与否对网站的建设有着至关重要的影响。一个良好的数据库开发过程一般是先系统分析,再逻辑设计,然后物理实现。系统分析中分析数据库用户需求,并画出E-R图直观地表示出数据库系统的需求。逻辑设计中根据系统分析设计的一个关系模型。物理设计为逻辑设计中的数据模型选取一个最合理的应用环境的物理结构,通常选取一个常用数据库软件,用数据库软件创建与逻辑设计中数据模型对应的数据库。41 数据库系统分析本系统的数据库实体主要有“学生”、“教师”、“管理员”、“课程”等。其中“教师”与“课程”存在“授课”联系,并且一个教师可以授课n门课程,即“教师”与“课程”之间是一对多的关系。一个学生可以学习n门课程,一门课程可以有m个学生学习,即“学生”与“课程”之间是多对多的关系。其中“管理员”与“课程”存在“开课”联系,并且一个管理员可以开设n门课程,即“管理员”与“课程”之间是一对多的关系。整个数据库可以用一个E-R图表示,如图:教 师课 程学 生选课考试管理员开 设nmm1n授 课n授课时间图 4. 1 整体ER图班 级学 号 姓 名 学 生图 4. 2 学生ER实体图 姓 名 教 师教师描述教师编号图 4. 3 教师ER实体图角色编号 密 码 角色名用户类型 用户名 管理员用户编号 图 4. 4 管理员ER实体图 课程状态 备 注课程名称 课程号 课 程课程编号图 4. 5 课程ER实体图42 数据库逻辑设计数据库逻辑设计就是将ER图转换为关系模型的过程,即将所有实体和关系转换成一系列的关系模式。转换过程中常见规则有:(1)一个实体型转换为一个关系模式;(2)一个一对一的联系可转换成一个独立的关系模式,也可与任意一端对应的关系模式合并;(3)一个一对多的联系可以转换成一个独立的关系模式,也可与多的那一端对应的关系模式合并;(4)一个多对多的关系转换成一个关系模式。根据以上四条规则,下面将ER图转换成关系模型。对于“学生”、“课程”和它们之间的“选课考试”关系就可以规则(4)转换成三个关系模式。学生(主键,学号,姓名,班级)课程(课程号,课程名,课程状态,备注)成绩(学号,课程号,教师编号,分数)依次类推,剩下的关系转换成下面两个关系模式:教师(主键,教师编号,姓名,教师描述)管理员(用户编码,用户名,密码,用户名,角色编码,角色名)43 数据字典数据字典提供查阅对不了解的条目的解释。在数据字典中记录数据元素的下列信息:一般信息(名字,别名,描述等),定义(数据类型,长度,结构等),使用特点(值的范围,使用频率,使用方式输入/输出/本地,条件值等),控制信息(来源,用户,使用它的程序,改变权等),分组信息(父结构,从属结构,物理位置记录、文件和数据库等)。表 4. 1 学生数据字典名字:student别名: 学生描述:在校的学生定义:学生表=学号+年级编号+备注+姓名主键:学号别名:描述:唯一地标识学生表中的一 个学生定义:学号=int(11)位置:学生表 表 4. 2 用户数据字典 名字:tuser别名:用户描述:用户定义:用户表=用户编号+密码+备注+用户名+学生编号+角色编号+教师编号主键:用户编号别名:描述:唯一地标识唯一用户定义:用户编号=int(11)位置:用户表 表 4. 3 教师数据字典名字:teacher别名:教师描述:在校教师定义:教师表=教师编号+姓名+备注主键:教师编号别名:教师描述:唯一地标识教师表中的一个教师定义:教师编号=int(11)位置:教师表表 4. 4 课程数据字典 名字:course别名:课程描述:开设的课程定义:课程表=课程号+课程名+备注+是否开选+学期编号+教师编号主键:课程号别名:课程描述:唯一地标识课程表中开设的科目定义:课程号=int(11)位置:课程表表 4. 5 学生课程数据字典 名字:studentcourse别名:学生课程描述:学生所选课程成绩定义:学生课程表=学生号+课程号+学生成绩+备注主键:学号+课程号别名:课程成绩描述:唯一地标识成绩表中一个学生选修科目的成绩定义:课程号=int(10)位置:学生课程表表 4. 6 角色数据字典 名字:角色别名:角色描述:用户所属角色定义:角色表=角色编号+角色名+角色描述主键:角色编号别名:角色描述:唯一标识用户所属的角色信息定义:角色编号=int(10)位置:角色表表 4. 7 年级数据字典 名字:年级别名:年级描述:所属年级信息定义:年级表=年级编号+年级名称+年级描述主键:年级编号别名:年级描述:唯一标识用户所属的年级信息定义:年级编号=int(10)位置:年级表44 数据库系统物理设计本系统采用MySQL数据库管理系统。在统一的数据库Gradesystem下面建立数据表。首先下图描述的是整体数据库系统的基本逻辑构架。系统数据库中包含以下7个表:tuser,teacher,student,course,class,role,studentcourse等。(学生信息表)student:用于保存学生的学号,姓名,描述备注,学生编号等信息。(用户表)tuser:用于保存用户的用户名,密码备注等信息(成绩信息表)class:用于保存年级的名称,备注,和编号。(教师信息表)teacher:用于保存教师的教师编号,姓名,描述备注等信息。(课程信息表)course:用户保存课程信息,包括课程名,课程号,备注,教师编号,学期编号等信息。(角色信息表)role:角色信息表用于保存角色编号,角色名称,角色描述等信息。(学生课程信息表)studentcourse:学生课程信息表主要保存主键id,课程编号,学生编号,学生成绩。 表 4. 6 用户表:tuser序号名称别名类型长度(字符)1userId用户编号int112Password密码varchar503roleId角色编号int114stuId学生编号int115teacherId教师编号int116userdesc用户类型varchar507username用户名varchar50表 4. 7 教师表:teacher序号名称别名类型长度(字符)1Teacherid教师编号int112Teacherdesc备注varchar5003Teachername教师姓名varchar100 表 4. 8 学生表:student序号名称别名类型长度(字符)1Studentid学生编号int112Studesc备注varcher5003Stuname姓名varcher1004Stuno学号Varchar50表 4. 9 课程表:course序号名称别名类型长度(字符)1Courseid课程编号int112lag课程号int113Coursedesc备注varchar2004Corsename课程名称varchar505Selflag是否可选Int116Semesterid学期编号Int117Teacherid教师标号Int11表 4. 10 学生课程表:studentcourse序号名称别名类型长度(字符)1Id主键int112Courseid课程编号Int113Stuid 学生编号Int114Stuscore 学生成绩Varchar50表 4. 11 角色表:role序号名称别名类型长度(字符)1Roleid角色编号int112Roledesc备注varchar2003Rolename 角色名称varchar100表 4. 12年级表:class序号名称别名类型长度(字符)1Classid年级编号int112Classdesc备注varchar2003Classname年级名称varchar1005 系统的具体实现51 系统的配置文件本系统是由Spring2.5,Hibernate3.2,Struts2.1三个开源框架集成搭建而成,里面,使用该集成框架最核心的东西就是配

    注意事项

    本文(学位论文—基于web的学生课程与成绩管理系统论文.doc)为本站会员(教****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开