JSP课程设计学生成绩管理系统

上传人:无*** 文档编号:87426282 上传时间:2022-05-09 格式:DOC 页数:26 大小:1.02MB
收藏 版权申诉 举报 下载
JSP课程设计学生成绩管理系统_第1页
第1页 / 共26页
JSP课程设计学生成绩管理系统_第2页
第2页 / 共26页
JSP课程设计学生成绩管理系统_第3页
第3页 / 共26页
资源描述:

《JSP课程设计学生成绩管理系统》由会员分享,可在线阅读,更多相关《JSP课程设计学生成绩管理系统(26页珍藏版)》请在装配图网上搜索。

1、word课程设计说明书课程设计名称: Web课程设计 课程设计题目:学生成绩管理系统学 院 名 称: 信息工程学院 专业:计算机科学与技术 班级: 110451 学号: :评分: 教师:20 14 年 6 月 15 日1. 选题的目的和意义1.1 概述本管理系统主要容是学生成绩管理,其中有学生成绩管理,学生根本情况管理等等。在开发过程中,注意使其符合操作的业务流程,并力求系统的全面性、通用性,使得本系统能适用于各类大学院校。在开发方法的选择上,选择了生命周期法与原型法相结合的方法,遵循系统调查研究、系统分析、系统设计和系统实施四个主要阶段进展设计,而在具体的设计上,采取了演化式原型法,随着用户

2、的使用与对系统了解的不断加深,对某一局部或几局部进展重新分析、设计、实施。在开发工具的选择上,我们使用了 JSP与MYSQL关系数据库开发工具, 在短时间建立系统应用原型。然后,对初始原型系统进展需求迭代,不断修正和改良,直到形成一个满意的可行系统。本文以学校管理信息系统建设中的成绩管理子系统的开发为背景,论述了管理信息系统的概念、结构与系统开发的根本原理和方法,全文共分为概述、系统分析、需求分析、详细设计、开发总结、参考文献等。1.2 课程来源、目的与意义学院在教学这一局部主要是由教务处对课程、对学生、对学生成绩进展合理地安排以与统筹计划,以便让教务处以最短的工作时间把学生的成绩核算出来,提

3、高教务处的办事效率。同时,能够随时对学生根本信息、学生成绩进展各种查询,以便与时很好地对需要了解的信息得到相应的反应,能有效的帮助教务处的工作,可使学院教职工减轻工作压力。利用成绩管理系统对学生的成绩进展合理管理,实现学生成绩的录入、编辑、删除等功能,也可以实现成绩的排序、检索等。它将成为教务处教师的一个很好的帮手。本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。本系统能在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,该系统的完成将具有以下几点重要的意义:1系统具有较强的实用性、可靠性和适用性,同时也具有一定的先进性。2对各

4、个数据库能进展动态管理,有效的防止了数据的混乱。3能够按照用户选择的不同的条件进展简单查询和复合查询。4能够对查询结果进展分类汇总,实现报表打印。5并且注意到了数据的安全性,具有数据备份和恢复的功能。6简化了用户的操作过程,尽量减少用户的工作量。2. 系统的开发技术与主要架构合理的选择开发技术,对于开发的完成情况有着非常重要的影响。要开发一个,首先要选择一个动态网页开发技术。当前比拟流行的动态网页开发技术有JSP、ASP、PHP。它们的特性比拟如表2-1所示:表2-1 asp/jsp/php比拟表技术名称ASPJSPPHP对数据库的支持好好好开发难易度容易容易较难使用平台Windows9X/N

5、TWindows/UNIXUNIX安全性不好好不好对组件的支持支持支持不支持执行方式解释执行编译之后执行解释执行跨平台不好好好这三种都是在传统的HTML代码中,利用HTML标签的扩展,构成页面。不难看出,JSP的综合实力是最强的,尤其是在安全性和跨平台性两个方面,比其他的两种技术都要好,因此,最后我们选择基于Java的JSP技术作为动态网页的开发技术。2.2 项目开发的工具2.2.1 MyEclipe简介MyEclipse企业级工作平台MyEclipse Enterprise Workbench ,简称MyEclipse是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开

6、发、发布,以与应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。在结构上,MyEclipse的特征可以被分为7类: 1. JavaEE模型 2. WEB开发工具 3. E开发工具 4. 应用程序服务器的连接器 5. JavaEE项目部署服务 6. 数据库服务 7. MyEclipse整合帮助 对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的

7、这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进展单独的扩展和升级。2.2.2 MySql简介MySQL名字的来历MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司收购。MySQL被广泛地应用在Internet上的中小型中。由于其体积小、速度快、总体拥有本钱低,尤其是开放源码这一特点,许多中小型为了降低总体拥有本钱而选择了MySQL作为数据库。与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限MySQL Cluster的功能和效率都相比照拟差等,但是这丝毫也

8、没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有本钱。2.2.3 PowerDesigner简介PowerDesigner是一个功能强大而使用简单工具集,提供了一个复杂的交互环境,支持开发生命周期的所有阶段,从处理流程建模到对象和组件的生成。PowerDesigner产生的模型和应用可以不断地增长,适应并随着你的组织的变化而变化。PowerDesigner系列产品提供了一个完整的建模解决方案,业务或系统分析人员,设计人员,数据库管理员DBA和开发人员可以对其裁剪以满足他们的特定的需要;而其

9、模块化的结构为购置和扩展提供了极大的灵活性,从而使开发单位可以根据其项目的规模和围来使用他们所需要的工具。PowerDesigner灵活的分析和设计特性允许使用一种结构化的方法有效地创建数据库或数据仓库,而不要求严格遵循一个特定的方法学。PowerDesigner提供了直观的符号表示使数据库的创建更加容易,并使项目组的交流和通讯标准化,同时能更加简单地向非技术人员展示数据库和应用的设计。 PowerDesigner不仅加速了开发的过程,也向最终用户提供了管理和访问项目的信息的一个有效的结构。它允许设计人员不仅创建和管理数据的结构,而且开发和利用数据的结构针对领先的开发工具环境快速地生成应用对象

10、和数据敏感的组件。开发人员可以使用同样的物理数据模型查看数据库的结构和整理文档,以与生成应用对象和在开发过程中使用的组件。应用对象生成有助于在整个开发生命周期提供更多的控制和更高的生产率。 2.2.4 Tomcat简介Tomcat是Apache 软件基金会Apache Software Foundation的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司与个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规总是能在Tomcat 中得到表现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规。因为Tomcat 技术

11、先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了局部软件开发商的认可,成为目前比拟流行的Web 应用服务器。Tomcat 很受广阔程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与服务等开发应用系统常用的功能;而且它还在不断的改良和完善中,任何一个感兴趣的程序员都可以更改它或在其中参加新的功能。 Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 局

12、部是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。2.3 数据库的连接本系统采用JDBC连接方式。JDBCJava Data Base Connectiv

13、ity,java数据库连接是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序。有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL

14、调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行的优势。 Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商与第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接

15、口。 Java 具有巩固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java应用程序与各种不同数据库之间进展对话的方法。而 JDBC 正是作为此种用途的机制。 JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 applet 的网页,而该 applet 使用的信息可能来自远程数据库。企业也可以用 JDBC 通过 Intranet 将所有职员连到一个或多个部数据库中即使这些职员所用的计算机有 Windows、 Macintosh 和UNIX 等各种不同的操作系统。随着越来越多的程序员开始使用Java

16、编程语言,对从 Java 中便捷地访问数据库的要求也在日益增加。 MIS 管理员们都喜欢 Java 和 JDBC 的结合,因为它使信息传播变得容易和经济。企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务, Java 和JDBC 可为外部客户提供获取信息更新的更好方法。3. 需求分析3.1 功能分析经过前期的深入调查和研究,总结出该系统需要完成的一些具体功能,分析如下:管理员管理

17、 能够完成管理员对教师的信息管理教师信息查询、信息修改、增加信息、信息删除、学生管理学生信息查询、选课查询、学生信息修改、学生信息删除、课程管理课程信息查询、课程管理。教师管理 能够完成开设课程、成绩提交的功能。学生管理 能够完成个人信息查询、选择课程、密码修改的功能。如图3-1为该系统的功能结构图。图3-1 功能模块图3.2.1 系统流程只有在教师开设了某一门课程,并且在网上提交成功以后,学生才可以查询到此门课程,并且才可以选定课程,提交成功以后,待考试完毕,教师即可对选择自己开设课程的学生录入成绩,并且提交。如图3-2所示为整个过程的流程图。图3-2 选课系统流程图3.2.2 登录流程登录

18、的时候会根据用户的用户名进展判断是哪种身份的登录,并以不同的身份登录后执行不同的功能,具有不同的权限。如图3-3所示为整个登录过程的流程图。图3-3 登录流程图3.3 系统概念模型描述目前,在概念设计阶段实体联系模型是广泛使用的设计工具。 本系统包括学生、教师、班级三个主要实体。 学生实体型属性有学号、登录密码。 课程实体型属性有课程编号、课程名称、课程学分。 教师实体性属性有教师工号、教师、登录密码。3.3.2 系统E-R图 系统的局部E-R图,只反映局部应用实体型之间的联系,但不能从整体上反映实体型之间的相互关系。另外,对于一个较为复杂的应用而言,各局部是由多个分析人员合作完成的,画出的E

19、-R图只能反映各局部应用。各局部E-R图之间可能存在一些冲突和重复的局部。为减少这些问题,必须根据实体联系在实际应用中的语义,进展综合、调整和优化,因此我们得到了系统的合成优化E-R图,如3-4图所示。图3-4 系统E-R图3.4 数据库设计得出数据表的各个关系模式后,需要给出是各数据表结构。考虑系统的兼容性与编写程序的方便性,可将关系模式的属性对应为表字段的英文名。同时,考虑到数据依赖关系和数据完整性,需要指出表的主码和外码,以与字段的值域约束和数据类型。数据库名:stu_score_ms 1.数据表关系图如图3-5所示,该图包含数据库所有数据表之间的关系 。图3.5 数据表关系图2.cou

20、rse表存储课程信息,如表3-1所示 。表3-1 课程表course字段名数据类型是否为空是否主键默认值描述cidvarcharNOYES课程号IDamevarcharNO课程名clnumintNO课时creditdoubleNO学分capacityintNO课容量3.student表存储学生信息,如表3-2所示。表3-2 学生表student字段名数据类型是否为空是否主键默认值描述idvarcharNOYES学生IDsnamevarcharNOpasswordvarcharNO密码sclassvarcharNO班级smajorvarcharNO专业4.teacher表存储教师信息 ,如表3-

21、3所示。表3-3 教师表teacher字段名数据类型是否为空是否主键默认值描述idvarcharNOYES教师IDtnamevarcharNOpasswordvarcharNO密码5.manager表存储管理员信息,如表3-4所示。表3-4 管理员表manager字段名数据类型是否为空是否主键默认值描述idvarcharNOYES管理员IDmnamevarcharNOpasswordvarcharNO密码6.teachercourse表存储教师授课信息,如表3-5所示。表3-5 开设课程表teachercourse字段名数据类型是否为空是否主键默认值描述tcidintNOYES教师开课号(自动

22、编号)tidvarcharNO教师IDcidvarcharNO课程IDamevarcharNO课程名clnumintNO课时creditdoubleNO学分capacityintNO课容量 7.studentcourse表存储学生所修课程信息,如表3-6所示。表3-6 学生选课表studentcourse字段名数据类型是否为空是否主键默认值描述scidintNOYES学生选课号(自动编号)sidvarcharNO学生IDcidvarcharNO课程IDamevarcharNO课程名clnumintNO课时creditdoubleNO学分capacityintNO课容量tidvarcharNO教

23、师ID 8.score表存储学生成绩信息,如表3-7所示。表3-7 学生成绩表score字段名数据类型是否为空是否主键默认值描述gidintNOYES学生成绩号(自动编号)sidvarcharNO学生IDcidvarcharNO课程IDamevarcharNO课程名creditdoubleNO学分pscoredoubleYES0平时成绩qscoredoubleYES0期末成绩gradedoubleYES0综合成绩jpadoubleYES0学分积点 9.rank表存储学生平均积点,用于学生排名,如表3-8所示。表3-8学生平均积分表rank字段名数据类型是否为空是否主键默认值描述ridintNO

24、YES积点ID(自动编号)sidvarcharNO学生IDaveragepointdoubleNO平均积点4. 系统的设计与实现管理员模块详细表述:首先进入登录界面,登录界面如图4-1所示。图4-1 登录页面管理员登录以后可修改自己的密码,修改密码的界面如图4-2所示。图4-2 管理员修改密码4.1.1 教师信息管理 添加教师的操作界面如图4-3所示。图4-3添加教师信息局部源代码:publicvoid doPost(ServletRequest request, ServletResponse response)throws ServletException, IOException res

25、ponse.setContentType(text/html;charset=utf-8);PrintWriter out = response.getWriter();request.setCharacterEncoding(utf-8); String tid=request.getParameter(tid);Pattern pattern = Pattern pile(0-9*);Matcher isNum = pattern.matcher(tid);if (!isNum.matches()JOptionPane.showMessageDialog(null, 教师工号必须由数字组成

26、!,警告,1);out.print(教师工号输入错误!正在返回,请稍候);response.setHeader(refresh, 1;url=/stu_score_ms/manager/addteacher.jsp);return;/不加return为何会继续执行后面代码? teacher tea= new teacher();if(tea.isValid(tid) JOptionPane.showMessageDialog(null, 该教师工号已经存在!,警告,1); response.setHeader(refresh, 1;url=/stu_score_ms/manager/addte

27、acher.jsp);return; int n = JOptionPane.showConfirmDialog(null, 确认添加?, 确认框, JOptionPane.YES_NO_OPTION); if (n != 0) out.print(取消添加!正在返回,请稍候);response.setHeader(refresh, 1;url=/stu_score_ms/manager/showteacher.jsp);return;/不加return为何会继续执行后面代码? 教师信息 教师信息的显示以与对教师的删除、修改、查看课程的操作如图4-4所示。图4-4显示教师信息局部源代码:/修改

28、publicvoid doPost(ServletRequest request, ServletResponse response)throws ServletException, IOException request.setCharacterEncoding(utf-8);response.setContentType(text/html;charset=utf-8);PrintWriter out= response.getWriter();String tid,tname,password;tid=request.getParameter(t_id);int n = JOptionP

29、ane.showConfirmDialog(null, 确认修改?, 确认框, JOptionPane.YES_NO_OPTION); if (n != 0) out.print(取消修改!正在返回,请稍候);response.setHeader(refresh, 1;url=/stu_score_ms/manager/showteacher.jsp);return;/不加return为何会继续执行后面代码? tname=request.getParameter(tname);password=check.makeMD5(request.getParameter(password);/if(h

30、asExist(request,response,xuehao)=false)teacher tea=new teacher();tea.setId(tid);tea.setName(tname);tea.setPassword(password);tea.updateTeacher();out.print(教师修改成功!正在返回,请稍候);response.setHeader(refresh, 1;url=/stu_score_ms/manager/showteacher.jsp);/删除publicvoid doGet(ServletRequest request, ServletResp

31、onse response)throws ServletException, IOException response.setContentType(text/html;charset=utf-8);PrintWriter out = response.getWriter();request.setCharacterEncoding(utf-8); int n = JOptionPane.showConfirmDialog(null, 确认删除?, 确认框, JOptionPane.YES_NO_OPTION); if (n != 0) out.print(取消删除!正在返回,请稍候);res

32、ponse.setHeader(refresh, 1;url=/stu_score_ms/manager/showteacher.jsp);return;/不加return为何会继续执行后面代码? String tid;tid=request.getParameter(t_id);teacher tea=new teacher();tea.deleteTeacher(tid);out.print(删除教师成功,正在返回);response.setHeader(refresh, 1;url=/stu_score_ms/manager/showteacher.jsp);return;4.1.2 成

33、绩排名1. 按课程查询 按课程查询学生成绩排名的界面如图4-5所示。图4-5按课程查询学生排名局部源代码:/用sql语句直接对数据排序操作String sql=select student.id,student.sname,student.smajor,scoreame,score.grade,score.jpa from score,student where score.cid=+cid+ and score.sid=student.id group by jpa DESC;2. 按专业查询 按专业查询学生成绩排名的界面如图4-6所示。图4.6按专业查询学生排名局部源代码:/用sql语句直

34、接对数据排序操作String sql=select student.id,student.sname,student.sclass,rank.averagepoint from student,rank where student.smajor=+smajor+ and rank.sid=student.id group by averagepoint DESC;总结在本次课程设计中,我主要负责学生成绩管理系统中管理员模块的局部设计。在设计过程中碰到了好多问题,但最终在同学和教师的帮助下都得到了解决,在设计实现这局部代码时,我学会了好多在课本上学不到的东西,通过本次课程设计我也能将课本上的知识

35、融会贯穿,提到很好的辅助学习效果。眼高手低是同学们的通病,有些事情看起来很简单很容易,但做起来并不是如此。在做本次web课程设计之前,我已经将课本上的东西熟练掌握,本以为做一个很简单的课程设计应该很容易,然而真正操作实现起来却遇到了很多的麻烦。在开始做课程设计时对组长分配的模块把握不够好,以至于浪费了好多时间而没能按想象中的顺利完成。其次,在编写模块的程序代码时,真正感觉到了难度相当大,每次编写出来的代码都需要经过好几次修改才能顺利运行,而且在编写代码时常常会遇到一些很难解决的问题。但是我总相信一句话“只要坚持,一千次失败过后,被会有一次闪亮的成功,凡事不能一蹴而就,对待学问、对待科研更是如此

36、,在做完这次课程设计之后,我也体会到了一种成功的喜悦。同时这次课程设计也让我查到了许多在数据库学习中的漏洞,我也通过这次的实践机会完善了自己的知识,起到了很好的查缺补漏的效果。参考文献1 苗连强,王国辉等编著JSP程序设计根底教程人民邮电2 王珊,萨师煊编著数据库系统概论高等教育3 振捷,王军编著JSP开发典型模块与实例精电子工业4 涌现代软件工程希望电子,20035 萨师煊,王珊数据库系统概论高等教育,20026 雄,宋来等编著Java 2从入门到精通电子工业7 黎伟JSP从入门到精通科学普与,20078 朱印宏. Dreamweaver完美网页设国防工业,20069 丽、飞,网页设计与制作飞思科技.2005 10 卫琴,洪成Tomcat与JSPWeb开发技术详解电子工业,200311 BruceEckelJSP编程思想机械工业,200312 FLANAGANJSP技术手册中国电力,200226 / 26

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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