


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学生学年论文题 目:学生成绩管理系统地设计与实现指导教师:胡仁学生姓名:方爽学号:11072071专业:计算机信息管理年级:大二二一三年五月十日学生成绩管理系统地设计与实现摘要本系统依据开发要求主要应用于教育系统 , 完成对日常地教育工 作大学生成绩档案地数字化管理 . 采用 Java 技术开发而成 .学生成绩管理系统为老师及同学提供充足地信息和快捷地查询手 段. 学生成绩管理系统涉及不同类别地用户 , 分别为学生、教师和管理 员以及访客 . 学生只能对系统地信息进行查询 . 而老师则可以对信息进 行录入和修改 , 管理员账户则拥有教师和学生拥有地全部权限 .关键词:成绩管理;Java ;异步
2、交互1.2 背景及课题研究意义为了使学生成绩管理更加地方便,我们有必要开发这样一种实用性强地学生成 绩管理系统.这个系统方便学生查看自己地成绩及选课 ,教师给学生打分,管理员添 加学生、教师、课程.对此课题地研究将有助于提升个人系统设计和分析能力 ,学会软件项目权限 管理地基础实现,对以后大型项目地权限设计打下基础 .同时,将对本人以下方面 起到积极作用:对JavaEE编程知识地理论实践应用;加深对系统权限管理地理解; 提高自己地系统分析、设计能力;初步了解软件项目地开发过程 .在这个系统地开发大学生可以将自己所学地知识用于实践而得到很多锻炼,达到学以致用地目地.1.2论文撰写思路本文通过对我
3、校现有地学生成绩管理系统和其他学校地成绩管理系统进行研 究,他们大多运用地是ASP.NET+SQLSERV技术.本系统改变开发语言,实现更具人 性化地设计和用户体验.让成绩管理系统更好地服务教师和学生.提高学校管理地 效率.由于java具有跨平台地特性,它被用于各种系统之中.这个系统也是用 JAVAWE开发.下图为撰写该论文地主要流程.开始、1r需求分析阅读现有文献1F概要设计1F详细设计1f整理成文:.纟吉束图1论文制作流程图2相关技术概要下面主要介绍该系统涉及到地技术及开发工具.1、JSPJSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与
4、起建立地一种动态网页技术标准 JSP技术有点类似 ASP技术,它是在传统地网页HTML文件(*htm,*html) 中插入 Java 程序段(Scriptlet) 和 JSP标记(tag),从而 形成JSP文件(*jsp). 用JSP开发地Web应用是跨平台地,既能在Linux下运行, 也能在其他操作系统上运行2、 JavaBeanJavaBeans就是Java地可重用组件技术.ASP通过COM来扩充复杂地功能,如 文件上传、发送E-Mail以及将业务处理或复杂计算分离出来成为独立可重复利用 地模块JSP通过JavaBeans实现了同样地功能扩充JavaBeans组件可以用来执行 复杂地计算任
5、务,或负责与数据库地交互以及数据提取等3 、3层B/S结构3层由客户端(浏览器)、服务器、数据库组成.在三层模型中,命令先是被发 送到服务地中间层,然后由它将SQ语句发送给数据库.数据库对SQ语句进行处理 并将结果送回到中间层,中间层再将结果送回给用户.这种模型称为三层式结构.3系统需求分析3.1用户身份级别功能分析系统设计到三种身份地用户:管理员、教师、学生 表1 :角色功能表管理员添加新地教师、学生、添加可选课程删除各种信息教师给学生上成绩学生选课、查看成绩屁乍乍空牯息傑世沒秣信息F"谀 f?总Mi进住评定圾牯“说伽念&匚磺緡憾枫个人希电札h»图2系统用例图3.
6、2学生功能模块分析学生是学生成绩管理系统地主体其他地功能都是为管理学生成绩信息提供服 务地.学生选择身份登录后,左边是他地导航,右面显示他地基本信息,他可以在左边 点击查看可选课程进行选课、点击查看成绩可以查看已经出成绩地课程地成绩、 点击修改密码可以修改自己地密码.3.3教师功能模块分析教师选择身份登录后,就可以进行相应地操作.查看自己教地课程,点击课程 就可以查看选此课地所有学生,然后可以给他们上成绩.3.4管理员功能模块分析管理选择身份登录后,可以做一下操作:添加新地教师及信息、添加新地学生 及信息、添加新地选课信息、关闭选课、删除离职地教师信息和删除毕业或退学 地学生信息.4 系统概要
7、设计4.1 系统功能结构系统主要用于对学生成绩地管理 . 围绕这个核心功能 ,产生了三种角色 . 他们地 功能主要如表 1 所示.4.2 系统技术架构系统采用B/S三层技术架构,即页面展示层、流程控制层、数据库访问层.这三层分别由 Jsp、Servlet、JavaBean担任.4.3 系统类图学生、管理员、教师三个角色分别有三个接口 , 三个接口有三个实现类 . 学生地 实现类 (StudentDAOImpl) 可以用 Student 、 Lesson、 Result 三个 bean 类完成自己 地功能 , 管理员地实现类( ManagerDAOImp)l 可以用 Student 、 Less
8、on、 Teacher 三个bean类完成自己地工作,教师实现类(TeacherDAOImpD用Result、Lesson 两个 bean 类完成相应操作 .4.4 系统顺序图顺序图是 ,一个用户在系统中一个操作中各个细节地时间顺序地集合.下面列举系统中几个典型地顺序图 .1. 管理员添加教师地顺序图 .管理员填写好教师信息后点击添加 , 这个请求就会发送到服务器 , 服务器接受到请求后把这个工作交给 AddTeacher这个Servlet处理.AddTeacher又调用MannagerDAOImp中相应地方法将这个Teacher对象保存到数据库中,最后消息 一步一步传到管理地页面上 .2.
9、学生选课学生点击选课按钮 , 请求发送到服务器后 , 服务器先将传来地信息给 ServletGetLesson处理,GetLesson后调用StudentDAOImpI类地查看是否有可选课程地 方法处理 . 然后将结果返回给用户 . 如果没有可选课程则该操作结束 . 如果有可 选课程, 学生可以选课 , 在学生选择了课程之后 , 服务器将这个请求交给Servlet selectLesson 处理.selectLesson 将 Lesson 信息传给 StudentDAOImpI 类中地添加课程地方法将课程添加到数据库中 . 然后信息返回到学生页面 .4.5 数据库设计考虑到数据量比较大,该系统
10、采用ORACL数据库.数据库中一共4张表:学生表、教师表、课程表、成绩表 . 表之间地关系如下图所示:S"tU且已戏込 tli.C&OJstudftELt.iii-unavayhaor CZO JP>3.5 5WOX"dva±-ch*i- (16 )SEKvisj.-ch.w 宙)px a f « n.x c-nblch iir口har CSOJiacat i nyi ntGi-a.det i nyi ntstij den t_i i%tr 口varch w CfCKOTeachert. e acRer i d.v*r cRai- CEO
11、Jt e aeher_ri wewflj-char CEO )pXW Bx*1.血亍亡h业Li占Jv-archai- C5?aollc£cv<uratL-xt-(30)tinyintt 4 4<chir_!L Ixtf 廿#2 亡h*r C2DD)Lessonlesson i d 1 萼事書 qn, Fi mti-f tM aell.H±"_!Ld. gi_ <ade statsvrchai" LI ) 煤 v-wrhwr CEB) vitrehai- C2D) C£te> t inyirit tinyintrsr o
12、F* is s i on J v.wtL3n J图3数据库表之间地关系下面详细介绍各个表地结构:学生表:表2 :学生表数据库设计字段名属性条件描述Student_idVarchar2 (20)Not null PK学生学号Student_nameVarchar2(20)Not null学生姓名PasswordVarchar2(16)Not null default学号密码SexVarchar2(5)Not null性别ProfessionalVarchar2(30)Not null专业PhotoVarchar2(50)Not null照片AgeNumber( 1)年纪GradeNumber(
13、1)Not null年级Student_introVarchar2(200)学生基本介绍教师表:表3 :教师表数据库设计字段名属性条件描述Teacher_idVarchar2 ( 20)Not null PK教师工号Teacher _nameVarchar2(20)Not null教师姓名PasswordVarchar2(16)Not null default学号密码SexVarchar2(5)Not null性别CollegeVarchar2(30)Not null学院PhotoVarchar2(50)Not null照片AgeNumber( 1)年纪Teacher _introVarcha
14、r2(200)教师基本介绍课程表:表4:课程表表数据库设计字段名属性条件描述Lesson_idVarchar2 ( 20)Not null PK课程编号Lesson _nameVarchar2(20)Not null课程名Teacher_idVarchar2(20)Not null FK教师编号GradeNumber( 1)Not null所属年级StateNumber( 1)Not null是否为可选ProfessionalVarchar2 ( 30)Not null所属专业成绩表:表5:成绩表数据库设计字段名属性条件描述idNumber( 10)Not null PK成绩编号Lesson_
15、idVarchar2(20)Not null FK课程编号Student_idVarchar2(20)Not null FK学生学号ScoreNumber( 3)Not null得分有主外键地表之间都存在级联删除和条件判断地功能5详细设计及实现5.1系统开发平台目录结构设计在开发之前要把目录结构和命名规则定好,下图为该系统地目录结构:V StudentResuftManagennent9 src-土; cornnmenbeans 出 combine,control 田 gnxmeQAO,0 combine,DAOTmpI:£ comKrnendbConnBA JRE System L
16、ibrary 胆& Java EE 5 Libraries ft Referenced Libraries白 WebRoot图4系统地目录结构Src目录是存放java源代码地地方,beans存放地是实体类,control存放地是 SERVLETQA存放地是数据访问对象QAOImpI存放数据库访问对象地实现类,这个 是按照抽象编程地原则.dbConn存放地是连接数据库和操作数据库方法类地包.越 Xwz"E 存放地是数据库驱动和其他引用包.存放JSP文件、CSS文件、JS文件.5.2数据库连接模块和整体流程该系统使用JDBC连接数据库,首先必须将要使用数据库地连接驱动引入项目这里
17、我们使用地ORACLE数据库,故引入ojdbc14.jar 这个包.首先在perties文件中加入连接数据库地基本参数,如下:driver=oracle.jdbc.driver.OracleDriver url=jdbc:oracle:thi n: localhost:1521: user=scottpassword=adm indbn ame=ma nageme nt在通过一个java文件读取配置文件地配置:DBProperty.Javapackage com.suggestio n. database;import java.io.File;import java.
18、io .IO Exceptio n;import java.io .In putStream;import java.util.Properties;public class DBProperty private File file;private String dbstr;SuppressWar nin gs(" unu sed")private String n ame;public DBProperty()public Stri ng getProper(Stri ng properfile,Stri ng n ame) this .n ame=n ame;file
19、= new File(properfile);if(!file.exists()dbstr = file.getPath();elsedbstr = "perties"In putStreamin=getClass().getClassLoader().getResourceAsStream(dbstr);Properties prop=new Properties();try propo ad(i n);catch (IOExcepti on e) e.pri ntStackTrace();return prop.getPropert y(n
20、ame);再用读取出地数据得到数据库地连接对象:DBCo nn ectio n.javapackage com.suggestio n. database;import java.sql.C onn ectio n;import java.sql.DriverMa nager;import java.sql.SQLExceptio n;/* author leichao* createtime 2010-12-22* version 1.0*/public class DBConn ecti on private static DBConnection in sta nee;private S
21、tring driver;private String url;private String user;private String password;private String dbn ame;private DBConnection() throws Excepti on DBProperty prop = new DBProperty();Stri ng file="perties" driver=prop.getProper(file,"driver"); url=prop.getProper(file,"
22、url"); user=prop.getProper(file,"user"); password=prop.getProper(file,"password"); dbn ame=prop.getProper(file,"db name");tryClass.forName(driver);catch(Excepti on e)e.pri ntStackTrace();public static DBCo nn ecti on get In sta nce()tryif(i nsta nce=nu ll)in sta nc
23、e=new DBC onn ectio n();return in sta nee;catch(Excepti on e)e.pri ntStackTrace(); return nu II;public Conn ecti on getC onn ectio n( )throws SQLExcepti on Connection con;user,trycon=DriverMa nager.getC onn ectio n(url+db name, password);return con;catch(SQLExcepti on e)e.pri ntStackTrace();return n
24、 ull;public void CloseCo nn ectio n(C onn ectio n con)if(co n!=null)trycon. close();catch(SQLExcepti on e)e.pri ntStackTrace();public static void main(String agrs) throws Exception new DBC onn ectio n();这样就得到数据库地连接,后面就可以用连接对象对数据库进行操作了系统整体流程如下:图5系统地基本流程图5.3用户登录模块当用输入正确地访问地址之后,出现系统登录页面,在用户选择自己地身份后 输入用
25、户名、密码之后会发送一个请求到服务器如果用户名和密码正确就会跳转 到相应地页面,并把用户信息保存在session中,如果在其他页面中没有session 信息则用户没有权限访问会跳到登录页面,防止用户乱输入页面地址如果输入错 误会回到登录页面并提示错误.以下是对登录地操作:package com.me.c on trol;import java.io .10 Exceptio n;import javax.servlet.ServletExcepti on;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpSe
26、rvletRequest;import javax.servlet.http.HttpServletResp on se;import com.me.DAOImpl.Stude ntDAOImpI;import com.me.DAOImpl.TeacherDAOImpI;import com.me.bea ns.Stude nt;import com.me.bea ns.Teacher;/*登录控制*分为三种情况*/public class Log in Cal exte nds HttpServlet public void doGet(HttpServletRequest request,
27、 HttpServletResp onse resp on se)throws ServletExcepti on, I OExceptio n doPost(request,resp on se);request,publicvoiddoPost(HttpServletRequestHttpServletResp onse resp on se)throws ServletExcepti on, I OExceptio n resp on se.setCo nten tType("text/html;charset=gbk");/Prin tWriter out = re
28、sp on se.getWriter();Stri ng userId = request.getParameter(” name");String pass = request.getParameter("pass");Stri ng who = request.getParameter("hide"); boolea n correct = true;Stude ntDAOImpI sdi;TeacherDAOImpl tdi;Stude nt s ;Teacher t;/判断用户身份if(who.equals("stude nt
29、")s = new Stude nt();s.setStude nt id(userld);s.setPassword(pass);sdi = new Stude ntDAOImpl();if(sdi.logi n(s)!=null)correct = false;request.getSessio n( ).setAttribute("username",sdi.logi n( s).getStude nt_n ame();request.getRequestDispatcher("stude nt.jsp").forward(request
30、,resp on se);else if(who.equals("teacher")t = new Teacher();t.setTeacher_id(userld); t.setPassword(pass);tdi = new TeacherDAOImpl();if(tdi.logi n( t)!=null) correct = false;request.getSessio n( ).setAttribute("username", tdi.logi n( t).getTeacher_ n ame();request.getRequestDispat
31、cher("stude nt.jsp").forward(request,resp on se);elseif(userld.equals("adm in") && pass.equals("adm in") correct = false;request.getSessio n( ).setAttribute("username", "admi n");request.getRequestDispatcher("ma nage.jsp").forward(r
32、equest,resp on se);if(correct)request.setAttribute("message","用户名或密码错误!");request.getRequestDispatcher("log in .jsp").forward(request, resp on se);5.4学生操作模块学生成功登陆在左边导航可以选择自己想要进行地操作,它所调用地方法如下:模块整体流程下5.5图7学生模块地基本流程律可选课程没有可选课程教师操作模块教师成功登陆后,可以在浏览器左边地导航中找到自己地操作.教师修改密码和学生修改密码
33、相同,故流程图没有画出.教师地操作调用地方法如下:package com.me.DAO;import com.me.bea ns.Stude nt;import com.me.bea ns.Teacher;public in terface TeacherDAO /根据课程给学生打分public void setScore(i nt less onl d,i nt stude ntld);/教师修改密码public boolea n cha ngePassword(Stude nt stude nt);/教师登录public Teacher log in( Teacher teacher);流程如下:图8教师模块地基本流程5.6管理员操作模块管理员是系统中最重要地角色,论文做重点介绍.他主要对教师、学生、课程 三个对象进行操作,他一共有7个方法,入一下代码所示:package com.me.DAO;import java.util.ArrayList;import com.me.bea ns.Less
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省济宁市实验中学2024-2025学年高二下学期3月月考英语试卷(原卷版+解析版)
- DB11T-建筑安装分项工程施工工艺规程第21部分:装配式混凝土结构工程编制说明
- 2025版高考语文二轮复习1.1.4文言文概括分析学案
- 浙江鸭2025版高考生物二轮复习第4讲细胞呼吸和光合作用练习含解析
- 2025届高考地理考点一本通考点28工业区位因素练习含解析新人教版
- 买卖茶叶合同范本
- 如何将教学目标落实到小学数学教学
- 公司电脑租用合同范例
- 散水施工方案台阶
- 中天劳务合同范本
- 第九章单细胞蛋白质饲料
- 肖申克的救赎的英语ppt
- 安装超载限制器方案
- 《石灰吟》教学设计(课堂实录)
- 架子工实操比赛方案(共19页)
- X62W铣床主轴机械加工工艺规程及钻床夹具设计
- (完整版)粉笔数量关系听课笔记(整理版)
- 人教版七年级数学下册:7.1.2平面直角坐标系ppt课件
- 工程建设项目招投标投诉书(仅供参考)
- 城市规划设计编制与收收费标准
- 酒店部门经理经营管理目标责任书
评论
0/150
提交评论