java学生成绩排名系统.doc

上传人:时光煮雨 文档编号:14869980 上传时间:2022-02-22 格式:DOC 页数:22 大小:244KB
返回 下载 相关 举报
java学生成绩排名系统.doc_第1页
第1页 / 共22页
java学生成绩排名系统.doc_第2页
第2页 / 共22页
java学生成绩排名系统.doc_第3页
第3页 / 共22页
java学生成绩排名系统.doc_第4页
第4页 / 共22页
java学生成绩排名系统.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《java学生成绩排名系统.doc》由会员分享,可在线阅读,更多相关《java学生成绩排名系统.doc(22页珍藏版)》请在三一文库上搜索。

1、软 件 学 院课程设计报告书课程名称 Java EE与中间件 设计题目 学生成绩排名系统 专业班级 学 号 姓 名 指导教师 2013年 1月目 录1 设计时间12 设计目的13 设计任务14 设计内容14.1需求分析14.1.1总体目标24.1.2具体目标24.1.3系统数据建模(ER图)24.2.4系统功能建模(数据流程图)34.2.5数据字典34.2总体设计64.2.1系统层次图64.2.2数据库设计64.3详细设计74.4运行与测试175总结与展望19参考文献20成绩评定201 设计时间2013年1月21日-2013年1月26日2 设计目的JavaEE课程设计是对所学JavaEE与中间

2、件课程的小结,是提高学生对所学知识综合应用能力的一种方式,是集中实践性环节之一。要求同学们对课程中所学习到的知识综合运用,开发有一定规模的Java Web程序。3 设计任务学生成绩排名系统:(1)功能描述:用户以合法身份登录系统后,才能进行所有操作;登录系统时,有两种权限:管理员权限和学生用户权限。管理员用户可以查看所有学生的成绩信息(假设只有一门课程),以及对所有学生的成绩进行排名;学生用户可以添加、查看和删除自己的成绩信息。(2)添加学生成绩:学生添加成绩信息(包括学号、姓名、成绩);(3)查看学生成绩:管理员可以查看所有学生的成绩,学生用户只能查看自己的成绩;(4)删除成绩:学生可以删除

3、自己的成绩;(5)对成绩排名:管理员对所有学生成绩进行排名。4 设计内容4.1需求分析成绩排名成为学校教学管理中十分复杂的管理工作之一,单纯的采用传统的手工处理已经不符合教育和管理的要求,而计算机具有运算速度快,处理能力强等特点,很自然地进入到这一应用领域中。因此为了保证学校的信息流畅,工作高效,有必要设计一个学生成绩排名系统。这不但能使教务人员从复杂的成绩管理中解脱出来,而且对于推动教学的发展也起到了非常重要的作用。随着学校规模的不断扩大,专业,班级,学生的数量急剧增加,有关学生成绩的各种信息量也成倍增长,而目前许多高校的学生成绩排名仍停留在复杂的人工操作上,重复工作较多,工作量大,效率低,

4、因此,迫切需要开发基于互联网的个人成绩排名系统。此次课程设计为设计一个就是设计一个这样的学生个人成绩排名系统,该系统要求用户以合法身份登录后才能进行所有操作。用户以合法身份登录系统后,才能进行所有操作;登录系统时,有两种权限:管理员权限和学生用户权限。管理员用户可以查看所有学生的成绩信息(假设只有一门课程),以及对所有学生的成绩进行排名;学生用户可以添加、查看和删除自己的成绩信息。4.1.1总体目标设计一个学生成绩排名系统,该系统要求用户以合法身份登录后才能进行所有操作。用户以合法身份登录系统后,才能进行所有操作;登录系统时,有两种权限:管理员权限和学生用户权限。管理员用户可以查看所有学生的成

5、绩信息(假设只有一门课程),以及对所有学生的成绩进行排名;学生用户可以添加、查看和删除自己的成绩信息。4.1.2具体目标实现以下功能:(1)添加学生成绩:学生添加成绩信息(包括学号、姓名、成绩);(2)查看学生成绩:管理员可以查看所有学生的成绩,学生用户只能查看自己的成绩;(3)删除成绩:学生可以删除自己的成绩;(4)对成绩排名:管理员对所有学生成绩进行排名。4.1.3系统数据建模(ER图)E-R方法是“实体-联系方法”(Entity-Relationship Approach)的简称。它是描述现实世界概念结构模型的有效方法。E-R图提供了表示实体类型、属性和联系的方法,是用来描述现实世界的概

6、念模型。学生屋成绩信息屋操作密码管理员学号密码id成绩姓名学号操作姓名姓名图1 系统ER图4.2.4系统功能建模(数据流程图)数据流图简称DFD,它用来描述目标系统的逻辑结构,它是由实体部分,处理部分,数据存储部分和数据流四部分组成,为了使数据流图所描述逻辑结构更加清晰,容易阅读,对数据流图作如下说明:密码成绩 管 理员 成绩信息Id学号姓名P学生成绩排名系统 学生操作信息学 号密码操作信息图2 学生成绩排名系统数据流图4.2.5数据字典(一)数据流的描述数据流名称:学号简述:学生的学号数据流来源:数据库数据流去向:jsp页面数据项组成:查询的学生学号数据流名称:姓名简述:学生或管理员的姓名数

7、据流来源:数据库数据流去向:jsp页面数据项组成:显示的学生或管理员姓名数据流名称:id简述:管理员的id数据流来源:数据库数据流去向:jsp页面数据项组成:管理员id数据流名称:成绩简述:学生姓名和成绩数据流来源:数据库数据流去向:查询页面数据项组成:学号+成绩数据流名称:密码简述:学生或管理员的登录密码数据流来源:数据库数据流去向:jsp页面数据项组成:数字数据流名称:操作信息简述:管理员或学生用户的操作数据流来源:jsp页面数据流去向:数据库数据项组成:增、删、查(二)处理逻辑的描述处理逻辑名称:添加学生成绩 简述:学生登入后对学号、姓名、成绩的添加输入的数据流:学生学号、姓名、成绩处理

8、描述:学生录入的成绩信息经过系统处理存储到数据库中输出数据流:学号、成绩信息处理逻辑名称:删除学生成绩简述:学生登入后对自己成绩的删除输入的数据流:学生用户名和密码处理描述:学生删除的信息经过系统处理后移除数据库输出数据流:学生新成绩处理逻辑名称:查看学生成绩 简述:学生登入后对学号、姓名、成绩、课程名称的查看输入的数据流:用户信息处理描述:通过查看处理显示学生成绩输出数据流:学生成绩处理逻辑名称:成绩排名信息简述:管理员对学生成绩进行排名输入的数据流:学生的成绩处理描述:系统对学生成绩进行排名输出数据流:排名后的学生成绩(三)外部实体描述外部实体名称:学生简述:确定学生权限进行特定操作输出数

9、据流:学生信息外部实体名称:管理员简述:确定管理员权限进行特定操作输出数据流:学生成绩信息外部实体名称:成绩信息简述:通过系统操作显现成绩信息输出数据流:用户对数据操作后数据的最终情况4.2总体设计4.2.1系统层次图 系统层次图如下:学生成绩排名系统登录界面管理员登录添加成绩学生登录查看个人成绩查看所有成绩对成绩排名删除个人成绩图3 系统层次图4.2.2数据库设计表1 stu表 列名 数据类型 长度 允许空 文字描述 sno varchar 50 Y 学号 kind varchar 50 Y 类型name varchar 50 Y 姓名Password varchar 10 Y 密码表2 c

10、ourse表 列名 数据类型 长度 允许空 文字描述 sno varchar 50 Y 学生学号cname varchar 50 课程名称grade float 10 Y 学生成绩4.3详细设计主要代码如下:1与数据库的连接package util;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class DBConnection public static Connection getConnection()final String driver=com

11、.microsoft.jdbc.sqlserver.SQLServerDriver;final String url=jdbc:microsoft:sqlserver:/localhost:1433;databasename=mydb;Connection con=null;tryClass.forName(driver);catch(ClassNotFoundException e)/e.printStackTrace();System.out.println(驱动加载失败!);trycon=DriverManager.getConnection(url,sa,sa);con.setAuto

12、Commit(false);catch(SQLException e)e.printStackTrace();return con;public static void main(String args) / TODO Auto-generated method stubSystem.out.print(DBConnection.getConnection();2 用户登录页面的实现: base href= My JSP Login.jsp starting page !- s:radio list=#1:普通用户,2:管理员 name=radio1 listValue=value listK

13、ey=key 3 StudentDAO:(部分)public class StudentDAO public Student getStudent(Student student)Connection con=DBConnection.getConnection();Student s=null;tryPreparedStatement ps=con.prepareStatement(select * from stu where sno=? and kind=?);ps.setString(1, student.getSno();ps.setString(2, student.getKind

14、();ResultSet rs=ps.executeQuery();if(rs.next()s=new Student();s.setSno(rs.getString(sno);s.setKind(rs.getString(kind);s.setName(rs.getString(name);s.setPassword(rs.getString(password);mit();con.close();catch(SQLException e)e.printStackTrace();return s;public List getGrades(Student student)Connection

15、 con=DBConnection.getConnection();List list=new ArrayList();tryPreparedStatement ps=con.prepareStatement(select * from course where sno=?);ps.setString(1, student.getSno();ResultSet rs=ps.executeQuery();while(rs.next()Course course=new Course();course.setCname(rs.getString(cname);course.setGrade(rs.

16、getFloat(grade);list.add(course);mit();con.close();catch(SQLException e)e.printStackTrace();return list;public void getAddGrades(Student student,Course course)Connection con=DBConnection.getConnection();tryPreparedStatement ps=con.prepareStatement(insert into course values(?,?,?);ps.setString(1, stu

17、dent.getSno();ps.setString(2, course.getCname();ps.setFloat(3, course.getGrade();ps.executeUpdate();mit();con.close();catch(SQLException e)e.printStackTrace();public void getDeleteGrades(Student student,Course course)Connection con=DBConnection.getConnection();tryPreparedStatement ps=con.prepareStat

18、ement(delete from course where sno=? and cname=?);ps.setString(1, student.getSno();ps.setString(2, course.getCname();ps.executeUpdate();mit();con.close();catch(SQLException e)e.printStackTrace();4 StudentAction:(部分)public class StudentAction extends ActionSupport private int radio1;private String sn

19、o;private String password;private String kind;private String addname;private float addgrade;private String deletename;private String updatename;private float updategrade;private static Student student = new Student();public String getSno() return sno;public void setSno(String sno) this.sno = sno;pub

20、lic String getPassword() return password;public void setPassword(String password) this.password = password;public String getAddname() return addname;public void setAddname(String addname) this.addname = addname;public float getAddgrade() return addgrade;public void setAddgrade(float addgrade) this.a

21、ddgrade = addgrade;public String getDeletename() return deletename;public void setDeletename(String deletename) this.deletename = deletename;public String getUpdatename() return updatename;public void setUpdatename(String updatename) this.updatename = updatename;public float getUpdategrade() return

22、updategrade;public void setUpdategrade(float updategrade) this.updategrade = updategrade;public int getRadio1() return radio1;public void setRadio1(int radio1) this.radio1 = radio1;public String getKind() return kind;public void setKind(String kind) this.kind = kind;public String login() student.set

23、Sno(sno);student.setPassword(password);StudentService studentService = new StudentService();if (radio1 = 1)student.setKind(普通用户);elsestudent.setKind(管理员);if (studentService.checkUser(student) = true) if (student.getKind().equals(普通用户)return success1;elsereturn success2; elsereturn failure;public Str

24、ing showAllGrades() StudentService studentService = new StudentService();List list = studentService.getGrades(student);ActionContext act = ActionContext.getContext();Map request = (Map) act.get(request);request.put(students, list);return showgrades;public String addCourse() Course course = new Cours

25、e();course.setCname(addname);course.setGrade(addgrade);StudentService studentService = new StudentService();studentService.getAddGrades(student, course);List list = studentService.getGrades(student);ActionContext act = ActionContext.getContext();Map request = (Map) act.get(request);request.put(addco

26、urse, list);return addcourse;5 Struts配置文件:/index.jsp/index1.jsp/login.jsp/showAllGrades.jsp/showAndAdd.jsp/showAndDelete.jsp/showAndUpdata.jsp/showaverage.jsp/add.jsp/delete.jsp/update.jsp/showall.jsp/rankall.jsp4.4运行与测试运行截图如下:截图1 登录界面截图2 学生登录后界面截图3 管理员登录后界面截图4 学生查看成绩截图5 学生添加成绩截图6 学生删除成绩截图7 管理员查看全部成

27、绩 截图8 管理员对成绩排名截图9 stu表截图10 course表5总结与展望通过这次比较完整的系统设计,我摆脱了单纯理论知识的学习状态,和实际的结合锻炼了我的综合运用能力,通过对整体的设计,对局部的取舍,以至对细节的斟酌处理,都使我的能力得到了提高,经验得到了丰富,并且意志品质力、抗压能力以及耐力也都得到了不同程度的提升,虽然课程设计内容繁多,过程繁琐,但我的收获却更加丰富。各种系统的适用条件,各种系统的设计方式,我都是随着课程设计的不断深入而不断熟悉并学会运用的。和老师的沟通交流更使我从程序设计的角度对设计有了新的认识,也对自己提出了新的要求。经过一周的艰辛努力最终换来了丰硕的成果,虽然有些不完善的地方,但毕竟是我花费大量的时间设计出来的,也感到有一丝的欣慰。可以肯定地说现在的我对系统设计这一块也有了一定的了解,但我们深知我们所了解的不过仅仅是皮毛而已,离真正的运用自如还相距甚远。所以从课程设计所暴露出的问题入手,不断努力完善自己,哪里欠缺,哪里补足。参考文献1 屈辉立,陈可明,石武信. JSP网站编程教程M.第1版, 北京:北京希望电子出版社,2005年2 张海藩.软件工程导轮.北京:清华大学出版社,2004年3 郑人杰,马素霞,麻志毅. 软件工程.人民邮电出版社 2009年成绩评定成绩 教师签字20

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1