JSP课程设计学生成绩管理系统_第1页
JSP课程设计学生成绩管理系统_第2页
JSP课程设计学生成绩管理系统_第3页
JSP课程设计学生成绩管理系统_第4页
JSP课程设计学生成绩管理系统_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

课程设计说明书 课程设计名称: Web课程设计 课程设计题目: 学生成绩管理系统 学 院 名 称: 信息工程学院 专业:计算机科学与技术 班级: 学号: 姓名: 评分: 教师: 20 14 年 6 月 15 日1. 选题的目的和意义1.1 概述本管理系统主要内容是学生成绩管理,其中有学生成绩管理,学生基本情况管理等等。在开发过程中,注意使其符合操作的业务流程,并力求系统的全面性、通用性,使得本系统能适用于各类大学院校。在开发方法的选择上,选择了生命周期法与原型法相结合的方法,遵循系统调查研究、系统分析、系统设计和系统实施四个主要阶段进行设计,而在具体的设计上,采取了演化式原型法,随着用户的使用及对系统了解的不断加深,对某一部分或几部分进行重新分析、设计、实施。在开发工具的选择上,我们使用了 JSP及MYSQL关系数据库开发工具, 在短时间内建立系统应用原型。然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成一个满意的可行系统。本文以学校管理信息系统建设中的成绩管理子系统的开发为背景,论述了管理信息系统的概念、结构及系统开发的基本原理和方法,全文共分为概述、系统分析、需求分析、详细设计、开发总结、参考文献等。1.2 课程来源、目的与意义学院在教学这一部分主要是由教务处对课程、对学生、对学生成绩进行合理地安排以及统筹计划,以便让教务处以最短的工作时间内把学生的成绩核算出来,提高教务处的办事效率。同时,能够随时对学生基本信息、学生成绩进行各种查询,以便及时很好地对需要了解的信息得到相应的反馈,能有效的帮助教务处的工作,可使学院教职工减轻工作压力。利用成绩管理系统对学生的成绩进行合理管理,实现学生成绩的录入、编辑、删除等功能,也可以实现成绩的排序、检索等。它将成为教务处老师的一个很好的帮手。本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。本系统能在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,该系统的完成将具有以下几点重要的意义:(1)系统具有较强的实用性、可靠性和适用性,同时也具有一定的先进性。(2)对各个数据库能进行动态管理,有效的防止了数据的混乱。(3)能够按照用户选择的不同的条件进行简单查询和复合查询。(4)能够对查询结果进行分类汇总,实现报表打印。(5)并且注意到了数据的安全性,具有数据备份和恢复的功能。(6)简化了用户的操作过程,尽量减少用户的工作量。2. 系统的开发技术及主要架构2.1开发技术的选择合理的选择开发技术,对于网站开发的完成情况有着非常重要的影响。要开发一个网站,首先要选择一个动态网页开发技术。当前比较流行的动态网页开发技术有JSP、ASP、PHP。它们的特性比较如表2-1所示:表2-1 asp/jsp/php比较表技术名称ASPJSPPHP对数据库的支持好好好开发难易度容易容易较难使用平台Windows9X/NTWindows/UNIXUNIX安全性不好好不好对组件的支持支持支持不支持执行方式解释执行编译之后执行解释执行跨平台不好好好这三种都是在传统的HTML代码中,利用HTML标签的扩展,构成页面。不难看出,JSP的综合实力是最强的,尤其是在安全性和跨平台性两个方面,比其他的两种技术都要好,因此,最后我们选择基于Java的JSP技术作为动态网页的开发技术。2.2 项目开发的工具本系统采用MyEclipse8.6+MySQL5.1.53+tomcat6.0.30开发2.2.1 MyEclipe简介MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。在结构上,MyEclipse的特征可以被分为7类: 1. JavaEE模型 2. WEB开发工具 3. EJB开发工具 4. 应用程序服务器的连接器 5. JavaEE项目部署服务 6. 数据库服务 7. MyEclipse整合帮助 对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。2.2.2 MySql简介MySQL名字的来历MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司收购。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。2.2.3 PowerDesigner简介PowerDesigner是一个功能强大而使用简单工具集,提供了一个复杂的交互环境,支持开发生命周期的所有阶段,从处理流程建模到对象和组件的生成。PowerDesigner产生的模型和应用可以不断地增长,适应并随着你的组织的变化而变化。PowerDesigner系列产品提供了一个完整的建模解决方案,业务或系统分析人员,设计人员,数据库管理员DBA和开发人员可以对其裁剪以满足他们的特定的需要;而其模块化的结构为购买和扩展提供了极大的灵活性,从而使开发单位可以根据其项目的规模和范围来使用他们所需要的工具。PowerDesigner灵活的分析和设计特性允许使用一种结构化的方法有效地创建数据库或数据仓库,而不要求严格遵循一个特定的方法学。PowerDesigner提供了直观的符号表示使数据库的创建更加容易,并使项目组内的交流和通讯标准化,同时能更加简单地向非技术人员展示数据库和应用的设计。 PowerDesigner不仅加速了开发的过程,也向最终用户提供了管理和访问项目的信息的一个有效的结构。它允许设计人员不仅创建和管理数据的结构,而且开发和利用数据的结构针对领先的开发工具环境快速地生成应用对象和数据敏感的组件。开发人员可以使用同样的物理数据模型查看数据库的结构和整理文档,以及生成应用对象和在开发过程中使用的组件。应用对象生成有助于在整个开发生命周期提供更多的控制和更高的生产率。 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 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。 Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。2.3 数据库的连接本系统采用JDBC连接方式。JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序。有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。 Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。 Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制。 JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 applet 的网页,而该 applet 使用的信息可能来自远程数据库。企业也可以用 JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有 Windows、 Macintosh 和UNIX 等各种不同的操作系统)。随着越来越多的程序员开始使用Java 编程语言,对从 Java 中便捷地访问数据库的要求也在日益增加。 MIS 管理员们都喜欢 Java 和 JDBC 的结合,因为它使信息传播变得容易和经济。企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务, Java 和JDBC 可为外部客户提供获取信息更新的更好方法。3. 需求分析3.1 功能分析经过前期的深入调查和研究,总结出该系统需要完成的一些具体功能,分析如下:管理员管理 能够完成管理员对教师的信息管理(教师信息查询、信息修改、增加信息、信息删除)、学生管理(学生信息查询、选课查询、学生信息修改、学生信息删除)、课程管理(课程信息查询、课程管理)。教师管理 能够完成开设课程、成绩提交的功能。学生管理 能够完成个人信息查询、选择课程、密码修改的功能。如图3-1为该系统的功能结构图。图3-1 功能模块图3.2流程分析3.2.1 系统流程只有在教师开设了某一门课程,并且在网上提交成功以后,学生才可以查询到此门课程,并且才可以选定课程,提交成功以后,待考试结束,教师即可对选择自己开设课程的学生录入成绩,并且提交。如图3-2所示为整个过程的流程图。图3-2 选课系统流程图3.2.2 登录流程登录的时候会根据用户的用户名进行判断是哪种身份的登录,并以不同的身份登录后执行不同的功能,具有不同的权限。如图3-3所示为整个登录过程的流程图。图3-3 登录流程图3.3 系统概念模型描述目前,在概念设计阶段实体联系模型是广泛使用的设计工具。3.3.1构成系统的实体型 本系统包括学生、教师、班级三个主要实体。 学生实体型属性有学号、姓名、登录密码。 课程实体型属性有课程编号、课程名称、课程学分。 教师实体性属性有教师工号、教师姓名、登录密码。3.3.2 系统E-R图 系统的局部E-R图,只反映局部应用实体型之间的联系,但不能从整体上反映实体型之间的相互关系。另外,对于一个较为复杂的应用而言,各部分是由多个分析人员合作完成的,画出的E-R图只能反映各局部应用。各局部E-R图之间可能存在一些冲突和重复的部分。为减少这些问题,必须根据实体联系在实际应用中的语义,进行综合、调整和优化,因此我们得到了系统的合成优化E-R图,如3-4图所示。图3-4 系统E-R图3.4 数据库设计得出数据表的各个关系模式后,需要给出是各数据表结构。考虑系统的兼容性及编写程序的方便性,可将关系模式的属性对应为表字段的英文名。同时,考虑到数据依赖关系和数据完整性,需要指出表的主码和外码,以及字段的值域约束和数据类型。数据库名:stu_score_ms 1.数据表关系图如图3-5所示,该图包含数据库所有数据表之间的关系 。图3.5 数据表关系图2.course表存储课程信息,如表3-1所示 。表3-1 课程表course字段名数据类型是否为空是否主键默认值描述cidvarcharNOYES课程号IDcnamevarcharNO课程名clnumintNO课时creditdoubleNO学分capacityintNO课容量3.student表存储学生信息,如表3-2所示。表3-2 学生表student字段名数据类型是否为空是否主键默认值描述idvarcharNOYES学生IDsnamevarcharNO姓名passwordvarcharNO密码sclassvarcharNO班级smajorvarcharNO专业4.teacher表存储教师信息 ,如表3-3所示。表3-3 教师表teacher字段名数据类型是否为空是否主键默认值描述idvarcharNOYES教师IDtnamevarcharNO姓名passwordvarcharNO密码5.manager表存储管理员信息,如表3-4所示。表3-4 管理员表manager字段名数据类型是否为空是否主键默认值描述idvarcharNOYES管理员IDmnamevarcharNO姓名passwordvarcharNO密码6.teachercourse表存储教师授课信息,如表3-5所示。表3-5 开设课程表teachercourse字段名数据类型是否为空是否主键默认值描述tcidintNOYES教师开课号(自动编号)tidvarcharNO教师IDcidvarcharNO课程IDcnamevarcharNO课程名clnumintNO课时creditdoubleNO学分capacityintNO课容量 7.studentcourse表存储学生所修课程信息,如表3-6所示。表3-6 学生选课表studentcourse字段名数据类型是否为空是否主键默认值描述scidintNOYES学生选课号(自动编号)sidvarcharNO学生IDcidvarcharNO课程IDcnamevarcharNO课程名clnumintNO课时creditdoubleNO学分capacityintNO课容量tidvarcharNO教师ID 8.score表存储学生成绩信息,如表3-7所示。表3-7 学生成绩表score字段名数据类型是否为空是否主键默认值描述gidintNOYES学生成绩号(自动编号)sidvarcharNO学生IDcidvarcharNO课程IDcnamevarcharNO课程名creditdoubleNO学分pscoredoubleYES0平时成绩qscoredoubleYES0期末成绩gradedoubleYES0综合成绩jpadoubleYES0学分积点 9.rank表存储学生平均积点,用于学生排名,如表3-8所示。表3-8 学生平均积分表rank字段名数据类型是否为空是否主键默认值描述ridintNOYES积点ID(自动编号)sidvarcharNO学生IDaveragepointdoubleNO平均积点4. 系统的设计与实现4.1管理员模块功能管理员模块详细表述:首先进入登录界面,登录界面如图4-1所示。图4-1 登录页面管理员登录以后可修改自己的密码,修改密码的界面如图4-2所示。图4-2 管理员修改密码4.1.1 教师信息管理1.添加教师信息 添加教师的操作界面如图4-3所示。图4-3 添加教师信息部分源代码:public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException response.setContentType(text/html;charset=utf-8);PrintWriter out = response.getWriter();request.setCharacterEncoding(utf-8); String tid=request.getParameter(tid);Pattern pattern = Ppile(0-9*);Matcher isNum = pattern.matcher(tid);if (!isNum.matches()JOptionPane.showMessageDialog(null, 教师工号必须由数字组成!,警告,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/addteacher.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为何会继续执行后面代码? 2.显示教师信息 教师信息的显示以及对教师的删除、修改、查看课程的操作如图4-4所示。图4-4 显示教师信息部分源代码:/修改public void doPost(HttpServletRequest request, HttpServletResponse 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);/-接收于updateteacher.jspint 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为何会继续执行后面代码? tname=request.getParameter(tname);password=check.makeMD5(request.getParameter(password);/if(hasExist(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);/删除public void doGet(HttpServletRequest request, HttpServletResponse 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(取消删除!正在返回,请稍候);response.setHeader(refresh, 1;url=/stu_score_ms/manager/showteacher.jsp);return;/不加return为何会继续执行后面代码? String tid;tid=request.getParameter(t_id);/-接收于showtecher.jspteacher tea=new teacher();tea.deleteTeacher(tid);out.print(删除教师成功,正在返回);response.setHeader(refresh, 1;url=/stu_score_ms/manager/showteacher.jsp);return;4.1.2 成绩排名1. 按课程查询 按课程查询学生成绩排名的界面如图4-5所示。图4-5 按课程查询学生排名部分源代码:/用sql语句直接对数据排序操作String sql=select student.id,student.sname,student.smajor,ame,score.grade,score.jpa from score,student where score.cid=+cid+ and score.sid=student.id group by jpa DES

温馨提示

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

最新文档

评论

0/150

提交评论