您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 用java写的一个简单的学生成绩管理系统(含代码)
用java写的一个简单的学生成绩管理系统一.简洁的需求描述学生成绩管理系统(以下简称系统)为教师和学生的信息交流提供了一个统一的平台,方便了教师对成绩的管理,学生对于成绩的查询等1.教师可以通过系统查询所授课程的信息以及课程所对应的学生的信息;教师通过系统管理学生分数信息,包括查询,输入,修改学生成绩。2.学生用户仅仅拥有查询功能,查询的信息包括所选修课程信息和分数信息。系统用例图:用例图解释系统功能大致上分为分数管理,课程管理,个人信息查询,分数查询四大块。其中教师用户使用分数管理和课程管理功能,学生用户使用个人信息查询和分数查询功能。细分来,分数管理指的是分数的录入,更新,查询;课程管理包括所授课程查询,课程信息录入,修改等;个人信息查询针对学生而言,包括姓名,学号,班级等;分数查询则指的是某一学期所有课程的分数信息的查询。二.简单的设计说明2.1系统类图2009-04-1218:38三。简单的数据库设计ER图:数据库详细设计说明:1).数据库说明数据库取名为score_manage_system其中有五个表,分别为:TEACHER(TNO,TNAME,SEX,TITLE,PASSWORD)..............教师信息表STUDENT(SNO,SNAME,SEX,CLASS,PASSWORD).................学生信息表COURSE(CNO,CNAME,CXUEFEN,HOUR)..............................课程信息表TEACH(TNO,CNO)............................................................................教师授课信息表STUDY(SNO,CNO,SCORE)...........................................................学生选课信息表2009-04-1218:412).字段说明3)TEACHER字段类型主码外码说明TNOCHAR(20)√√教师代码TNAMECHAR(10)教师姓名SEXCHAR(1)教师性别TITLECHAR(10)职称PASSWORDCHAR(20)登录密码STUDENT字段类型主码外码说明SNOCHAR(20)√√学号SNAMECHAR(10)学生姓名SEXCHAR(2)性别CLASSCHAR(5)班级PASSWORDCHAR(20)登录密码DEPARTMENTCHAR(20)学生所属院系SCHOOLCHAR(20)学生所属学校COURSE字段类型主码外码说明CNOCHAR(20)√√课程代码CNAMECHAR(10)课程名称XUEFENint学分,取值大于0小于10HOURint学时,大于等于0YEARCHAR(5)学年TERMCHAR(1)学分TEACH字段类型主码外码说明TNOCHAR(20)√教师代码CNOCHAR(20)√课程代码STUDY字段类型主码外码说明SNOCHAR(20)√学号CNOCHAR(20)√课程代码SCOREDOUBLE分数,0--1003).建表语句TEACHER建表语句:createtableTEACHER(TNOchar(20)notnull,TNAMEchar(10)notnull,SEXchar(1)notnull,TITLEchar(10)notnull,PASSWORDchar(20)notnull,primarykey(TNO),check(SEXin('男','女')));STUDENT建表语句:createtableSTUDENT(SNOchar(20)notnull,SNAMEchar(10)notnull,SEXchar(2)notnull,CLASSchar(5)notnull,PASSWORDchar(20)notnull,DEPARTMENTchar(20)notnull,SCHOOLchar(20)notnull,primarykey(SNO),check(SEXin('男','女')));COURSE建表语句:createtableCOURSE(CNOchar(20)notnull,CNAMEchar(10)notnull,XUEFENintnotnull,HOURintnotnull,YEARchar(5)notnull,TERMchar(1)notnull,primarykey(CNO),check(XUEFEN0andXUEFEN10andHOUR=0));TEACH建表语句:createtableTEACH(TNOchar(20)notnull,CNOchar(20)notnull,primarykey(TNO,CNO)foreignkey(TNO,CNO)REFERENCESTEACHERCOURSE,foreignkey(CNO)REFERENCESCOURSE);altertableTEACHaddconstraintFK_TEACH_REFERENCE_TEACHERforeignkey(TNO)referencesTEACHER(TNO)onupdaterestrictondeleterestrict;altertableTEACHaddconstraintFK_TEACH_REFERENCE_COURSEforeignkey(CNO)referencesCOURSE(CNO)onupdaterestrictondeleterestrict;2009-04-1218:41STUDY建表语句:createtableSTUDY(SNOchar(20)notnull,CNOchar(20)notnull,SCOREdouble,primarykey(SNO,CNO),check(SCORE=0andSCORE=100));altertableSTUDYaddconstraintFK_STUDY_REFERENCE_COURSEforeignkey(CNO)referencesCOURSE(CNO)onupdaterestrictondeleterestrict;altertableSTUDYaddconstraintFK_STUDY_REFERENCE_STUDENTforeignkey(SNO)referencesSTUDENT(SNO)onupdaterestrictondeleterestrict;2009-04-1218:42四。系统实现代码1.com.system.dbconnection包/**@authorougaoyan,date:2008-9-26*/packagecom.system.dbconnection;importjava.io.UnsupportedEncodingException;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;publicclassDBConn{protectedstaticStringdriverName=com.mysql.jdbc.Driver;//连接数据库的驱动名protectedstaticStringdbName=jdbc:mysql://localhost/score_manage_system;//数据库映射路径protectedstaticStringdbUser=root;//数据库的登录名protectedstaticStringdbPwd=123456;//数据库的登录密码privatestaticConnectionconn=null;//申明一个数据库连接publicDBConn(){//装载时建立数据库链接try{if(conn==null){Class.forName(driverName).newInstance();//System.out.println(SuccessloadingMysqlDriver!);conn=DriverManager.getConnection(dbName,dbUser,dbPwd);}elsereturn;}catch(Exceptione){e.printStackTrace();}}publicstaticResultSetexecuteQuery(Stringsql){//静态方法executeQuery,执行查询操作,返回结果集ResultSettry{if(conn==null){newDBConn();Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);ResultSetrs=stmt.executeQuery(sql);returnrs;}}catch(SQLExceptione){e.printStackTrace();returnnull;}finally{}returnnull;}publicstaticbooleanexecuteUpdate(Stringsql){//静态方法executeUpdate,执行更新操作,返回结果集布尔值,true表示更新成功,否则更新失败try{if(conn==null){newDBConn();Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);stmt.executeUpdate(sql);returntrue;}}catch(SQLExceptione){e.printStackTrace();returnfalse;}finally{}returnfalse;}publicstaticStringgetNewString(Stringstring){//为解决数据库显示中文问题而写的方法try{return(newString(string.getBytes(ISO-8859-1),gb2312));}catch(UnsupportedEncodingExceptione){//TODO自动生成catch块e.printStackTrace();}returnnull;}publicstaticbooleanstudentChangePassword(Stringid,Stringpassword){//学生修改密码的方法具体的逻辑判断推至上层处理Stringsql=updateSTUDENTsetPASSWORD='+password+'whereSNO='+id+';;returnDBConn.executeUpdate(sql);}publicstaticbooleanteacherChangePassword(Stringid,Stringpassword){//教师修改密码的方法Stringsql=updateTEACHERsetPASSWORD='+password+'whereTNO='+id+';;returnDBConn.executeUpdate(sql);}publicstaticbooleanteacherSetScoreOfStudent(Stringstudentid,Stringcourseid,doublescore){//老师输入分数的方法Stringsql=updateSTUDYsetSCORE='+score+'whereSNO='+studentid+'andCNO='+courseid+';;returnDBConn.executeUpdate(sql);}publicstaticv
本文标题:用java写的一个简单的学生成绩管理系统(含代码)
链接地址:https://www.777doc.com/doc-4989928 .html